Xodarapが指摘したように、「ランダムオラクル」を含むアルゴリズムで常に正しい答えを出力する必要がある場合、ランダムオラクルは役に立たない。エラーの小さな確率を許可すると、問題はより興味深いものになります(確率は、オラクルによって選択されたランダムなインスタンスに関するものです)。
また、Vorが質問のコメントで指摘したように、確率分布を指定せずに「ランダムなインスタンス」と言っても意味がありません。ここで行うべき妥当な仮定の1つは、このランダムなインスタンスが長さp(n)のすべての文字列のセットからランダムに一様に選択されることです。ここで、nは入力の長さで、pは固定多項式です。確率分布に関して、他のより弱い仮定を行うことができます。
ここでは、かなり一般的な仮定を行い、NP完全問題の「ランダムオラクル」を使用したランダム化多項式時間アルゴリズムの存在が、この弱い仮定の下でも驚くべき結果をもたらすことを示します。
「ランダムなオラクル」が(ランダムに選択されたインスタンスで)NPの問題を解決するという要件を削除しましょう。これで「ランダムオラクル」は、多項式長の文字列に対する任意の所定の確率分布になり、要求されるたびに、この確率分布に従って文字列を出力します。唯一の要件は、この確率分布が入力の長さにのみ依存することです。実際のモデルは、このモデルの特別なケースであることに注意してください。モデルでは、確率分布は次の形式である必要があります。まず、入力の長さに応じてセットから一様にランダムなインスタンスyを選択し、次にペア(y、g(y))を返します。ここでg:{0、1} *→{0、1}は、NPにおける決定問題の特徴的な関数です。分布が入力の長さのみによって決定される限り、確率分布を許可します。
この一般的な形式の「オラクル」は、ランダム化されたアドバイスと呼ばれます。ランダム化されたアドバイスを使用したランダム化された多項式時間アルゴリズムによって決定できる決定問題のクラスは、(制限付きの両側エラーを含む)BPP / rpolyと呼ばれ、このクラスはP / polyに等しいことが知られています。(包含BPP /rpoly⊆P/ polyは、よく知られている包含BPP⊆P/ polyと同じ方法で証明できます。後者の証明については、たとえばGoldreichの定理6.3 [Gol08]を参照してください。)
これは、NP完全問題がモデルで解決できる場合、NP⊆P/ polyであることを意味します。ただし、NP⊆P/ polyは、多項式階層が第2レベルに崩壊することを意味することが知られています[KW98、Cai07]。ほとんどの複雑性理論家は、多項式階層の崩壊を大きな驚きと見なしています。多項式階層が崩壊しないと私たちが信じる場合、NP完全問題はあなたの意味での「ランダムオラクル」では効率的に解決できません。
参考文献
[Cai07]ジンイカイ。S 2 P ⊆ZPP NP。 Journal of Computer and System Sciences、73(1):25–35、2007年2月。DOI:10.1016 / j.jcss.2003.07.015。
[Gol08] Oded Goldreich。 計算の複雑さ:概念的な視点。Cambridge University Press、2008年。
[KW98]ヨハネス・ケブラーと渡辺治。小さな回路を持つNPの新しい崩壊の結果。 SIAM Journal on Computing、28(1):311–324、1998。DOI:10.1137 / S0097539795296206。