当前位置:文档之家› 第2章 程序算法与图灵机模型

第2章 程序算法与图灵机模型

大数往后放,相当于气泡往上升) ▪ 二分法之求函数的解 (对于函数f(x),如果存在实数c,当x=c时,若f(c)=0,
那么把x=c叫做函数f(x)的零点。解方程即要求 f(x)的所有零点。)
▪ 1365和3654 两数的最大公约数? ▪ 步骤:
3654÷1365 给出余数924 1365÷924 给出余数441 924÷441 给出余数42 441÷42 给出余数21 42÷21 给出余数0。 因此,用于做除数的21即是所需要的最大公 约数。
出来展示给用户,计算机系统还应该有输入设备和输 出设备如键盘、鼠标、显示器和打印机等。
通用图灵机蕴含的计算思想(3)
▪ 通用图灵机的所有规则构成指令集 ▪ 指示指示了操作的对象(当前符号) ▪ 指令指示了待实施的操作
冯·诺依曼机对图灵机的实现
▪ 1944年,冯·诺依曼参与ENIAC研究小 组
▪ 1945年,在ENIAC基础上,冯·诺依曼 提出了EDVAC(Electronic Discrete Variable AutomaticCompUter)设计方 案, 计算机的组成包括:运算器、逻辑 控制装置、存储器、输入和输出设备
▪ 与人的大脑比较:
▪ 人有10亿脑细胞,每个脑细胞的计算功能很简单, 可以用一个简单的图灵机来模拟,10亿个简单图 灵机组合成一个复杂系统,仍然是一个图灵机。
▪ 强人工智能观点:人所能的都是图灵机所能的, 反之亦然。
▪ 包括:计算、推理、想象、创造、感知、形成观 念、结成组织和社会、形成价值观、产生情感。 因此,图灵机也是人力所能与所不能的区分标准。
欧几里德算法逻辑运算的流程图
连续减法找到除法余数的流程图
2.2 图灵机模型
▪ 图灵“机” 是一段“抽象数学”,是一种抽象计 算模型(通用计算模型)而不是一个物理对象。
▪ 用来精确定义可计算函数——部分可计算函数与 可计算函数 。
▪ 其目的是为了解决称为判决问题的一个范围广阔 的问题。
▪ 通过研究图灵机,来研究递归可枚举集 (recursively enumerable)和部分递归函数 (partial recursive function)
新的概念的提出
▪ 随机读写(Random Access)
随机读写存储器RAM(Random Access Memory)
▪ 地址(Address) ▪ 指令(Instruction) = 操作码(Operating
通用图灵机蕴含的计算思想(2)
▪ 通用图灵机模型是计算机的计算能力的极限
因为,根据丘奇-图灵论题: 不能用图灵机完成的计算任务是不可计算的
▪ 计算机系统应该有:
➢ 存储器(相当于存储带) ➢ 中央处理器(控制器及其状态),并且其字母表可以
仅有0和1两个符号; ➢ 为了能将数据保存到存储器并将计算结果从存储器送
▪ 但是,在任何特殊的情形下,输入、计算和输出 必须总是有限的。这样,虽然可以取无限长的磁 带,但是在它上面只应该有有限数目的实在的记 号。磁带在每一个方向的一定点以外必须是空白 的。
▪ 我们用符号“0”来表示空白方格,用符号“1”来 代表记号方格
▪ 该仪器的内态在数目上是有限的。除了这种有限 性之外,我们所需要知道的一切是该仪器的行为 完全被其内态和输入所确定。我们已把输入简化 成只是两个符号“0”或“1”之中的一个。仪器的 初态和这一输入一给定,它就完全确定地运行; 它把自己的内态改变成某种其他(或可能是同样 的)内态,它用同样的或不同的符号0或1来取代 它刚读过的0或1;它向右或向左移动一个方格; 最后它决定是继续还是终止计算并停机。
▪ 对算法和可计算性进行研究提供形式化描述工具。
图灵机缘起
▪ 1900,德国数学家希尔伯特(D. Hilbert )在巴黎第 二届数学家大会上提出"23个数学难题"中, ➢ 逻辑的完备性问题,即是否所有数学问题原则上 都可解.
▪ 1936, 英国数学家图灵 ➢ “论可计算数及其在判定问题中的应用”(On Computable Numbers With an Application to the Entscheidungs Problem)
▪ 【举例】 图灵机UN+1: 00→00R, 01→11R, 10→01STOP, 11→01R。
它简单地把一加到一个一进位数上。为了检 查UN+1刚好做到这点,让我们想象,譬如 讲把它应用到代表数4的磁带上去: …00000111100000…。
图灵机的意义
▪ 1)通用计算模型:
▪ 人们相信图灵机是一种通用的计算模型, 即任何 人们能够想得到的算法都可以用图灵机实现。这 个信念被称为丘奇-图灵论题(Church-Turing Thesis)。
•3个动作:改写当前格、左移或右移一格 •图灵机的计算:由控制器控制执行的一系列动作
▪ 仪器具有有限(虽然也许非常大的)数目 的不同可能态的分立集合,把这些分立的 集合称作仪器的内态。
▪ 由于该仪器只有有限数目的不同的内态, 不能指望它把所有外部数据和所有自己计 算的结果“内化”。相反地,它必须只考 察那些立即处理的数据部分或者早先的计 算,然后进行需要对它们进行的任何运算。
▪ 这一信念有两个有力的证据:
▪ (1)其他学者提出的计算模型都被证明或者与 图灵机在计算能力上是等价的,或者不超过图灵 机;
▪ (2)目前还没有发现一个算法不能用图灵机实 现的。
▪ 图灵机≡C语言程序 > 计算机
▪ 与电脑的机器指令的功能相比较,图灵机 指令的功能是很简单的,仅有改变控制器 的状态,让读写头改写一个字符,让读写 头左移或右移一步等四种功能。但用图灵 机可以实现电脑所做一切工作。但是作为 理论模型,图灵机的存储设备,即输入带, 是没有长度限制;而电脑的内存总是有限 的。
▪ 2)图灵机简单而强大,便于理论研究
▪ 图灵机的操作简单,指令形式简单,但功 能强大,是一种简单的通用算法语言,便 于用于研究算法与计算的一般规律。因此, 可以把图灵机作为“算法”的一个数学定 义。
▪ 这样,希尔伯特判定问题变成一个语义明 确的“数学命题”:是否存在一个图灵机, 能判定一个算术命题是否为真。
▪ 图灵提出的图灵机具有以下两个性质: -具有有穷描述 -过程必须是由离散的、可机械执行的步骤组成
▪ 一个移动将完成以下三个动作: -改变有穷控制器的状态 -在当前所读符号所在的带方格中印刷一个符号 -将读写头向右或者向左移一格
图灵机的直观描述
▪ 3个部件: -有限状态控制器(有限状态机) -无穷多个带方格的输入带(符号集合) -读写头(读、改写、左移、右移)
▪ 正是输入、计算空间和输出的无限性质告 诉我们,我们正在考虑的仅仅是一种数学 的理想化,而不是在实际上可真正建造的 某种东西。
▪ 图灵是按照在上面作记号的“磁带”来描述其 外部数据和存储空间的。一旦需要,仪器就会读 取该磁带,并作为其运算的一部分,磁带可前后 移动。仪器可把记号放到需要的地方,可抹去旧 的记号。
对上面图灵机的内态使用这种二进位记号,则原先的 指令表便写成
▪ 在假定我们的仪器处于由二进位序列1010010代 表的特殊内态中,它处于计算的过程中,第36页 给出了它的磁带,而且我们利用指令11010010 0→111L
▪ 在磁带上被读的特殊位数(这里是位数“0”) 由一个更大写的数字指示,符号串的左边表示内 态。读到的“0”会被“1”所取代,而内态变成 ‘11’,然后仪器向左移动一格:
通用图灵机
▪ 图灵机本质在进行字符串的处理
图灵机输入是一个字符串 图灵机输出也是一个字符串
▪ 如果将图灵机的有限内部状态与读写头的 有限动作用字符串表示
▪ 那么每条转换规则也可以用一个字符串表 示(当前状态,当前符号,动作,新状态)
▪ 图灵机可以由一个较长字符串完全表示
通用图灵机
通用图开灵始 机实现计算的过程
▪ 只要必须进行进一步的计算,该磁带就会穿过该 仪器而不断地前后移动。当计算被最后完成时, 仪器就停止,而计算的答案会在停于仪器一边的 磁带的部分上显示出来。为了确定起见,我们假 定,答案总是在左边显示,而输入的所有数据以 及要解的问题的详细说明总是由右边进去。
▪ 在图灵的描述中,“磁带”是由方格的线性序列 所组成,该序列在两个方向上都是无限的。在磁 带的每一方格中或者是空白的或者包含有一个单 独的记号。我们可利用有记号或者没有记号的方 格来解释,我们的环境(也就是磁带)可允许被 细分并按照分立(和连续相反的)元素来描述。 如果希望仪器以一种可靠并绝对确定的方式工作。
组成算法的每条指令是清晰的,无歧义的。 ▪ (3)输入
一个算法有零个或多个输入。 ▪ (4)输出
一个算法至少产生一个量作为输出。 ▪ (5) 可行性
算法中的运算是能够实现的基本运算,每一种运 算可在有限的时间内完成。
一些经典的算法
思考: ▪ 求两个数的最大公约数如何实现?P27 ▪ 排序之冒泡排序(在排序过程中总是小数往前放,
扫描第三条带获 得当前状态S
扫描第一条带获 得当前符号C
根据A对第一条带 执行相应动作
S = Sn
扫描第二条带查找规则串 (Si,Ci,A,Sn)
否 Si == S Ci == C


Si == 结束 状态?
是 END
发现什么?
(Si,Ci,A,Sn)即转换规则 (当前状态,当前符号,动
作,新状态)
第2章 程序算法与图灵机模型
2.1 算法
▪ 什么是算法? 指完成一个任务所需要的具体步骤和方法。 即给定初始状态或输入数据,经过计算机程 序的有限次运算,能够得出所要求或期望的 终止状态或输出数据。
算法的特点:
▪ (1)有穷性 算法中每一条指令的执行次数有限,执行每条指
令的时间有限。(对任何的合法输入,算法总能在运算 有限步后终止) ▪ (2)确定性
相关主题