交互比算法更强大吗?


17

我听说过的格言相互作用比算法更强大彼得·韦格纳。该思想的基础是(经典的)图灵机无法处理与外界/环境的交互(即通信(输入/输出))。

怎么会这样呢?有什么东西比图灵机更强大?这个故事的本质是什么?为什么它不那么知名?


1
您的问题中是否包含参考?我知道图灵机的正式定义,但我不完全知道您所说的“交互” 什么意思。
Janoma 2012年

同样,似乎“无法处理与环境的交互”类似于“无法处理真正的随机性”,这也许是正确的,但是使用传感器和伪随机性可以很好地近似两者。但这是一个不知情的评论,不知道交互的定义。
Janoma 2012年

2
图灵机没有传感器。
戴夫·克拉克

1
我知道这一点。但是,计算机确实使用传感器,这是将输入传递到图灵机的一种特殊方式。因此,TM 确实以某种方式与外部信号/环境交互。
Janoma 2012年

2
问题不是关于计算机。与TM的唯一交互是环境在开始时为其提供一个输入,而在结束时最多接收一个输出。这几乎不是一般的互动。
戴夫·克拉克2012年

Answers:


11

使用oracle磁带,图灵机可以很好地处理交互。它的工作原理如下:从处理交互的计算机的角度来看,操作员的输入只是它不时发送到计算机中的另一比特序列。我们都知道,懒惰的sysadmin可以编写一个脚本,以便在请求时将输入发送到程序,以便sysadmin可以更早地中断。交互机器无法知道控制台上是否确实有实时操作员,或者是否正在从另一个程序通过管道传递输入。

从理论上讲,预先准备好所有交互输入与将所有输入存储在由Oracle Turing机器使用的单独磁带上相同。只要计算机通常要求操作员进行交互,机器就会从输入磁带中读取内容。如果从磁带中读取的内容在某种程度上似乎无效,那么图灵机将完全执行交互机在接收到该输入后会执行的操作。

我猜想Wagner知道使用oracle磁带进行代码输入的能力,因此您必须对他的意见不屑一顾,或者必须询问他的实际含义。我相信考虑互动的人通常会担心两件事:

  • “真实”计算机确实具有交互作用,但Turing定义的算法没有交互作用。我们可以通过在oracle磁带上编码输入来解决此问题,但这仍然与实际计算机的运行方式不匹配。研究与真实计算机更紧密地匹配的计算模型可能会很好。

  • 在日常计算中,通常不考虑基于Oracle的算法,因为普通计算机没有提供数据的魔术“ oracle”。但是我们实际上可以只使用一个人作为预言家。如果此人了解所请求的数据,他们甚至可以帮助算法,从而提高其性能。换句话说,人类可能能够提供有用的oracle磁带,而不是简单的随机磁带,并且从原理上讲,与非基于oracle的磁带相比,这可能会导致更快或更强大的计算方法。毕竟,在随机计算中也会发生类似的情况,其中会向机器提供一系列随机位作为额外的输入。


Oracle磁带无法正确建模交互。考虑尝试证明计算机系统不会泄漏私人信息。这不能用带有固定Oracle磁带的TM形式化,因为该属性取决于表征环境可以执行的计算的特性-正是我们从Oracle磁带中抽象出来的内容。
Neel Krishnaswami

这取决于您“正确建模”的含义。一些论文(例如,来自超级计算社区的论文)似乎表明,交互以某种方式扩大了可计算功能的集合。它与oracle计算完全相同。当然,您不能使用TM研究实际计算环境的属性。如果您想知道计算机中的处理器是否有故障,则完全忽略它并只看图灵机是无济于事的。但是对于仅与正在计算的函数有关的问题,交互和预言是等效的。
卡尔·默默特

不,不是这样:oracle磁带无法建模的可行交互存在连续性限制。如果环境不能在程序里面看到的,然后输入其提供在时间可能只依赖于在更早的时候输出ñ。(也就是说,将输入视为输出的函数,相对于Cantor度量,输入函数必须是不可扩展的。)就像可计算性对传统数学家来说“感觉”拓扑一样,交互性“感觉”拓扑对构造函数一样数学家。ññ
Neel Krishnaswami 2012年

有关此类推的真正彻底的研究,请参见Pierre Hyvernat的Peter Hancock:编程接口和基本拓扑。citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.107.919
Neel Krishnaswami

1
操作员在时间输入的输入可以是任何可能的输入,因此所有可能的输入运行的集合包含输入元素的所有无限序列。那里没有连续性,因为操作员可以输入任何东西。可行性(我指的是计算复杂性)与我要回答的问题无关- 如果功能在oracle磁带上给出,则任何功能都可以由oracle机器计算,并且类似地,任何功能都可以通过交互来计算如果操作员准备按需输入该功能的任意值,则为机器。ñ
卡尔·默默特

8

车床模型计算,并且没有交互的概念。从这种意义上讲,支持与外部系统交互的机器可以完成车床无法完成的工作。但做了计算之间从外部源输入的比特可以明显总是由图灵机模型,因此,即使是“IO机”不能做任何事情外部输入一个图灵机不能这样做。

从某种意义上说,这样的机器可能能够“确定” Turing Machines无法确定的问题,但前提是您认为与之交互的系统具有超级Turing-Machine能力并且是可靠的(以某种方式;概率可靠性)就足够了)。

想象一个用于IO Machine的程序,例如:“对于任何初始磁带输入,打印磁带内容,然后从外部输入读取符号;接受该符号是否为1,否则拒绝”。该程序可以决定任何问题。但是,只有外部系统可以与之交互才能确定问题所在。对我而言,这不是一个很有趣的说法,即IO Machine能够确定Turing Machines无法确定的问题。

我认为,总是有可能通过想象一台机器来表示一个交互式计算,该机器将一些先验配置的编码与外部输入一起作为其磁带上的输入,并使机器停止,而磁带中包含某个配置的编码一起与输出。然后,“运行程序”的过程将以机械方式反复运行该图灵机,但是唯一的“非机械”部分是外部输入。我相信您可以证明,如果这样的系统通过将其输出提供给另一台图灵机来获得输入,设置为以类似方式运行,则组合系统具有与单个Turing Machine相同的计算能力。我发现一个令人信服的论点是,交互式计算不会比非交互式计算更强大,除非与之交互的系统比图灵机更强大


但是,在非理论意义上,交互性可以增加计算机解决问题的能力。人类做的很多事情都是非常准确的,我们不知道如何使计算机做得很好。但是,我们可以让计算机来做很多事情,人类对此很不满意。将这两者结合可以导致诸如reCaptcha之类的项目,该项目通过解决在困难情况下识别人类单词的问题来有效地自动将书籍数字化。最终的计算机+人力资源系统所获得的结果目前无法单独通过计算或仅通过人工来实现。


8

最近ACM举行了泛在研讨会' 什么是计算?在其中,彼得·韦格纳(Peter Wegner)发表了一篇文章,反映了他对交互式计算的看法。

这是彼得·韦格纳(Peter Wegner)的文章的两个摘录:

图灵机早期缺少的一个新概念是“交互式计算”,它可以在计算过程中与环境进行交互。

交互机器可以执行比Turing机器更强大的计算形式,并且可以执行Turing提出的思维方式,因为交互比Turing机器可以提高其性能。

但是,在同一个专题讨论会上有一篇文章的Fortnow似乎不同意Wegner的观点,并认为交互式计算不会为Turing Machines提供任何额外的功能。

为了增加混合效果,我们似乎仍在辩论和定义计算。Moshe Vardi有一篇文章,什么是算法?,ACM通讯,第1卷。55,第3号,2012年3月。

Vardi报告了两种新的算法定义。第一个由Gurevich提出,第二个由Moschovakis提出。

古列维奇认为,每种算法都可以根据抽象状态机进行定义。

相反,Moschovakis认为,算法是根据递归定义的,即递归描述,该递归描述建立在作为原语的任意操作之上。


6

我不认为带有IO的模型比图灵机更“强大”,它们只是为不同的事物建模。

从理论上讲,您可以将IO视为(嘈杂的)oracle。有了完善的预言机,您就可以实现图灵不可计算的功能;但是从哪里得到神谕?人类是唯一的“超级图灵”选择(如果有的话),并且众所周知我们是非常不可靠的。

符合该模型的一类程序是交互式证明助手(例如Isabelle / HOLCoq)。它们处理不确定的证明空间,但是(可以说)可以通过适当的用户输入找到(检查)每个证明。


因此,具有Oracle的图灵机比没有Oracle的图灵机和具有Oracle的Turing机可以对交互进行建模更为强大。因此,答案似乎是肯定的。
戴夫·克拉克2012年

1
@DaveClarke如果您考虑使用完美的甲骨文,是的。
拉斐尔

2
我认为原则上,无辅助的(通过任何形式的oracle或输入)机器(或程序)可以找到所有证明。有两个问题:(1,理论上的):它将永远无法确定一个陈述没有证据;(2,实践上的):盲目地生成证明以希望绊倒给定的陈述是非常低效的,以至于没人想要尝试,因此证明助手更喜欢引导搜索,如果确实存在证明,则放弃“确定的”成功。
Marc van Leeuwen 2012年

2
正如本(Ben)在回答中指出的那样,正确的看待方法不是“用预言机使机器强大”。机器本身只是在做可计算的事情。正确的说法是“某些预言不可计算,因此从这些预言中我们可以计算出没有预言就无法计算的事物”。计算能力来自预言,而不是来自计算机。
卡尔·默默特

似乎带有Oracle的图灵机是最强大的功能。为什么还要烦恼新定义?
saadtaame

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.