1701065628
3.是不是所有命题都是数学可判定的?也就是说,是不是对所有命题都有明确程序(definite procedure)可以在有限时间内告诉我们命题是真是假?这样你就可以提出一个数学命题,比如“所有比2大的偶数都可以表示为两个素数之和”,然后将它交给计算机,计算机就会用“明确程序”在有限时间内得出命题是“真”还是“假”的结论。
1701065629
1701065630
最后这个问题就是所谓的Entscheidungsproblem(“判定问题”),它可以追溯到17世纪的数学家莱布尼茨(Gottfried Leibniz)。莱布尼茨建造了他自己的计算机器,并且认为人类将建造出能判定所有数学命题真假的机器。
1701065631
1701065632
这三个问题过了30年都没有解决,不过希尔伯特很有信心,认为答案一定是“是”,并且还断言“不存在不可解的问题”。 [54]
1701065633
1701065634
然而他的乐观断言并没有维持太久,可以说非常短命。因为就在希尔伯特做出上述断言的同一次会议中,一位25岁的数学家宣布了对不完备性定理的证明,他的发现震惊了整个数学界,这位年轻人名叫哥德尔(Kurt G del,图4.2)。不完备性定理说的是,如果上面的问题2的答案是“是”(即数学是一致的),那么问题1(数学是不是完备的)的答案就必须是“否”。
1701065635
1701065636
哥德尔的不完备性定理是从算术着手。他证明,如果算术是一致的,那么在算术中就必然存在无法被证明的真命题——也就是说,算术是不完备的。而如果算术是不一致的,那么就会存在能被证明的假命题,这样整个数学都会崩塌。
1701065637
1701065638
1701065639
1701065640
1701065641
▲图4.2 哥德尔(1906—1978)(照片由普林斯顿大学图书馆提供)
1701065642
1701065643
哥德尔的证明很复杂。 [55] 不过直观上却很容易解释。哥德尔给出了一个数学命题,翻译成白话就是“这个命题是不可证的”。
1701065644
1701065645
仔细思考一下。这个命题很奇怪,它居然谈论的是它自身——事实上,它说的是它不可证。我们姑且称它为“命题A”。现在假设命题A可证,那它就为假(因为它说它不可证),这就意味着证明了假命题——从而算术是不一致的。好了,那我们就假设命题A不可证,这就意味着命题A为真(因为它断言的就是自己不可证),但这样就存在不可证的真命题——算术是不完备的。因此,算术要么不一致,要么不完备。
1701065646
1701065647
难以想象这个命题如何转换成用数学语言表述,但是哥德尔做到了——哥德尔证明的复杂和精彩之处就在此,在这里我们不去讨论。
1701065648
1701065649
绝大多数数学家和哲学家都坚定地认为希尔伯特问题能被正面解决,这对他们是个沉重的打击。就像数学作家霍吉斯(Andrew Hodges)说的:“这是在研究中惊人的转折, [56] 因为希尔伯特曾以为他的计划将一统天下。对于那些认为数学完美而且无懈可击的人来说,这让人难以接受……”
1701065650
1701065652
图灵机和不可计算性
1701065653
1701065654
哥德尔干净利落地解决了希尔伯特第一和第二问题,接着第三问题又被英国数学家图灵(Alan Turing,图4.3)干掉了。 [57]
1701065655
1701065656
1935年,图灵23岁,在剑桥跟随逻辑学家纽曼(Max Newman)攻读研究生。纽曼向图灵介绍了哥德尔刚刚得出的不完备性定理。在理解哥德尔的结果之后,图灵发现了该如何解决希尔伯特的第三问题, ;判定问题,同样,他的答案也是“否” [58] 。
1701065657
1701065658
图灵是怎么证明的呢?前面说过,判定问题问的是,是否有“明确程序”可以判定任意命题是否可证?“明确程序”指的是什么呢?图灵的第一步就是定义这个概念。沿着莱布尼茨在两个世纪以前的思路,图灵通过构想一种强有力的运算机器来阐述他的定义,这个机器不仅能进行算术运算,也能操作符号,这样就能证明数学命题。通过思考人类如何计算,他构造了一种假想的机器,这种机器现在被称为图灵机。图灵机后来成了电子计算机的蓝图。
1701065659
1701065660
1701065661
1701065662
1701065663
▲图4.3 图灵(1912—1954)(Photo Researchers公司版权所有©2003,经许可重印)
1701065664
1701065666
图灵机概述
1701065667
1701065668
如图4.4所示,图灵机由三部分组成:
1701065669
1701065670
1.带子,被分成许多方格(或“地址”),符号可以被写入其中或从中读出。带子两头都有无限长。
1701065671
1701065672
2.可以移动的读写头,能从带子上读取符号或将符号写到带子上。在任何时候,读写头都处于一组状态中的一个。
1701065673
1701065674
3.指示读写头下一步如何做的一组规则。
1701065675
1701065676
1701065677
[
上一页 ]
[ :1.701065628e+09 ]
[
下一页 ]