Christopher Nolan(诺兰)的电影Memento(记忆碎片)的基本创意来自于通用图灵机?

如果今后某天你的记忆突然因为某种意外而受损,受损之前的事情你都记得,但受损之后你只能记得很短时间内发生的事情,这种情况下你如何去完成一些复杂的任务呢?把自己要做的事情记录在纸片上就可以么?如果事情很复杂,而你压根就无法同时记住许多纸片的内容和逻辑关系呢?没错,你必须设计一个方案才可能完成复杂的任务,而且必须趁自己记忆没有受损的时候把方案设计出来,一旦你记忆受损了,你可能就根本没有能力设计出这样的方案,或者即便你设计出来,过一会也忘了。

如何设计这样一个方案呢?如果你是一个Geek,我想你可以从图灵机理论中寻找答案。图灵机除了自己当前的状态,什么都记不住,但是它有一个不限数量的数据纸带。图灵机根据自己的当前状态和从纸带上读取到的数据,按照事先设计好的规则执行动作(动作包括移动到纸带的不同位置,用新的数据覆盖纸带上原有的数据)并且跳转到新的状态。它每时每刻都只能看到纸带上的一个数据,完全不记得纸带的其他部分有什么,不记得它之前曾经读到过什么,却照样能够完成复杂的任务。

而『通用图灵机』是一种编制了特定程序的图灵机(不妨称之为图灵机U),U的功能是:如果你把任何一台图灵机(不妨称之为T)的程序和纸带上的输入用一定规则编码之后写在U的纸带上,U就可以产生跟T精确相同的输出(虽然效率可能会低得多)。而这个T甚至也可以是一台跟U完全相同的图灵机。注意,T的内部状态可以远远比U多得多,而U的最简单实现只需要一段很小的程序。

如果你记忆受损,那么你就像那程序很简单的通用图灵机U,而你的复杂任务就像那图灵机T,你需要在完全不记得之前都了解到了些什么信息的情况下根据你刚刚在纸片上看到的指令去执行任务,执行的过程中你可能还需要继续按照一定规则在纸片上做记录以备将来之用。

关于通用图灵机的东西,今后有时间可能会详细谈谈(不做承诺)。

Leave a Reply

XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>