7. 人工智能的新领域:计算机在康托对角线法的反证法证明无效性的验证上的应用可能
不久前,围棋界的计算机人机大战,最终以计算机大获全胜而告终。这引起了全社会的震动。又一个看似不可能的神话被打破了。受此启发,笔者联想到,能否把计算机引入康托对角线法成立与否的分析中呢?答案是肯定的。起码笔者是这么认为的。在这个问题上,笔者反倒认为,计算机只有做更好。计算机起码不会盲目迷信权威、外国人;也没有面子问题;它不会忽略推理中的任何细节;它会按照所设条件(实际就是假设)严格执行相关程序,如有缺失程序将走不下去;这必将使所有假设不能再被“隐含”。而人们通常为了维护自己的某一顽固信念,经常会有意无意地隐瞒、变更、曲解某些前提条件及其解释或定义。当前,尽管没有这样的计算机程序,但我们不妨按照计算机编程的思路来分析康托对角线法。首先,可数的定义,是只要有一个具体的对应规则(函数)下某集合可以和自然数实现一一对应即可;而不可数,则是在任何一个对应规则下都不能有这种一一对应才行,也就是它不能依赖于具体的某一个对应规则。也就是说,只要在证明中发现或者假设了一个具体的对应规则,就足以揭示这个证明没有证明实数不可数。由此,我们可以发现,在这个程序中,如果康托对角线法要能够实施,必须预先严格定义(设定)前述各项函数关系(对应规则),比如表中实数个数与其位数的一一对应;每一位都有不止一个的状态,一一对应必须是依次有序的等等,只有如此,在“IF…THEN…”之类的计算机语句下,康托对角线法的反证法所依赖的前提条件也就是假设将会暴露的清清楚楚。否则程序是运行不下去的。而人却未必有这么严格,它因人而异,取决于具体某人的能力、诚意、关注度、思维的严密性及专业水准等等。显然,计算机程序将会根据可数、不可数命题的严格定义,逐条对比各项所设条件(假设),如一旦发现多余条件(假设),会立即得出“证明有误”的结论。当然,如果我们以计算机编程的思路、眼光去严格审视康托对角线法的反证法运用,我们当然可以得到与计算机一样的结论,毕竟,程序还不是人编的?只不过计算机程序如果缺少运行下去的条件,它就确实运行不下去而已,它很严格,而人也许出于什么原因可能有意无意地选择比较马虎的甚至在逻辑上是属于“诡辩”范畴的、违反逻辑规则的处理方式。
8. 对比、印证与启发:将可数的有理数运用于康托对角线法可能出现的情况
以下我们与有理数相互对比,谈谈一个证明的假设阶段就可能出错的逻辑问题。
我们说,有理数集合已经被康托相当经典地证明是可数的。因此如果我们确定了在一张表中已经列出了全部有理数(比如就按康托证明有理数可数的那张表中的遍历次序来列出有理数),那么,就不应该也根本不可能再在这个表的对角线上产生任何一个不在这张表中的有理数而只能得到一个无理数。但如果我们仅仅是“假设”了此表中列出了全部有理数,而没有具体真正去按一定次序无遗漏地列出全部有理数,那么,一但当我们在对角线上实际得到了一个不在此有理数表中的有理数,我们立刻知道原先所列出的并不是全部有理数,也就是这个假设是错的,尽管有理数本身是可数的。既然是假设,顾名思义,其本身就可能出错为“假”。对照实数情况,其实也是一样。康托对角线法中所做的,仅仅是“假设”表中已经列出了全部实数,只是这么一说,显然没有“确定”它就是按某种排列方式已经确实列出了全部实数(否则也就不需要这个对角线法的证明了),因此这个“假设”的真正含义就不能不有两个:1、一个是确实列出了全部实数(前提是已经(显然没有被公认地做到)或者“可能”用其它方法证明实数可数(注意:我们这里谈论的是康托对角线法实施前的情况,因此不能用对角线法得到的所谓结论去否定这一点,否则就是逻辑循环论证)),也就是这个“假设”其实就是一个“确认”,尽管仅仅是“假设下的确认”也罢;2、一个是表中没有列出全部实数,也就是这个假设是错的,但这并不能说没有列出就是实数不可数;3、实数确实不可数,也就是根本就不可能用任何方式列出全部实数,而不仅仅限于这里的这个具体的列法。既然这个“假设”包含了这三种可能性,我们就必须全部考虑。在1情况下,既然是“确认”,它也是假设的可能性之一,那么,就不应该再允许在此表对角线上进行逐位求异操作(或虽然不去真的“操作”,但对角线上所得到的那个不在此表中的实数不应该再存在),也就是我们应该否定该表中实数小数的每位的多值性,尽管它是多进制下的。明白说,此表中的实数,每位的状态或数值一旦确定了,就不应再允许改动。多进制的多值性,在此表中仅仅应该体现在不同实数(在表中是纵向排列)的同一个位数(在表中是横向排列的),而不是在同一个位数的位置上还可以有不同值。也就是多进制的每位的多值性在此表中不应体现在每位的位置上。明白说,在每位本身的位置上(表中横向),只能是单值的(不允许再有什么“翻转”、“求反”、“求异”,既然它已经被唯一地选定,就是固定死的。因为你已经假定“确认”了此表包括了全部实数,怎么还可以随意更动此表的状态来有意“制造”出一个不在此表的实数呢?这不是直接否定了自己的假设吗?但如此,康托对角线法当然无法进行下去。在2情况下,如果在对角线法下“证明”了这个表中没有包括全部实数,由于上面分析的情况1的存在,也没有证明实数就不可数。它只是证明是这张实数表不完备而已。在 [ 11] 中,我们把原本二维的实数表,扩展到三维以更加有力地说明了这个问题。至于情况3,也有可能,但永远有情况1、2存在,因此不能由康托对角线法来证明。而且由于任何集合与自然数间的一一对应,都要依赖与具体的函数关系(对应方式),而本质上存在有无穷多这样的函数关系。因此如欲证明对所有这些函数关系下实数都不能与自然数一一对应,应该是根本不可能的。
9. 总结:康托对角线法推导不成立、实数集可数,是数学基础的返璞归真
在“数学哲学”这本书的序言中,普特南曾说:如果实数集合可数,数学基础方面的大部分问题都将得到解决。很显然,由于所有的数学、逻辑公理、规则、定理、命题、推理步骤、级数、位数等等都只能是可数的,而实数这一数学中的基本部分却是不可数的,那显然,数学中起码有不可数的东西,那么,数学、逻辑还可能完备吗?能用可数的这些东西,去研究不可数的对象吗?显然,这里是有根本性问题的。再者说了,当代数学的其它门类中,根本不用不可数的什么“超限数”等等。所以,我们完全无必要去维护这种实际是康托没有办法才不得不提出的“理论”的。康托的本意,是想给整个数学建立起一个坚实、简单的基础,但实际却成了一团乱麻。“基础”的复杂程度,比整个建立其上的“上层建筑”尤甚。它现在被人当成数学的一个分支(不是基础),而且远离其它数学实践,完全“脱离群众”。所以一旦有理由抛弃这种“繁琐哲学”,建立起真正简单、明确的“基础”,就没有任何可留恋的。而且笔者坚信,就是康托本人在,他也会高兴的(康托最后的信奉宗教和抑郁而死,有人说也与他深知其理论的内在困境有关。比如康托是深信实无穷的,但其由对角线法而得到的康托定理所导致的“超限数”理论,本质上却不能不是潜无穷的)。
10. 人工智能、算法与人脑、人的智力孰强问题的由来及哥德尔定理及其相关问题详析
哥德尔定理由一个特殊的、看似怪异的命题(夲句不可证),得到一般性的结论,总有牵强之感。其解释历来存在争议,比如有“哥德尔命题G与﹁G都不是定理,但GÚ﹁G却是定理”这样的怪事出现。大逻辑学家维特格斯坦、策墨罗等都曾经提出过异议。笔者这里对此进行一些分析以图得到更为确实可信的结论。
哥德尔在给策墨罗的信中说:“真”这个概念不能归结为有穷组合的性质,而只能取决于它的超穷性质。这就足以反映哥德尔定理就其解释层面的问题所在。正如笔者一贯认为并证明的,在本质上,根本就不会有必须的、不可缺少的“超穷”系统。因此把“真”这个概念推到超穷以试图回避,除了需要对理论做重新解释外,没有其它意义。哥德尔以为,只要把说谎者悖论“夲句错”改成“夲句不可证(非定理)”就可以回避矛盾也就是得不到悖论了。但事实上不然。我们可以证明如下:哥德尔定理,作为定理依赖于系统内的公理,因此只能是系统内的定理。其结论自然也都是系统内的。也就是它只能得到关于系统内的相关结论。而系统内定理其值必真,可是一个二值系统(非真必假。此为以下结论的必要条件)非定理也就是不可证的命题必假。而哥德尔定理既然叫“定理”,也就是承认自己是依据系统内的公理推导出来的,其一切结论如前所述就应该都是系统内的。也就是不可能由它得到一个系统内的的命题但其真值只能由系统外在所谓“超穷意义上”才可确定。如果这种说法站的住脚,那罗素悖论、说谎者悖论(直接与哥德尔命题相关)的另一半,也可以说是另外层次的而不构成悖论,这不就是罗素并不很成功的“类型论”吗?事实上,这种说法直接与定理的定义是矛盾的:一个系统内的定理,得到了一个在系统内不可判定、不可证明的也就是不是系统内的定理但又实际上是真的命题,却又在系统外可以确定其为真。为了刻意回避这个显明的矛盾,人们只能把一个一眼就能看出(其实也就是可以最后一步被显然证明出)的真的结论,非常造作地“假装”成在系统内是得不到的、不知道的,不可证的。而彭罗斯、卢卡斯等人,据此甚至得出“人脑直觉比机器、算法强”这样牵强附会而且充满玄学意味的结论(算法不可证,但人脑可判断或知道其为真)。而另一方面,一旦把人脑、“心智”看成形式系统的一部分,立刻又会有如何知道哥德尔命题(“夲句不可证”)是真的?关于这种两难的局面,各种观点足足争论了近一个世纪。显然,这可看作是理论的困境。按过去的解释,这里面有没有澄清的地方。事实上,既然哥德尔定理最后一步推得了一个明确地必须为系统内的真命题“夲句非定理(不可证)”,与它上一步得到的系统内的假命题“夲句为定理(可证)”就必然在二值逻辑下构成矛盾(悖论)。我们必须明确也只能承认此点。只是在二值逻辑系统中,这个状态尽管在现实世界中不但早就存在而且也早已被发现,但在二值系统中无法进行真值归类。由以上分析可知,哥德尔进而哥德尔定理并没有证明系统内的一个不可证(非定理)的命题而只能由系统外判定其真这回事,因此如果非要下这个结论,它只能是一个“认识”、“断言”“猜想”(而且是如它自己所言,是不可证的!),而且是系统外的。哥德尔定理所实际能够得到的,仍然是与说谎者悖论同构的一个系统内的悖论。那种什么“哥德尔定理巧妙地在悖论的边缘构造了一个命题证明了什么什么”的说辞,或说哥德尔定理是“元数学意义上的定理”(而元数学是什么,它凭什么存在,从来就没有定义清楚过)等附会说法,是无法成立的。既然哥德尔构造的哥德尔语句(夲句不可证)兜了个大圈子,由上文分析知道不过是个系统内的悖论性命题(说谎者悖论,哥德尔一直辩解想否定其构造的那个语句是悖论,但事实上做不到),那么它就应该可以由形式系统和公理集合论所排除,尽管其在系统内可以被表达也允许被表达。
问题究竟出在哪里?这里有一个以往被严重误读的重要问题需要澄清:如果哥德尔命题进而哥德尔定理涉及的是不可判定语句(也就是命题与其反命题都不是系统定理),那么,哥德尔命题进而哥德尔定理甚至是根本无法表述的。因为一个有效的证明(也就是定理)必须在有限步骤内完成,于是与之相应的“哥德尔数”必然有限。而不可证(非定理)如果是不可判定意义上的(即该命题的否定也是不可证(非定理)的。而不是﹁A可证为定理了,进而推出A不可证(非定理)之意),则必然是有效证明(可有限步内)的否定,有限的否定是无限,也就是不可能在有限步内得到。即,其涉及的是无限步,换言之在实际中(也就是有限步或有限时间内)根本就得不到“不可判定”(以及在此意义上的“不可证”、“非定理”)这样的结论。直观上,一个数学命题(这里不仅限于哥德尔命题类型的“自指代”、“自指否”命题)还没有被证明,不能叫不可证、非定理、不可判定,只有在时间上永远没有证明才行。但这个“永远”,是可以在现实中得到的吗?哥德尔命题的数码表示中,那个“对所有n”如何如何的表述,实际暗含不可能在所有有限的系统表述中发现这个关于不可证的涉及无限个字符的命题。即,这里的所谓“对所有的n”,不能按对应的有限个字符翻译成哥德尔编码,而是应该列出所有的n,这当然对应于无穷大。也就是在一个由有限字段表示的元素的表(集合)中,虽然可以把“无限个元素”这样表述作为元素,但不包括必须有无限字符才可表达(也就是实际不可表达)的元素。这一点事实上对应于自然数集合的元素个数虽然是无限的(有无限多的自然数),但并没有叫无限的、也就是本身就是无限的那个自然数存在。明确说,一个系统中的证明、定理、可判定,可以在有限步内完成,因此就会有一个具体的、有限“长度”的哥德尔编码;但其否定不可证、非定理、不可判定,必然否定这个有限步或有限“长度”,也就是不可能给它配一个具体的、有限的哥德尔数。只是在表述中写上“对所有的n”如何如何,而不是真的可以列出这个”所有的n”(实际也就是无穷大,当然在现实中是无法列出的)。也就是那个有限哥德尔编码数表示的命题“夲句不可证(非定理)”在形式系统中根本就无法被表达。理由如下:设n为哥德尔编码数,当然是指的具体的某一个。由前文所述,要真正表达“夲句不可证(非定理)”,在哥德尔编码中只能表示成“本n表示在所有n下才能表示出的(也就是需要无穷个n)均构不成证明对的那个哥德尔数”,显而易见,这是试图用有限、具体的一个哥德尔数去表达哥德尔数为无穷也就是无法实际表达的一个命题。事实上,传统上认为的哥德尔命题,也就是“夲句不可证(不可表达)”或更确切地“夲句不可判定”,在实际用哥德尔编码数表示出来后,应该是“夲句为不可证(非定理)的定义”,因为在“不可证”的表述中,我们只是使用“对所有n”、“不存在n”这样的表述,并直接用这些字符的哥德尔数表示“不可证(非定理)”等概念的意思,这就是一个定义,而不是“不可证(非定理)”本身。即:我们当然没有可能在有限步或用有限的哥德尔数去表达真正的“所有n”,那是真的无穷,而不仅是“无穷的定义”也就是“无穷”这两个字而已。一个句子,如仅仅是对某概念命题定义的表述,当然不会再构成悖论。也就是说,要想在有限步内表达出在有限步内根本无法表达也就是必然要涉及无限步才可完成表达的一个命题,是不可能的。当然,我们仅就其定义,是可以给出的。定义当然可以用有限个词(对应于有限的哥德尔编码数)来表达。
经以上分析我们可以看出,现有形式系统对概念、命题的“表达”不完备,而非对可表达的命题本身不完备(哥德尔定理原先的解释)。即:并非有真而不可证或不可判定的命题在系统中,而是不可判定命题本身在形式系统中就是无法表达的(当然其定义可以)。也可以说,所谓不可判定命题需要无穷的时间或步骤才可确立,因此其本身就是在有限步内不可判定的(不可判定本身就不可判定。或更确切地说,是不可判定本身在有限时间内不可判定。即:不可判定命题本身的确定或判定,需要无穷时间或步骤,而这根本不可能在现实中实现),因为其严格表述也就是其定义即是如此:一个在有限步骤内无法判定或确定其是否真是不可判定的命题才是真正意义的不可判定命题。换言之,在有限时间或步骤内,不可能确立或得到一个不可判定的命题。有限时间或步骤中能现实得到的,充其量也就是一个“尚未被判定”或“尚待判定”的命题。但这不是“不可判定”。哥德尔定理是说,有一个实际是真的命题在系统内可表达但不可证(非定理)进而是不可判定的,似乎任何命题在系统内都可表达。但“本命题不可证(非定理)为真”却不可在系统内被表达,因为哥德尔为回避系统内的悖论和矛盾,声称这个“真”的结论在系统内是得不到的。但如前文分析,这也要产生问题。笔者实际得到的进展不过是:哥德尔命题“本命题不可证(非定理)”本身就是或才是不可在系统内被表达的。
事实上,证明不可判定(及其意义下的不可证)不能在有限时间、步骤中得到很容易:设可以在有限时得到,则其反命题可证必需要无限时才能达到。这与可证、可判定的定义与要求相悖(原始递归,有终止),于是得证。
我们甚至可以直接定义命题或语句“需要无穷步或无穷时间才可表达的命题”,或“在系统中不可表达的命题”等这样的命题。这些命题当可在系统内被定义、被表述(写出来就是表述、定义了),但不可表达,也就是真正实现。因为它们的表达都要涉及无穷步骤及无穷的时间成本。哥德尔命题(夲句不可证)不过是此类命题中的一个罢了。
总之,如果一个命题A不是定理也就是不可证可以在有限步内判定,那么﹁A必是定理(为真,当然在有限步内可判定),这是前提。现在反过来了,认为(误认为)可以在有限步内判定A不是定理(不可证),且事实为真。由此推得﹁A假,则假命题也必非定理,于是A不可判定。显然,我们可以看出这是本末倒置、循环论证。
数学联邦政治世界观提示您:看后求收藏(笔尖小说网http://www.bjxsw.cc),接着再看更方便。