Circular Arc Coloring is pollynomially equivalent to The Word Problem for Products of Symmetric Group
以前、リング上のパス(arc)の色づけはconflict graphの形がかなり制限されることから、NP完全にはならないのではないかと予想したが、それについての証明。今回はタイトルの2つの問題が等価であることを証明する。
まず、基礎知識。リング上の2点を結ぶ無向パスを円弧(circular arc)と呼ぶ。そのarcに対して同じ色どうしの弧が重ならないように色づけをすることを考える。formal には次のとおり
ARCCOLORING:
INPUT: a family F of circular arcs and integer K
OUTPUT: can F be colored with K colors so that no two arcs in the same color?
これはFを頂点集合として、重なるarcどうしを辺で結んだグラフ(circular arc graph)における頂点彩色問題と考えることができる。
次にthe Word Problem of Products for Symmetric Groupという問題について。集合A={1,...,K}からそれ自身への全単射は置換として考えられ、その置換全体は置換を合成することを演算として群を構成する。これを対称群(Symmetric Group)という。たとえば、f(k)=k+1を2回施すと、f2(A)={K-1,K,1,2,...,K-2}
となる。そしてこの問題はformalには
WPPSG:
INPUT: Integer K and X1...Xm ⊆{1,...,K} and permutation π∈SK
OUTPUT:does π belong to the set P=SX1•...•SXm
すなわち、{1,...,K}とその部分集合の族(全」順序あり)、そしてKの順列があたえられたとき、部分集合ないの要素だけからなる置換を順番に適用していってπにできるかどうか?という問題である。
Thm. WPPSG is polynomially equivalent to ARCCOLORING
proof. WPPSG のインスタンスを受け取ってそれをARCCOLORINGのインスタンスにする。まず用意するリングのサイズはK+m. そしてi∈Aに対してiを含む部分集合の添え字をli[1],...,li[k(i)]としておく。そのとき各iに対して弧の集合Fiを次のように作る。
Ai,1=(i,K+li[1])
Ai,2=(K+li[1],K+li[2])
...
Ai,k(i)=(K+li[k(i)-1],K+li[k(i)])
とつくる。そしてつぎに
Ci=(K+li[k(i)],π-1(i))
として
F=(∪Fi) ∪ (∪Ci)
とする。この変換は多項式時間でできるのは自明。あとはπ∈P⇔F is K-colorable を証明すればいい。そのためにK+m+1のサイズの弧の集合を考えてこれがK-colorableかどうかを議論する。そのために各Ciを次のように変更する
Ci←{(K+li[k(i)],K+m+1),(K+m+1,π-1(i))}
そして、このようにしたものをF'とする。そしてF'iを
F'i=Fi∪{(K+li[k(i)],K+m+1),(K+m+1,i)}
とする。
こうして F'=(∪F'i) ∪ (∪Ci)とする。このF'に対する任意のK-coloringはσp,p&isin {1,...,K+m+1}で書き表わせる。σp(j)はnode pにおいて色jがついている弧が含まれているF'iの添え字をあらわす。
一般性を失わずにσ1(j)=jとできる。頂点1のについている色を基準にできるということである。すなわちF'iのすべての(K+m+1,i)は色iが代入されているとできるということである。そして(K+m+1,i)と、(i,K+li[1])は(K+m+1,k),k∈{i+1,...,K},and(k,K+lk[1]),k∈{1,...,i-1} というK-1個の弧と交わっているので両者は同じ色を持たなくてはならない。よって2,...,K+1までの頂点においては頂点1上の色づけと同じでなくてはならない。
σ1=σ2=...=σK+1
ここでK+2での色づけはでSX1の要素を施したものになる。よってK+m+1上の色づけはP=SX1•...•SXmの要素になっている。
ここで、(K+m+1,i)は付け加えたようにみえるが、これらは(K+m+1,π-1(i))としてF'&pi-1に含まれていたのである。そして、Ciはただ2つに分けられただけなのでそれらは同じ色がつけられるはずである。よって
σ-1K+m+1(i)=σ-11(π-1(i))
よってσK+m+1=π となるこれでWPPSGがARCCOLORINGに帰着できることがわかった。
あとは逆の手順を示す。
この場合の入力は整数Kと、family F of arcsである。ここで任意の頂点pはちょうどK個の弧でかspanされているとして一般性を失わない。なぜならKより多くの弧にspanされていたら、答えはnoで自明かつ多項式時間でチェック可能。そしてK未満の個数でしかspanされていない頂点pがあれば、(p-1,p)の形の弧ををK-k個追加することでできる。この操作ではK-colorablityは失われないので問題ない。
これ以降は次回