CrashCourseComputerScience15阿兰·图灵

72 阅读2分钟

阿兰·图灵

阿兰·图灵是计算机理论的奠基人之一,他对计算机的建树开始于 1935,从剑桥的硕士生开始解决 可判定性问题 decision problem:是否存在一种算法,输入正式逻辑语句,输出准确的是否答案?
1935 美国数学家阿隆佐·邱奇(Alonzo Church)开发了 Lambda 算子的数学表达系统,证明了不存在这样的算法,这个问题是不可判定的。
虽然这个问题被证明了,但是纯数学的表达难以让常人理解,图灵提出了一种假想计算机 图灵机,这种机器提供了简单强大的数学计算模型,图灵证明用这样的机器可以解决所有可判定性问题,即 通用计算机
image.png
图灵机遇到了 停机问题,图灵通过一个巧妙的逻辑矛盾证明了停机问题不可解决:

假设有一个图灵机 H,输入:问题的描述 + 纸带的数据,输出 YES 代表会停机,NO 反之。
如果有个程序图灵机 H 无法判断是否会停机,意味着停机问题不可解决。
为了找到这样的程序,图灵用 H 设计了另一个图灵机。
如果 H 判断会停机,则新机器永远运行(即不会停机)。

image.png

停机问题说明图灵机并不能解决一切问题,证明了计算的有限性。
接着图灵遇到了二战,他加入了英国的密码破译团队,破解了德国的 Enigma 密码机,为盟军的胜利做出了巨大贡献。他设计了一个机电计算机 Bombe。
战后又投身到人工智能 Artificial Intelligence 的研究中,他提出只有人类无法区分的机器才算人工智能,这也就是今天的 图灵测试