借助预言机的相对计算
图灵归约是计算理论中语言之间的相对可计算性关系。A≤TB表示存在一台带预言机的图灵机M,使它在可以查询B成员资格时,对每个输入都停机并正确判定A。预言机收到字符串q后,直接回答q是否属于B;其内部求解过程不由归约算法负责。
预言机不是现实设备的构造说明,也不要求B本身可判定。研究者可以假设一个不可判定语言的预言机,以考察“若知道这些答案,还能计算什么”。因此图灵归约也不是普通图灵机模拟的泛称,而是明确指定可查询语言后的能力比较。
多次查询与补集例子
算法能够提出多次查询,把回答用于条件分支,并据此决定下一次查询的内容。一次具体运行若停机,只会使用有限次查询,但普通可计算性版本不预先规定统一的多项式次数上界。计算过程本身依然要给出有限、可执行的控制规则。
最简单的例子是语言B及其补语言。要判定补语言,只需向B预言机询问同一个输入,然后反转答案,因此补语言≤TB,反向也同样成立。这种后处理说明预言机算法并不要求把目标答案原样作为最终答案。
为什么不等同于多一归约
多一归约先用总可计算函数f生成一个目标实例,再原样采用它的成员资格答案。它可看作图灵归约的一种受限情形,所以A≤mB推出A≤TB。但图灵归约允许多次、自适应查询和答案取反,逆向推论一般不成立。
例如通用机器接受语言A_TM可识别却不可判定,其补语言不可识别。补语言当然能图灵归约到A_TM,方法就是查询后取反;但它不可能多一归约到A_TM,否则多一归约对可识别性的传递会使补语言也可识别,产生矛盾。这个差别并不只是查询次数多少。
可判定性与资源受限版本
若A≤TB且B确实可判定,可以用B的真实判定器替换每次预言机查询,从而得到A的判定器。因此已知A不可判定时,这项归约可用于证明B不可判定。不过,若B只有识别器,它在否定查询上可能永不返回,便不能保证替换后的算法正常继续。
在复杂度理论中,还可要求整个预言机算法在多项式时间内结束,得到多项式时间图灵归约;写出查询串的时间仍须计入预算。这与无限制归约是不同层次的问题。符号P^B表示有B预言机的确定性多项式时间类,不应把相对于一个强预言机的效率,误认作普通计算机已经具有的效率。