在复杂性理论中,oracle 出现的最常见方式如下:将固定的 oracle提供给具有某些有限资源的Turing机器,例如,研究oracle如何增加机器的计算能力。
但是,有时也会发生预言的另一种方式:作为输入的一部分。例如,假设我想研究用于计算给定高维多峰的体积的算法。传统上,需要通过提供多面的列表或其他显式表示来指定多面体。但是,我们也可能会出现一个问题,即计算由体积预言指定的多面体的体积,当且仅当给定点位于多面体内部时,才将空间中某个点的坐标作为输入并输出“是”。然后,我们可以询问需要哪种计算资源来计算以这种方式指定的多面体的体积。在这种特殊情况下,我们拥有很好的Dyer,Frieze和Kannan多项式时间逼近方案,并且有趣的是,从复杂性理论的角度来看,证明了随机性对于解决此问题至关重要,因为确定性算法无法表现与Dyer-Frieze-Kannan算法一样好。
有没有系统的方法来研究问题的复杂性理论,其中将oracle作为输入的一部分提供?它会以某种方式简化为使用Oracle的复杂性类的常见理论吗?我的猜测是否定的,并且因为有太多不同的方式可以将oracle作为输入的一部分提供,所以此类问题必须以临时方式处理。但是,我很高兴在这一点上被证明是错误的。