图灵机(二)
谓词的特征函数是在给定适当的参数时具有真实值或假的函数。 为了使这些功能可计算,所依赖于Gödel的洞察力,这些问题可以被编码为数字的问题(参见Gödel的不完整定理和下一秒钟)在图灵的措辞中:
表达“有一个常规的确定......”已经使用[这里]相当于“有一台可以确定...”的机器。 如果我们可以证明我们对“可计算”的定义合理,则可以合理使用此使用。 对于这些“一般过程”中的每一个,问题可以表达为关于确定给定整数N是否具有属性G(n)的一般过程的问题。 g(n)可能意味着“n是令人满意的”或“n是可提供公式的Gödel表示”],这相当于计算第n个数字为1的数字,如果g(n)为true,如果它为false则为1。 (1936-7:248)
它是将“一般过程”问题编写为数值问题,这对于图灵建造通用图灵机的建造是必不可少的,并且其在证明中显示出存在不能由图灵机计算的问题。
2.3图灵的通用机器
构建的通用图灵机以证明某些问题的无疑性,粗略地说,这是一种能够计算任何其他图灵机计算的内容的图灵机。 假设图灵机概念完全捕获可计算性(而且所以图灵的论文有效),暗示可以通过该一个通用机器计算的任何可以“计算”的任何东西。 相反,通用机器不可计算的任何问题都被认为是无解扣的。
这是普通机器概念,viz的修辞和理论力量。 该一个相对简单的正式设备捕获所有“可以在计算数字中执行的可能过程”(图4 1936-7)。 它也是为什么要追溯被追溯被识别为计算机科学的创始父亲之一的主要原因之一(见第5节)。
那么如何建造一个通用机器U离开我们所提供的基本操作? 图灵的方法是建造机器U能够(1)'了解任何其他机器TN的程序,并基于该“了解”,(2)'模拟了TN的行为。 为此,需要一种方法,其允许互换地处理程序和TN的行为,因为这两个方面都在同一磁带上和由同一台机器上操纵。 这是通过两个基本步骤来实现的:(1)的开发(1)一个符号方法(2)一组基本函数,其对待符号 - 无论是否正式化程序或TN-AS文本,复制,擦除等,复制,擦除等。单词,图灵开发一种技术,允许在同一级别处理程序和行为。
2.3.1计划和行为的互换性:符号
考虑到一些机器TN,图灵的基本思想是构建机器T'N,而不是直接打印TN的输出,打印出TN的连续完整配置或瞬时描述。 为了实现这一目标,T'N:
可以使可以取决于在本身内写入的[Tn]的操作规则[...]每个步骤都可以通过提及这些规则来执行。 (1936-7:242)
换句话说,T'N通过将TN程序写入其磁带上的程序来打印出TN的连续完整配置。 因此,图灵需要一种符号方法,这使得可以在一个和同一磁带上“捕获图灵机的两个不同方面,以这样的方式,它们可以通过同一台机器,viz处理:
(1)在它应该做的事情方面的描述 - Quintule符号
(2)其描述在它做什么方面 - 完整的配置符号
因此,在构建U的Quintuple和完整的配置符号中,第一步和最重要的步骤以及将它们放在同一磁带上的概念。 更具体地,磁带分为两个区域,我们将在此调用A和B区域。 该区域包含TN的“程序”的符号,以及B区域的TN连续完整配置的符号。 在图灵的论文中,他们被额外的符号“::”分开。
为了简化U的构造,并且为了将任何图定机器编码为唯一数字,图灵开发了第三个符号,其允许仅用字母表达Quintuple和完整的配置。 这是由[注意我们使用图灵的原始编码来确定。 当然,各种各样的可能编码,包括二进制编码:
在TN Byda的Quintele中替换每个州Qi,因此,例如Q3成为DAAA。
更换TN Bydc ...c⏟j的Quintule中的每个符号Sj,因此,S1变为DC。
使用该方法,一些图灵机TN的每个Quintupe可以以一系列大写字母表示,因此任何机器TN的“程序”就可以由符号A,C,D,R,L,N和;。 这是图灵机的所谓标准描述(S.D.)。 因此,例如,S.D. 的tsimple是:
; daddrdaa; dadcdrdaa; daaddcrda; daadcdcrda
这基本上是图灵的Gödel编号版本。 实际上,如图所示,一个可以通过替换来容易地获得图灵机TN的数值描述表示或描述编号(D.n.):
“一个”到“1”
“C”由“2”
“D”由“3”
“L”由“4”
“r”由“5”
“n”到“6”
“;” 到“7”
因此,T.N. Tsimple是:
7313353117313135311731133153173113131531
请注意,每台机器TN都有一个唯一的D.N D.N.仅代表一个和一台机器。
显然,用于确定S.D的方法。 一些机器TN也可用于写出TN的连续完整配置。 使用“:”作为连续完整配置之间的分隔符,tsimple的前几个完整配置是:
:爸爸:ddaad:ddcdad:ddcddaad:ddcddcdad
2.3.2计划和行为的互换性:基本功能
具有一个符号的方法来写入程序的一个和同一磁带的一些机器TN的程序和连续的完整配置,以及在其他机器的同一磁带上是图灵的构建的第一步。但是,你还应该能够“模拟”TN的程序,如在区域A中写入实际上可以在B区域中写出其连续的完整配置。此外,应该“为他人拿出和交换一些图灵机的操作规则”(图436-7:242)。 viz。,它应该不能只是计算,而且还可以计算,也是教堂,哥特尔和邮政等人处理的问题,这些问题也使用自己的正式设备处理。 例如,它应该能够“识别”它是否在区域A或B中,并且它应该能够确定一定序列是否是需要执行的下一个状态Qi。
这是通过建造一系列图灵计算问题,例如:
找到一系列符号的最左派或最右边的发生
用一些符号标记一系列符号A(记住图灵使用两种交替正方形)
比较两个符号序列
复制符号序列
图灵开发了一种据此一种称为骨架表的符号技术,用于这些功能,这些功能用作完整的图灵机表的一种简写符号,但是可以轻松地用于构造来自先前的机器的更复杂的机器。 该技术非常让人想起组成的递归技术(参见:递归函数)。
为了说明这种功能如何进行计算,我们更详细地讨论了一个这样的功能,viz。 比较功能。 它是基于许多其他图灵计算功能构造的,该功能基于彼此的顶部构建。 为了了解这些功能如何工作,请记住,图灵使用了一个交替的F和E形方块的系统,其中F方块包含实际的Quintulple和完整配置,并且E形方格用作标记机器磁带的某些部件的方式。 对于两个序列S1和S2的比较,S1的每个符号将由一些符号A标记,并且S2的每个符号将被一些符号B标记。
定义定义的九种不同功能,以显示如何使用图灵机计算比较功能:
find(qi,qj,a):此机器功能搜索最左派的发生。 如果找到A,则机器移动到状态QI eys移动到状态QJ。 这是通过使机器首先移动到磁带的开头(由特殊标记表示)来实现的,然后将其移动到右侧,直到它找到或达到磁带上最右边的符号。
findl(qi,qj,a):与查找相同但在找到后,机器将一个方形移动到左侧。 这用于需要在F范围的符号上计算的函数,该符号由符号A中的符号A标记。
擦除(qi,qj,a):机器计算找到。 如果找到了一个,它会删除一个并进入状态qi它进入状态qj。
erase_all(qj,a)= erase(erase_all,qj,a):机器在反复上计算擦除,直到所有A都已删除。 然后它移动到QJ。
平等(qi,qj,a):机器检查当前符号是否为a。 如果是,它将移动到状态qi其他它移动到州qj。
cmp_xy(qi,qj,b)= findl(等于(qi,qj,x),qj,b):无论当前符号x如何,机器在b上计算findl(因此查找标有b的符号)。 如果有一个标有B的符号y,则机器计算等于x和y,否则,机器进入状态Qj。 换句话说,cmp_xy(qi,qj,b)比较当前符号是否与标记为b的最左边的符号相同。
COMPARE_MARKED(QI,QJ,QN,A,B):机器检查标记A和B的最左边的符号是否相同。 如果没有标记A或B的符号,则机器进入状态Qn; 如果有一个标记A和一个标记的B且它们相同,则机器进入状态Qi,否则机器进入状态QJ。 该函数被计算为FindL(CMP_XY(QI,QJ,B),查找(QJ,QN,B),a)。
compare_erase(qiqj,qn,a,b):与compare_mark相同,但是当标记a和b的符号相同时,标记a和b被删除。 这是通过计算擦拭第一在a然后b上的擦除来实现的。
COMPARE_ALL(QJ,QN,A,B)机器将分别与A和B的标记的序列A和B进行比较。 这是通过反复计算A和B的Compare_Erase来完成的。 如果A和B相等,则所有A和B都将被删除并且机器移动到状态QJ,否则,它将移动到州Qn。 它由Commpare_Erase(Compare_All(QJ,QN,A,B),QJ,QN,A,B)计算
因此通过递归调用compare_all。
以类似的方式,图灵定义了以下功能:
复制(qi,a):复制标有一个完整配置右侧的符号序列并删除标记。
COPYN(QI,A1,A2,...,AN):将标记为A1的序列复制到最后完整配置的右侧,擦除所有标记AI。
替换(qi,a,b):替换所有字母a by b。
mark_next_config(qi,a):用字母a标记机器头部右侧的第一个配置qisj。
find_right(qi,a):找到最右边的符号a。
使用基本功能副本,更换和比较,图灵构造了一个通用的图灵机。
下面是通用图灵机的概要,指示这些基本功能的确实如何实现通用计算。 假设在初始化后,您的磁带是S.D. 一些图灵机TN。 请记住,图灵使用交替F和E形方块的系统,因此,例如,S.D。 Tsimple将写在你的录像带上:
; _d_a_d_d_r_d_a_a _,_ d_a_d_c_d_r_d_a_a _,_ d_a_a_d_d_c_r_d_a _,_ d_a_a_d_c_d_c_r_d_a_
其中“_”表示未标记的E-Square。
init:在T_N最右边的Quintuple的右侧,U打印:: _:_ d_a_,其中_表示未标记的E-Square。
find_next_state:机器的第一个标记(1)与y配置QCC,ISCC,j的最右边(且上次)的j键在磁带的B部分中计算,(2)与x配置qq,msq,msq,n的最左边Quintuple未在磁带的一部分中标记(带字母Z)分号。 比较了这两种配置。 如果它们是相同的,则机器移动到MARK_OPERATIONS,如果不是,它将标记在QQ之前的分号,MSQ,n为z,然后进入find_next_state。 使用函数Compare_All可以轻松实现这意味着,无论比较结果如何,都将删除标记x和y。 例如,假设TN = Tsimple并且由U计算的Tsimple的最后完整配置是:
:_d_⏟s0d_c_⏟s1d_⏟s0d_a_a_⏟q2d_⏟s0
然后你将移动到区域A并确定相应的Quintuple是:
d_a_a_⏟q2d_⏟s0d_c_⏟s1r_⏟d_a_⏟q1
mark_operations:机器U标记它需要执行的操作,以计算TN的下一个完整配置。 打印和移动(L,R,N)操作标有U和y的下一个状态。 所有标记Z都被删除。 继续我们的例子,你将标记(2)如下:
d_a_a_d_ducurudyay
mark_compconfig:由u计算的tn的最后一个完整配置标记为四个区域:配置QCC,ISCC,J本身未标记; 刚刚在它之前的符号标记为x和左侧的剩余符号或用v标记。最后,右边的所有符号(如果有的话)被打印到最右边符号的右侧,以指示下一个完整的开头通过U.持续到我们的示例的TN配置,(1)将被标记为U:
dv⏟s0dvcv⏟s1dx⏟s0d_a_a_⏟q2d_⏟s0:_
然后你打印
打印。 确定是否在标记为Mark_Operations的指令中,有一个操作打印0或打印1.如果是这种情况,则为0:分别为1:被打印到最后完整配置的右侧。 这不是必要的功能,但是未坚持使用TN计算的(编码)完整配置,而是由TN计算的实际(二进制)实数进行打印。
print_complete_configuration。 U打印下一个完整配置并删除所有标记u,v,w,x,y。 然后它返回find_next_state。 U首先搜索最右边的字母U,检查需要哪些移动(R,L,N)并擦除R,L,N的标记U.根据值L,R或N将通过将Copy5应用于U,V,W,X,Y来编写下一个完整配置。 移动操作(L,R,N)被U,V,W,X,Y的特定组合占据了:
当〜l:copy5(find_next_state,v,y,x,u,w)时〜r:copy5(find_next_state,v,x,u,y,w)〜n:copy5(find_next_state,v,x,y,你,w)
在我们的例子之后,由于Tsimple需要向右移动,因此在U的磁带上写入的Tsimple最右边的全部配置是:
d_⏟s0d_c_⏟s1d_⏟s0d_c_⏟s1d_a_⏟q1
由于我们有这个完整配置,Tsimple被扫描的正方形是未包含在上一个完整的配置(viz的方形.Tsimple超出了最右前一点的Tsimple)您的完整配置是不完整的。 通过在下一轮中标记完整配置的功能中,通过邮寄(1947年第1947篇)纠正了这种小缺陷。
如清晰,图灵的通用机器确实要求通过该程序生产的程序和“数据”可互换地操纵,VIZ。 该程序及其制作彼此相邻,并以相同的方式处理,作为要复制,标记,擦除和比较的字母的序列。
特定的施工与其依赖于f和e-squares相当错综复杂,使用相当大的符号和用于描述上面讨论的不同功能的相当大的符号和相当术的符号。 自1936年以来,已经实施了多种修改和简化。 在第1.2节中已经讨论了F和E-Squares之间的差异的差异,并且由Shannon证明任何包括通用机器,包括通用机器,可以减少到二进制图定机器(Shannon 1956)。 自20世纪50年代以来,对可能是最小可能的通用设备(关于状态和符号的数量),并且已经发现了相当一些“小”通用图灵机。 这些结果通常通过依赖于其他等效的可计算性模型来实现,例如标签系统。 关于小型通用设备的研究调查(见Margenstern 2000; Woods&Agyy 2009)。
2.4停止问题和OntscheidungsProblus
如上所述,图灵论文的目的是表明,对于一阶逻辑的EntscheidungsProbraBrabraBlob是不可计算的。 通过教堂(1936A,1936B)使用不同种类的正式装置独立地实现了相同的结果,该正式装置逻辑上等于图灵机(参见秒4)。 结果非常针对希尔伯特希望通过他的综合和形式的计划实现的。 事实上,毗邻哥特的不完整结果,他们打破了希尔伯特的大部分梦想,使数学空缺的Ignorabimus制作,并明确表达了以下词汇:
为什么COTE找不到一个无法解决的问题的真实原因,在我看来,在断言中存在没有任何无法解决的问题。 我们的解决方案应该是:我们必须知道的,而不是愚蠢的Ignorabimus。 我们应该知道。 (1930:963)[作者翻译]
注意,该解的Hilbert参考这里涉及数学问题的可解性,而不仅仅是机械溶解。 然而,在甘蓝等人中所示。 2009(第94页),这一般的目的能够解决每一个数学问题,巩固了两个特定的希尔伯特定罪,即(1)数字理论的公理是完整的,并且数学中没有任何不可思想的问题。