可逆计算的“保存输入”方法有何缺陷?


9

我是一名刚开始读可逆计算的本科生。我知道,由于Landauer的原理,不可逆的计算会耗散热量(而可逆的计算则不会)。我和我的教授一起提出了这个问题,他以前从未听说过可逆计算,而且他很难理解为什么可逆计算理论并不简单。

他的观点是,您始终可以保存输入,即对于任何函数您想使其可逆的,请定义一个新函数(或,您只需在输入的最后位输入 s ),这将在前位返回输出,在其他位返回输入。然后,为了反转您只需丢弃输出并返回您保存的输入。f:{0,1}n{0,1}nfreversible:{0,1}n{0,1}2n{0,1}2n{0,1}2n0nnnfreversible

我的直接反对意见是,这要比原始函数占用更多的内存-尽管只是一个恒定的因素。但是,将输出限制为位似乎可以恢复问题的趣味性。这通常是可逆计算的意思吗?n

另一个异议似乎是当我们丢弃输出时,我们正在做不可逆的操作,这将耗散热量。但是我们正确地恢复了初始状态,那么它将如何不可逆转?我对物理学的了解不足,无法理解重要的东西是否仅仅是对整个计算而言是可逆的,或者每个步骤是否也需要可逆,还是这个想法只是错误的树。

Answers:


12

您对可逆计算的讨论缺少可逆计算的两个重要功能:

  1. 可逆函数必须是双射,并且
  2. 可逆性是在本地部门的级别上定义的,而不仅仅是全局级别。

特别是对于到通过复制不会确保双射,因为您没有解释当函数的输入的最后位不是时会发生什么。 { 0 1 } 2 Ñ{ 0 1 } 2 Ñ Ñ 0 Ñ{0,1}n{0,1}n{0,1}2n{0,1}2nn0n

至于第二点,从物理学的角度来看,这实际上是可逆计算的必要部分。物理过程不能简单地“消除”全局范围的加热,因此每个门必须是可逆的,以使电路在与物理相关的意义上可逆。

最后,可逆计算的理论并不是不复杂的,但绝对不是微不足道的。特别是,有些电路可以用不可逆的寄存器/导线严格地少于可逆的数目来实现。但是,从不可逆转为可逆的过程并不太糟。

通常,我很少听到经典CS课程中出现可逆计算,因为它很少与经典计算相关。但是,这是量子计算中的重要主题,因为所有量子电路都是可逆的,并且必须小心处理“垃圾”线上的内容,以避免不必要的纠缠。


啊哈 那么“每个门都必须是可逆的”的正式表述是什么-是否要求图灵机的转换函数具有内射性?
伊莱·罗斯

2
@EliRose可逆计算在门模型中定义,而不是在TM模型中定义。我不确定TM模型中是否有一个合理的定义,但它可能至少要求有限的控制是可逆的。因此,可逆闸门的含义类似于Toffoli闸门
Artem Kaznatcheev 2014年

1
@ArtemKaznatcheev:贝内特介绍的可逆图灵机(PDF链接)如何?
Niel de Beaudrap 2014年

组合电路可以通过可逆逻辑轻松处理,但是所有有用的计算设备都需要反馈。一个可以使用Toffoli门来计算“ A而不是B”,而两个这样的门可以用来构建锁存器,但是一旦反馈到位,可逆性就会消失。
超级猫

允许振幅只能为0或1的量子TM呢?这似乎是定义可逆TM的合理方法。
Marcos Villagra 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.