oracle图灵机的使用如何不会导致矛盾?


9

当使用oracle Turing Machines时,如何确保我们继续就复杂性类做出合理而有效的声明?根据我的理解(基于该主题的入门教科书中给出的定义),oracle Turing机器可以在一个计算步骤中确定相对于oracle语言的字符串的成员身份。但是,证明经常使用的oracle语言无法在恒定时间内解决(例如,使用EXPTIME完整的oracle)。对我来说,这似乎是为矛盾“打开大门”,毕竟,矛盾产生了任何后果。


2
如果预言家“真的”花费了时间那么这仅仅是整个机器运行时间的一个因素。假设成本不变(即计算需要使用Oracle的频率),则比较使用Oracle的算法会更容易。(所获得的结果是否与现实相关的问题是您在TCS中始终面临和/或忽略的问题。)T
拉斐尔

@Raphael在括号内的注释中,“您”是指一般的复杂性理论家,尤其是我?
阿里

前者。好吧,两者都在某种程度上。
拉斐尔

高级主题。尝试从同意他们有时被“滥用”的Fortnow开始并调查该地区。查看这些结果的自洽方式有点像“条件”断言。同样,许多结果有条件在数学基础上的黎曼假设等证明的方式
VZN

Answers:


8

有很多方法可以解决这个问题。

一个是在证明中,蕴涵有点像一个函数,将某物的证明作为输入,而输出某物的证明。

我们可以编写对我们没有的值进行运算的函数。

例如,让我们考虑无法计算的停止数。我可以写函数h

haltingPlusOne:{h}N

haltingPlusOne(x)=x+1

该函数将停止编号作为输入,并返回停止编号加1。显然,这是一个定义明确的函数:如果我们给它正确的输入,那么它就给正确的输出。我们找不到正确的输入的事实并不会使它的转换有效性降低。

我认为甲骨文的证据也差不多。它们基本上是函数,说给我一个解决问题的图灵机,然后我将给出一些定理的证明作为输出。X

同样重要的是要意识到,当我们说诸如“没有图灵机可以决定暂停问题”之类的话时,也就是说,没有TM与决定暂停问题的TM的标准定义相匹配。

甲骨文基本上是在说“假设我们有一个与普通定义匹配的TM,除了假设我们可以解决某些问题之外”。因此,没有矛盾,因为我们不假设有一个正常的TM接受问题,所以我们假设有一个特殊的TM接受问题。

在一个非常非正式的类比中,这样想。如果我能向您证明没有超能力的任何人都不会飞,那么就没有矛盾说有一个超级英雄可以飞。

这些预言纯属逻辑对象。我们不知道如何像图灵机那样构建模拟它们的物理机器,但是据我们所知,它们的定义与基本公理之间并没有内在矛盾。这些预言作为逻辑对象确实存在。我们知道它们不是标准的Turing Machines或Lambda-Calculus术语,也不是部分递归函数。Church-Turing论文说,没有更强大的模型,但这不是一个定理,只是一个推测,而且过于非正式,无法得到真正的证明。


我同意/理解您的回答,但仅在一定程度上:例如,我看到您的haltingPlusOne函数定义明确,但看不到如何从oracle中得出任何有意义的结论,因为我们可以得出任何结论“如果”虚假陈述的陈述,并得出任何结论,即“如果所有自然数ň 1则只有一个自然数。” n+1=nn1
2014年

1
问题是,这些语句不是错误的,我们无法构造它们。关键是甲骨文不是图灵机,这并不意味着它们不存在。
jmite 2014年

“找到正确的输入” “找到正确的输出”

2

好吧,我要说的是,Oracle TM的基本功能是他们可以访问难以解决的oracle。如果你能决定的Oracle 在固定的时间,然后为每类,你将有= 。那么,为什么在这种情况下完全拥有神谕?ABB=BA

那么,使用oracle TM有什么意义呢?我要说的是,这主要使我们可以对问题的硬度(程度)进行理论上的考虑。甲骨文甚至无法确定。在这种情况下,您可以定义不确定问题的整体层次(转向度)。当然,如果您的oracle是暂停问题,则无法将oracle TM转换为传统TM。

oracle TM概念对于定义强大的缩减形式(Turning缩减)也很重要。

PNP

w|w|

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.