神谕图灵机(Oracle Turing Machine)

神谕图灵机的提出是为了引出图灵归约和 NP-hard ,可以在货郎问题一节理解图灵归约和神谕图灵机。

OTM 和 DTM 很相似,但比 DTM 多了一个神谕状态,和神谕纸带。

这多出来的神谕状态可以被看做是一个黑盒子函数,用于帮助我们求解某些难以求解的问题。

比如,已知货郎判定问题是 NP-hard,那么货郎优化问题的难度应该如何表示?

假设存在一个在多项式时间内解货郎优化问题的算法 A,随后用该算法求出最短路径 L,如果 L大于判定问题,就输出 NO,否则输出 YES。通过这种方法,我们用货郎优化问题解决了货郎判定问题

在上面的例子中,算法 A 就是神谕,以假设货郎优化问题的算法为多项时间为基础,设计算法并证明货郎判定问题是多项式时间的过程,被称为图灵归约。上述的过程读作将货郎判定问题图灵归约到货郎优化问题

此时,根据图灵归约的定义,货郎判定问题是 NP-hard,因此货郎优化问题也是 NP-hard。

可以看出,如果货郎优化问题可以在多项式时间内解答,那么货郎判定问题一定可以在多项式时间内解答;但是如果货郎判定问题可以在多项式时间内解答,根据上述算法,货郎优化问题不一定可以在多项式时间内解答。(可以根据上述图灵归约认定货郎优化问题比货郎判定问题难)

不过实际上,也可以将货郎优化问题图灵归约到货郎判定问题。这种情况下就可以认为货郎优化问题是 NP等价的。