Making programs reversible with minimal extra data

Publikation: Bidrag til tidsskriftTidsskriftartikelForskningfagfællebedømt

Reversible computing is an unconventional computing paradigm that comes with specific challenges. One of the important questions is the existence of reversible programs with minimal extra output (garbage data). To answer this question for programs that implement partial functions over countable domains, we introduce an order on infinite garbage sets and a notion of minimality. To this end, we present two methods for functions specified by decidable and semi-decidable predicates. Both methods are universal, which means they work for all programs specified by the predicates. They cover Bennett’s classic input-erasing reversible computation of injective functions. Hence, any program written in a Turing-complete programming language can be implemented with g-minimal garbage in an r-Turing-complete reversible programming language. This generality comes at the cost of a considerable runtime due to the generate-and-test approach.

OriginalsprogEngelsk
TidsskriftNew Generation Computing
Vol/bind40
Udgave nummer2
Sider (fra-til)467-480
ISSN0288-3635
DOI
StatusUdgivet - 2022

Bibliografisk note

Funding Information:
We thank Professor Masami Hagiya for his continuous encouragement and warm, friendly support for many years. We also thank the anonymous reviewers for their useful feedback. The second author was supported by JSPS KAKENHI Grant no. 18K11250 and Nanzan University Pache Research Subsidy I-A-2 for the 2022 academic year.

Publisher Copyright:
© 2022, Ohmsha, Ltd. and Springer Japan KK, part of Springer Nature.

ID: 314299379