关于图灵机的三个问题分析
理论计算机科学中的图灵机

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

NOIP2009年普及组初赛题目及答案解析一、单项选择题(共20题,每题1.5分,共计30分。
每题有且仅有一个正确答案。
)1、关于图灵机下面的说法哪个是正确的:(D)A.图灵机是世界上最早的电子计算机。
B.由于大量使用磁带操作,图灵机运行速度很慢。
C.图灵机是英国人图灵发明的,在二战中为破译德军的密码发挥了重要作用。
D.图灵机只是一个理论上的计算模型。
【解析】所谓的图灵机就是指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。
有一个机器头在纸带上移来移去。
机器头有一组内部状态,还有一些固定的程序。
在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。
2、关于计算机内存下面的说法哪个是正确的:(B)A.随机存储器(RAM)的意思是当程序运行时,每次具体分配给程序的内存位置是随机而不确定的。
B.1MB内存通常是指1024*1024字节大小的内存。
C.计算机内存严格说来包括主存(memory)、高速缓存(cache)和寄存器(register)三个部分。
D.一般内存中的数据即使在断电的情况下也能保留2个小时以上。
【解析】A项:RAM不是位置随机,而是随时访问。
所谓“随机存储”,指的是“当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。
”B项:1MB=1024KB,1KB=1024BC项:计算机内存包括严格来说包括只读存储器(RAM)、随机存储器(ROM)和高速缓存(CACHE)。
如果不严格来说只包含只读存储器和随机存储器。
D项:内存中的数据断电立即丢失。
3、关于BIOS下面说法哪个是正确的:(A)A.BIOS是计算机基本输入输出系统软件的简称。
B.BIOS里包含了键盘、鼠标、声卡、显卡、打印机等常用输入输出设备的驱动程序。
C.BIOS一般由操作系统厂商来开发完成。
P-NP-NPC三者问题阐述

P NP NPC三者问题阐述1)”P对NP问题”是什么意思?首先说明一下问题的复杂性和算法的复杂性的区别,下面只考虑时间复杂性。
算法的复杂性是指解决问题的一个具体的算法的执行时间,这是算法的性质;问题的复杂性是指这个问题本身的复杂程度,是问题的性质.比如对于排序问题,如果我们只能通过元素间的相互比较来确定元素间的相互位置,而没有其他的附加可用信息,则排序问题的复杂性是O(nlgn),但是排序算法有很多,冒泡法是O(n^2),快速排序平均情况下是O(nlgn)等等,排序问题的复杂性是指在所有的解决该问题的算法中最好算法的复杂性。
问题的复杂性不可能通过枚举各种可能算法来得到,一般都是预先估计一个值,然后从理论上证明。
为了研究问题的复杂性,我们必须将问题抽象,为了简化问题,我们只考虑一类简单的问题,判定性问题,即提出一个问题,只需要回答yes或者no的问题。
任何一般的最优化问题都可以转化为一系列判定性问题,比如求图中从A到B的最短路径,可以转化成:从A 到B是否有长度为1的路径?从A到B是否有长度为2的路径?…从A到B是否有长度为k的路径?如果问到了k的时候回答了yes,则停止发问,我们可以说从A到B的最短路径就是k。
如果一个判定性问题的复杂度是该问题的一个实例的规模n的多项式函数,则我们说这种可以在多项式时间内解决的判定性问题属于P类问题。
P类问题就是所有复杂度为多项式时间的问题的集合.然而有些问题很难找到多项式时间的算法(或许根本不存在),比如找出无向图中的哈米尔顿回路问题,但是我们发现如果给了我们该问题的一个答案,我们可以在多项式时间内判断这个答案是否正确。
比如说对于哈米尔顿回路问题,给一个任意的回路,我们很容易判断他是否是哈米尔顿回路(只要看是不是所有的顶点都在回路中就可以了)。
这种可以在多项式时间内验证一个解是否正确的问题称为NP问题.显然,所有的P类问题都是属于NP问题的,但是现在的问题是,P是否等于NP?这个问题至今还未解决。
10大悖论

10大悖论1. 邱奇-图灵悖论邱奇-图灵悖论源自数理逻辑中的一个重要命题:不可能存在一个算法,能够判断任意算法是否停机。
这个命题的证明过程非常复杂,但其结论却具有深刻的哲学意义。
在计算机科学中,图灵机是一种抽象的计算模型,被认为是现代计算机的理论基础。
邱奇和图灵分别独立提出了图灵机的概念,并证明了它的等价性。
然而,他们的工作也揭示出了一个无法解决的问题:无法判断一个算法是否会停机。
这意味着,即使我们拥有了最强大的计算机和最聪明的算法,我们仍然无法预测一个算法是否会在有限的时间内停止运行。
这个悖论挑战了我们对计算机科学的基本认识,也引发了对人工智能和机器学习领域的深思。
2. 赫胥黎悖论赫胥黎悖论是关于集合论的一个重要悖论。
在集合论中,我们通常认为一个集合是由它的成员所确定的。
然而,赫胥黎悖论却质疑了这一观点。
考虑一个由所有不包含自己的集合组成的集合。
根据我们的直觉,这个集合应该是一个合法的集合。
然而,如果我们问这个集合是否包含自己,我们会发现一个悖论:如果这个集合包含自己,那么根据定义,它不应该包含自己;如果这个集合不包含自己,那么根据定义,它应该包含自己。
这个悖论揭示了我们对集合的理解存在一些隐含的问题,也引发了对集合论基础的深入思考。
3. 费尔马定理悖论费尔马定理是数学中一个著名的未解之谜。
它声称没有正整数解的方程x^n + y^n = z^n,其中n大于2。
然而,费尔马定理悖论在于,虽然费尔马定理已经被证明是正确的,但其证明过程却非常复杂,以至于无法在有限时间内完成。
这个悖论引发了对数学证明的思考:我们如何确定一个命题是否为真?费尔马定理悖论表明,即使我们相信一个命题是真的,我们也可能无法证明它。
这对于数学和逻辑的发展产生了重要影响。
4. 佩亚诺悖论佩亚诺悖论源自数学中的一个基本问题:是否存在一个能够判断所有数学命题真假的公理系统?佩亚诺悖论证明了这是不可能的。
如果我们假设存在这样一个公理系统,那么我们可以构造一个命题:这个命题在公理系统中是不可证明的,但它却是真的。
图灵机不可判定问题

一.图灵机简介一台图灵机(Turing Machine)有有限个状态。
其中一个状态是开始状态。
状态集合的一个子集是接受状态,还有一个子集是拒绝状态。
接受状态子集和拒绝状态子集不相交(也就是不能有一个状态既是接受状态,也是拒绝状态)。
有一个字符集Σ,图灵机以Σ上的字符串ω作为输入(ω∈Σ*,Σ*是一个集合,它的元素是:由0 个或多个Σ上的字符组成的有限长度的字符串)。
图灵机还有一个字符集Γ,是“带”(tape)字符集。
Γ包含Σ中的所有字符,还必须有一个Σ中没有的字符,就是空白字符(blank)。
Γ中也可以还有Σ中没有的更多字符。
图灵机的带(tape)上一开始默认都是空白字符。
图灵机的带,是一个无限长的带子,分成一个个的单元格,每一个单元格上写一个字符(初始都是空白符)。
图灵机有一个读写头,总是位于带的某一个单元格之上。
读写头对当前的单元格进行读写。
读写头可以顺着带子左右移动,但一次只能移动一个单元格。
Γ就是图灵机可以向带子上写的字符的集合。
图灵机的动作是这样的:根据当前所处的状态和当前读到的字符,在当前单元格上写下一个字符,向左或右移动一个单元格,进入另一个状态。
读到一个什么字符就写下哪个字符并怎么移动读写头,对于这个行为的定义,就是这台图灵机的转移函数δ。
状态集合Q 、输入字符集Σ、带字符集Γ、转移函数δ、开始状态∈Q 、接受状态集合以及拒绝状态集合就定义了一台图灵机。
一开始,将输入字符串ω(ω∈Σ*)放在带子上,把图灵机的读写头对准ω的第一个字符,并让图灵机处于开始状态。
然后图灵机就开始一步一步地运行:读字符、写字符、移动读写头、进入新状态,然后再重复......直到图灵机进入某一个接受状态,这时图灵机停机并接受ω。
图灵机也有可能进入一个拒绝状态而停机,这种情况下图灵机拒绝ω。
除了这两种情况,还有第三种情况:那就是图灵机永远不会停机。
图灵机既不进入接受状态,也不进入拒接状态,而是一直运行下去。
PNP问题

P/NP问题是在理论信息学中计算复杂度理论领域里至今没有解决的问题,它被“克雷数学研究所”(Clay Mathematics Institute, 简称CMI)在千禧年大奖难题中收录。
P/NP问题中包含了复杂度类P与NP 的关系。
1971年史提芬·古克(Stephen A. Cook) 和Leonid Levin 相对独立的提出了下面的问题,即是否两个复杂度类P和NP是恒等的(P=NP?)。
P 和NP复杂度类P包含所有那些可以由一个确定型图灵机在多项式表达的时间内解决的问题;类NP由所有其肯定解可以在给定正确信息的多项式时间内验证的决定问题组成,或者等效的说,那些解可以在非确定型图灵机上在多项式时间内找出的问题的集合。
很可能,计算理论最大的未解决问题就是关于这两类的关系的:P和NP相等吗?在2002年对于100研究者的调查,61人相信答案是否定的,9个相信答案是肯定的,22个不确定,而8个相信该问题可能和现在所接受的公理独立,所以不可能证明或证否。
对于正确的解答,有一个$1,000,000美元的奖励。
NP-完全问题(或者叫NPC)的集合在这个讨论中有重大作用,它们可以大致的被描述为那些在NP中最不像在P中的。
(确切定义细节请参看NP-完全)理论计算机科学家现在相信P, NP,和NPC类之间的关系如图中所示,其中P和NPC类不交。
假设P ≠ NP的复杂度类的图解.如P = NP则三个类相同.简单来说,P = NP问题问道:如果是/不是问题的正面答案可以很快验证,其答案是否也可以很快计算?这里有一个给你找点这个问题的感觉的例子。
给定一个大数Y,我们可以问Y是否是复合数。
例如,我们可能问53308290611是否有非平凡的因子。
回答是肯定的,虽然手工找出一个因子很麻烦。
从另一个方面讲,如果有人声称答案是"对,因为224737可以整除53308290611",则我们可以很快用一个除法来验证。
图灵机

图灵测试
• 图灵测试(又称“图灵判断”)是图灵 提出的一个关亍机器人的著名判断原则 。所谓图灵测试是一种测试机器是丌是 具备人类智能的方法。 • 被测试的有一个人,另一个是声称自己 有人类智力的机器。图灵测试是测试人 在不被测试者(一个人和一台机器)隔开 的情况下,通过一些装置(如键盘)向 被测试者随意提问。问过一些问题后, 如果测试人丌能确认被测试者30%的答 复哪个是人、哪个是机器的回答,那么 这台机器就通过了测试,幵被认为具有 人类智能。还没有一台机器能够通过图 灵测试。
问题示例:
• 问:你会下国际象棋吗 ? • 答:是的。 • 问:你会下国际象棋吗 ? • 答:是的。 • 问:请再次回答,你会 下国际象棋吗? • 答:是的。 • 你他么的会下国际象棋 么? • 答:是的。 • 问: 你会下国际象棋吗? • 答:是的。 • 问:你会下国际象棋吗? • 答:是的,我丌是已经说过 了吗? • 问:请再次回答,你会下国 际象棋吗? • 答:你烦丌烦,干嘛老提同 样的问题 • 问:你他么的会下国际象棋 么? • 答:我艹,你他么的有病吧, 我会!!
question:
• 请问:IPhone的siri,微信的小黄鸡等具备智能聊天功能 的软件在图灵测试方面表现如何? • 是否说明我们目前的技术已经可以通过图灵测试?
THANKS~
艺术化的图灵机
• 图灵机是一种状态机, 如图上半部是一个简单 的状态机,有三个状态 ,A,B,C,外加终止 状态 H。这个状态机读 入指令流,指令流以字 符串方式呈现,只有 0 戒者 1 两个值。每次读 入一个指令字符,机器 从一个状态转换到另一 个状态,同时执行三个 动作 Print,Left move ,Right move 中的一 个戒两个动作。 • 下半部是实现图灵机的 一个想象的电子装置
图灵机工作原理

图灵机工作原理图灵机是一种理论上的计算模型,由英国数学家艾伦·图灵于1936年提出。
它是一种抽象的计算设备,能够模拟任何可以通过算法计算的问题。
图灵机的工作原理主要包括输入、状态转换和输出三个基本部分。
首先,图灵机接受输入。
输入是指由输入符号构成的无限长的纸带,纸带上的每个符号都属于有限的字母表。
图灵机的读写头可以在纸带上移动,并能够读取当前位置的符号。
这些输入符号代表了问题的初始状态,图灵机需要根据这些输入符号进行计算和处理。
其次,图灵机通过状态转换来处理输入。
图灵机在内部有一个状态转换表,根据当前状态和读取的输入符号,图灵机可以根据状态转换表中的规则进行状态转换。
这些状态转换规则包括了读取当前符号后的下一步动作,如写入新符号、移动读写头的位置或改变内部状态等。
通过不断的状态转换,图灵机可以模拟出复杂的计算过程。
最后,图灵机输出结果。
当图灵机完成状态转换并停止时,纸带上的符号就代表了问题的计算结果。
图灵机可以通过读取纸带上的符号来输出最终的计算结果。
图灵机的工作原理可以用简洁的数学模型来描述,这种模型包括了输入符号、状态转换表和内部状态等重要元素。
通过这些元素的相互作用,图灵机能够模拟出任何可以通过算法计算的问题。
这种抽象的计算模型为计算机科学的发展提供了重要的理论基础,对于计算机算法和程序设计具有重要的指导意义。
总的来说,图灵机的工作原理是基于输入、状态转换和输出这三个基本部分的。
通过这些部分的相互作用,图灵机能够模拟出任何可以通过算法计算的问题,这为计算机科学的发展提供了重要的理论基础。
图灵机的工作原理不仅对计算机科学具有重要的指导意义,同时也为人工智能和机器学习等领域的发展提供了重要的思想参考。
NOI初赛普及组C++题目及答案

第十五届全国青少年信息学奥林匹克联赛初赛试题(2009)(普及组C++语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一.单项选择题(共20题,每题1.5分,共计30分。
每题有且仅有一个正确答案。
)1、关于图灵机下面的说法哪个是正确的:A)图灵机是世界上最早的电子计算机。
B)由于大量使用磁带操作,图灵机运行速度很慢。
C)图灵机是英国人图灵发明的,在二战中为破译德军的密码发挥了重要作用。
D)图灵机只是一个理论上的计算模型。
2、关于计算机内存下面的说法哪个是正确的:A)随机存储器(RAM)的意思是当程序运行时,每次具体分配给程序的内存位置是随机而不确定的。
B)1MB内存通常是指1024*1024字节大小的内存。
C)计算机内存严格说来包括主存(memory)、高速缓存(cache)和寄存器(register)三个部分。
D)一般内存中的数据即使在断电的情况下也能保留2个小时以上。
3、关于BIOS下面说法哪个是正确的:A)BIOS是计算机基本输入输出系统软件的简称。
B)BIOS里包含了键盘、鼠标、声卡、显卡、打印机等常用输入输出设备的驱动程序。
C)BIOS一般由操作系统厂商来开发完成。
D)BIOS能提供各种文件拷贝、复制、删除以及目录维护等文件管理功能。
4、关于CPU下面哪个说法是正确的:A)CPU全称为中央处理器(或中央处理单元)。
B)CPU可以直接运行汇编语言。
C)同样主频下,32位的CPU比16位的CPU运行速度快一倍。
D)CPU最早是由Intel公司发明的。
5、关于ASCII,下面哪个说法是正确的:A)ASCII码就是键盘上所有键的唯一编码。
B)一个ASCII码使用一个字节的内存空间就能够存放。
C)最新扩展的ASCII编码方案包含了汉字和其他欧洲语言的编码。
D)ASCII码是英国人主持制定并推广使用的。
6、下列软件中不是计算机操作系统的是:A)WindowsB)LinuxC)OS/2D)WPS7、关于互联网,下面的说法哪一个是正确的:A)新一代互联网使用的IPv6标准是IPv5标准的升级与补充。
简述图灵机的工作原理

简述图灵机的工作原理图灵机是由英国数学家艾伦·图灵于1936年提出的一种理论计算模型,被认为是现代计算机的理论基础。
图灵机的工作原理主要包括输入、状态转换和输出三个部分。
首先,图灵机的输入是由无限长的纸带组成,纸带上被划分为一个个的格子,每个格子上可以写入符号。
图灵机的读写头可以在纸带上左右移动,读取当前格子上的符号,并根据预先设定的规则进行状态转换。
这些规则包括了读取当前符号后应该执行的动作,例如改变当前符号、移动读写头的位置,或者改变图灵机的内部状态。
通过这样的状态转换,图灵机可以模拟出各种复杂的计算过程。
其次,图灵机的状态转换是基于一系列预先设定的规则进行的。
这些规则被称为转移函数,它定义了在图灵机的当前状态和读取的符号下,应该执行的动作。
通过这些转移函数,图灵机可以在纸带上进行各种计算操作,包括加法、乘法、逻辑运算等。
这些转移函数可以根据具体的计算任务进行设计,从而使图灵机能够解决各种复杂的问题。
最后,图灵机的输出是通过读写头在纸带上写入符号来实现的。
当图灵机完成了特定的计算任务后,它会在纸带上写下最终的结果。
这个结果可以是一个数值、一个逻辑值,甚至是一个新的状态,取决于图灵机所模拟的具体计算过程。
通过这样的输出,图灵机可以完成各种复杂的计算任务,包括数学运算、逻辑推理、甚至是模拟其他计算机程序的执行过程。
总的来说,图灵机的工作原理可以概括为,通过读写头在纸带上读取和写入符号,根据预先设定的状态转换规则进行计算,最终得到所需的输出结果。
图灵机的这种工作原理被认为是计算机科学的基础,它不仅为现代计算机的设计提供了理论依据,也为计算理论和人工智能研究提供了重要的参考。
通过对图灵机工作原理的深入理解,我们可以更好地认识计算机的本质,从而推动计算机科学的发展和进步。
1.图灵机与计算问题(1节课)

– 小虫仅能够感受到它所处的方格的颜色---输 入信息。 – 小虫的输出动作就是往纸带上前爬一个方格 或者后退一个方格。
输入 黑色 白色 输出
• 程序: NaiveBug
前移 后移
小虫读到这个片断会怎样行动呢?
图灵机的今生来世
目录
• • • • 1、问题的起源 2、图灵的贡献 3、图灵机 4、图灵机的计算极限与计算复杂性
目录
• • • • 1、问题的起源 2、图灵的贡献 3、图灵机 4、图灵机的计算极限与计算复杂性
1、问题起源:费马大定理
• 17世纪,费马在阅读丢番图(Diophatus)《算术》拉 丁文译本时,曾在第11卷第8命题旁写道:“将一个立 方数分成两个立方数之和,或一个四次幂分成两个四 次幂之和,或者一般地将一个高于二次的幂分成两个 同次幂之和,这是不可能的。关于此,我确信已发现 了一种美妙的证法 ,可惜这里空白的地方太小,写不 下。” • 当整数n >2时,关于x, y, z的方程 xn + yn = zn 没有正整 数解 • 1995年被英国数学家安德鲁·怀尔斯证明
3、图灵机
一个图灵机是形如下面的一个装置 :
图灵机的组成
• 装置组成:
– 一个无限长的纸带(符号集合) – 一个读写头(读、改写、左移、右移) – 内部状态(有限状态机) – 还有一个程序对这个盒子进行控制。这个装 置就是根据程序的命令以及它的内部状态进 行磁带的读写、移动。
图灵机的工作过程
• 工作过程:
小虫会怎样行动呢?
输入 黑 黑 白 白 当前状态 饥饿 吃饱 饥饿 吃饱 输出 涂白 后移 涂黑 前移 下一个状态 吃饱 饥饿 饥饿 吃饱
关于图灵机的三个问题

写这篇文章,是想尝试回答学习图灵机模型中遇到的三个问题: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)说起。
考验ai的经典问题

考验ai的经典问题
以下是考验AI的经典问题之一:
著名的图灵测试是用来评估一台机器是否能够表现得与人类一样聪明。
图灵测试的基本形式是一个人与一台机器进行对话,如果人无法判断出对话的另一方是机器还是人类,那么机器就通过了测试。
这个问题本质上考察的是机器智能的程度,也就是能否与人类在自然语言对话中表现得足够接近。
近年来,随着自然语言处理和机器学习技术的进步,越来越多的AI系统能够通过这一测试。
但是,要通过图灵测试并非易事,因为这意味着机器需要具备理解、推理、学习和适应等高级智能能力。
除了图灵测试,还有其他一些考验AI的经典问题,如决策问题(机器在复杂情境下作出正确决策能力)、游戏问题(机器与人类进行棋类或电子游戏对战能力)、视觉问题(机器完成图像识别、目标检测和图像生成等视觉任务能力)等。
总的来说,考验AI的经典问题主要围绕着机器是否可以表现得像人类一样的智能和能力。
这些问题不仅对AI技术的发展有重要意义,也对我们对智能的理解和定义提出了挑战。
图灵机原理及分析

一.图灵机原理及分析图灵的基本思想是用机器来模拟人们用纸笔进行数学运算的过程,他把这样的过程看作下列两种简单的动作:1)在纸上写上或擦除某个符号;2)把注意力从纸的一个位置移动到另一个位置;而在每个阶段,人要决定下一步的动作,依赖于 (a) 此人当前所关注的纸上某个位置的符号和(b) 此人当前思维的状态。
为了模拟人的这种运算过程,图灵构造出一台假想的机器,该机器由以下几个部分组成:一条无限长的纸带。
纸带被划分为一个接一个的小格子,每个格子上包含一个来自有限字母表的符号,字母表中有一个特殊的符号表示空白。
纸带上的格子从左到右依此被编号为 0, 1, 2, ... ,纸带的右端可以无限伸展。
一个读写头。
该读写头可以在纸带上左右移动,它能读出当前所指的格子上的符号,并能改变当前格子上的符号。
一个状态寄存器。
它用来保存图灵机当前所处的状态。
图灵机的所有可能状态的数目是有限的,并且有一个特殊的状态,称为停机状态。
一套控制规则。
它根据当前机器所处的状态以及当前读写头所指的格子上的符号来确定读写头下一步的动作,并改变状态寄存器的值,令机器进入一个新的状态。
这个机器的每一部分都是有限的,但它有一个潜在的无限长的纸带,因此这种机器只是一个理想的设备。
图灵认为这样的一台机器就能模拟人类所能进行的任何计算过程小虫模型:下面我们用另一种思想来理解图灵机:小虫的比喻:我们不妨考虑这样一个问题.假设一个小虫在地上爬,那么我们应该怎样从小虫信息处理的角度来建立它的模型呢? 首先, 我们需要对小虫所在的环境进行建模。
我们不妨假设小虫所处的世界是一个无限长的纸带,这个纸带上被分成了若干小方格,而每个方格都只有黑白两种颜色。
黑色表示该方格有食物,白色就表示没有。
假设小虫仅具有一个感觉器官:眼睛,而且它的视力差得可怜, 也就是说它仅仅能够感受到它所处的方格的颜色。
因而这个方格所在的位置的黑色或者白色的信息就是小虫的输入信息。
其次, 小虫有输出动作,它可以在方格上前移,后移,还可以涂写方格成黑色或者白色。
图灵机与计算问题

程序3:
输入 当前内部状态 输出 下时刻的内部状态 黑 饥饿 涂白 吃饱 黑 吃饱 后移 饥饿 白 饥饿 涂黑 饥饿 白 吃饱 前移 吃饱 这个程序复杂多了,有四行,原因是你不仅需要指定 每一种输入情况下小虫应该采取的动作,而且还要指 定在每种输入和内部状态的组合情况下小虫应该怎样 行动。看看我们的虫子在读入黑白白黑白……这样的 纸带的时候,会怎样? • 仍然用下面的一系列图来表示,灰色的圆点表示饥饿 的小虫,白色的圆点表示它吃饱了。 • • • • • •
改进程序1
• 现实世界中的小虫肯定不会这样傻的在那里无 限循环下去。我们还需要改进这个最简单的模 型。 • 首先,我们知道小虫除了可以机械地在世界上 移动以外,还会对世界本身造成影响,因而改 变这个世界。比如虫子看到旁边有食物,它就 会把那个东西吃掉了。在我们这个模型中,也 就相当于我们必须假设小虫可以改写纸带上的 信息。因而,小虫可能的输出动作集合就变成 了:O={前移,后移,涂黑,涂白}。这个时候, 我们可以把程序1改为比如:
前言
• 自从20世纪30年代以来,图灵机、计算这些重 要的概念在科学的天空中就一直闪烁着无限的 光彩。尤其是近年来量子计算机、生物计算机、 DNA计算等领域的创新工作引起了了世人的广 泛关注。我们不禁问这样的问题,国外究竟为 什么能发明出这些各式各样的计算机呢?这些 意味着什么呢?其实这一切的源头都来源于计 算理论。 • 主要介绍图灵机、计算等等一些基本而重要的 概念,并对图灵机相关问题进行一些发散的探 讨。
图灵机与计算问题
• • • • • • • • • • •
前言 一.故事 二.图灵机 三.如何理解图灵机 1.小虫的比喻 2.如何理解图灵机模型 四.计算 1.什么是计算 2.计算的组合 3.征服无限的方法 4.归纳
图灵机——精选推荐

图灵机⼀、图灵机的组成⽹上有⼀张经典的图⽚来表达图灵机的构成,图如下:图灵机的组成.png这张图⽚什么意思?这么⼀个简单的机器/装置怎么会所有电⼦计算机的理论模型?相信⼤家看到这张图后都有这样的疑问,下⾯笔者带来由浅⼊深去理解图灵机的组成。
图灵的基本思想是⽤机器来模拟⼈们⽤纸笔进⾏数学运算的过程,它运算过程看作下列两种简单的动作:在纸上写上或擦除某个符号;把注意⼒从纸的⼀个位置移动到另⼀个位置;逻辑结构上图灵机有四个部分组成1. ⼀个⽆限长的存储带,带⼦有⼀个个连续的存储格⼦组成,每个格⼦可以存储⼀个数字或符号2. ⼀个读写头,读写头可以在存储带上左右移动,并可以读、修改存储格上的数字或符号3. 内部状态存储器,该存储器可以记录图灵机的当前状态,并且有⼀种特殊状态为停机状态4. 控制程序指令,指令可以根据当前状态以及当前读写头所指的格⼦上的符号来确定读写头下⼀步的动作(左移还是右移),并改变状态存储器的值,令机器进⼊⼀个新的状态或保持状态不变。
当然这些只是理想的图灵机,因为现实中不存在⽆限长的存储带,更加图灵的理论这样的⼀台装置就能模拟⼈类所能进⾏的任何计算过程。
是不是很神奇?我相信你肯定不相信,不过图灵是经过严格的数学证明,下⾯我们来看看图灵机的计算过程。
⼆、图灵机的运⾏机制图灵机⼯作步骤1. 准备- 存储带⼦上的格⼦初始话 - 设置内部状态存储器当前状态 - 读写头设置初始在存储带上所做的格⼦位置 - 准备好控制指令,即控制程序。
1. 反复执⾏以下步骤,直到停机- 读写头读出当前格⼦的数字或符号 - 根据当前状态和读到的字母或符号找到对应的控制指令 - 根据控制指令,执⾏以下三个动作 1. 读写头在格⼦上擦除或写⼊⼀个数字或符号 2. 变更状态到⼀个新状态 3. 读写头向左或向右移动⼀格估计你还是不明⽩,别急。
看过《三体》的同学都知道三体⼈把地球⼈看做“⾍⼦”,三体⼈的维度⽐地球三维世界⾼,就好像我们⼈类把看⾍⼦⼀样。
14. 图灵机

14. 图灵机1. 背景1)第三次数学危机:数学的基础出现问题。
罗素悖论——所有不含有自己的集合的集合是否含有自己?2)希尔伯特纲领:为各门数学学科建立形式化的公理系统,它包含有限条概念与公理,整个学科建立在这个公理系统之上,从而将数学理论的相容性问题转化为论证公理系统的相容性问题。
公理系统需满足三个逻辑性质:(1) 完备性(所有已知正确的命题都可以由这些公理去证明),(2)独立性和(3)相容性。
3)哥德尔第一定理(哥德尔不完备性定理):任何包含算术理论的数学理论中存在自身不能证明的命题。
哥德尔第二定理:任何包含算术理论的数学理论不能证明自己的相容性。
意义:理论必须不断发展,才有可能证明那些不能证明的命题,才有可能证明那些不能证明自己的理论。
4)希尔伯特判定问题:是否存在一个算法,能判定一个算术命题是否为真。
“算术命题的真值是不是可判定的?”“什么是算法”,为了解决这个问题,英国的数学家图灵(Alan M. Turing, 1912-1954)在1936年的论文中给“算法”这个概念提出了一个数学定义。
这是一种模拟人的计算动作的计算模型,人们称为“图灵机”。
图灵证明算术命题的真值是不能用图灵机判定的。
2. 图灵机的基本概念1)物理模型:输入带功能比有限自动机强:读写头有三个功能:向右移动、向左移动、改写带字符。
2)形式定义:定义4.1 图灵机的基本形式是一个七元组0(,,,,,,)M Q q B F δ=∑ΓQ :有限状态集;:输入符号集;:带符号集;:动作函数;q0:初始状态;B :空格符;F :终止状态集。
指令形式与含义:(1)(,)(,,)q a p b L(2)(,)(,,)q a p b R(3)(,)(,,)q a p B L3)计算功能识别语言;计算函数。
用瞬像(格局configuration )推导序列描述图灵机的计算过程。
瞬像:uqv初始瞬像:q 0w接受瞬像:拒绝瞬像:所识别的语言:L(M)={}所计算的函数:一元函数f M (x)=y :开始计算时,输入带的内容为x ,计算结束时输入带的内容为y 。
chapter图灵机解析实用PPT课件

q0,并且读写头处于带子的最左端位置,在接受格局里,状态是 qaccept ,在拒绝格局里,状态是 qreject。接受和拒绝状态都是停机 状态,它们都不再产生新的格局。
R
0R
0x, R
qreject
qaccept
q4
xR
R
第14页/共34页
第九章、图灵机
每重复一次第 1 步,消去了一半个数的 0。由于在第 1 步中,机 器扫描了整个带子,故它能够?知道它看到的 0 的个数是奇数还是偶 数,如果是大于 1 的奇数,则输入中所含的 0 的个数不可能是 2 的方 幂,此时机器就拒绝。但是,如果看到的 0 的个数是 1,则输入中所含 的 0 的个数肯定是 2 的方幂,此时机器就接受。
第19页/共34页
第九章、图灵机
四、图灵机的变形
从不同的方面对 TM 进行扩充。 1、双向无穷带 TM 允许 TM 的输入带是无穷的。 2、多带 TM 允许 TM 有多于一条的输入带。 此时每条带上将有一个读头。 3、不确定的 TM 允许 TM 在某一状态下根据读入的符号选择地进 行某一个动作:进入某个状态,在读头的当前位置印刷某个符号, 将读头移向某个方向。 4、多维 TM 相当于在双向 TM 的基础上进一步扩充,允许TM 的 “输入带”向更多的方向延伸。 5、枚举器允许图灵机带有打印机。 …… 它们与基本的 TM 等价。 在形式变化中保持不变的性质称为稳健性。
第1页/共34页
第九章、图灵机
一、丘奇—图灵论题
1、丘奇在1936.3从可计算函数的构造出发发表了论文,给出了 λ演算系统,该论题给出了今天的递归函数理论,实际上也是一种计 算模型,为程序设计语言奠定了重要的理论基础;
算法——图灵机

算法作业1一、 说明什么是图灵机,给出确定型图灵机和非确定型图灵机的数学描述。
解答:1.什么是图灵机图灵机是一个结构简单而且计算能力很强的计算模型。
一台多带图灵机是由一个有限状态控制器和和k条读写带(k≥1)组成的。
这些读写带的右端无限,每条带都从左到右划分为方格,每个方格可以存放一个带符号。
带符号的总数是有限的。
每条带上都有一个由有限状态控制器操纵的读写头或称为带头,它可以对这k条带进行读写操作。
有限状态控制器在某一时刻处于某种状态。
且状态是有限的。
右图为示意图。
根据有限状态控制器的当前状态及每个读写头读到的带符号,图灵机的一个计算步可实现下面3个操作之一或全部。
(1)改变有限状态控制器中的状态。
(2)消除当前读写头下的方格中原有带符号并写上新的带符号。
(3)独立地将任何一个或所有读写头,向左移动一个方格(L)或向右移动一个方格(R)或停在当前单元不动(S)。
2.确定性图灵机的数学描述k带确定性图灵机可以形式化地描述为一个7元组(Q,T,I,δ,b,q,q),其中,(1)Q是有限个状态的集合。
(2)T是有限个带符号的集合。
(3)I是输入符号的集合,IT。
(4) b是唯一的空白符,bT-I。
(5) q是初始状态。
(6) q是终止(或接受)状态。
(7) δ是移动函数。
它是从Q×T的某一个子集映射到Q×(T×{L,R,S})的函数。
这种图灵机中,因为移动函数δ是单值的,即对于Q×T中的每一个值,当它属于δ的定义域时,Q×(T×{L,R,S})中只有唯一的一个值与之对应,所以称之为确定性图灵机,简记为DTM(Deterministic Turing Machine)。
对于某个包含一个状态及k个带符号的k+1元组,移动函数将给出一个新的状态和k个序偶,每个序偶由一个新的带符号及读写头的移动方向组成。
形式上可表述为δ(q,a,a,…,a)=δ(q’,(a’,d),(a',d),…,(a’,d))当图灵机处于状态q且对一切 1≤i≤k,第i条带的读写头扫描着的当前方格中的符号正好是a时,图灵机就按这个移动函数所规定的内容进行工作:(1) 将图灵机的当前状态q改为状态q’.(2) 将第i条读写头下当前方格中的符号a清除并写上新的带符号a’, 1≤i≤k。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
写这篇文章,是想尝试回答学习图灵机模型中遇到的三个问题: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)说起。
康托最大的贡献可能是创建了现代集合论,他认为某些不同的无穷集合有不同的大小。
1891年,康托发表了一篇只有5页的论文,证明实数集的基数大于自然数集,并在这篇论文中提出了传说中的对角线方法(方法虽然巧妙但很简单,wiki上有我就不赘述)。
图灵机的不可判定问题便需要借助对角线方法。
而实数集“大于”自然数集这个事实,可以这么想:“无限×无限”比“无限×有限”大。
每个自然数是有限的,集合是一阶无限,自然数集就是一阶无限;相较之下,一个实数是一阶无限,集合又是一阶无限,那么实数的集合就是二阶无限。
这个一阶二阶只是我个人的说法,关于不同集合之间的大小关系,康托提出连续统假设,即希尔伯特第一问题,认为不存在一个基数绝对大于可数集而绝对小于实数集的集合,不过这跟今天的话题没有关系,不再展开。
回到正题:图灵机。
图灵机能够识别语言,而图灵机本身当然也可以由语言描述。
什么是语言?给定一个字母表∑,一个{[由∑中的字母组成的序列]的集合}就是∑上的一个语言(为了消除歧义,算式可以加括号,语言当然也可以)。
必须清楚这些概念中哪些是有限的,哪些是无限的:一个语言包含的字符串数可以是有限的也可以是无限的,但一个字母表上的所有语言的数目是无限的,而语言中任意一个字符串的长度是有限的。
首先要证明的是:一个字母表上所有语言构成的集合不仅是无限的,而且是不可数的。
这里需要借助无限二进制序列的集合来帮助证明。
一个无限二进制序列(即{0,1}组成的无限序列)是一阶无限,那么这些序列组成的集合就是“无限×无限”,可以通过对角线方法证明无限二进制序列是不可数的,也可以将实数集的元素唯一地映射到无限二进制序列集合。
用后者的方法,可以这样建立二者之间的映射:二进制序列每4个为一组,用8421BCD码编码,4位对应实数中的一位,再用1111表示小数点,这样每个实数总能映射到一个唯一的二进制序列,既然实数集不可数,那么无限二进制序列也不可数。
接下来证明,{无限二进制序列的集合B}与(任意字母表){∑上的所有语言组成的集合L}是同样规模的,仍然通过建立映射的方法。
设∑上所有字符串的集合按字典序排序成∑*={s1, s2, s3, ...},L中的每个语言A都对应一个二进制序列b:如果si∈A,bi=1;否则bi=0,这样的序列称作A的特征序列。
举个例子,如果∑={a,b},A是所有包含b的串构成的语言,则A的特征序列b如下:∑*={a, b, aa, ab, ba, bb, aaa, aab,...}A ={ b, ab, ba, bb, aab,...}b = 0 1 0 1 1 1 0 1 ,...反之,每个二进制序列b也能对应一个唯一的语言,所以L与B等势,又因为B是不可数集,所以{∑上的所有语言组成的集合L}也是不可数的。
好,明确了所有语言构成的集合是不可数的之后,我要回答下面这个问题:为什么图灵机集合是可数的?(reserve:哥德尔配数法)从图灵机的定义入手,图灵机是1个7元组(Q,∑,Γ,δ,q0,qaccept,qreject)。
每一台图灵机总是由有限个字符编码而成:1) 有限的状态集Q。
2) 有限的输入字母表∑。
3) 有限的带字母表Γ。
4) 有限的转换函数δ。
5) 1个起始状态q0。
6) 有限个接受状态qaccept。
7) 有限个拒绝状态qreject。
若上述每个元素都用二进制编码表示,任意一台图灵机都只需要有限个二进制位。
再将这些二进制串按照字典序排列,就可以得到一个{图灵机集合}->自然数集的一一对应。
好,给定一个字母表∑:[∑上的所有语言]的集合<=>[二进制无限序列]的集合<=>实数集<=>不可数集[所有图灵机]的集合<=>自然数集<=>可数集有不可数个语言,却只有可数个图灵机,语言的集合“大于”图灵机的集合,所以从本质上证明了必然存在图灵机不能识别的语言。
推论:必然存在图灵机不能判定的语言。
理由是图灵可判定语言的集合不会大于图灵可识别语言。
图灵可判定语言要求更严格,所以应该存在这样的语言:它是图灵可识别的,但同时不是图灵可判定的。
事实确实如此,图灵自己就给出了一个:A={<M, ω> | M描述一台图灵机,且M描述的机器接受ω}首先证明A是图灵可识别的(形式化证明太过繁琐,这里只给出很高层次的证明)。
设通用图灵机U这样运行:U接受参数<M, ω>,它可根据图灵机M的描述模拟M的行为,并在虚拟的M上计算ω。
如果M接受ω,那么U进入接受状态;否则拒绝。
依据定义以及通用图灵机的存在性,U能识别A,所以A是图灵可识别的。
证毕。
顺着这个证明走下去,如果M本身遇到输入ω时会陷入循环,那么模拟M的U也会陷入循环,所以U不是判定器。
如果U知道M在ω上不停机,那么它可以进入拒绝状态,问题是它不知道。
那么能判定A的图灵机存在吗?我们就假设存在H,使得:1)若M接受ω,则H(<M,ω>) =接受2)若M不接受ω,则H(<M,ω>) =拒绝根据H的定义,无论M接不接受ω,H总能停机。
进一步再假设有图灵机D,以H为子程序,接受一个描述图灵机的串<M>,在H上运行H(<M,<M>>),并返回相反的结果:1)若H(<M,<M>>)=接受,则D(<M>)=拒绝2)若H(<M,<M>>) =拒绝,则D(<M>)=接受也就是说,如果一台图灵机M接受描述它自身的串<M>,那么D(<M>)进入拒绝状态。
构造这样一台奇怪的D是为了让它做下面这件事情,现在对D输入描述它自己的串<D>,看看会发生什么:1)若D接受<D>,即H(<D,<D>>)=接受,则D(<D>)=拒绝2)若D拒绝<D>,即H(<D,<D>>) =拒绝,则D(<D>)=接受到底是接受还是拒绝呢?兜了一个圈子,D绕回原地,产生了矛盾。
所以D是不存在的,所以H也是不存在的,语言A不可判定。
证毕。
上述证明比较绕,我用一阶逻辑再改写一遍。
命题:1)P:存在语言A的判定器H2)Q:存在以H为子程序的图灵机D(描述见上)已知条件:1)P→Q:如果有H,总能设计出D2)┐Q:D是不存在的(证明见上)证明:1 P 假设2 P→Q 已知条件3 Q 1,24 ┐Q 已知条件5 ┴推出矛盾6 ┐P 假设不成立上面的证明中,图灵机D的构造简直是神来之笔,图灵怎么想到的?虽然之前的证明没有直接给出不可判定的语言,但已经从数量上证明有图灵机不能判定的语言,由于判定器的要求更严格,所以可以推断所有判定器构成的集合小于所有语言构成的集合。
这是个与“实数集的势大于自然数集”类似的命题,所以应该能用类似的方法——对角线方法证明。
好,尝试一下。
康托构造映射表格时,表格的每一行由一个自然数表示这是第几行,每一列也由一个自然数标识列数,对角线法构造出来的实数实际上是一行,然而这一行却和每一行都不一样。
刚才的证明我们看到,图灵机集合是可数集,可将其对应自然数,标识表格的每一行,那么每一列用什么标识呢?怎样让列数与行数相等呢?行和列的交叉处是什么呢?自然数/实数的例子中,每一行由一个自然数对应一个实数,在这个问题中,行由图灵机标识了,那么不难想到,每一行应该是一个语言。
语言又该如何表示?下面依次回答这些问题。
列应该用什么来标识?在对角线方法中,表格的行列数一致,行和列都用自然数集标识。
那么首先可以想到既然行用图灵机标识,那么列也可以用图灵机标识。
但是这样的话行列交汇处就没什么意义了,试问随意挑选的两台图灵机之间能擦出什么火花?脑子再转一下,图灵机与图灵机之间没有什么一般化的关系,图灵机识别的是语言,是字符串,那么将标识列的图灵机换成描述图灵机的串,既保持了行列数一致性,又让行列交汇处有了非平凡的意义!即,用M1, M2, M3...标识第1行、第2行、第3行……再用描述图灵机的字符串<M1>, <M2>, <M3>...标识第1列、第2列、第3列……行列交汇处就填入accept 或reject,表示一台图灵机是否接受描述某一台图灵机的串!这样,每一行刚好也就是一个语言,每一个部分的意义都正好是我们想要的。
<M1><M2><M3><M4>……M1acceptrejectrejectrejectM2rejectrejectacceptrejectM3acceptacceptrejectacceptM4rejectacceptrejectaccept…………为构造对角线准备的表格走到这一步,离结果就很近了。