甲骨文是输入的一部分时的复杂性理论


14

在复杂性理论中,oracle 出现的最常见方式如下:将固定的 oracle提供给具有某些有限资源的Turing机器,例如,研究oracle如何增加机器的计算能力。

但是,有时也会发生预言的另一种方式:作为输入的一部分。例如,假设我想研究用于计算给定高维多峰的体积的算法。传统上,需要通过提供多面的列表或其他显式表示来指定多面体。但是,我们也可能会出现一个问题,即计算由体积预言指定的多面体的体积,当且仅当给定点位于多面体内部时,才将空间中某个点的坐标作为输入并输出“是”。然后,我们可以询问需要哪种计算资源来计算以这种方式指定的多面体的体积。在这种特殊情况下,我们拥有很好的Dyer,Frieze和Kannan多项式时间逼近方案,并且有趣的是,从复杂性理论的角度来看,证明了随机性对于解决此问题至关重要,因为确定性算法无法表现与Dyer-Frieze-Kannan算法一样好。

有没有系统的方法来研究问题的复杂性理论,其中将oracle作为输入的一部分提供?它会以某种方式简化为使用Oracle的复杂性类的常见理论吗?我的猜测是否定的,并且因为有太多不同的方式可以将oracle作为输入的一部分提供,所以此类问题必须以临时方式处理。但是,我很高兴在这一点上被证明是错误的。


2
我记得在Scott Aaronson的博客上发表过一篇帖子,其中在#21-#23评论中讨论了这一点:scottaaronson.com/blog/?p=451
马丁·史瓦兹

Answers:


18

这就是第二类复杂性理论。Cook,Impagliazzo和Yamakami 的论文将其与通用Oracle的理论很好地联系在一起。


9

这肯定不是一个完整的答案,但希望它指出了一些值得研究的地方。

一部分输入作为oracle给出的问题有时也称为隐式输入问题。这是一种方便的模型,例如在研究概率可检验的证明时

关于隐式输入问题的重要研究领域是查询复杂度理论,该复杂度仅通过对输入oracle的查询数量来衡量,而忽略了查询之间的计算量。许多复杂度类在查询复杂度上具有对应关系,并且查询复杂度之间的复杂度类之间的分隔通常意味着在计算复杂度上相应类之间的预言性分隔。

我不知道研究隐式输入(而不是单个问题)的复杂性问题时会考虑计算成本,但也许有人知道。


1
既然您已经提到过,您是否知道在什么情况下查询复杂度不会在对应类之间造成预言间隔?
Marcos Villagra '10

@MarcosVillagra:没有特别说明,但是我怀疑在计算复杂度上是否总是与类的查询复杂度相对应。
伊藤刚(Tsuyoshi Ito)

5

在可计算性理论和可计算性分析中研究了作为输入提供预言的模型。TTE模型(第二类有效性)似乎是您想要的模型之一。克劳斯·韦赫劳赫(Klaus Weihrauch)的书“ 可计算分析 ”(Computable Analysis)是一个很好的参考。他还在第7章中简要讨论了复杂性。

Ker-I Ko的书《实函数的计算复杂性》讨论了另一种访问Oracle的模型,该模型似乎更适合复杂性。有关更高类型对象的表示形式和访问oracle的方法的问题是很棘手的问题。例如,请参见STOC 2010 及其博士学位论文中的 Stephen A. Cook和Akitoshi Kawamura最近发表的论文“ 分析人员的复杂性理论 ” 。主要问题之一是,要使模型合理,就需要给机器足够的时间来处理来自oracle的答案(否则,甚至不能计算应用程序运算符)。对于多项式时间和多项式空间,可以使用基于Stephen A. Cook和Bruce M. Kapron'的高阶多项式来完成类型2可行性的新表征 “ FOCS 1991和有限类型的基本可行功能的表征 ” STOC 1989。

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.