本书让我知道的是,计算机并不能解决所有问题。

“图灵把这个信条贯彻到了极致。老实说,我一开始对他的做法还挺恼火的。每次他给我布置一个任务,我完成以后,他都不肯赏脸看一看我的解法,而是会自己先解一遍;只有自己先初步尝试一遍之后,才会看我的解法。我很快就看到了他这样做的好处。首先,他如果不亲自尝试,是不会轻易接受别人的想法的,不过更重要的是,他经常会想出一些具有独创性的方法。这些方法我可能想都没有想过,而且他要是一开始就看我的解法,也不一定想得出来。”

有一位理发师,他只为不给自己刮脸的人刮脸。那么他给不给自己刮脸呢? 如果他不给自己刮脸,他就属于“不给自己刮脸的人”,他就要给自己刮脸,而如果他给自己刮脸呢?他又属于“给自己刮脸的人”,他就不该给自己刮脸。唯一说得通的解释是,他既给自己刮脸,又不给自己刮脸——但这在逻辑上是不可能的。所以说这是一个悖论。

当时的机器只能做一件事情,那就是它们被设计出来做的事情。但是希尔伯特提出的挑战是制造一台万能机,这台机器必须通晓任何数学语言,能够看懂人们用数学语言表述出来的任何命题。要做到这一点,它必须能够按照任何顺序进行任何可能的数学运算,从而给操作者留出充分的余地改变问题

图灵认为,要想判断他的机器会不会停机,那就需要再构造一台图灵机,以对第一台机器进行检测,因为他知道,他假想的机器在理论上可以进行任何数学运算。于是他假想出第二台图灵机,如果检测到第一台图灵机永不停机,那么第二台机器就会停机,然后输出“不停机”;如果检测到第一台图灵机停了机,那么第二台机器就会一直运转下去。 现在,脑筋急转弯的地方来了。假如第二台机器反观自身,判断自己会不会停止计算,那会发生什么情况?图灵对此进行了设想,他突然发现了一个悖论:如果机器检测到自己会永不停机,那么它就会停机,然后输出“不停机”;如果机器检测到自己停了机,那么它就会一直运转下去。这在逻辑上是不可能的,由此证明,有些图灵机是不可判定的——我们永远也无法判断它们会不会停机。 尽管这样说或许令人费解、甚至不可思议,但是不可判定或不可计算的问题的确大量存在——自此之后,这样的事实一直让计算机程序员备受困扰。图灵的研究结果表明,有些数学问题是计算机无法解决的,这与计算机的运算能力、运算速度和内存容量无关。

邱奇连吃早饭的方式都很有逻辑:“先把牛奶倒进空碗里,放适量的糖,用早餐勺搅拌均匀,然后放一两勺麦片。吃完这点麦片后,再接着放一两勺,边吃边放。这样一来,糖就会在牛奶中充分溶解,分布均匀,而且麦片也不会泡得太软。”

理论计算机科学家罗宾·赫希(Robin Hirsch)研究了这些思想。“这个世界上存在三种类型的事物,”他说,“第一种在理论上可能做到,但却无法解决;第二种在实际上可能做到(因此在理论上也必定可能做到);第三种在理论上可能做到,但在实际上却未必可能做到——虽然说是在理论上可能做到,但往往是比较匪夷所思的类型,即使宇宙的寿命终结也不一定能够完成,所以从实际角度讲,我们也解决不了。在计算机科学领域,大多数有趣的问题都属于这个范畴。”

在计算机科学领域,我们常用的词是“算法”,而不是“方法”。这个术语主要用于描述我们打算写入计算机程序的方法或过程,它给出了程序运行的所有步骤。因此,所谓排序算法,就是指为一系列事物排序的方法。

打赏支持我写出更多好文章,谢谢!
打赏作者
+

(^_^)打个赏喝个咖啡(^_^)

微信支付
支付宝支付
Posted on 2017-04-08 21:39  追梦子  阅读(500)  评论(0编辑  收藏  举报