图灵机意义

图灵提出图灵机的模型并不是为了同时给出计算机的设计,它的意义我认为有如下几点:

1、它证明了通用计算理论,肯定了计算机实现的可能性,同时它给出了计算机应有的主要架构;

2、图灵机模型引入了读写与算法与程序语言的概念,极大的突破了过去的计算机器的设计理念;

3、图灵机模型理论是计算学科最核心的理论,因为计算机的极限计算能力就是通用图灵机的计算能力,很多问题可以转化到图灵机这个简单的模型来考虑。

对图灵机给出如此高的评价并不是高估,因为从它的设计与运行中,我们可以看到其中蕴涵的很深邃的思想。通用图灵机等于向我们展示这样一个过程:程序和其输入可以先保存到存储带上,图灵机就按程序一步一步运行直到给出结果,结果也保存在存储带上。另外,我们可以隐约看到现代计算机主要构成(其实就是冯诺依曼理论的主要构成),存储器(相当于存储带),中央处理器(控制器及其状态,并且其字母表可以仅有0和1两个符号),IO系统(相当于存储带的预先输入);

4、“图灵机”只是假象的“计算机”,完全没有考虑硬件状态,考虑的焦点是逻辑结构。图灵在他著作里,进一步设计出被人们称为“通用图灵机”的模型,图灵机可以模拟其他任何一台解决某个特定数学问题的“图灵机”的工作状态。图灵甚至还想象在带子上存储数据和程序。“通用图灵机”实际上就是现代通用计算机的最原始的模型。

学习图灵机模型中遇到的三个问题

1) 为什么图灵机有不可判的问题?

2) 为什么强大的图灵机会不停机?

3) 为什么图灵当初要设计图灵机?

图灵机虽然构造简单,但却及其强大,它能模拟现代计算机的所有计算行为,堪称计算的终极机器。然而即便是这个终极机器,也有令它无能为力的问题,这便是第一个要回答的问题:为什么图灵机有不可判的问题?

首先明确什么是图灵可识别(Turing recognizable)和图灵可判定(Turing decidable)。图灵机的识别对象是语言,图灵可识别当然不是说图灵本人能识别的语言(照这样说汉语可能是图灵不可识别的~),事实上这只是简称,全称应该是图灵机可识别语言(Turing machine recognizable language)和图灵机可判定语言(Turing machine decidable language)。 一台图灵机在读取一个串后可能进入三种状态:接受、拒绝、循环,如果图灵机进入循环状态,那它将永不停机。现在假设有语言A,如果能设计出一台图灵机M,对于任意字符串ω,如果ω∈A,那么M读取ω后会进入接受状态,那么A是一个图灵可识别语言。注意这个定义对于ω不属于A的情况没有做出限制,所以M读取到不属于A的ω,那么它有可能拒绝,也有可能循环。 图灵可判定语言的要求更严格,它要求对于语言A能设计出一台图灵机M:如果ω∈A,M进入接受状态;否则进入拒绝状态。如果一个语言是图灵可判定的,总能设计出一台图灵机,能在有限步数内判定一个字符串是不是属于这个语言。如果一台图灵机对所有输入总是停机,那么称它为判定器(decider)。然而第一个问题指明一定有所有判定器都不能判定的问题,要证明这一点,得从康托(Georg Cantor)说起。

康托最大的贡献可能是创建了现代集合论,他认为某些不同的无穷集合有不同的大小。1891年,康托发表了一篇只有5页的论文,证明实数集的基数大于自然数集,并在这篇论文中提出了传说中的对角线方法(方法虽然巧妙但很简单,wiki上有我就不赘述)。图灵机的不可判定问题便需要借助对角线方法。而实数集“大于”自然数集这个事实,可以这么想:“无限&TImes;无限”比“无限&TImes;有限”大。每个自然数是有限的,集合是一阶无限,自然数集就是一阶无限;相较之下,一个实数是一阶无限,集合又是一阶无限,那么实数的集合就是二阶无限。这个一阶二阶只是我个人的说法,关于不同集合之间的大小关系,康托提出连续统假设,即希尔伯特第一问题,认为不存在一个基数绝对大于可数集而绝对小于实数集的集合,不过这跟今天的话题没有关系,不再展开。

图灵计算机模型意义,图灵机有什么意义_学习图灵机模型中遇到的问题相关推荐

  1. 自然语言c,自然语言处理_自然语言处理常用方法举例说明 - 人工智能 - 电子发烧友网...

    自然语言处理简介 自然语言处理是计算机科学领域与人工智能领域中的一个重要方向.它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法.自然语言处理是一门融语言学.计算机科学.数学于一体的科学 ...

  2. woe分析_信用评分模型中WOE、IV详解

    IV(informaiton Value) IV的概念 IV全程是informaiton Value,中文意思是信息价值,或者信息量. 在逻辑回归.决策树等模型方法构建分类模型时,经常需要对自变量进行 ...

  3. 8145v5 参数_如何估计模型中的参数

    本文是我对使用软件计算模型中参数的过程概念理解的简介~!了解这有利于软件的使用者理解软件使用软件求解参数进行模型时的一堆琐碎的选项有帮助,也便于将药动学模型中的一些概念与数学中常用的一些概念联系起来. ...

  4. excelexportentity中设置null不显示的方法_学习笔记-Java中的$符

    JavaEE中$符号出现在两个地方,一个是前端jQuery中的$(),一个是后端JSP中的EL表达式${}. 一.$()中放不同的东西代表不同的含义,(1)$(function(){}),表示文档加载 ...

  5. linux脚本echo off,echo什么意思_@echo off的作用 - 编程语言及工具 - 电子发烧友网

    ECHO简介 英文原义:EchoProtocol中文释义:应答协议注解,主要用于调试和检测中.它可以基于TCP协议,服务器就在TCP端口7检测有无消息,如果使用UDP协议,基本过程和TCP一样,检测的 ...

  6. cd4013编程c语言,cd4013中文资料汇总(引脚图及功能_工作原理及方式_功能结构_参 - 电气技术 - 电子发烧友网...

    CD4013是CMOS双D触发器,内部集成了两个性能相同,引脚独立(电源共用)的D触发器,采用14引脚双列直插塑料封装,是目前设计开发电子电路的一种常用器件,它的使用相当灵活方便且易掌握,受到许多电子 ...

  7. 机器学习模型的衡量指标_在机器学习模型中衡量公平性

    机器学习模型的衡量指标 In our previous article, we gave an in-depth review on how to explain biases in data. Th ...

  8. 点线面的意义_点线面在绘画中的意义

    论绘画中的点线面 龙源期刊网 http://www.qikan.com.cn 论绘画中的点线面 作者:郭俣 来源:<文艺生活· 文海艺苑>2014 年第 08 期 摘 要:艺术工作者应该给 ...

  9. 函数的凹凸性证明_理解图灵机和递归函数的等价性证明

    背景 之前读了 Martin Davis 的<Computability and Unsolvability>,决定对其中的图灵机和递归函数等价性证明做一个(不严谨的)整理,证明方法比较有 ...

最新文章

  1. LeetCode简单题之两数之和
  2. 参加UI培训就业多长时间
  3. itest系统学生登录不了_四川省中小学生艺术测评管理系统登录平台https://www.soyohui.com/app/165187/...
  4. 第十届蓝桥杯省赛JavaC组真题——详细答案对照(完整版-包含打扫机器人的视频全过程讲解与编码内容对照)
  5. Django学习笔记2:一个简单的开发实例
  6. [渝粤教育] 西南科技大学 畜牧概论 在线考试复习资料
  7. react 遍历对象_React 源码系列 | React Children 详解
  8. php ob 缓存,php中ob函数缓冲机制深入理解
  9. 收集瓶盖赢大奖(信息学奥赛一本通-T1045)
  10. 03-30 兼容性测试
  11. phpcms能做什么呢?有什么作用呢?
  12. MFC的凸包实例【赶紧进来膜拜】
  13. python保留7天备份文件
  14. 连接和关闭资源工具类
  15. jQuery源码解析
  16. vi编辑文件时如何批量替换字符串
  17. js上传excel文件
  18. python链家数据分析_练习—利用Python对链家网广州二手房进行数据分析
  19. Matlab绘图方法整理(超完整版)
  20. echarts2的一个地图demo

热门文章

  1. 蓝桥杯省赛考点_【蓝桥杯单片机01】从历年决赛真题中寻找单片机常见的考点...
  2. centos 6.6 oracle 10g,centos 6.2 安装 oracle 10g 问题
  3. 多生产者_通知:生产者补贴!打卡时间!定了
  4. java list 合并去重_java 怎么把多个list 合并成一个去掉重复的
  5. html和php文件怎么连接,html页面跟php文件连接的方法
  6. Servlet基础(一)
  7. gulp webpack整合
  8. VUE.js 中取得后台原生HTML字符串 原样显示问题
  9. 转载 Net多线程编程—System.Threading.Tasks.Parallel
  10. Codeforces Global Round 2 D. Frets On Fire (动态开点线段树,沙雕写法)