この記事は計算量理論における偉大な定理の一つであるPCP定理の紹介とDinur[3]による証明を解説する一連の記事のうちの二つ目です.
前回
の続きで, PCP定理の証明をするための準備をします. 具体的には以下の定理を証明するのが全体の目標です.
PCP定理の別の形
ある定数, 多項式, 有限集合と, 与えられた2-CSPのインスタンスを以下の性質を満たす別のk-CSPのインスタンスに変換する多公式時間アルゴリズムが存在する: 任意の2-CSPインスタンスに対し,
- の変数の個数をとすると, の変数の個数は高々.
- のアルファベットは.
CSPやについて
前回の記事
にも述べてありますが, 本記事でも改めて以下の章で定義します.
1. 準備
まず, 簡単に記号を述べておきます.
- 自然数に対しとする.
- グラフの頂点集合はと書き, 辺集合はで表す. 頂点には番号(順序)があり, と表せるとする.
- 辺をと略記する. 基本的に無向グラフを考えるのでである. なお, 多重辺や自己ループも考えうる. 特に断りのない限り, 辺またはと書いたとき, 上の順序の意味ではより前にあるとする (例えばなど).
- 有限集合に対し, によって, が上一様ランダムに選ばれることを表す. 例えばと書くとにおける確率や期待値を表す.
1.1. グラフの基礎用語とエクスパンダー性
グラフの次数, -正則, エクスパンダーという用語に関しては
こちらの記事
を参照してください. なお, 自己ループの辺の次数は2としてカウントします. ここでは正則グラフのエクスパンダー性を使うので, 以下の定義と性質だけ知っていれば大丈夫です:
正則グラフのエクスパンダー性
-正則グラフの隣接行列に対し, を遷移確率行列と呼ぶ. をの固有値とする (必ず実固有値を持つことが示せる). グラフがを満たすとき, -エクスパンダーであるという.
任意のに対して頂点エクスパンダーグラフは時間で決定的に構成できることが知られています.
エクスパンダーグラフの存在性
ある定数と多項式時間アルゴリズムが存在して次が成り立つ:
各に対しては時間で頂点-正則-エクスパンダーグラフを出力する.
例えば頂点-正則グラフを一様ランダムに生成すると, Friedmanの定理[1]により確率で-エクスパンダーになります (漸近的にラマヌジャングラフになります) 決定的に構成する場合はReingold, Vadhan, Wigderson[2]の方法などをうまく使うと構成できます. 気になる方は元論文[3]のLemma 2.2などを参照してください.
エクスパンダーグラフの性質として, 以下のエクスパンダー混交補題と呼ばれる有名な結果を使います.
エクスパンダー混交補題
を頂点-正則-エクスパンダーとすると, 任意のに対して
ここで, はそれぞれに端点を持つ辺の集合, はそれぞれの補集合を表す.
特に, を満たす任意のに対して
エクスパンダー混交補題の直感などは
エクスパンダーグラフの紹介記事
を参照してください. 紹介記事で丁寧に示したエクスパンダー混交補題では右辺がでしたが, 同様の証明によって上記の補題のように少し改善できます. 念のためその証明を簡潔に記載しておきます.
後半の「特に, ...」の部分は前半の主張にを代入してを用いれば簡単に示せるので, 以後, 前半の主張を証明します.
の隣接行列を, の支持ベクトルをそれぞれとします. は正則グラフなので, 唯一の第一固有ベクトルはであり, それ以降の固有ベクトルは全てに直交します. ここで, 二つのベクトルはどちらもに直交するので,
従って
より主張を得ます.
1.2. 2-CSPの再定義と制約グラフ
3彩色問題のNP完全性より, PCP定理を示す際は2-CSPのみを考えれば良いことになります. 一般にk-CSPとは高々個の変数に依存する制約の集合として定義されましたが, ここでは2-CSPのインスタンスを 頂点を変数として各辺がそれぞれ一つの制約に対応するグラフとみなします.
2-CSPの制約グラフ
以下を満たすを制約グラフと呼ぶ:
- は構造グラフと呼ばれる無向グラフであり, は変数の集合に対応する. 頂点集合はなどと番号付けされており, それに基づいて順序が定まっている.
- は有限集合であり, アルファベットと呼ばれる. 変数にはの要素が代入される.
- 各辺には制約と呼ばれる集合が対応しており, がを満たすとき, は制約を満たすという.
関数を割当といい,
を割当によって充足されない制約の割合とし, とする. ここではがよりも(上の順序の意味で)前にありを順序対として扱っている.
構造グラフという用語は元論文ではunderlying graphと呼ばれているため適切な和訳ではないのですが, 意味合いとしては適当かと思いこのように読んでいます.
上で定義したは2-CSPに限ると
前回の記事
で定義したと一致します. 例えばならばその2-CSPインスタンスは充足可能です. なお, 一般のk-CSPに対しても同様にして制約"ハイパー"グラフを定義できますが, ここではそれは扱いません.
例えば3彩色問題の制約グラフはインスタンスのグラフそのものになります. 2-CSPの制約グラフはその構造を表す離散構造です. 基本的にはCSPの制約の内容よりもその構造を重要視します.
2. 証明の概要
定理1は, 与えられた2-CSPのインスタンスの制約グラフを主張を満たす別の2-CSPの制約グラフに変換する方法(=アルゴリズム)を与えることによって証明されます. この変換は複数のステップからなります.
ステップ1. 構造グラフをスパースかつエクスパンダーにする
「スパース(疎)」というのはグラフの用語で, 一般に辺数が少ないことを指し, 文脈によって意味が異なってきますがここでは辺数が頂点数の線形オーダーになっていることを意味します.
ステップ1では, 任意に与えられた制約グラフを"良い"構造をもつ構造グラフに変形します. ある定数に対して-正則グラフに変換します. その後, ある定数に対して-エクスパンダーに変換します.
この変換によっての値は高々定数倍しか変化しないようにします.
ステップ2. UNSATの増幅
ステップ1後の制約グラフは
が成り立ちます. 一方で定理1では二番目の不等式の下界を入力サイズに依存しない定数にする必要があります。そこでを満たすように制約グラフを構成します この増幅ステップで構造グラフのエクスパンダー性とスパース性が役に立ちます. Dinurの論文[3]の技術的貢献はこのステップにあります.
実は, ステップ2の変換ではの値を増大させる代わりにアルファベットのサイズが増大してしまいます. 従ってステップ2の変換を回適用してしまうとアルファベットサイズが与えられたに依存してしまうため, 定理1の主張は得られません.
アルファベットサイズの減少
ステップ2後の制約グラフはよりもアルファベットサイズが増大してしまうという欠点がありました. そこで, の値をほどほどに保ちつつアルファベットサイズをにします.
全体の構成
与えられた制約グラフに対し, まずステップ1を用いてスパースかつエクスパンダーな構造グラフをもつ制約グラフに変換します. その後, ステップ2と3を回繰り返すことによっての値をからに増やします.
本記事ではステップ1のみ解説し, 次回の記事でステップ2と3を扱います.
3. ステップ1: 前処理
スパースかつエクスパンダーであるような制約グラフを持つ2-CSPを"良い"CSPであるとみなします. この節では, 任意の2-CSPのインスタンスを別の良い2-CSPのインスタンスに変形する方法を解説します.
ある定数が存在して, 任意の制約グラフが与えられたときに以下の性質を満たす制約グラフを出力する決定的多項式時間アルゴリズムが存在する:
この定理の証明は
の二つのステップからなります.
次数の削減
ある定数が存在して, 任意に与えられた制約グラフを, 以下を満たす別の制約グラフに変換する多項式時間アルゴリズムが存在する:
与えられた制約グラフをとし, 変換後の制約グラフをと書くことにします.
元のグラフの各頂点に対し, とします. すなわちとそれに接続する辺の組からなる集合です. 新しいグラフの頂点集合はとします.
直感的には, 元のグラフの各頂点に対しそれを個にコピーし, それぞれのコピーに接続辺のラベルを一個ずつ付与したものを新たな頂点としています.
なお, 元の制約グラフが自己ループを含む場合, はを二つ含む(つまり多重集合になる)とします. このようにすることによって, 各辺に対して二つの頂点が生成されるので, が成り立ちます (なお, 自己ループを一つの頂点としてを定義した場合でも同じ証明が回るので問題ありません).
次に新しいグラフの辺集合を次の定義します.
定理2を用いて各に対してを頂点集合とした-頂点-正則-エクスパンダーグラフを構成します. このステップで追加された辺を内部辺と呼び, 等号制約を付与します.
同じ辺ラベルを持つ二つのの頂点の間に辺を追加します. このステップで追加された辺を外部辺と呼び, 元の制約グラフの辺の制約を付与します.
上記の二つのステップで構成された辺集合をと定めます.
の構造グラフのイメージ図.
図からすぐわかるように, ステップ2で追加された辺は上のマッチングになっています. 図ではとしたときの例になっていますが, 定理2のの値によっては, 例えば6-正則3頂点グラフなどを考えることもありますが, その際は多重辺や自己ループを適当につけることにします.
定義より構造グラフは-正則グラフになっています. 頂点数はで, 辺数はです. 次にの値を評価します.
を達成する割当をとします. の割当をで定めます.
は内部辺の等号制約を全て満たすので, 充足されない辺の本数はのそれと一致します. よって
を得ます.
次にの下界, すなわち, ある(に依存しない)定数に対してを満たすことを示します.
をを達成するの割当とし, 各に対して「内のの値の中での多数決」, すなわち
とします. を, の辺であってによって充足されないものの集合とし, を同様にの辺であってによって充足されないものの集合とします. つまり, です.
を多数決によって意見が採用されなかった頂点の集合, すなわち
とします.
ここで, 以下の二つのケースを考えます:
ケース1. の場合.
各に対して, とします. なお, 意見が多数決で採用されている場合(つまりの場合)はであり, そうでない場合は過半数をとれていないはずなのでが成り立ちます.
内の各頂点は意見を持ち, その多数決によってを定める. 多数決にならなかった頂点の集合(=青い領域)をとする.
そこで内部のグラフとその頂点部分集合に対して定理3(エクスパンダー混交補題)を適用することによって,
を得ます. この式の左辺はとその外側をつなぐ内部辺の本数を意味しますが, これらの辺はにおいて, 内部辺の等号制約を満たしていないはずであり, すなわちに属すので
により, の仮定から
を得ます.
ケース2. の場合.
任意の辺に対して, その両端点が多数決で意見が変わらなかったならば, の辺もまたに属しているはずです. 一方でそうでなかったならばまたはの少なくとも一方がに属します. すなわち
が成り立ちます. ここから
を得ます.
以上より, に対してを得ます.
エクスパンダー化
ある定数が存在して, 構造グラフが-正則であるような制約グラフが与えられたとき, それを以下を満たす別の制約グラフに変換する多項式時間アルゴリズムが存在する:
- 構造グラフは-正則-エクスパンダーであり, 各頂点は自己ループを持つ.
与えられた制約グラフをとし, 変換後の制約グラフをと書くことにします.
の構成は簡単です.
- 頂点集合上の-正則エクスパンダーを構成してその辺集合をに追加する (多重辺を許す).
- 各頂点に対して自己ループを付与する.
- ステップ1,2で追加された辺には常に充足される自明な制約を付与する.
元のグラフが-正則ならば, の構造グラフは-正則になります (自己ループの辺の次数は2つ分にカウントしている).
をそれぞれの割当とします. 追加された辺は全て自明な制約しか付与されていないので, 充足されなかった辺の本数はで一致します.
よってなので
を得ます.
最後にのエクスパンダー性を示します.
をそれぞれの隣接行列とし, をステップ1で追加したエクスパンダーグラフの隣接行列とし, を単位行列とします. の定義よりです (自己ループの次数が2としてカウントされているのでになっています). 対称行列の固有値がのとき, とします. 第二固有値に関するmin-max定理(Courant–Fischerの最大最小定理)より,
より, をの遷移確率行列とすると
となります. すなわち, に対しては-エクスパンダーです.
定理4の証明
を与えられた制約グラフとします. 補題5のアルゴリズムを用いて構造グラフ-正則にし, さらに補題6のアルゴリズムを用いて-エクスパンダーにします. 最終的に得られるグラフは正則性やエクスパンダー性を満たしており, の値はそれぞれの補題で定数倍しか変化しません.
付録
(Courant–Fischerの最大最小定理)
次対称行列の固有値をとすると, 任意のに対して
ただし, は次元の任意の部分空間を動く.