谕示图灵机的直观理解
一个谕示图灵机可以被认为是一个能够访问谕示的图灵机。所谓谕示,可以被认为是一类能够解决一些问题的实体,这些问题可以是判定性问题(Decision Problem)或方程问题(Function Problem)。这些问题不一定是可计算的;谕示并不一定是一个图灵机或者计算机程序。可以简单地把谕示看作是一个黑盒,这个黑盒可以为给定的可计算问题提供一个解。
一个判定性问题表示为由自然数(或字符串)组成的集合A,该问题的一个实例是一个任意的自然数(或字符串),该实例的一个解是“真”如果该数字(或字符串)在集合A中,反正解为“假”。
一个方程问题表示为从自然数(或字符串)到自然数(或字符串)的映射方程F,该问题的一个实例是F的一个输入x,解为值F(X)。
一个谕示图灵机可以执行图灵机的所有一般操作,并且除此之外还可以向谕示进行询问并获得任何那个谕示可计算问题实例的解。例如,如果一个问题是对于由自然数组成的集合A的可判定性问题,那么谕示图灵机向谕示提供一个自然数,该谕示会返回“真”或“假”。
定义
A oracle machine is a Turning Machine with an additional tape called the oracle tape, and two special states, called oracle invocation and oracle appeared. The computation of the deterministic oracle machine M on input x and with aceess to the oracle f: {0,1}* →{0,1}* is defined by the successive-configuration relation(可以认为是图灵机的状态转移方程). For configurations with states different from oracle invocation, the next configuration is defined as usual. Ley y be a configuration in which the state is oracle invocation and the content of oracle tape is p. Then the configuration following y is identical to y, except that the state is oracle appeared, and the content of the oracle tape is f(q). The string q is called M's query and f(q) is called the oracle reply. The computation of a probabilbilistic oracle machine is defined analogously.
拓展
如果你想了解随机谕示(Random Oracle),请看这个链接:https://crypto.stackexchange.com/questions/879/what-is-the-random-oracle-model-and-why-is-it-controversial
如果你想了解谕示敌手(Oracle Adversary),请看这个链接:https://crypto.stackexchange.com/questions/5532/what-is-an-oracle-adversary