<NP 完全性 (Karp's Reduction)>3-SAT から Vertex Cover への多項式時間還元について(polynomial reduction 3-SAT to VC)
はじめに
大学で学んだ多項式時間還元について、日本語記事でわかりやすいものが見つからなかったため、ここに記す。数ヶ月後におそらく試験で出題されるので、その試験対策としても。 blog 末尾でも述べるつもりであるが、Garey と Johnson による黒い本 Computers and intractability. を参考にしている。
解くべき問題の整理
Vertex Cover を判定問題にする必要がある。を与えられた自然数とし、命題を以下のように定める。
3-SAT から VC へ多項式時間還元可能であることを示す。
3-SAT から VC の多項式時間変換
が与えられた時の 3-SAT を
の VC 問題に変換する。リテラルは
とし、各節は
とする。
は任意の三つのリテラルの論理和である。例えば
のようになっている。
から、図1のようなグラフ
を作成する。
グラフ G は n 組のリテラルノードペアと m 個のクロースノードガジェットからなる。両者について詳しく説明する。
組のリテラルノードペア:
のノードを一つずつ作成し、両者を一つの辺で結んだもの
個のクロースノードガジェット:
を構成する三つのリテラル
のノードを作成し、それぞれ辺で結んだもの。辺は {a, b}, {b, c}, {c, a} のちょうど三つである。
- リテラルノードペアとクロースノードガジェットについて、各ガジェット
に対して、それを構成するノード a, b, c と、リテラルノードペアにおける a, b, c の間にそれぞれ辺をちょうど一つ結ぶ。
のとき、リテラルノードペアの
と対応するものの間にそれぞれちょうど一つの辺を作成する。
実際のグラフは以下のようになる。(いずれ追記します。)
すると、このグラフ の頂点被覆は自明に以下の性質を持つ。
- リテラルノードペアの辺を被覆するために、リテラルノードペアの少なくとも一方は頂点被覆集合に含まれる。少なくとも
個は頂点被覆集合 VC に含まれる。
- クロースノードガジェットの辺を被覆するために、各三つの頂点のうち、少なくとも 2 つは頂点被覆集合 VC に含まれる。
このことから、最小頂点被覆集合の大きさは であることが導かれる。また逆に、ある頂点被覆集合 V のサイズが
であるとき、以下が成立する。すなわち、
これらを確認した上で、以下で
「論理積標準形 を満たす真理値割当が存在する
グラフ
はサイズ
以下の頂点被覆集合が存在する」を示す。
論理積標準形
を充足する真理値割当が存在する
グラフ
はサイズ
以下の頂点被覆集合が存在する
論理積標準形を充足する真理値割当を とする。
十分条件「論理積標準形
を満たす真理値割当が存在する
グラフ
はサイズ
以下の頂点被覆集合が存在する」を示す。初めに、頂点集合 V を空集合とする。
- 真理値割当
をリテラルノードペアに反映する。つまり、リテラルノードペア
については、
が真であればノード
を V に加え、そうでなければノード
を V に入れる。
- G(f) の作成ルールと
が
を充足することから、各クロースノードガジェット
のうち少なくとも一つのノードは真であることが保証されており、その真となっているノード以外の 2 つのノードを V に入れる。(
に真となっているノードが複数ある場合はそのうち一つを選び、それ以外の二つのノードを V に入れる。)
ここまでの段階で V のサイズは である。V が頂点被覆集合であることを示せば、十分性は示せたことになる。
- V が頂点被覆集合であるかということについて考える。
まず、各リテラルノードペア
においては、どちらか一方が V に含まれていることから、両者をつなぐ辺 {
} は被覆されている。
- 各ガジェット
の三つの頂点
のうち二つが V に含まれていることから、ガジェット内の三つの辺はどれも被覆されている。
- 各ガジェットについて、それとリテラルノードペアを結ぶ三つの辺は被覆されている。ガジェット
の三つの頂点
のうち、少なくとも一つは真が割り当てられており、それを a とする。b, c はガジェット
に含まれるノード a はリテラルノードペア (
) のノード a と辺を共有する。リテラルノードペアにおいて a は真が割り当てられているので、V に含まれている。したがって、リテラルノードペアのノード a とガジェットのノード a を結ぶエッジは被覆されている。
の生成ルールから、ガジェット
の三頂点のうち a 以外の2 点、つまり頂点
は V に含まれている。したがって、ガジェット
の b とリテラルノードペアの b を結ぶ辺は被覆される。c についても同様に被覆される。
以上より、V はサイズ の頂点被覆集合であることが示された。
したがって、十分性を示すことができた。
論理積標準形
を充足する真理値割当が存在する
グラフ
はサイズ
以下の頂点被覆集合が存在する
必要性の証明を行う。
下準備
何らかの から生成されたグラフ G(f) が与えられたとし、そのグラフ G(f) にサイズ
以下の頂点被覆集合が存在するとする。グラフ G(f) は三頂点からなるガジェットと、二頂点からなるペアの二つの構造が繋がっているものとみなせて、二頂点からなるペアの数を n, 3頂点からなるガジェットの数を m とし、n 個のペアのうち
番目のペアをそれぞれ
とする。ペア
とガジェット
について、ペアのノード
とガジェットのノード
が辺を共有しているとき、「a は x に対応している」とする。各ガジェットの各頂点は、ちょうど一つのリテラルノードと辺を共有することから、各ガジェットの各頂点について、ちょうど一つのリテラルノードが対応づけれらる。そうして対応づけが完了したとする。すると、ガジェット
について、
, l_i[1], l_i[2] ] に対応するリテラルノードがそれぞれ
であるとき、ガジェット
は論理和 {a, b, c} に対応すると呼ぶことにする。すると、G(f) の元となった論理積標準形 f は、各ガジェットに対応する論理和の論理積で与えられることがわかる。
ここまでの段階で、G(f) から
をただ一つに求める(復元する)ことができた。
ペアを {} か {
} のどちらにするかで
は 2 通りあるように思えるが、どちらであっても充足可能性には影響しないため、この決定の仕方は問題にはならない。
以上の過程を経て G から生成された論理積標準形を f(G) と表すことにする。
証明のメイン
G(f) から上の段落のようにして を求めたとする。この G は仮定より、サイズ
以下の頂点被覆集合 V をもつが、これは先ほどの議論:
このグラフ
の頂点被覆は自明に以下の性質を持つ。
- リテラルノードペアの辺を被覆するために、リテラルノードペアの少なくとも一方は頂点被覆集合に含まれる。少なくとも
個は頂点被覆集合 VC に含まれる。
- クロースノードガジェットの辺を被覆するために、各三つの頂点のうち、少なくとも 2 つは頂点被覆集合 VC に含まれる。
このことから、最小頂点被覆集合の大きさは
であることが導かれる。また逆に、ある頂点被覆集合 V のサイズが
であるとき、以下が成立する。すなわち、
より、最小頂点被覆集合に一致し、各リテラルノードペアのちょうど一方と、各クロースノードガジェットの三つの頂点のうちちょうど二つが V に含まれるということがわかる。
まず、各リテラルノードペアについてはちょうど一つのノードが V に含まれているので、含まれているノードに対応するリテラルを真とする。各リテラル について、
の一方のみが真に割り当てられ、矛盾は存在しない。この真理値割当を
と呼ぶことにする。
こうして得られた割当 が G(f) から一意に生成された論理割当 f(G) を充足することを示せば、必要性が示せたことになる。これは、「各ガジェットにおいて、どれか一つの頂点は真を割り当てられたリテラルノードと辺を共有する」ことを示すことと同値である。それを、背理法によって証明する。
帰無仮説:「あるガジェット
] で、どの頂点も、真を割り当てられたリテラルノードと辺を共有しないものが存在する」を仮定する。まず、V が最小頂点被覆であることから、任意のガジェットは、三つの頂点のうち、V に含まれていない頂点がちょうど一つ存在する。
当然、そのガジェット
] においても V に含まれていない頂点が存在し、それに対応するリテラルが a であるとする。帰無仮説より、リテラルノードペアにおいて、a ではなく、
が V に含まれていることから、
ガジェットの頂点 a とリテラルノードペアの頂点 a を結ぶ辺は被覆されていないことになる。これは、V が頂点被覆集合であることに矛盾する。
従って、帰無仮説は棄却された。したがって、V から生成された真理値割当
は、グラフ G から生成された論理積標準形
を充足するということが示された。
この瞬間、必要性は証明された。
必要十分性についてと多項式時間還元であることの証明
必要性と十分性が示されたことから、以下の命題は真である。すなわち、
「論理積標準形 を満たす真理値割当が存在する
グラフ
はサイズ
以下の頂点被覆集合が存在する」は示された。
ここで、G(f) や f(G) の変換は、多項式時間で行われていることが簡単に確認できる。 したがって、3-SAT 問題は頂点被覆集合問題に多項式時間還元可能であるということが示された。 以上。
まとめ
かなり丁寧に書きました。適宜ブラッシュアップします。例えば、図は面倒なのでまだ作っていませんが、いずれ追加します。 なかなかの完成度で証明を書けたと思うが、これをレポートなどに転用しないように。コピペは誰も幸せになりません。
参考文献
Garey, Michael R., and David S. Johnson. "Computers and intractability." A Guide to the (1979).