我听说过的格言相互作用比算法更强大的彼得·韦格纳。该思想的基础是(经典的)图灵机无法处理与外界/环境的交互(即通信(输入/输出))。
怎么会这样呢?有什么东西比图灵机更强大?这个故事的本质是什么?为什么它不那么知名?
我听说过的格言相互作用比算法更强大的彼得·韦格纳。该思想的基础是(经典的)图灵机无法处理与外界/环境的交互(即通信(输入/输出))。
怎么会这样呢?有什么东西比图灵机更强大?这个故事的本质是什么?为什么它不那么知名?
Answers:
使用oracle磁带,图灵机可以很好地处理交互。它的工作原理如下:从处理交互的计算机的角度来看,操作员的输入只是它不时发送到计算机中的另一比特序列。我们都知道,懒惰的sysadmin可以编写一个脚本,以便在请求时将输入发送到程序,以便sysadmin可以更早地中断。交互机器无法知道控制台上是否确实有实时操作员,或者是否正在从另一个程序通过管道传递输入。
从理论上讲,预先准备好所有交互输入与将所有输入存储在由Oracle Turing机器使用的单独磁带上相同。只要计算机通常要求操作员进行交互,机器就会从输入磁带中读取内容。如果从磁带中读取的内容在某种程度上似乎无效,那么图灵机将完全执行交互机在接收到该输入后会执行的操作。
我猜想Wagner知道使用oracle磁带进行代码输入的能力,因此您必须对他的意见不屑一顾,或者必须询问他的实际含义。我相信考虑互动的人通常会担心两件事:
“真实”计算机确实具有交互作用,但Turing定义的算法没有交互作用。我们可以通过在oracle磁带上编码输入来解决此问题,但这仍然与实际计算机的运行方式不匹配。研究与真实计算机更紧密地匹配的计算模型可能会很好。
在日常计算中,通常不考虑基于Oracle的算法,因为普通计算机没有提供数据的魔术“ oracle”。但是我们实际上可以只使用一个人作为预言家。如果此人了解所请求的数据,他们甚至可以帮助算法,从而提高其性能。换句话说,人类可能能够提供有用的oracle磁带,而不是简单的随机磁带,并且从原理上讲,与非基于oracle的磁带相比,这可能会导致更快或更强大的计算方法。毕竟,在随机计算中也会发生类似的情况,其中会向机器提供一系列随机位作为额外的输入。
车床模型计算,并且没有交互的概念。从这种意义上讲,支持与外部系统交互的机器可以完成车床无法完成的工作。但做了计算之间从外部源输入的比特可以明显总是由图灵机模型,因此,即使是“IO机”不能做任何事情与外部输入一个图灵机不能这样做。
从某种意义上说,这样的机器可能能够“确定” Turing Machines无法确定的问题,但前提是您认为与之交互的系统具有超级Turing-Machine能力并且是可靠的(以某种方式;概率可靠性)就足够了)。
想象一个用于IO Machine的程序,例如:“对于任何初始磁带输入,打印磁带内容,然后从外部输入读取符号;接受该符号是否为1,否则拒绝”。该程序可以决定任何问题。但是,只有外部系统可以与之交互才能确定问题所在。对我而言,这不是一个很有趣的说法,即IO Machine能够确定Turing Machines无法确定的问题。
我认为,总是有可能通过想象一台机器来表示一个交互式计算,该机器将一些先验配置的编码与外部输入一起作为其磁带上的输入,并使机器停止,而磁带中包含某个配置的编码一起与输出。然后,“运行程序”的过程将以机械方式反复运行该图灵机,但是唯一的“非机械”部分是外部输入。我相信您可以证明,如果这样的系统通过将其输出提供给另一台图灵机来获得输入,设置为以类似方式运行,则组合系统具有与单个Turing Machine相同的计算能力。我发现一个令人信服的论点是,交互式计算不会比非交互式计算更强大,除非与之交互的系统比图灵机更强大。
但是,在非理论意义上,交互性可以增加计算机解决问题的能力。人类做的很多事情都是非常准确的,我们不知道如何使计算机做得很好。但是,我们可以让计算机来做很多事情,人类对此很不满意。将这两者结合可以导致诸如reCaptcha之类的项目,该项目通过解决在困难情况下识别人类单词的问题来有效地自动将书籍数字化。最终的计算机+人力资源系统所获得的结果目前无法单独通过计算或仅通过人工来实现。
最近ACM举行了泛在研讨会' 什么是计算?在其中,彼得·韦格纳(Peter Wegner)发表了一篇文章,反映了他对交互式计算的看法。
这是彼得·韦格纳(Peter Wegner)的文章的两个摘录:
图灵机早期缺少的一个新概念是“交互式计算”,它可以在计算过程中与环境进行交互。
交互机器可以执行比Turing机器更强大的计算形式,并且可以执行Turing提出的思维方式,因为交互比Turing机器可以提高其性能。
但是,在同一个专题讨论会上有一篇文章的Fortnow似乎不同意Wegner的观点,并认为交互式计算不会为Turing Machines提供任何额外的功能。
为了增加混合效果,我们似乎仍在辩论和定义计算。Moshe Vardi有一篇文章,什么是算法?,ACM通讯,第1卷。55,第3号,2012年3月。
Vardi报告了两种新的算法定义。第一个由Gurevich提出,第二个由Moschovakis提出。
古列维奇认为,每种算法都可以根据抽象状态机进行定义。
相反,Moschovakis认为,算法是根据递归定义的,即递归描述,该递归描述建立在作为原语的任意操作之上。
我不认为带有IO的模型比图灵机更“强大”,它们只是为不同的事物建模。
从理论上讲,您可以将IO视为(嘈杂的)oracle。有了完善的预言机,您就可以实现图灵不可计算的功能;但是从哪里得到神谕?人类是唯一的“超级图灵”选择(如果有的话),并且众所周知我们是非常不可靠的。
符合该模型的一类程序是交互式证明助手(例如Isabelle / HOL,Coq)。它们处理不确定的证明空间,但是(可以说)可以通过适当的用户输入找到(检查)每个证明。
检查一下:)“ 图灵的计算思想和模型 ” https://www.cs.montana.edu/~elser/turing%20papers/Turing%27s%20Ideas%20and%20Models%20of%20Computation.pdf