1.图灵机与计算问题(1节课)
理论计算机科学中的图灵机

理论计算机科学中的图灵机图灵机是理论计算机科学中的一个重要概念。
它被认为是能够计算任何可计算问题的最基本的计算机模型。
理解图灵机对于对计算机科学的学习和研究都至关重要。
一、图灵机的定义和原理图灵机是由英国数学家图灵提出的一种计算模型。
它包括一个有限控制器和一条无限长的纸带。
纸带被划分为一系列的单元格,每个单元格上可以写上一个字符。
控制器通过读取纸带上的字符和控制器内部的状态来进行计算。
它可以进行有限的计算,而且可以处理无限长的输入。
在图灵机模型中,所有的操作都是基于读取和写入单元格上的字符来进行。
图灵机具有非常简单的结构,但它却能够计算出任何可计算问题。
二、图灵机的应用图灵机能够计算出任何可计算问题,因此它在理论计算机科学中有着非常重要的应用。
它被用于证明计算机科学中的许多重要问题,例如停机问题和可计算性问题。
通过证明一个问题是不可计算的,我们可以得出它是无法用计算机解决的。
这对于计算机的设计和实现都有着重要的指导意义。
此外,图灵机还被广泛应用于计算机语言和自动机理论的研究中。
我们可以使用图灵机来描述计算机语言的语法和语义,并且使用它来定义自动机模型。
这在编程语言的编译、解释和分析中都有着广泛的应用。
三、图灵机的限制尽管图灵机是一种非常强大的计算模型,它仍然存在着一些限制。
其中最明显的一点是图灵机的速度。
尽管图灵机能够计算出任何可计算问题,但某些问题可能需要非常长的时间才能得到结果。
例如,计算出一个长文本的哈希值可能需要几分钟,而对于一个复合的问题,甚至需要几个世纪才能计算得出。
此外,图灵机还无法解决某些问题,例如非计算问题和不规则问题。
这些问题之所以无法用图灵机解决,是因为它们没有确定的方法来解决它们。
这些问题是无法用算法来解决的,并且需要人类直接进行解决。
四、结语图灵机是理论计算机科学中最重要的概念之一。
它被认为是能够计算出任何可计算问题的最基本计算机模型。
通过图灵机的研究,我们可以深入理解计算机科学的基本原理,理解计算机能力和限制。
计算机原理之图灵机与冯诺依曼机

计算机原理之图灵机与冯诺依曼机计算机科学班边敬云,刘迎春,曹晔一、冯诺依曼机冯·诺伊曼结构,也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的计算机设计概念结构。
冯诺依曼机由一个同时存放指令和数据的主存储器、一个二进制的算逻运算部件、一个解释存储器中的指令并能控制指令执行的程序部件以及由控制部件操作的I/O设备,因此被称为存储程序型计算机。
冯诺依曼首次提出了三大概念:1.五大组成部件:输入设备,辅存储器,主存储器,运算器,控制器,输出设备。
2.采用二进制。
3.存储程序。
但是将CPU与存储器分开并非十全十美,反而会导致一些问题,也就是所谓的冯·诺伊曼瓶颈:在CPU与存储器之间的数据传输率与存储器的容量相比起来相当小,在现代计算机中,数据传输率与CPU 的工作效率相比之下非常小,在某些情况下(当CPU需要在巨大的数据上运行一些简单指令时),数据传输率就成了整体效率非常严重的限制。
CPU将会在数据输入或输出存储器时闲置。
由于CPU速度远大于存储器读写速率,因此瓶颈问题越来越严重。
(但后来这个问题被高速缓存解决了!)冯诺依曼结构还将运算器和存储器分开,则意味着存储器和运算器之间的传输通道的速率必须高于运算器的速度,否则运算器会处于等待状态,提高了技术上的难度。
二、图灵机图灵机,是在1936年提出的一种抽象计算模型,其更抽象的意义为一种数学逻辑机,可以看作等价于任何有限逻辑数学过程的终极强大逻辑机器。
仅是解决数学问题的理想化机器。
图灵的基本思想是用机器来模拟人们用纸笔进行数学运算的过程,他把这样的过程看作下列两种简单的动作:•在纸上写上或擦除某个符号;•把注意力从纸的一个位置移动到另一个位置;而在每个阶段,人要决定下一步的动作,依赖于当前所关注的纸上某个位置的符号和当前思维的状态。
为了模拟人的这种运算过程,图灵构造出一台假想的机器,该机器由以下几个部分组成:1、一条无限长(理想化)的纸带。
图灵机的工作原理

图灵机的工作原理图灵机是一种理论上的计算模型,由英国数学家艾伦·图灵于1936年提出。
它是一种抽象的计算设备,可以执行各种计算任务,包括判断可计算问题的可行性、解决数学问题以及模拟其他计算设备的功能。
图灵机的工作原理是基于简单的操作规则和有限的状态集合,但却能够模拟出任何可计算的函数。
下面我们将详细介绍图灵机的工作原理。
首先,图灵机由一个无限长的纸带和一个读写头组成。
纸带被划分为一个个小格子,每个格子上可以写入一个符号,包括0和1。
读写头可以在纸带上移动,并能够读取当前格子上的符号,并根据一定的规则进行写入操作。
图灵机还包括一个状态寄存器,用来记录当前的状态。
图灵机的工作原理可以简单描述为,根据当前的状态和读写头所读取的符号,执行一定的操作,并根据预先设定的转移规则,改变状态、移动读写头、修改当前格子上的符号。
这样不断地重复执行,直到图灵机进入停机状态或者无限循环。
图灵机的工作原理实际上是基于一系列的转移函数,这些函数定义了在不同状态和不同输入符号下,图灵机应该执行的动作。
这些动作包括改变状态、移动读写头、修改当前格子上的符号。
通过这些转移函数的组合,图灵机可以模拟出任何可计算的函数。
图灵机的工作原理可以用来解决各种计算问题,比如判断一个问题是否可计算、寻找某个数学函数的解、模拟其他计算设备的功能等。
虽然图灵机是一种理论上的计算模型,但它对于计算机科学的发展产生了深远的影响,成为了计算理论的基础。
总之,图灵机的工作原理是基于简单的操作规则和有限的状态集合,但却能够模拟出任何可计算的函数。
它通过不断地执行转移函数,改变状态、移动读写头、修改纸带上的符号,实现了各种计算任务。
图灵机的工作原理对于计算机科学的发展产生了深远的影响,成为了计算理论的基础。
计算机专业导论_哈尔滨工业大学中国大学mooc课后章节答案期末考试题库2023年

计算机专业导论_哈尔滨工业大学中国大学mooc课后章节答案期末考试题库2023年1.阅读下面的程序,其时间复杂度为_________?intindex=5;intcondition=1;if(condition==1)thenindex++;elseindex--;fori=1to100forj=1to200index=index+2;答案:O(1)2.假设基本门电路的符号为【图片】,已知如下电路【图片】问该电路不能实现的功能为______。
答案:当A=1,B=1,则P=13.下图是一个存储器的简单模型。
下列说法不正确的是_____。
【图片】答案:该存储器既可读出,又可写入4.已知A=40;B=30;C=100;D=50,逻辑“与”运算符为and,“或”运算符为or,“非”运算符为not。
计算表达式C > A +B +D的值,结果为_____。
答案:假5.TSP算法流程图如下图I.示意,回答问题:最内层循环(L变量控制的循环)的作用是_________。
【图片】答案:用于判断某个城市是否是已访问过的城市6.遗传算法设计需要引入变异操作。
变异操作是对种群中的某些可能解(个体)的某些编码位进行突变处理,例如二进制编码的解01110011,其第3位(自左而右)当前为1则将其变为0,称为变异操作。
通过变异操作,使遗传算法具有局部的随机搜索能力。
为什么?下列说法不正确的是_____。
答案:其它选项的说法有不正确的7.下图是一个存储器的简单模型。
当【图片】=10时,【图片】的内容是_____。
【图片】答案:1010108.操作系统管理信息的基本单位是_____。
答案:文件9.已知如下多元素变量。
【图片】执行下列程序,执行完成后,Sum1和Sum2的值分别为_____。
(10)intJ;(20)intSum1=0,Sum2=0;(30)ForJ=1to4Step1(40){Sum1=Sum1+M[J][J];(50)Sum2=Sum2+M[5-J][5-J];}答案:66,6610.已知函数Fact的程序如下,Fact(4)的值为_____。
图灵机与可计算性

• 可能性二:HS(p)=0,这意味着P(p)不停 机。但是根据P的定义,若HS(p)=0,P(p) 输出1并停机。这也产生矛盾: P(p)不停机P(p)停机
• 矛盾的根本原因是:假定H是可计算的 HS是可计算的P是可构造的矛盾
2000 Andrew Chi-Chih Yao --- PhD, UIUC; Prof, Princeton (now at 清华) 因对计算理论做出了诸多根本性的重大贡献.
2004 Robert E. Kahn和Vinton G Cerf 发明了基本的通信协议TCP/IP技术.
Turing Machine
– 用数字表示信息的方法称为编码。
– 编码学就是一门研究高效编码方法的学科。
–简单检错码一奇偶性检错码
用6位二进制码来表ห้องสมุดไป่ตู้26个英文字母
A:000011 B:000101 C:000110
D:001001 ……
Z:110101
• 图灵奖:计算机界的诺贝尔奖
– 1946年,第一台电子计算机ENIAC诞生 – 1947年美国计算机协会ACM成立 – 1966年,ACM设立“图灵奖”
讨论思考题
1.3 为什么说能行可计算这一计算科学的根 本问题决定了计算科学处理的对象应当 是离散的?你怎样解释为什么数字计算 机的发展和应用远远了超过模拟计算机?
1.4 请编写一个完成为二进制数增加奇偶校 验位的图灵机程序。
1.5 请编写一个完成将一个二进制数加一的 计算的图灵机程序。
1.4 可计算性
– 蒸汽驱动 –程序控制计算的思想 – 采用有限差分技术自动完成一系列的加法运算 – 这些加法运算可以产生一个多项式的数值表
关于图灵机的三个问题分析

写这篇文章,是想尝试回答学习图灵机模型中遇到的三个问题:1) 为什么图灵机有不可判的问题?2) 为什么强大的图灵机会不停机?3) 为什么图灵当初要设计图灵机?图灵机(Turing machine)是英国数学家阿兰·图灵(Alan Turing)于1936年设计的一种抽象机器,用于定义和模拟计算(computing)。
图灵机虽然构造简单,但却及其强大,它能模拟现代计算机的所有计算行为,堪称计算的终极机器。
然而即便是这个终极机器,也有令它无能为力的问题,这便是第一个要回答的问题:为什么图灵机有不可判的问题?首先明确什么是图灵可识别(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)说起。
实验1图灵机模型与计算机硬件系统虚拟拆装实验报告

实验1 图灵机模型与计算机硬件系统虚拟拆装实验报告学号51 姓名叶思凡班级:卫生检验与检疫15 实验时间: 2017年 2月 23 日在本次实验中,你有哪些收获?遇到哪些问题?这些问题是否已经解决?如果已经解决了,请说说你是如何解决的。
也可谈谈你的其它想法。
在本次实验中,我认识到图灵机模型组成和冯诺依曼计算机体系组成及其功能,并且了解到最初的计算机是如何诞生并运行的。
在实验中,对于图灵机模型模拟过程,以及冯诺依曼计算机的运行难以理解。
在搜素相关资料并询问老师后,得知图灵机是为了用机器模拟人的运算过程而实现的,图灵机是通过纸带来读取一个空格的信息,并根据控制器当前的状态和控制规则,改变控制器当前的状态,而冯诺依曼计算机结构则是通过计算机硬件设备将许多命令按一定的顺序组成的程序,然后把程序和数据一起输入计算机,计算机对已存入的程序和数据处理后,输出结果。
第一周作业题:(请认真查阅教材及相关资料,回答以下问题,并把答案附在问题之后)1.什么是图灵机的理论模型?其核心思想与贡献是什么?答:图灵机模型是指图灵机具有一个有穷控制器, 一条两端无穷的输入输出带和一个带头,带划分为单元格, 每个单元格可以放置一个符号, 带头每次根据当前状态和带头处单元格的符号内容, 根据转移规则选择下一个动作, 每个动作都包括下一个状态, 修改带头处单元格的符号以及带头向左或向右移动一个单元。
图灵机的思想是关于数据、指令、程序及程序/指令自动执行的基本思想。
其贡献主要有:1、图灵机模型理论是计算学科最核心的理论之一;2、图灵机模型为计算机设计指明了方向;3、图灵机模型是算法分析和程序语言设计的基础理论。
2.什么是冯.诺依曼计算机体系结构?为什么说它是现代计算机的基础?答:冯诺依曼的计算机体系结构是:数学计算机的数制采用二进制;计算机应该按照程序顺序执行。
人们把冯·诺依曼的这个理论称为冯·诺依曼体系结构从ENIAC到当前最先进的计算机都采用的是冯·诺依曼体系结构。
计算机科学中的计算模型

计算机科学中的计算模型计算机科学是一门极具挑战性的学科,在推进人类新技术和新思想上起着重要作用。
计算机科学的一个核心问题就是如何处理信息。
为了解决这个问题,人们发明了各种计算模型。
计算模型是指用来描述计算机系统中可进行的计算的方式和规则。
在本文中,我们将会简要地探讨一些计算模型。
1. 图灵机图灵机,是由英国数学家阿兰·图灵 (Alan Turing) 于20世纪30年代发明的一种机器模型。
图灵机是一种抽象机器,由一个无限长的纸带、一个读写头和一些程序控制器组成。
纸带上可以写有限个符号,读写头可以读取或改变纸带上的符号,程序控制器根据读写头所在的位置及当前的符号来控制下一步的操作。
图灵机被认为是通用的计算模型,这就意味着所有计算机都可以使用图灵机来模拟。
2. 基于状态转移的模型状态转移模型是另一种广泛使用的计算模型。
这个模型把计算看作状态的一系列转移。
它主要有两个组成部分:状态集合和状态转移函数。
状态集合是计算机所能具有的状态的集合,状态转移函数是描述一种状态下,如何从输入到输出的所有可能性的函数。
状态转移模型被广泛应用,在机器学习和人工智能领域有着广泛的应用。
3. 并行计算模型另一种重要的计算模型是并行计算模型。
它允许多个计算单元同时工作,以加速计算。
这种模型增加了并行性,对于处理大规模数据和高效计算非常有用。
在实际计算中,多处理器系统常用并行计算模型解决计算问题。
4. 量子计算模型近年来,随着量子计算的发展,量子计算模型变得越来越重要。
相比传统的计算模型,量子计算模型可处理的计算复杂度更高,解决的问题更加优秀。
量子计算模型的核心是量子比特和量子门。
量子比特可以用来存储量子信息,量子门可以运用量子比特进行计算。
不同于传统的计算机体系结构,量子计算机是基于量子力学理论建立的,处理信息的方式也与传统计算机不同。
总结计算模型是计算机科学中的重要组成部分,它有助于我们理解计算机如何进行处理。
在计算机科学中,图灵机、状态转移模型、并行计算模型和量子计算模型是历史上四个重要的计算模型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
….. 状态:灰色的圆点表示饥饿,红色表示吃饱
输入 黑 黑 白 白 当前状态 饥饿 吃饱 饥饿 吃饱 输出 涂白 后移 涂黑 前移 下一个状态 吃饱 饥饿 饥饿 吃饱
小虫模型就是一个图灵机
• 小虫的行为比以前的程序复杂了一些。 • 如果小虫的内部状态数再增多,那么它的行为会更加 的不可预测! • 输入、状态、输出、程序是图灵机的四大要素
最简单的图灵机是什么呢?
• 最简单的信息就是0和1,最简单的计算就是对0或1进 行布尔运算(与、或、非)。从最简单的逻辑运算操 作最简单的二进制信息出发我们其实可以构造任意的 图灵机! • 把输入、输出信息进行01的编码,而任何一个变换也 可以终分解为对01编码的变换,而对01编码的所有计 算都可分解成前面说的三种运算。 • 为什么研究计算机的人都要去研究基本的布尔电路。 奥秘就在于,用布尔电路可以组合出任意的图灵机!
• 1950年,“机器能思考吗”的论文,成为划时 代之作。“人工智能之父” • 1954年6月8日,被发现死于家中的床上,床头 还放着一个被咬了一口的苹果。 • 1966年,ACM设立 图灵奖
图灵机的意义
• 图灵本意是想解决停机问题,但必须要定义好什么是“计算”才 能解决这个问题,“捎带”提出了图灵机模型。 • 丢番图判定问题也得到了解决 • 图灵机的产生奠定了现代数字计算机的基础(后来冯诺依曼就是 根据图灵的设想才设计出第一台计算机的)。 • 根据图灵机的概念,我们还可以看到可计算的极限是什么。也就 是说实际上计算机的本领从原则上讲是有限制的(计算机也仍然 存在着极限,这就是图灵机的停机问题)。
图灵机的今生来世
Байду номын сангаас录
• • • • 1、问题的起源 2、图灵的贡献 3、图灵机 4、图灵机的计算极限与计算复杂性
目录
• • • • 1、问题的起源 2、图灵的贡献 3、图灵机 4、图灵机的计算极限与计算复杂性
1、问题起源:费马大定理
• 17世纪,费马在阅读丢番图(Diophatus)《算术》拉 丁文译本时,曾在第11卷第8命题旁写道:“将一个立 方数分成两个立方数之和,或一个四次幂分成两个四 次幂之和,或者一般地将一个高于二次的幂分成两个 同次幂之和,这是不可能的。关于此,我确信已发现 了一种美妙的证法 ,可惜这里空白的地方太小,写不 下。” • 当整数n >2时,关于x, y, z的方程 xn + yn = zn 没有正整 数解 • 1995年被英国数学家安德鲁·怀尔斯证明
– 小虫所处的世界是一个无限长的纸带,这个纸带上 被分成了若干小的方格,而每个方格都仅仅只有黑 和白两种颜色。
– 小虫仅能够感受到它所处的方格的颜色---输 入信息。 – 小虫的输出动作就是往纸带上前爬一个方格 或者后退一个方格。
输入 黑色 白色 输出
• 程序: NaiveBug
前移 后移
小虫读到这个片断会怎样行动呢?
答案是:不存在!!
• 但在当时,人们还不知道“算法”是什 么。实际上,当时数学领域中已经有很 多问题都是跟“算法”密切相关的,因 而,需要对“算法”进行科学的定义。 • 到了30年代的时候,终于有两个人分别 提出了精确定义算法的方法,一个人是 图灵,一个人是丘奇。而其中图灵提出 来的图灵机模型直观形象,于是很快得 到了大家的普遍接受。
• 对于丢番图方程,数学家们最感兴趣 的是它是否有整数解(或自然数解)。
– 对于简单的方程这是很容易找到答案的
• 比如x2+y2=z2有整数解(勾三股四弦五); 2x-2y=1则没有整数解(因为方程的左边 为偶数,右边却为奇数)
• 问题的实质
– 有限的、机械的证明步骤 算法 – 注意:不是一般的证明步骤
– 如果存在死循环(不停机),那么P(X,Y)就输出一个yes – 如果不存在死循环(停机),那么P(X,Y)就输出一个no
• 所谓的某个程序X在输入Y上停机就是说X不存在着死 循环,反过来如果不停机就是存在着死循环(或算不 出来)。那么,这种判断停机问题的程序P存在么?
不存在,证明如下:
• 反证法:
• 1900年,著名的大数学家希尔伯特在第 2届数学家大会上提出了著名的23个数 学问题。
• 第十个问题(费马大定理的简化版)
– 存在不存在一种有限的、机械的步骤 能够判断“丢番图方程”是否存在整 数解?
a1x1b1+a2x2b2+…+anxnbn=c, ai, bi,c都是整数
丢番图(Diophantine)方程
人也可以看作一个特殊的图灵机 其状态数量非常大,状态表示是神经元的连接强度吗? 其程序方式是什么?
图灵机的组合
• 组合:如果往地上放了一个跷跷板,小球掉到地上会 弹起这个跷跷板的另一端,而跷跷板的另一边可能还 是一个小球,于是这个弹起的小球又会砸向另一个跷 跷板……。 • 把多个计算系统合并成更大的计算系统。 • 通过组合若干图灵机完成更大更多的计算,如果把一 个图灵机对纸带信息变换的结果又输入给另一台图灵 机,然后再输入给别的图灵机……,这就是把计算进 行了组合! • 我们并不需要写出无限复杂的程序列表,而仅仅将这 些图灵机组合到一起就可以产生复杂的行为了。 • 有了图灵机的组合,我们就能够从最简单的图灵机开 始构造复杂的图灵机。
• • • •
高级语言程设(各类语言) 编译原理 数据结构 算法(计算复杂性)
4、图灵机的计算极限 与计算复杂性
计算极限—可计算性理论
• 计算机什么都能干? • 可以构造出计算机解不出的问题
图灵机的停机问题
• 停机问题:存不存在一个程序比如说P,能够判断出任 意一个程序在给定输入下是否会陷入死循环? • 设P(X,Y)表示P判断程序X在数据输入是Y的情况下是 否陷入死循环的结果
程序GoodBug
• 输入 • 黑 • 白 输出 前移 涂黑
…..
输入 黑 白
输出 前移 涂黑
改进程序BetterBug
• 固定的输入得到固定的输出,现实世界中的小 虫肯定不会这样固定。 • 如何改造?
– 加入小虫的内部状态。 – 假设黑色方格表示是食物,虫子可以吃掉它,而当 吃到一个食物后,小虫子就会感觉到饱了。当读入 的信息是白色方格的时候,虽然没有食物但它仍然 吃饱了,只有当再次读入黑色时候它才会感觉到自 己饥饿了。因而,我们说小虫具有两个内部状态, 并把它内部状态的集合记为:S={饥饿,吃饱}。 – 这样小虫行为的时候就会不仅根据它的输入信息, 而且也会根据它当前的内部状态来决定它的输出动 作,并且还要更改它的内部状态
….. 状态:灰色的圆点表示饥饿,红色表示吃饱
输入 黑 黑 白 白 当前状态 饥饿 吃饱 饥饿 吃饱 输出 涂白 后移 涂黑 前移 下一个状态 吃饱 饥饿 饥饿 吃饱
….. 状态:灰色的圆点表示饥饿,红色表示吃饱
输入 黑 黑 白 白 当前状态 饥饿 吃饱 饥饿 吃饱 输出 涂白 后移 涂黑 前移 下一个状态 吃饱 饥饿 饥饿 吃饱
• 图灵机为计算进行了建模 • 布尔代数为计算机实现奠定了数学基础 • 电子管、晶体管为用电路方式实现二进 制和二进制运算奠定了工程基础
计算机专业的课程体系
• • • • • 图形可视化 嵌入式系统 人工智能 计算机网络 软件工程
• • • • • • • • •
操作系统 汇编语言 计算机体系结构 微机原理与接口 计算机组成原理 数字逻辑 模拟电子技术 电路基础 电磁学
假设程序P存在。 我们可以根据P设计一个程序Q,如下: Program Q(X){ //X是任何一段程序的编码 m=P(X,X) ; if m=yes then return //P(X,X)不停机,则Q停机 else //P(X,X)停机,则Q不停机 do while (1) …… end do }
3、图灵机
一个图灵机是形如下面的一个装置 :
图灵机的组成
• 装置组成:
– 一个无限长的纸带(符号集合) – 一个读写头(读、改写、左移、右移) – 内部状态(有限状态机) – 还有一个程序对这个盒子进行控制。这个装 置就是根据程序的命令以及它的内部状态进 行磁带的读写、移动。
图灵机的工作过程
• 工作过程:
2、图灵的贡献
• 研究的课题是什么样的运算可以用机器来实现 • 1936年,图灵机为算法建立了模型,从而揭示了 计算的本质
• “论可计算数及其在判定问题中的应用”(On Computable Numbers With an Application to the Entscheidungs Problem)
• 在这个模型下,才有了计算理论,诱发了冯·诺依 曼计算机的发明 • 人工智能的衡量标准“图灵测试” • 人们称图灵为:计算机理论之父
• 阿兰·图灵(1912-1954) • 8岁时,他写了他的第一篇“科学”短文,题目叫《说 说显微镜》,头尾都是“你首先要知道,光线是直的” • 二战 ,布雷契莱庄园,COLOSSUS
证明过程
• 调用Q(Q)会发生什么情况? • 假设Q(Q)会发生死循环
– 由于P可以正确判断Q程序在Q输入下的死循环情况,则P(Q,Q)=yes – 然而,根据Q函数的定义,Q(Q)会马上结束,也就是Q(Q)==no – 与假设矛盾
• 假设Q(Q)不发生死循环
– 由于P可以正确判断Q程序在Q输入下的死循环情况,则P(Q,Q)=no • 然而,根据Q函数的定义,Q(Q)不会结束,也就是Q(Q)==yes • 与假设矛盾
小虫会怎样行动呢?
输入 黑 黑 白 白 当前状态 饥饿 吃饱 饥饿 吃饱 输出 涂白 后移 涂黑 前移 下一个状态 吃饱 饥饿 饥饿 吃饱
….. 状态:灰色的圆点表示饥饿,红色表示吃饱
输入 黑 黑 白 白 当前状态 饥饿 吃饱 饥饿 吃饱 输出 涂白 后移 涂黑 前移 下一个状态 吃饱 饥饿 饥饿 吃饱
….. 状态:灰色的圆点表示饥饿,红色表示吃饱