コメントですでに述べたように、それはいつものように定義に依存します。私がこれに答えるにはかなりの数の定義が必要なので、これは簡潔な答えを出すことができないもう一つの例になります。
定義:最適化問題がタプルであると(X,F,Z,⊙)
- X適切にエンコードされた(文字列)インスタンスまたは入力のセット。
- X ∈ X F (X )XF各インスタンスマッピングする関数である集合にの実行可能解の。x∈XF(x)x
- (X 、Y )のx ∈ X 、Y ∈ F (X )Z (X 、Y )YZ各ペアをマッピング目的関数である、と、実数に呼ばれる値の。(x,y)x∈Xy∈F(x)Z(x,y)y
- 最小最大⊙は最適化の方向で、またはいずれかです。minmax
定義:最適化問題インスタンスの最適解は、ある実行可能な解です。。最適解の値は示され、最適と呼ばれます。P O Y ∈ F (X )Z (X 、Y )= ⊙ { Z (X 、Y ')| Y ' ∈ F (X )} O P T (X )x∈XPOy∈F(x)Z(x,y)=⊙{Z(x,y′)∣y′∈F(x)}O p t (x )
定義:評価の問題は、表記最適化問題に対応し、以下の通りです:インスタンスを考えると、計算場合そうでない「何の最適解を」最適解と出力を持っていません。P Oのx ∈ X O P T (X )XPEPOX ∈ XO p t (x )バツ
これは、すべての詳細を含むソリューション全体ではなく、最適なソリューションの値を求めるだけであることに注意してください。
定義:決定問題は、示さ最適化問題に対応ペアが与えられると、次される、とかどうかを決定する、実行可能解有し、場合は、場合はます。P O(X 、K )のx ∈ X のk ∈ Qは、 xはY Z (X 、Y )≤ K ⊙ = 分Z (X 、Y )≥ K ⊙ = 最大PDPO(x 、k )X ∈ XK ∈ QバツyZ(x 、y)≤ K⊙ = 分Z(x 、y)≥ K⊙ = 最大
最初の観察結果は、です。証明は難しくなく、ここでは省略します。PO∈ N P O ⇒ PD∈ N P
今直感的とに対応するより難しくありませんそのもの。この感情を形式的に表現するために(それによって同等なものが意味するものを定義するために)削減を使用します。P D P O P OPEPDPOPO
すべての単語に対してように、多項式時間で計算可能な関数がある場合、言語は別の言語に対して多項式時間還元可能であることを。この種の還元性はKarpまたは多対1還元性として知られており、 がこの方法でに還元可能である場合、書くことでこれを表現します。これは、NP完全性の定義における中心的な概念です。L 2 F X のx ∈ L 1 ⇔ F (X )∈ L 2 L 1 L 2 L 1 ≤ m個のL 2L1L2fバツX ∈ L1⇔ F(X )∈ L2L1L2L1≤mL2
残念ながら、多対1の削減は言語間で行われ、最適化の問題のコンテキストでそれらをどのように使用するかは明確ではありません。したがって、異なる種類の還元性、チューリング還元性を考慮する必要があります。最初にこれが必要です:
定義:問題のオラクルは、一定の時間でインスタンスを解決できる(仮想の)サブルーチンです。PPP
定義:問題多項式時間であるチューリング還元性の問題に書かれ、のインスタンスならば、用のOracleへのアクセス権を持つアルゴリズムで多項式時間で解くことができる。P 2 P 1 ≤ T P 2 P 1 P 2P1P2P1≤TP2P1P2
非公式には、に、関係は、がほど難しくないことを表しています。を多項式時間で解くことができれば、も解けることも簡単にわかります。繰り返しが、は推移的な関係です。次の事実は明らかです。P 1 ≤ T P 2 P 1 P 2 P 2 P 1 ≤ T≤mP1≤TP2P1P2P2P1≤T
LET、次いで。P D ≤ T P E ≤ T P OPO∈ N P OPD≤TPE≤TPO
完全なソリューションが与えられているため、その値を計算し、境界満たすかどうかを判断するのは簡単です。k
定義: 2つの問題と両方の関係、成り立つ場合、記述します。同等性の概念。P 2 P 1 ≤ T P 2 P 2 ≤ P 1 P 1 ≡ T P 2P1P2P1≤TP2P2≤P1P1≡TP2
対応する最適化問題があり、が整数値である場合、ことを証明する準備ができました。が成り立つことを示さなければなり。我々は決定することができるバイナリとのためorcale usign検索。の定義により、多項式に対してが保証されるため、バイナリ検索のステップ数は多項式になります。P O ∈ N P O Z P E ≤ T P DPD≡TPEPO∈NPOZPE≤TPDP D N P O | Z (x 、y )| ≤ 2 Q (| X |) Q | x | ◻⊙{Z(x,y)∣y∈F(x)}PDNPO|Z(x,y)|≤2q(|x|)q|x|□
最適化の問題についてとの関係それほど明確ではありません。多くの具体的なケースでは、直接示すことができます。ここで与えられたフレームワーク内でこれが一般的に成り立つことを証明するために、追加の仮定が必要です。P E P D ≡ T P E ≡ T P OPOPEPD≡TPE≡TPO
最初に、言語のペアから対応する決定問題のペアにを拡張する必要があります。そうすると、がより一般的であることが簡単にます。≤ T ≤ M≤m≤T≤m
ましょうと決定問題であること。次に。これは、多対1の削減が非常に制限された方法でオラクルを使用すると解釈できるためです。オラクルは最後に1回呼び出され、その結果も全体的な結果として返されます。P ' P ≤ M P ' ⇒ P ≤ T P ' ◻PP′P≤mP′⇒P≤TP′□
これでフィナーレの準備ができました。
ましょうと仮定する整数値であり、その NP完全、その後で以前の観測では、を表示するために残っています。これを行うには、ような問題をます。次に、2番目と3番目の成立するのは、以前に証明された決定と評価バージョンが同等であるためです。3番目のは、のNPと前述の2つの事実、つまり Z P D P D ≡ T P E ≡ T P O。P O ≤ T P E P "PO∈NPOZPD
PD≡TPE≡TPO.
PO≤TPE、PO≤TP ' E PO≤TP ' E ≤TP ' D ≤TPD≤TPE。P′O∈NPOPO≤TP′EPO≤TP′E≤TP′D≤TPD≤TPE.
≤ T P D P O ∈ N P O ⇒ P D ∈ N P P ≤ M P ' O ⇒ P ≤ T P ' O≤T≤TPDPO∈NPO⇒PD∈NP及び。
P≤mP′O⇒P≤TP′O
詳細は次のとおりですの実行可能なソリューションは、全順序付きのアルファベットを使用してエンコードされていると仮定します。ましょうからの言葉も共通の長さを持つ単語のブロック内の長さと辞書式順序を非減少順にリストされています。(したがって空単語である。)すべてについてせ一意の整数示すように、。とは両方とも多項式時間で計算できます。してみましょうすべてのそれの多項式ようにすることが Σ W 0、W 1、... Σ * W 0、Y ∈ Σ *POΣw0,w1,…Σ∗w0y∈Σ∗I yは= wはI σ σ - 1、Q のx ∈ X 、Y ∈ F (X )、σ (Y )< 2 Q (| x |)σ(y)iy=wiσσ−1qx∈Xすべてのにはます。y∈F(x)σ(y)<2q(|x|)
問題は、修正された目的関数を除いてと同一です。以下のためにと我々が取る。 は多項式時間で計算できるため、です。 P O Z 'のx ∈ XP′OPOZ′x∈XZ '(X 、Y )= 2 Q (| X |) ⋅ Z (X 、Y )+ σ (Y )Z ' P ' O ∈ N P Oy∈F(x)Z′(x,y)=2q(|x|)⋅Z(x,y)+σ(y)Z′P′O∈NPO
ことを示すために私たちは、ことを確認しために実現可能である場合、それがために実現可能である場合にのみ。反対のケースは扱いにくいため、これがケースであると想定できます。 X P O P ' EPO≤TP′ExPOP′E
substituionのためのすべてのためにという意味で単調である、もし次いで。これはごとに最適なソリューションことを意味しでの最適解であるで。したがって、タスクはの最適解計算になります。 ZのY 1、Y 2 ∈ F (X )Z (X 、Y 1)< Z (X 、Y 2)ZZ′Zy1,y2∈F(x)Z(x,y1)<Z(x,y2)xはP ' O X P O y x P ′ OZ′(x,y1)<Z′(x,y2)xP′OxPOyxP′O
のオラクルをクエリすると、の値を取得できます。この数の剰余をを法として形成すると、得られ、そこから多項式時間でを計算できます。 Z '(X 、Y )= 2 Q (| X |) ⋅ Z (X 、Y )+ σ (Y )2 Q (| X |) σ (Y )YP′EZ′(x,y)=2q(|x|)⋅Z(x,y)+σ(y)2q(|x|)σ(y)y