艾伦·图灵

为什么会出现图灵机?这得从罗素悖论讲起。

罗素悖论

有位理发师放出豪言:他给且只给不为自己刮胡子的人刮胡子。问:这位理发师该为自己刮胡子吗?

如果理发师为自己刮胡子,那么按照他的豪言“只给不为自己刮胡子的人刮胡子”他不应该为自己刮胡子;但如果他不为自己刮胡子,同样按照他的豪言“他给不为自己刮胡子的人刮胡子”他又应该为自己刮胡子。

这个问题就是著名的理发师悖论,是哲学家兼数学家的罗素用来比喻罗素悖论的一个通俗说法,也被叫作集合论悖论,用集合论来描述就是:

集合 S 由一切不属于自身的元素组成,那么 S 是否属于 S 呢?

在这一悖论提出之前集合论是数学理论的重要基础,结合集合论,历史上的一切数学问题都可以完美地等到求证,当时人们已经相信整个数学大厦已经建立起来了,数学已经迎来了绝对的严格性。

但罗素悖论出现后,人们心中的大厦坍塌了,直接导致了历史上的第三次数学危机。当时提出集合论的数学家康托尔也被这个悖论逼疯了,可怜的康托尔。由此可见罗素这个人在数学界的影响。

哥德尔不完备性定理

当时人们好不容易在集合论的基础上构建起了数学大厦,结果集合论也是不完美的,连这个基础都崩溃了。那还能不能找到一个系统,在它的基础上真正构建整个数学大厦呢?

后来有一个数学家哥德尔成功证明了一个定理,大意是这样的:

世界上存在我们既没办法证真也没办法证伪的命题。

比如前文说的的集合论,还有典型的 1+1=2 的问题,我们既不能证明它们是真命题,也不能证明它是伪命题。这个定理被称为哥德尔不完备性定理。我们可能会想,这种定理也能被证明?他是怎么证明的?这个我们就不去研究了,反正哥德尔他就是证明了这样的一个定理,过程是很复杂的。

哥德尔不完备性定理的证明结束了关于数学基础的争论,宣告了数学不是绝对严格性的,把数学彻底形式化这种愿望是不可能实现的,不存在这样一个完美的数学系统。

哥德尔不完备性定理告诉我们,不要试图去寻找一个完美的系统,这不存在的,这辈子都不可能存在的。

那么,有了这个结论,我们是不是就可以不往下探索了呢?如果还可以往下探索,我们该探索什么问题?

计算模型和图灵机

通过哥德尔不完备性定理,我们知道,有些问题是既不能证真也不能证伪的,有些问题是可以证真或证伪的。对于这两类问题,它们的边界在哪里?怎么去判定一个未解的问题是否真的有解?

为了解答这个问题,我们需要引入一个度量:可计算问题。在数学中对应可计算函数,它的定义是这样的:

设函数 f 的定义域为 D,值域为 R,如果存在一种算法,对于 D 中任意给定的 x,都能计算出 f(x) 的值,则称函数 f 是可计算的。

这是当时诸多数学家、逻辑学家等对判断一个问题是否可计算提出的一个思路。通俗的讲就是,先给定一个模型,如果拿有限的值去套这个模型,能够得到期望的结果,那就说明这个问题是可计算的,否则是不可计算的。这里用来判断问题是否可计算的模型就被称为:计算模型。

那么如何设计或找到这样一个计算模型呢?这是当时人们所面临的一个重要问题,一直没有得到解决。后来终于有一位数学家提出了一个这样的模型,他就是图灵。他提出的这个计算模型被称为图灵模型,而这个图灵模型就是图灵机。

好了,到这里我们已经知道了历史背景下为什么会诞生图灵机。那么图灵模型它是一个怎样的模型?图灵机它又是如何工作的呢?这就是下一篇要讲的内容。

最后顺带讲一下图灵这个人,相信很多人都听过他的故事,他真的是很牛逼。他 24 岁就提出了图灵机,二战期间参与了密码破译工作,任密码破译总顾问,后来还提出了著名的“图灵测试”,逝世前两年还写出了第一个国际象棋程序。图灵的贡献对计算机领域的发展有着非常深远的影响,可惜他享年只有 42 岁(1912 年 - 1954 年),如果不是英年早逝的话,计算机的整个发展史可能就要重写了。

参考:

1. http://t.cn/EvMrKcS

2. http://t.cn/EvMru3r

3. http://t.cn/RGJrnmS

转载于:https://www.cnblogs.com/willick/p/algorithms-02.html

算法系列教程02 - 从罗素悖论到图灵机相关推荐

  1. conda安装tensorflow-gpu简洁版_【DP系列教程02】DeePMDkit:conda安装 amp; 离线安装

    点开安装教程前,是不是已经做好了看一篇万字长文的心理准备.DP君既然可以教会大家5分钟setup一个DeePMD-kit训练,就一定要教会大家如何在5分钟内学会安装DeePMD-kit.当然了,这样高 ...

  2. 讲给后台程序员看的前端系列教程(02)——HTML5标签(1)

    C语言自学完备手册(33篇) Android多分辨率适配框架 HTML5前端开发实战系列教程 MySQL数据库实操教程(35篇图文版) 推翻自己和过往--自定义View系列教程(10篇) 走出思维困境 ...

  3. 算法系列教程04 - 算法相关的基础概念

    本系列前面两篇讲的都是一些背景知识,从这一篇开始我们正式讲算法,从算法的一些基本概念讲起. 什么是算法 通过上一篇对图灵机原理的讲解,我们知道,一个计算问题描述的是输入/输出之间的关系,如果根据给定的 ...

  4. 【TypeScript系列教程02】安装及使用

    目录 TypeScript 安装 NPM 安装 TypeScript 测试安装结果 本教程使用VSCode TypeScript 安装 我们需要使用到 npm ,你需要安装Node.js: NPM 安 ...

  5. Auto.js Pro安卓免ROOT引流脚本开发系列教程02手机投屏并安装Auto.js Pro

    课程内容 - 手机投屏 - 安装Auto.js Pro 为了方便教学演示,这里我对红米手机做了投屏.同学们在实际开发中,是不需要投屏的. 红米手机投屏到电脑,我们在前面的课程中已经讲过.这里就不再重复 ...

  6. python简单超级马里奥游戏下载大全_Python实现超级玛丽游戏系列教程02玛丽走跑...

    配套视频教程 项目代码 最终效果 行走 constants.py STAND = 'standing' WALK = 'walk' SMALL_ACCEL = .2 SMALL_TURNAROUND ...

  7. nightwatch系列教程02——开发者指南:使用Nightwatch

    本章内容翻译自http://nightwatchjs.org/guide#using-nightwatch. 编写测试 在页面上使用推荐的CSS选择器,nightwatch让编写自动化测试变得很简单. ...

  8. python3.6 django教程_【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...

  9. 【视频教程】帝国CMS制作网站系列教程08—单页模板的制作

    作为一个程序员,搭建一个自己的博客网站是件非常容易的事情,但是作为很多非程序员非计算机专业的学习者来讲,可能就需要花点时间进行学习,而如果你想通过自学来学习怎么制作一个属于自己的网站的话,那这套帝国C ...

最新文章

  1. 直播回顾|结构光3D相机光机核心技术及3D成像性能分析
  2. JAVA 静态变量与静态方法
  3. 《阿里巴巴 Java 开发手册》读书笔记
  4. CoSENT:比Sentence-BERT更有效的句向量方案
  5. 操作12864(ST7920控制器)
  6. 多个python文件打包成exe_Python 3.4 .py文件打包成exe可执行文件方法
  7. VB在菜单上增加图标
  8. jquery pager 访问 java_基于JQuery的Pager分页器实现代码
  9. matlab编译桁架有限元计算(附有完整代码)
  10. 如何成为优秀的网络工程师,怎么做到含金量高?
  11. 颜色空间 ---HSI
  12. MacOS Ventura 13.0 Beta2 (22A5286j) 带 OC 0.8.2 三分区原版黑苹果镜像
  13. arcgis for js4二维地图比例尺
  14. IndentationError: unindent does not match any outer indentation level问题
  15. Crackme 22
  16. 提升HTML5的性能体验系列之一 避免切页白屏
  17. 语法7:assert - 断言
  18. Java实现短信验证码(阿里云短信服务)
  19. 【STM32F4系列】【HAL库】旋转编码器(EC11)
  20. CGB2103-day01

热门文章

  1. 肢体残计算机技术培训学校,浅议如何消除肢体残疾学生的心理障碍
  2. Android NDK如何访问底层接口
  3. 几种常用的保护应用程序的方法,编写成类库
  4. 欧美经典红色博客单页模版Swiss
  5. 【机器学习】自动编码器
  6. Java对接快递鸟跟踪快递物流信息,推送快递轨迹状态
  7. vc中人脸识别数据导入mysql_虹软人脸识别 - 采用数据库存取人脸特征数据
  8. Python 3.11 镜像
  9. [Skr-Shop]购物车设计之需求分析
  10. 有101根电线 每根的一头在楼底 另一端在楼顶 有一个灯泡 一个电池 无数根很短的电线 怎么样在楼上一次在楼下去一次将电线的对应关系弄清楚。