Making Programs Reversible with Minimal Extra Data
Making Programs Reversible with Minimal Extra Data
复制标题
使用最少的额外数据使程序可逆
DOI:
10.1007/s00354-022-00169-z
复制
发表时间:
2022
影响因子:
2.6
通讯作者:
Yokoyama Tetsuo
中科院分区:
文献类型:
--
作者:
Glueck Robert;Yokoyama Tetsuo
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.