图灵机与计算问题

图灵机与计算问题
自从20世纪30年代以来,图灵机、计算这些重要的概念在科学的天空中就一直闪烁着无限的光彩。尤其是近年来量子计算机、生物计算机、DNA计算等领域的创新工作引起了世人的广泛关注。我们不禁问这样的问题,国外究竟为什么能发明出这些各式各样的计算机呢?这些意味着什么呢?其实这一切的源头都来源于计算理论。国内在介绍计算理论方面的教材虽然有不少,但一般都比较深奥难懂。所以我觉得很有必要对这些内容进行科普。于是尝试写下这么一篇文章,希望我的文章能够让你更加清楚、透彻的理解图灵机、计算等等一些基本而重要的概念,并洞悉到这些概念的本质和深远涵义。 本篇文章大体上可以分成四部分:首先给大家讲一讲关于图灵、哥德尔等科学家的故事;然后正式引入图灵机的概念,为了对这个概念有比较直观的理解,我采用了一个人工生命:“小虫”的比喻来叙述。接下来,文章介绍了跟图灵机有关的概念:什么是模拟,什么是“万能计算机”等等;最后是关于图灵停机问题的探讨,我个人认为很有可能未来对科学的重大突破都来源于对图灵停机问题的深入理解。在行文过程中,我除了用自己的方式介绍一些现有的基本概念之外(为了尽量表达得清楚明白,我不得不放弃理论论证的严格性),还探讨了很多我认为别人没有探讨的问题,这些问题多是我自己的思考结果,而它们没有经过科学的验证。在这部分内容上我都标上了*号,希望你能有选择的看待这些问题和观点。

一、故事
任何科学思想、科学概念的诞生都有它的背景,在背景中往往有很多迷人的故事。关于计算理论可以追溯到1900年,当时著名的大数学家希尔伯特在世纪之交的数学家大会上给国际数学界提出了著名的23个数学问题。其中第十问题是这样的:存在不存在一种有限的、机械的步骤能够判断“丢番图方程”是否存在解?这里就提出来了有限的、机械的证明步骤的问题,用今天的话说就是算法。但在当时,人们还不知道“算法”是什么。实际上,当时数学领域中已经有很多问题都是跟“算法”密切相关的,因而,科学的 “算法” 定义呼之欲出。之后到了30年代的时候,终于有两个人分别提出了精确定义算法的方法,一个人是
图灵,一个人是丘奇。而其中图灵提出来的图灵机模型直观形象,于是很快得到了大家的普遍接受。

不知道你是否听说过图灵这个名字。可能有些人知道牛顿,知道爱因斯坦,甚至知道冯诺依曼,但不知道图灵。然而图灵的贡献绝对不亚于这些科学大师。图灵最大的贡献就是把算法这样一个基本的、深刻的概念用他的图灵机模型讲清楚了。正是因为图灵奠定的理论基础,人们才有可能发明20世纪以来甚至是人类有史以来最伟大的发明:计算机。因此人们称图灵为:计算机理论之父。 图灵生活的年代经历了第二次世界大战。在二战期间他曾经为英国政府效力成功破译了德国的密码,因而为英国做出了突出贡献。其实也正是因为二战,英国政府才肯掏钱让图灵制造最原始的计算机,当然这种计算机是专门用来破译密码用的,而不是我们现在用的通用计算机。(有一部片子叫《密码迷情》英文名是《enigma》就是根据图灵当时破译德国密码的故事改编的,大家有兴趣可以去找一找。) 图灵这个人很古怪,只喜欢自己一个人闷头研究,不喜欢与别人交流。并且据说他还是一个同性恋者。要知道在当时的英国,同性恋行为可是大逆不道的。最后,在他事业刚刚达到顶风的时候,他自杀了。为了纪念这个伟大的学者,计算机界设立了最高荣誉奖:ACM图灵奖。
图灵机的产生一方面奠定了现代数字计算机的基础(要知道后来冯诺依曼就是根据图灵的设想才设计出第一台计算机的)。另一方面,根据图灵机这一基本简洁的概念,我们还可以看到可计算的极限是什么。也就是说实际上计算机的本领从原则上讲是有限制的。请注意,这里说到计算机的极限并不是说它不能吃饭、扫地等硬件方面的极限,而是仅仅就从信息处理这个角度,计算机也仍然存在着极限。这就是图灵机的停机问题。这个问题在图灵看来更加重要,在他当年的论文中,其实他是为了论证图灵停机问题才“捎带手”提出了图灵机模型的。
提到了图灵停机问题,我不禁又要提一提哥德尔定理、罗素悖论、康托尔的集合论等等一系列大事儿。早在19世纪末的时候,康托尔为集合论做了奠基性的研究。要知道,数学虽然五花八门,但是人们发现,运用集合这个概念可以概括所有的数学,也就是说集合是一切数学的基础。因而如果为集合论奠定了公理化的基础,也就等于为数学奠定了基础。康托尔就是做了这方面的贡献。另外,他为了证明实数的个数比自然数多这个结论,发明了一种被称为“对角线删除”的证明方法。没想到的是,这个方法影响非常深广,直到后来的图灵停机问题、哥德尔定理其实都是该方法的不同延伸。

19世纪末的人们忙于为基于集合论的数学建立公理体系大厦。然而就当这座大厦即将完工的时候,一[size=3][/size]件可怕的事情发生了,罗素提出来的罗素悖论粉碎了数学家的梦想。关于罗素悖论的一个通俗化版本是:“村子里有一个理发师,他给自己定了一条规矩:‘不给那些所有给自己理发的人理发’。现在就要问,这个理发师该不该给自己理发?”。如果你尝试回答这个问题就会发现奇怪的事情:这个问题本身似乎是不可能的!正是因为这种奇怪的逻辑,哲学家罗素才颠覆了整个数学大厦的基础! 因为集合论中存在着矛盾,所以整个数学体系存在着根本性的矛盾,然而具有讽刺意味的是,数学一直以严格著称!这种感觉就好像正当你得意洋洋的时候有人突然闪了你一个耳光!人们在一阵慌乱之后开始逐渐稳下阵角寻找避免罗素悖论产生的方法,并总希望通过细心的选择数学公理能够将类似罗素悖论这样的怪物一劳永逸的排除精确数学体系之外。这就是后来希尔伯特提出来一套数学纲领的原因,他希望找到一套公理体系能够排除悖论,并挽救纯粹而美丽无暇的数学。虽然希尔伯特没能完成他的梦想,但他坚信梦想是对的。 然而,没过多少年,一个名不见经传的年轻逻辑学家哥德尔提出来的定理却彻底粉碎了希尔伯特的梦。这就是后来著名的哥德尔定理!该定理大致上说:任何一个数学的公理化体系都不是“完美的”。换个角度说,任何数学公理化系统都是死的,它总需要人为地从外界注入新的公理进去才能让它日趋完善,而它自己并不能完全自动避免矛盾产生。哥德尔定理可以说整个扭转了人们的世界观。因为被认为最“完美”最“纯粹”的数学都是不完全的,那么纯粹完美的世界也应该不存在。哥德尔定理还指出了“理性”和“分析”方法的极限。
这才是后来人们步入到了“综合”时代的部分原因。更有趣的是,哥德尔用来证明他定理的方法正和康托尔证明实数比自然数多、图灵停机问题以及罗素悖论的方法是一脉相承的。 所有这些都是20世纪上半个世纪发生的大事,后来发生了什么?计算机出现了、信息时代来临了,似乎科学技术是万能的,它们总会改善我们的生活,满足我们的欲望。渐渐的,人们似乎淡忘了图灵、歌德尔、康托尔等等大师们的思想了。然而近年来随着复杂性科学的研究,人们却又有了重拾这些相对古老而根本问题的迹象了! 

六、停机问题
1、死循环
在进行正式讨论之前,我们先来看看一个非常简单的猜硬币游戏。 假如我的两个拳头中一个攥着一枚硬币,另一个没有,然后让你猜是哪一个?于是你告诉我左手中有。这时候我不会把手张开,而是背过身去做一番手脚,然后把拳头伸过来,张开手!哈,你错了吧,硬币在右手中!大概傻子都能看出来我的伎俩之所在!不用说,采用这种方法我保证百战百胜。因为我总是等你说出来哪个手有硬币之后再动态的改变我的策略。所以,这改变之后的状态就已经不是你猜的了。
大概你会觉得不可思议:其实图灵停机问题就是一个类似该游戏的原理!
下面我们来看看图灵停机问题是怎么回事儿。让我们考虑这样一个问题:存在不存在一个程序比如说P,能够判断出任意一个程序X是否会在输入Y的情况下陷入死循环?我们不妨设P(X,Y)表示P判断程序是X,数据是Y的结果。如果存在死循环,那么P(X,Y)就输出一个yes。如果不存在死循环,那么P(X,Y)就输出一个no。我们的问题就是这样的P(X,Y)存在么?这就是停机问题。所谓的某个程序X在输入Y上停机就是说X不存在着死循环,反过来如果不停机就是存在着死循环,因而这里停机和死循环是一回事儿。那么,这种判断停机问题的程序P存在么? 答案是不存在的。下面我可以证明我的这个结论。
我们不妨假设程序P存在。那么我们可以根据P设计一个新的程序Q如下:
X是任何一段程序的编码:
Program Q(X){
m=P(X,X)
do while (m=no)


end do
if m=yes then return
}
这段程序通俗来讲就是:输入任何一段程序X,调用函数P(X,X)并得到返回值m,如果m=no,也就是说根据P的定义,P判断出程序X作用到它自己身上X不存在死循环。那么Q就不停的做do while和end do之间的语句。如果m=yes,我们知道这表示P判断出程序X在X上存在死循环。就返回,结束该函数。
我们可以看到,这样定义的函数Q(X)是没有问题的。下面就进入关键时刻了:我们问Q这个程序作用到Q自身的编码上也就是Q(Q)会不会死循环呢?当然我们可以运用强有力的函数P(Q,Q)来计算这个问题。
假设Q(Q)会发生死循环,那么P(Q,Q)就会返回yes。然而根据Q函数的定义,把X=Q代入其中会发现由于P(Q,Q)返回的是yes,也就是m=yes,因此Q函数会马上结束,也就是程序Q(Q)没有发生死循环。然而如果假设Q(Q)不发生死循环,那么P(Q,Q)应该返回no,这样根据Q函数的定义,把X=Q代入Q(Q)之中会得到m=no,这样程序就会进入do while循环,而这个循环显然是一个死循环。因而Q(Q)发生了死循环!这又导致了矛盾。 无论Q(Q)会不会发生死循环,都会产生矛盾,然而哪里错了呢?答案只能是最开始的前提就错了,也就是说我们最开始的假设P(X,Y)能够判断任意程序X在输入Y的时候是否死循环是错误的!也就是说这样的程序P(X,Y)不存在!
2、如何理解
也许你会感觉整个论证过程有些怪异,为什么不存在这种P(X,Y)程序呢?而上面的论证过程中仅仅说P(X,Y)当作用到P(Q,Q)上时会产生矛盾。似乎并不能说明P作用到其他程序上不能判断是否死循环。比如你可以考虑编写这样一段程序,当一发现某个程序do while(T),这里T总是为真,这样的语句出现的时候就判断这个程序有死循环。这显然是可能的。但问题的关键是,你假设了P(X,Y)能够判断任意的一个程序是否死循环!最关键的就是这“任意程序”上了。因为假如你已经按照刚才提到的判断是否有do while(T)语句的方法写出了一个程序P来判断某程序是否死循环,那么我就会根据你这个程序P再构造出一个程序Q,就是利用上面提到的论证方法,我们不妨写成QP(这里下标P的含义表示根据你的程序P而构造的Q)。这样你的P在遇到了P(Q,Q)这样的怪东西的时候无能为力了! 可能你还不服输,于是你又改进了你的程序变成了P’,这个时候P’能够判断包含了QP这个程序时候的所有程序情况了。那么我又会根据你的新程序P’来构造出一个更新的QP’,你的程序P’仍然不能判断,当然你还可以构造P’’,P’’’,……,我也会跟着构造QP’’,QP’’’,……,总而言之这个过程是无穷的!因为我总在你之后构造程序,所以你是水我是船,水涨船高,我总能比你高一级别!
这很像刚开始叙述的那个猜硬币的游戏。你想猜对我的硬币,就必须告诉我一个答案是左手还是右手,然而关键问题是我总能根据你做出的答案动态调整,使得你永远也猜不对!停机问题也是如此,我总能根据你的程序P来构造你的P判定不出来的问题Q,我总会赢!很简单,因为你总要在我之前构造好P呀,就相当于你总要先说出硬币在哪个手!
3、对角线删除方法
我在开始的时候就提到了图灵停机问题、哥德尔定理等等都来源于康托尔的对角线删除法则。那么,下面我们就来看看,如果运用对角线删除法则如何证明图灵停机问题呢?采用这种全新的证明思路,也许你会更加清楚地认识到停机问题的本质。 问题没有变,是否存在一个程序P(X,Y)判断出来任意一个程序X当输入Y的时候是否有死循环,或者说是否停机。
我们仍然用反证法,假设这样的P(X,Y)是存在的。而我们知道程序X本身是可以被编码的。也就是可以为所有的程序进行编号:1,2,3,……,而数据Y本身也是这样的编号1,2,3,……,因而我们就可以把每一对X和Y的组合排列在一张表上。比如列表示的是数据Y,而行表示的是程序X,这样P(X,Y)的值也就是yes或no就可以写在第X行第Y列的对应位置上,表示P(X,Y)判断出的X作用在输入Y上是否会死循环的结果。比如下面的表就是一个示例:
1 2 3 4 5 6 …… Y ……
1 yes no no yes yes no …… yes ……
2 no no yes yes no yes …… no ……
… ……………………………………………………
X no yes no yes yes no …… yes ……
… ……………………………………………………
到这里没有发生什么毛病。我们知道上表中的每一个行都表示一个确定的程序作用到不同的数据上所得到的结果。比如程序X作用在1,2,3,4,……,Y,……上给出的结果就是一个序列:
no,yes,no,yes,yes,no,……,yes,……
下面我们把上表对角线上的元素挑出来。也就是专门找那些第1行第1列,第2行第2列,……这样的元素就可以得到一个序列:
yes,no,no,yes, ……
而根据这个序列我们完全可以构造这样一个反序列:
no,yes,yes,no, ……
也就是说这个序列在每一个位上都与前一个对角线序列不同!这个序列就称为对角线删除序列。那么我问,这个对角线删除序列是否在我们表中的某一行上呢?答案是否定的!这个序列必然不在表中。因为它的第一个元素与1,1不同,第二个元素与2,2不同,……。换一种方式解释就是:假设对角线删除序列的确在表上列出来了,那么这个序列必然在某个固定的行,比如说就在第1001行。那么我们就要考虑这第1001行,第1001列的元素,我们知道根据序列的构造方法(1001,1001)对应表中的元素是与序列上的这个元素不同的!因而产生了矛盾,也就是说这个构造出来的对角线删除序列不在表中!
我们完全可以设计出一段程序Q使得Q作用在1,2,……,X,……上产生的序列就是对角线删除序列,而对角线删除序列不在表中就意味着程序P并不能判断出程序Q作用在任意输入上是否停机。其实这里的程序Q就是前一节论证停机问题的程序Q。 用对角线删除的证明方法来看究竟哪里出错了呢?错误就出在我们假设程序P能够得到这样一张完整的表,这张表对所有的程序计算得到是否停机的答案。
4、意味着什么?
我们已经看到了,的确存在着一类问题我们人类能构造出来,而图灵机是不能解的,。我们知道图灵机不能解的问题也就是一切计算机不能解的问题,因而这类问题也叫做不可计算的。因此,必然存在着计算机的极限。实际上,运用我们前面叙述的计算等价性原理,有很多问题都可以被归结为图灵停机问题,也就是说图灵停机问题揭示了宇宙中某种共性的东西,所有那些计算机不能解决的问题从本质上讲都和图灵停机问题是计算等价的。比如在最开始我们就提到的希尔伯特第10问题就是一个典型的不可计算问题!还有很多问题是不可计算的,尤其是那些涉及到计算所有程序的程序。比如是否存在一个程序能够检查所有的计算机程序会不会出错?这是一个非常实际的问题。我们都知道计算机程序特别容易犯错误,为了检查出某段计算机程序的错误,我们人类就必须对这个程序进行人工的检查。那么能不能发明一种聪明的计算机软件,输进去任何一段计算机程序,这个软件就会自动帮你检查输入的程序是否有错误?答案仍然是不存在的,其实这个问题可以被证明和图灵停机问题实质上是一样的!于是我们的梦想又破灭了!
图灵停机问题也和复杂系统的不可预测性有关。我们总希望能够预测出复杂系统的运行结果。那么能不能发明一种聪明的程序,输入进去某个复杂系统的规则,输出的是这些规则运行的结果呢?从原则上讲,这种事情是不可能的。它也是和图灵停机问题等价的。因而,我们得出来的结论就是:要想弄清楚某个复杂系统运行的结果,唯一的办法就是让这样的系统实际运作,没有任何一种计算机算法能够事先给出这个系统的运行结果。你很有可能不同意我的观点,因为毕竟我们能够发明很多预测复杂系统的方法,而不需要一定要让复杂系统去真实的运作。但是,你还是没有理解我这里的问题。我们强调的是不存在一个通用的程序能够预测所有复杂系统的运行结果,但并没有说不存在一个特定的程序能够预测某个或者某类复杂系统的结果。那么这种特定的程序怎么得到呢?显然需要我们人为地编程得到!也就是说存在着某些机器做不了的事情,而人能做。这似乎为人工智能的崇拜者给以了沉重的打击!
人工智能真的是不可能的么?彭罗斯曾经写过一本科学明著:《皇帝新脑》来论证人工智能的不可能性。它所运用的方法就是我们上面的逻辑。因为对于任何一个人工智能程序来说,总存在着它解决不了的问题!但是似乎我们人类却不受这种限制,我们总是能够发现一个程序是否有死循环,总是能够找到对某类复杂系统预测的方法,并且我们还能构造出来图灵停机问题这样的问题。然而事实并没有那么简单,反对者马上就会论证到,其实针对某一个具体的人,比如说就是彭罗斯,我们也能够运用前面的方法构造出一个彭罗斯自己不能解的问题!然而事实情况下要构造彭罗斯不可解的问题太麻烦了,而我们只是说原则上讲这种问题是存在的!因而计算机超越不了的问题,人自己也超越不了,所以说人工智能是可能的!
看看上面提到的两方面论证似乎都很有道理,究竟哪个正确呢?真的会存在某个人不可解的类似图灵停机的问题么?其实要想彻底回答这个问题就相当于问超越图灵计算的限制是否可能?如何超越图灵机停机问题呢?下面我们将详细讨论一下这个问题。
5、超越图灵计算*
我们仍然用那个猜硬币的游戏为例来说明。
在进行了几轮猜硬币的游戏之后,你已经很恼火了,认为这样的游戏不公平。于是你想了一个妙招来对付我:每当我让你说硬币在哪个手中时,你先胡乱的说一个答案,比如左手。这个时候我会根据你的答案动态调整把硬币放到了右手中。这个时候你赶紧抢着说,不对,我猜你的硬币在右手!我没办法只能再次调整策略把硬币放到了左手。你又赶快说:是在左手!……。就是这样,你也学会了我的方法,根据我的策略不断调整你的策略从而让我不可能赢你。能不能把这种方法用到超越图灵停机问题呢?
前面我们已经看到了类似这样的过程。假如你写出了一个程序P能够判断所有程序是否停机,那么我就能够构造一个程序Q是你的程序判断不了的。这个时候还没有结束,你又根据我的Q构造了新的程序P’,然而我又能构造一个程序Q’仍然让你的程序P’解决不了。但是你没有结束,又构造了新的程序P’’,我于是又构造Q’’……。 乍一看,似乎这个过程并不能说明任何问题。原因很简单,我要求的是构造一个固定的程序P判断出所有程序是否停机。而你给我的并不是一个具体的实实在在的程序,而是一个不断变化的捉摸不定而虚无飘渺的程序序列!并且你的这些总在变化的程序序列总是要根据我构造的程序才会确定改变!
首先一点值得肯定的是,运用这种方法,我们的确能够超越图灵计算了,只要反复不停的变换我们的程序就不可能找出它不能解的问题。然而,另一方面又会让我们很失望:这样的变换过程并不能给出一个实实在在的程序来!我们拥有的仅仅是不断改变的程序序列,而不是一个实际存在的程序! 这正是问题的关键所在:要想彻底超越图灵计算的限制,我们必须要放弃程序的实在性。也就是说程序在每时每刻都要变化成不是它自己了。那么这样的一个不断变化得不是它自己的怪东西存在么?
几千年的人类科学一直在研究实实在在的东西。无论是原子、分子还是计算机程序,它们必须是一个实实在在存在的个体,在这种前提下科学才能够对它进行研究!如果当我们研究它的时候,它已经变得不是它自己了,那么科学就对它无能为力了。然而,我不禁要提出这样的问题:真的一切都是固定不变的存在着么,有没有某种东西在每一时刻都在变得不是它自己了呢?
这个问题似乎是一个古老的哲学问题了记得赫拉克里特就曾经提到过:一个人不能两次踏入同一条河流。我想他说的正是这样的问题:因为河流在每时每刻都不再是它自己了。河流是一大群流动的水滴构成的整体,在每时每刻这些水滴都在不停的运动、流逝,因而当你两次踏入这条河的时候,所有的水滴可能都不一样了,那么我们怎么能说这些水滴构成的整体还是同一条河呢?
再考虑我们人自己。你很可能拿着一个你3岁时候的照片兴奋的对你的朋友说:“看,我3岁的时候多可爱呀!”。然而你这句话意味着什么呢?意味着照片反映的3岁时的你和现在的你是同一个个体!然而,3岁的你和现在的你是多么不同呀!我们知道,你无疑就是一大堆细胞构成的一个整体。而基本生理学知识告诉我们,实际上人体的所有细胞每隔大约4年就会因为新陈代谢的作用全部更新一遍。也就是说,你的细胞全被掉了包了,更何况3岁时候的你和现在的你差了多少个4年呀?那凭什么说那个3岁时候的你就是现在的你呢?
这个问题看似玄学,不过我认为现在我们的确应该认真对待该问题了。尽管从分析的角度来说3岁的你和现在的你的确不是一个个体,然而常识告诉我们,这两个你的确都是同一个人!那就意味着,你这个个体并不是一成不变的一些固定的细胞,而是一个每时每刻都在变化,都在更新的一个一大堆细胞组成的构形。这个构形在每时每刻都要利用更新的一大堆细胞去维持自己的存在!我们得到了什么?和我们前面叙述的超越图灵机的讨论结合起来,就发现,原来人还有赫拉克里特的河流这种东西刚好就满足那种超越图灵计算的要求。也就是说人还有赫拉克里特的河流在每时每刻都在不停的更新它自己从而变得不是它自己了。那么很有可能,某一种做类似变化的个体的变化规律就是不停超越它自己的图灵停机程序,这样的虚幻的个体就真的能够超越图灵计算了!
总结前面的讨论,我们不难给出结论,一个固死的能够被写出就不再变化的程序不可能超越图灵计算的限制,然而如果一个程序每时每刻都已经变化得不是它自己了,这个程序就能够超越图灵计算。联系到人这个个体,我们能得到:因为每时每刻的人都已经由于细胞的变化而变得不再是它自己了,所以人是超越图灵计算的!还记得在前面我提到的一个问题么:“人脑的信息处理过程能不能被表示成固定的程序呢?”。我这里的答案就是否定的!也就是说人脑信息处理的过程并不是一个固定的程序!如何制造真正的人工智能呢?很显然,我们不能用一个简单的程序来构造,而必须是利用其它的方法,这个方法是什么呢?现在还没有结论!

七、悬而未决
到此,我已经把全部的有关图灵机、可计算理论、停机问题的一些重要概念介绍完了。然而在计算理论这个领域里还有很多重要的问题没有介绍。但我不得不根据我的兴趣进行取舍。在整个介绍过程中,一方面我介绍了人们已经得出来的结论,另一方面,我尽量把一些没有解决的问题展现给大家。回忆起来,这些悬而未决的问题包括下面几个:
1、 是否一切的信息处理过程都具有固定的程序呢?人脑有固定的程序么?
2、 如何用计算机程序进行归纳?能对所有事物进行一劳永逸的归纳算法是否存在?
3、 什么是意义,更确切的,什么是语义?
4、 图灵停机问题是不可超越的么?
5、 人工智能是否可能?
还有很多问题在本文中没有提出来,然而我认为也是相当重要的。例如,我们如何用图灵机模型表示一般的学习过程?若干小的图灵机是如何自动的构造出更大的图灵机的(这就是万事万物自组织的过程)?生命的目的性如何用图灵机模型表示?
另外最近的计算主义已经把宇宙中一切的过程都归结为计算过程了,也就是说到处都是图灵机正在做运算。那么我们能不能从图灵机的角度探讨时间和空间的本质呢?我们知道,计算理论另外一大类问题就是探讨计算的时间和空间复杂度,那么这种计算的时间和空间与我们这个宇宙的时间和空间有什么关系呢?
我希望,在新世纪的今天,人们会最终解答这些问题!
书写之中不免有很多错误和遗漏,也可能会存在很多逻辑漏洞,如果你发现了,请告诉
我,我不禁感谢!
2004年7月

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值