1 有限最小化問題と近似比
定義 1.1. 集合Iの要素をインスタンス (instance) という。各インスタンスI∈Iに対し、空でない有限集合F(I)と写像costI:F(I)→[0,∞)が定まっているとする。F(I)の要素をIの実行可能解 (feasible solution)、costI(y)を実行可能解yの費用 (cost) という。この対応の全体を有限最小化問題 (finite minimization problem) という。
F(I)は空でない有限集合であるから
OPT(I)=y∈F(I)mincostI(y)は存在する。これをIの最適値 (optimal value) という。
定義 1.2. 有限最小化問題と、各インスタンスI∈Iに対し実行可能解A(I)∈F(I)を返すアルゴリズムAをとる。実数ρに対し、Aが ρ-近似アルゴリズム (rho-approximation algorithm) であるとは、すべてのインスタンスI∈Iについて
costI(A(I)) ≤ ρOPT(I)が成り立つことをいう。この不等式を満たすρをAの近似比 (approximation ratio) という。
命題 1.3. 有限最小化問題がOPT(I)>0を満たすインスタンスIをもつとする。このとき、ρ-近似アルゴリズムの近似比ρは1以上である。
証明.Aをρ-近似アルゴリズムとし、OPT(I)>0を満たすインスタンスIをとる。A(I)∈F(I)であるから、最適値が最小値であることによりOPT(I)≤costI(A(I))である。近似比の定義とあわせて
OPT(I) ≤ costI(A(I)) ≤ ρOPT(I)を得る。両端をOPT(I)>0で割ると1≤ρである。▨
最大化問題では不等号の向きが逆になるため、近似比は1以下の向きで測る。本記事では最小化問題だけを扱うので、以下のρはつねに1以上である。
2 極大なマッチングによる頂点被覆
定義 2.1. 有限単純無向グラフG=(V,E)について、頂点集合C⊆Vが 頂点被覆 (vertex cover) であるとは、Eのすべての辺が少なくとも一方の端点をCにもつことをいう。頂点数が最小である頂点被覆の頂点数をτ(G)と書く。ここでの最小は頂点数についての最小であり、包含に関する極小とは異なる。
Gをインスタンスとし、F(G)をGの頂点被覆全体、costG(C)=∣C∣と定めると、これは定義 1.1の意味の有限最小化問題である。実際、V自身は頂点被覆であるからF(G)は空でなく、Vの部分集合は有限個であるからF(G)は有限集合である。この問題を最小頂点被覆問題 (minimum vertex cover problem) といい、OPT(G)=τ(G)である。
二部グラフに限れば、上で定義した頂点被覆は§E16.13 定義 2.1の頂点被覆と同じものである。本記事では二部性を仮定しない。
定義 2.2. 有限単純無向グラフG=(V,E)について、マッチングの定義は§D2.12 定義 1.1に従う。すなわち辺集合M⊆Eがマッチング (matching) であるとは、Mの相異なる二辺が端点を共有しないことをいう。
マッチングMが 極大 (maximal matching) であるとは、M⊊M′を満たすマッチングM′が存在しないことをいう。マッチングMが最大 (maximum matching) であるとは、辺数∣M∣がGのマッチングの中で最大であることをいい、その辺数をν(G)と書く。
命題 2.4. 有限単純無向グラフG=(V,E)について、M=∅から出発し、M∪{e}がマッチングとなる辺e∈E∖Mが存在するかぎり、そのようなeを一つ選んでMへ加える手続きを考える。この手続きは高々m回の反復で停止し、停止時のMはGの極大なマッチングである。
証明. ループ不変条件(§D2.8 定義 1.1)として「MはGのマッチングでありM⊆Eである」をとる。初期化ではM=∅がマッチングであるから成り立つ。維持については、本体はM∪{e}がマッチングである場合にだけeを加えるので、実行後もMはマッチングである。
停止性を示す。φ=m−∣M∣と置く。不変条件によりM⊆Eであるから∣M∣≤mであり、φは非負整数である。本体を一度実行すると∣M∣が1増えるのでφは狭義に減少する。§D2.8 命題 1.4により手続きは有限回で停止し、φの初期値がmであるから反復回数はm以下である。
終了を確かめる。停止時にはループの継続条件が偽であり、M∪{e}がマッチングとなる辺e∈E∖Mは存在しない。ここでM⊊M′を満たすマッチングM′が存在すると仮定し、e∈M′∖Mをとる。M∪{e}⊆M′であり、マッチングの部分集合はマッチングである(部分集合の相異なる二辺はもとの集合の相異なる二辺でもあるから端点を共有しない)ので、M∪{e}はマッチングでありe∈E∖Mである。これは継続条件が偽であることに反する。よって停止時のMは極大なマッチングである。この形の議論が正当性を与えることは§D2.8 定理 1.2による。▨
最適値の下界は、次の補題から得られる。この補題ではマッチングの極大性を仮定しない。補題の不等式は、どのマッチングについても成り立つ。
補題 2.5. 有限単純無向グラフGのマッチングMと頂点被覆Cに対し∣M∣≤∣C∣が成り立つ。とくに∣M∣≤τ(G)である。
証明.Cは頂点被覆であるから、Mの各辺eは少なくとも一方の端点をCにもつ。Mは有限集合であるから、各e∈MについてCに属する端点を一つ選び、それをψ(e)と書く。これにより写像ψ:M→Cが定まる。
ψが単射であることを示す。e,e′∈Mがe=e′かつψ(e)=ψ(e′)を満たすと仮定する。ψ(e)はeの端点であり、ψ(e′)はe′の端点であるから、eとe′は頂点ψ(e)を共有する。これはMがマッチングであることに反する。よってψは単射であり∣M∣≤∣C∣である。
Cを頂点数が最小の頂点被覆にとると∣C∣=τ(G)であるから∣M∣≤τ(G)を得る。▨
補題 2.6.Mを有限単純無向グラフG=(V,E)の極大なマッチングとし、Mの辺の端点全体を
C(M)={v∈V: v は M のある辺の端点である}と置く。このときC(M)はGの頂点被覆であり、∣C(M)∣=2∣M∣が成り立つ。
証明. 頂点被覆であること。辺e=uv∈Eをとり、u∈/C(M)かつv∈/C(M)であると仮定する。C(M)の定め方により、Mのどの辺もuを端点にもたず、vも端点にもたない。したがってeはMのどの辺とも端点を共有しない。とくにe∈/Mである(e∈Mならばu∈C(M)となる)。
M∪{e}がマッチングであることを確かめる。M∪{e}の相異なる二辺f,f′をとる。ともにMに属するならば、Mがマッチングであることから端点を共有しない。一方がeで他方がMの辺ならば、上に述べたとおり端点を共有しない。よってM∪{e}はマッチングであり、e∈/MよりM⊊M∪{e}である。これはMの極大性に反する。
したがってEのすべての辺は少なくとも一方の端点をC(M)にもち、C(M)は頂点被覆である。
頂点数。各辺e∈Mに対し、その端点の集合をι(e)と書く。Gは単純でありループをもたないので∣ι(e)∣=2である。C(M)=⋃e∈Mι(e)である。Mの相異なる二辺は端点を共有しないので、e=e′ならばι(e)∩ι(e′)=∅である。よってこの合併は互いに交わらない集合の合併であり、和の法則(§D2.2 定理 2.1)により
∣C(M)∣=e∈M∑∣ι(e)∣=e∈M∑2=2∣M∣である。▨
2.1 証明方針
主定理は二つの主張の組み合わせである。第一は、極大なマッチングMの端点集合C(M)が頂点被覆であることであり、この事実は補題 2.6により得られる。証明の要点は、両端点がC(M)の外にある辺があれば、その辺をMへ加えてもマッチングのままであり、極大性に反するという一手である。
第二は、∣C(M)∣がτ(G)の2倍以下であることである。∣C(M)∣=2∣M∣であるから、示すべきことは∣M∣≤τ(G)である。ここで用いるのが補題 2.5であり、その一手は「Mの辺は互いに端点を共有しないので、どの頂点被覆もそれらの辺の各々から少なくとも一つの頂点を含み、しかも相異なる辺には相異なる頂点が対応する」という単射の構成である。この一手を省くと、Mの辺数と頂点被覆の頂点数を比べる根拠が無くなる。
二つの主張を合わせると、最適値そのものを知らないまま∣C(M)∣≤2τ(G)が従う。
定理 2.7.G=(V,E)を有限単純無向グラフとし、MをGの極大なマッチングとする。このときC(M)はGの頂点被覆であり
∣C(M)∣=2∣M∣ ≤ 2τ(G)が成り立つ。
証明.補題 2.6によりC(M)は頂点被覆であり∣C(M)∣=2∣M∣である。
Mはマッチングであるから、補題 2.5により∣M∣≤τ(G)である。両辺を2倍して2∣M∣≤2τ(G)を得る。二つを合わせて主張が従う。▨
系 2.8.命題 2.4の手続きにおいて、各反復でMへ加える辺の選び方を一つ固定する。この選び方をどのように定めても、その手続きによって極大なマッチングMを求め、C(M)を出力するアルゴリズムは、最小頂点被覆問題に対する2-近似アルゴリズムである。
証明.命題 2.4の停止性と極大性の証明は、加えることのできる辺が複数あるときにどれを選ぶかに依存しない。よって選び方をどのように固定しても手続きは停止し、出力されるMは極大なマッチングである。定理 2.7によりC(M)は頂点被覆、すなわち定義 2.1の意味の実行可能解であり、
costG(C(M))=∣C(M)∣≤2τ(G)=2OPT(G)が成り立つ。これは定義 1.2の意味でρ=2の場合の条件である。▨
例 2.9.V={v1,v2,v3,v4}、E={v1v2, v2v3, v3v4}とする。n=4、m=3である。
最適値。C={v2,v3}は頂点被覆である。実際、v1v2はv2を、v2v3はv2を、v3v4はv3を含む。よってτ(G)≤2である。頂点数1の頂点被覆は存在しない。v1v2とv3v4は端点を共有しないので、一つの頂点で両方を覆うことはできないからである。よってτ(G)=2である。
第一の極大なマッチング。M1={v2v3}をとる。v1v2はv2を、v3v4はv3をM1の辺と共有するので、どちらを加えてもマッチングでなくなる。よってM1は極大である。C(M1)={v2,v3}であり∣C(M1)∣=2=2∣M1∣である。この頂点被覆は最小であり、費用の比は2/2=1である。
第二の極大なマッチング。M2={v1v2, v3v4}をとる。二辺は端点を共有しないのでマッチングであり、残る辺v2v3はv2とv3の双方を共有するので加えることができない。よってM2は極大である。C(M2)={v1,v2,v3,v4}であり∣C(M2)∣=4=2∣M2∣である。費用の比は4/2=2であり、定理 2.7の上界がちょうど達成される。
下界の照合。∣M1∣=1≤2=τ(G)かつ∣M2∣=2≤2=τ(G)であり、補題 2.5と整合する。またM2は最大マッチングでありν(G)=2である。辺数3のマッチングは、相異なる6個の頂点を要するのでn=4のこのグラフには存在しない。
三角形での照合。V′={u1,u2,u3}とし、u1u2、u1u3、u2u3の三辺をもつグラフを考える。M={u1u2}は極大である。u1u3はu1を、u2u3はu2を共有するからである。C(M)={u1,u2}であり∣C(M)∣=2である。一方τ=2である。一つの頂点は三辺のうち二辺しか覆わないのでτ≥2であり、{u1,u2}が頂点被覆であるからτ≤2だからである。よってこの場合の費用の比は1である。
出力される頂点被覆は、選ぶ極大なマッチングによって変わる。上の第一と第二の例が示すとおり、辺数の小さい極大なマッチングのほうがよい頂点被覆を与えることがある。定理 2.7により、どの極大なマッチングを選んでも比が2を超えないことが保証される。
3 貪欲な集合被覆
定義 3.1. 正の整数kに対し
Hk=i=1∑ki1と定め、Hkを第k調和数 (harmonic number) という。またH0=0と定める。
定義 3.2. 空でない有限集合U、有限添字集合J、Uの部分集合の族(Sj)j∈J、および正の実数の族(wj)j∈Jが
j∈J⋃Sj=Uを満たすとする。Uを台集合 (universe)、Uの要素を要素 (element)、wjをSjの費用 (cost) という。
添字の部分集合C⊆Jが被覆 (cover) であるとは⋃j∈CSj=Uが成り立つことをいい、その費用をw(C)=∑j∈Cwjと定める。四つ組I=(U,J,(Sj),(wj))をインスタンスとし、F(I)を被覆全体、costI(C)=w(C)と定めると、これは定義 1.1の意味の有限最小化問題である。実際、J自身は被覆であるからF(I)は空でなく、Jの部分集合は有限個であるからF(I)は有限集合である。この問題を重み付き集合被覆問題 (weighted set cover problem) という。
定義 3.3. 重み付き集合被覆問題のインスタンスI=(U,J,(Sj),(wj))に対し、次の手続きを考える。R←UおよびC←∅とする。R=∅であるかぎり次を繰り返す。
Sj∩R=∅を満たすj∈Jのうち、比
∣Sj∩R∣wjを最小にするものを一つ選び、それをj∗とする。j∗をCへ加え、Sj∗∩Rの各要素eに対し課金額 (price) を
price(e)=∣Sj∗∩R∣wj∗と定める。その後R←R∖Sj∗とする。R=∅になったところでCを出力する。
すなわち、選んだ集合の費用を、その集合が新しく覆う要素へ等しく分けて課金する。
命題 3.4.定義 3.3の手続きについて次が成り立つ。
- R=∅である各反復において、選ぶことのできる添字jが存在する。
- 手続きは高々∣U∣回の反復で停止する。
- 停止時のCは被覆である。
- 各要素e∈Uについて、price(e)はちょうど一度だけ定まる。
- 停止時のCについてw(C)=∑e∈Uprice(e)が成り立つ。
証明.主張 (1)を示す。R=∅としe∈Rをとる。R⊆U=⋃j∈JSjであるからe∈Sjを満たすj∈Jが存在し、そのjについてSj∩R=∅である。よって候補となる添字の集合は空でない。Jは有限集合であるから、その中で比を最小にする添字が存在する。
主張 (2)を示す。ループの状態に対して変量∣R∣をとる。これは非負整数である。選んだj∗についてSj∗∩R=∅であるから、R∖Sj∗はRの真部分集合であり∣R∣は狭義に減少する。§D2.8 命題 1.4により手続きは有限回で停止し、∣R∣の初期値が∣U∣であるから反復回数は∣U∣以下である。
主張 (3)を示す。ループ不変条件(§D2.8 定義 1.1)として「R⊆UかつU∖R=⋃j∈CSj」をとる。初期化ではR=UかつC=∅であり、両辺とも空集合である。維持については、j∗を加えた後のC′=C∪{j∗}とR′=R∖Sj∗に対し、Sj∗⊆Uであることから
U∖R′=U∖(R∖Sj∗)=(U∖R)∪(U∩Sj∗)=(U∖R)∪Sj∗=(j∈C⋃Sj)∪Sj∗=j∈C′⋃Sjであり、不変条件が保たれる。停止時には継続条件が偽でありR=∅であるから、不変条件よりU=⋃j∈CSj、すなわちCは被覆である。この形の議論が正当性を与えることは§D2.8 定理 1.2による。
主張 (4)を示す。ある反復で課金される要素はSj∗∩Rの要素であり、その反復の終わりにRから取り除かれる。Rは反復のたびに減るだけであるから、一度取り除かれた要素は以後の反復のRに属さず、再び課金されることはない。また 3 の停止時の条件R=∅と不変条件により、すべての要素はいずれかの反復でRから取り除かれ、そのとき課金される。よって各要素はちょうど一度課金される。
主張 (5)を示す。まず、各反復で選ばれる添字は互いに相異なる。ある反復でj∗が選ばれると、その反復の終わりにRからSj∗が取り除かれてSj∗∩R=∅となり、Rは以後も減るだけであるから、j∗が再び候補になることはないからである。したがって反復の回数は∣C∣に等しく、
w(C)=j∈C∑wj=反復∑wj∗である。各反復について、その反復で課金される要素の個数は∣Sj∗∩R∣であり、各要素への課金額はwj∗/∣Sj∗∩R∣であるから、その反復で課金された額の総和は
∣Sj∗∩R∣⋅∣Sj∗∩R∣wj∗=wj∗である。反復について加え、4 により各要素がちょうど一度課金されることを用いるとw(C)=∑e∈Uprice(e)を得る。▨
3.1 証明方針
近似保証は、主張 (5)によって総費用を要素への課金額の総和へ書き換え、各課金額を個別に評価することによって得られる。
要素を課金された順にe1,…,ek(k=∣U∣)と並べる。elが課金される反復の開始時に残っている集合をRlと書くと、el,el+1,…,ekはまだ課金されていないのでRlに属し、∣Rl∣≥k−l+1である。
次に、Rlをどう覆っても最適値以上の費用はかからない、という事実を用いる。最適な被覆Oをとると、OはRlも覆うので、Oの集合の中に「費用を新しく覆う要素の個数で割った比」がOPT(I)/∣Rl∣以下であるものが存在する。存在しないと仮定して費用を加えると、Oの総費用がOPT(I)を超えるという矛盾が生じるからである。手続きはその比を最小にする添字を選ぶので、elへの課金額はこの値以下である。
最後に∣Rl∣≥k−l+1を代入して和をとると、係数が調和数になる。
補題 3.5. 重み付き集合被覆問題のインスタンスI=(U,J,(Sj),(wj))に対しk=∣U∣と置く。定義 3.3の手続きで課金された順にUの要素をe1,e2,…,ekと並べる(同じ反復で課金された要素どうしの順序は任意に定める)。このとき各1≤l≤kについて
price(el) ≤ k−l+1OPT(I)が成り立つ。
証明. はじめにOPT(I)>0を確かめる。Uは空でないので、どの被覆Cも空でなく、wj>0よりw(C)>0である。よって最適値も正である。
1≤l≤kを固定し、elが課金された反復の開始時におけるRの値をRlと書く。
∣Rl∣≥k−l+1であること。l≤l′≤kをとる。命題 3.4 (4)により各要素はちょうど一度課金され、el′が課金されるのはelが課金される反復と同じか、それより後の反復である。同じ反復ならばel′∈Sj∗∩Rl⊆Rlである。より後の反復ならば、その反復の開始時のRに属し、Rは反復のたびに減るだけであるからel′∈Rlである。el,el+1,…,ekは相異なるk−l+1個の要素であるから∣Rl∣≥k−l+1である。
比の小さい集合が最適な被覆の中に存在すること。O⊆Jをw(O)=OPT(I)を満たす被覆とし、
Ol={j∈O: Sj∩Rl=∅}と置く。OはUを覆いRl⊆Uであるから、Rlの各要素は少なくとも一つのj∈OについてSj∩Rlに属する。したがって
j∈O∑∣Sj∩Rl∣ ≥ ∣Rl∣が成り立つ。左辺はRlの各要素を少なくとも一度数えているからである。Rl=∅であるから、この不等式よりOl=∅である。
すべてのj∈Olについて
∣Sj∩Rl∣wj>∣Rl∣OPT(I)が成り立つと仮定する。両辺に∣Sj∩Rl∣>0を掛けるとwj>∣Rl∣OPT(I)∣Sj∩Rl∣である。j∈Olについて加え、j∈O∖Olについては∣Sj∩Rl∣=0かつwj>0であることを用いると
OPT(I)=j∈O∑wj ≥ j∈Ol∑wj > ∣Rl∣OPT(I)j∈Ol∑∣Sj∩Rl∣=∣Rl∣OPT(I)j∈O∑∣Sj∩Rl∣ ≥ OPT(I)となる。ここで最後の不等号にはOPT(I)>0と上で示した∑j∈O∣Sj∩Rl∣≥∣Rl∣を用いた。両端を比べるとOPT(I)>OPT(I)となり矛盾する。よってj0∈Olが存在して
∣Sj0∩Rl∣wj0 ≤ ∣Rl∣OPT(I)が成り立つ。
結論。elが課金された反復で選ばれた添字をj∗とする。j0はSj0∩Rl=∅を満たすので、その反復における候補である。手続きは候補の中で比を最小にする添字を選ぶので
price(el)=∣Sj∗∩Rl∣wj∗ ≤ ∣Sj0∩Rl∣wj0 ≤ ∣Rl∣OPT(I) ≤ k−l+1OPT(I)である。最後の不等号は∣Rl∣≥k−l+1とOPT(I)>0による。▨
定理 3.6. 重み付き集合被覆問題のインスタンスI=(U,J,(Sj),(wj))に対しk=∣U∣と置く。定義 3.3の手続きが出力する被覆Cについて
w(C) ≤ Hk⋅OPT(I)が成り立つ。
証明.命題 3.4 (3)によりCは被覆であり、5 により
w(C)=e∈U∑price(e)=l=1∑kprice(el)である。ここでe1,…,ekは補題 3.5のとおり課金された順に並べたUの要素である。同補題を各項へ適用すると
w(C) ≤ l=1∑kk−l+1OPT(I)=OPT(I)l=1∑kk−l+11である。和の添字をi=k−l+1と置き換えると、lが1からkまで動くときiはkから1まで動くので
l=1∑kk−l+11=i=1∑ki1=Hkである。よってw(C)≤HkOPT(I)を得る。▨
系 3.7. 正の整数Kを固定し、台集合の要素数がK以下であるインスタンスだけからなる族を考える。定義 3.3の手続きにおいて、各反復で比を最小にする添字の選び方を一つ固定する。この選び方をどのように定めても、その手続きは、この族の上での重み付き集合被覆問題に対するHK-近似アルゴリズムである。とくに、すべての費用が1であるインスタンスに対しては、選ばれる集合の個数が最小の被覆の集合の個数のHK倍以下である。
証明.命題 3.4と補題 3.5の証明は、比を最小にする添字が複数あるときにどれを選ぶかに依存しない。よって定理 3.6は、選び方をどのように固定した場合についても成り立つ。
この族に属するインスタンスIをとり、その台集合の要素数をkとするとk≤Kである。定理 3.6によりw(C)≤HkOPT(I)である。調和数はk≤KのときHk≤HKを満たす。実際、HK−Hk=∑i=k+1K1/i≥0である。よってw(C)≤HKOPT(I)であり、定義 1.2の意味でρ=HKの場合の条件が成り立つ。
すべての費用が1である場合はw(C)=∣C∣であり、被覆の費用はその集合の個数に等しいので、最後の主張が従う。▨
例 3.8.U={e1,e2,e3}、J={1,2,3,4}とし、
S1={e1},S2={e2},S3={e3},S4={e1,e2,e3},w1=31,w2=21,w3=1,w4=23とする。k=∣U∣=3である。
最適値。被覆はUを覆う添字の部分集合である。e1を含む集合はS1とS4、e2を含む集合はS2とS4、e3を含む集合はS3とS4である。したがって被覆は、4を含むか、または1,2,3をすべて含むかのいずれかである。4を含む被覆の費用は3/2以上であり、{4}で3/2が達成される。1,2,3をすべて含み4を含まない被覆は{1,2,3}だけであり、その費用は1/3+1/2+1=11/6である。3/2=9/6<11/6であるからOPT(I)=3/2である。
第一の反復。R={e1,e2,e3}である。比は
∣S1∩R∣w1=11/3=31,∣S2∩R∣w2=11/2=21,∣S3∩R∣w3=11=1,∣S4∩R∣w4=33/2=21であり、最小は1/3でj∗=1である。price(e1)=1/3と定め、R={e2,e3}となる。
第二の反復。比はw2/1=1/2、w3/1=1、w4/2=(3/2)/2=3/4である。S1∩R=∅であるから1は候補ではない。最小は1/2でj∗=2である。price(e2)=1/2と定め、R={e3}となる。
第三の反復。比はw3/1=1、w4/1=3/2である。最小は1でj∗=3である。price(e3)=1と定め、R=∅となって手続きは停止する。
出力と検算。C={1,2,3}であり
w(C)=31+21+1=62+3+6=611である。課金額の総和も1/3+1/2+1=11/6であり、命題 3.4 (5)と一致する。反復回数は3であり、∣U∣=3以下である。
近似保証との照合。H3=1+1/2+1/3=11/6であるから、定理 3.6の上界はH3⋅OPT(I)=(11/6)(3/2)=11/4である。実際の費用は11/6であり、11/6≤11/4が成り立つ。費用の比は(11/6)/(3/2)=11/9であり、1より大きいので、この手続きは最適解を返していない。
課金額の上界との照合。補題 3.5ではprice(el)≤OPT(I)/(k−l+1)が主張される。l=1では1/3≤(3/2)/3=1/2、l=2では1/2≤(3/2)/2=3/4、l=3では1≤(3/2)/1=3/2であり、いずれも成り立つ。
4 演習
問題 4.1.
- 有限単純無向グラフG=(V,E)と辺集合F⊆Eについて、次の二条件が同値であることを示せ。第一の条件は、FがGのマッチングであることである。第二の条件は、グラフ(V,F)のすべての頂点被覆Cが∣F∣≤∣C∣を満たすことである。とくに、Fがマッチングでないとき、∣C∣≤∣F∣−1を満たす(V,F)の頂点被覆Cを構成せよ。
- 補題 2.6の証明で、極大性を最大性に置き換えたとする。すなわちMが最大マッチングであるという仮定のもとで、同じ結論が得られるかどうかを判定し、得られる場合はその証明を書き、得られない場合は反例を与えよ。
- 定理 2.7の上界2τ(G)がちょうど達成されるグラフの無限族を一つ作り、その族の各要素について∣C(M)∣=2τ(G)を満たす極大なマッチングMが存在することを証明せよ。さらに、頂点数が2r(r≥2)の完全グラフではこの上界が達成されないことを、その最小頂点被覆の頂点数を求めることによって示せ。
- 整数k≥2と、0<ε<Hk−1を満たす実数εをとる。U={u1,…,uk}、J={0,1,…,k}、S0=U、w0=1+εとし、1≤i≤kについてSi={ui}、wi=1/iとする。このインスタンスに定義 3.3の手続きを適用すると、各反復で比を最小にする添字がただ一つに定まり、出力Cの費用がHkに等しいこと、およびOPT(I)=1+εであることを示せ。これを用いて、整数K≥2とρ<HKを満たす実数ρに対し、この手続きは台集合の要素数がK以下であるインスタンスの族の上でρ-近似アルゴリズムでないことを示せ。
- 定義 3.2の費用wjが正であるという条件を、非負であるという条件に弱める。すなわち、wj=0である集合を許す。このインスタンスに対しても定義 3.3の手続きは同じく定まる。このとき補題 3.5と定理 3.6の結論が成り立つことを示せ。最適値が0である場合も含める。
- 定義 3.3の手続きにおいて、比を最小にする添字ではなく∣Sj∩R∣を最大にする添字を選ぶ規則に変えたとする。この規則のもとで定理 3.6と同じ形の近似保証が成り立つかどうかを判定し、成り立たないならば、費用の比がHkを超える重み付きインスタンスを構成せよ。
- 正の整数dをとり、すべてのj∈Jについて∣Sj∣≤dである重み付き集合被覆問題のインスタンスを考える。定義 3.3の手続きの出力Cがw(C)≤HdOPT(I)を満たすことを、各j∈JについてSjの要素の課金額の総和がH∣Sj∣wj以下であることを示して証明せよ。
解答.
(1)を示す。H=(V,F)と置く。Hは有限単純無向グラフであり、FがGのマッチングであることとFがHのマッチングであることは、ともに「Fの相異なる二辺が端点を共有しない」ことを意味するので同値である。
第一の条件から第二の条件を導く。Fがマッチングであるとし、CをHの頂点被覆とする。補題 2.5を、グラフH、マッチングF、頂点被覆Cに対して適用すると∣F∣≤∣C∣である。
第二の条件から第一の条件を、対偶によって導く。Fがマッチングでないとすると、相異なる二辺e,e′∈Fであって端点xを共有するものが存在する。F∖{e,e′}の各辺fについて、その端点を一つ選びφ(f)と書く。
C={x}∪{φ(f): f∈F∖{e,e′}}と置く。eとe′は端点xをCにもち、F∖{e,e′}の各辺fは端点φ(f)をCにもつので、CはHの頂点被覆である。e=e′であるから∣F∖{e,e′}∣=∣F∣−2であり、Cは高々1+(∣F∣−2)個の元からなるので
∣C∣ ≤ ∣F∣−1 < ∣F∣である。したがって第二の条件は成り立たない。以上により、二条件は同値である。たとえば、頂点x,y1,y2,y3と辺xy1,xy2,xy3からなるグラフでFを三辺の全体とすると、Fはマッチングでなく、{x}は(V,F)の頂点被覆であって∣{x}∣=1<3=∣F∣である。
(2)では、同じ結論が得られる。MをGの最大マッチングとする。注意 2.3によりMは極大なマッチングであるから、補題 2.6によりC(M)は頂点被覆であり∣C(M)∣=2∣M∣である。極大性の代わりに最大性を用いて直接書くこともできる。辺e=uv∈Eについてu∈/C(M)かつv∈/C(M)と仮定すると、本文と同じ議論によりe∈/Mであり、M∪{e}はマッチングである。∣M∪{e}∣=∣M∣+1であるから、この仮定はMの辺数が最大であることに反する。よってC(M)は頂点被覆である。頂点数の段はMがマッチングであることだけを用いるので、最大マッチングについてもそのまま成り立つ。
(3)では、正の整数rに対し、頂点v1,…,v2rと辺vivi+1(1≤i≤2r−1)からなる道Grの族をとる。r=2のとき、G2は例 2.9のグラフである。Mr={v2i−1v2i: 1≤i≤r}と置く。i=i′ならば{v2i−1,v2i}と{v2i′−1,v2i′}は交わらないので、Mrはマッチングである。Mrに属さない辺はv2iv2i+1(1≤i≤r−1)の形をしている。Mr⊊M′を満たすマッチングM′が存在すると仮定し、e∈M′∖Mrをとると、e=v2iv2i+1とv2i−1v2i∈M′はM′の相異なる二辺であって頂点v2iを共有するので、M′がマッチングであることに反する。よってMrは極大である。C(Mr)は全頂点の集合であり、∣C(Mr)∣=2rである。一方、{v2,v4,…,v2r}は頂点被覆である。辺vivi+1の添字iとi+1の一方は偶数だからである。よってτ(Gr)≤rである。補題 2.5によりr=∣Mr∣≤τ(Gr)であるからτ(Gr)=rであり、∣C(Mr)∣=2r=2τ(Gr)が成り立つ。
r≥2とし、頂点数2rの完全グラフK2rの頂点集合をVとする。τ(K2r)=2r−1であることを示す。頂点x∈Vをとると、V∖{x}は頂点被覆である。辺uvではu=vであるから、uとvの少なくとも一方はxと異なり、V∖{x}に属するからである。よってτ(K2r)≤2r−1である。逆に、頂点数が2r−2以下の頂点集合Cをとると、Cに属さない相異なる頂点u,vが存在し、完全グラフであるからuvは辺である。この辺はどちらの端点もCにもたないので、Cは頂点被覆でない。よってτ(K2r)=2r−1である。K2rの任意の極大なマッチングMについてC(M)⊆Vであるから∣C(M)∣≤2rであり、r≥2より
2τ(K2r)−2r=(4r−2)−2r=2r−2 ≥ 2であるから∣C(M)∣<2τ(K2r)である。よってK2rでは定理 2.7の上界は、どの極大なマッチングについても達成されない。
(4)を示す。⋃j∈JSj=Uであり、費用はすべて正であるから、これは重み付き集合被覆問題のインスタンスIである。
手続きの実行。1≤t≤kについて、第t回の反復の開始時にR={u1,…,um}(m=k−t+1)、C={m+1,…,k}であることをtについての帰納法で示し、同時に第t回の反復で選ばれる添字がmだけであることを示す。t=1のときはR=U、C=∅である。第t回の反復の開始時に主張の形であるとする。Sj∩R=∅を満たす添字は0と1,…,mであり、比は
∣S0∩R∣w0=m1+ε,∣Si∩R∣wi=i1(1≤i≤m)である。1≤i<mならば1/i>1/mであり、ε>0より(1+ε)/m>1/mであるから、比を最小にする添字はmだけである。手続きはmをCへ加え、price(um)=1/mと定め、Rを{u1,…,um−1}に替える。これは第t+1回の反復の開始時の主張の形である。t=kの反復の後にR=∅となって手続きは停止し、出力はC={1,…,k}である。その費用は∑i=1k1/i=Hkである。
最適値。1≤i≤kについて、uiを含む集合はS0とSiだけである。したがって被覆は、0を含むか、1,…,kをすべて含む。0を含む被覆の費用はw0=1+ε以上であり、{0}は費用1+εの被覆である。0を含まない被覆は{1,…,k}だけであり、その費用はHkである。ε<Hk−1より1+ε<Hkであるから、OPT(I)=1+εである。したがって費用の比はHk/(1+ε)である。また、l番目に課金される要素はuk−l+1であり、その課金額1/(k−l+1)は補題 3.5の上界(1+ε)/(k−l+1)の1/(1+ε)倍である。
近似比の下限。整数K≥2とρ<HKを満たす実数ρをとる。ρ≤0のときは、上のインスタンスでHK>0≥ρOPT(I)であるから、ρ-近似アルゴリズムの条件は成り立たない。ρ>0のときは、HK/ρ>1であり、H2=3/2とK≥2よりHK−1>0であるから、
0<ε<min{HK−1, ρHK−1}を満たす実数εをとることができる。k=Kとしてこのεによる上のインスタンスをとると、台集合の要素数はKであり、1+ε<HK/ρより
w(C)=HK>ρ(1+ε)=ρOPT(I)である。ゆえに、この手続きはこの族の上でρ-近似アルゴリズムでない。各反復で比を最小にする添字がただ一つであるから、この結論は比が等しい添字の選び方によらない。系 3.7とあわせると、HKはこの族の上でこの手続きが満たす近似比の最小値である。
(5)を示す。Jは有限集合であるから、定義 3.3の各反復で比を最小にする添字は存在し、命題 3.4の証明は費用の正値性を用いないので、その五つの主張は費用が非負の場合にも成り立つ。また、J自身が被覆であり被覆は有限個であるから最適値OPT(I)が存在し、どの被覆の費用も非負の数の和であるからOPT(I)≥0である。課金額は非負の費用を正の整数で割った値であるから非負である。
k=∣U∣と置き、要素を課金された順にe1,…,ekと並べる。1≤l≤kを固定し、elが課金された反復の開始時のRをRlと書く。l≤l′≤kについて、el′はelと同じ反復か、それより後の反復で課金される。同じ反復ならばel′∈Sj∗∩Rl⊆Rlであり、より後の反復ならばel′はその反復の開始時のRに属し、Rは反復のたびに減るだけであるからel′∈Rlである。よって∣Rl∣≥k−l+1である。
Oをw(O)=OPT(I)を満たす被覆とし、j∈Oについてsj=∣Sj∩Rl∣と置き、Ol={j∈O: sj≥1}と置く。OはRl⊆Uを覆うので、Rlの各要素は少なくとも一つのj∈OについてSj∩Rlに属し、∑j∈Osj≥∣Rl∣≥1である。とくにOlは空でない。Olの中で比wj/sjを最小にするj0をとり、β=wj0/sj0と置くと、β≥0であり、各j∈Olについてwj≥βsjである。j∈O∖Olについてwj≥0かつsj=0であることを用いると
OPT(I)=j∈O∑wj ≥ j∈Ol∑wj ≥ βj∈Ol∑sj=βj∈O∑sj ≥ β∣Rl∣である。最後の不等号ではβ≥0を用いた。ゆえにβ≤OPT(I)/∣Rl∣である。elが課金された反復で選ばれた添字をj∗とする。j0はSj0∩Rl=∅を満たすのでその反復の候補であり、手続きは比を最小にする添字を選ぶので、OPT(I)≥0と∣Rl∣≥k−l+1により
price(el)=∣Sj∗∩Rl∣wj∗ ≤ β ≤ ∣Rl∣OPT(I) ≤ k−l+1OPT(I)である。これは補題 3.5の結論である。この議論は背理法を用いず、比の最小値が比の重み付き平均∑j∈Olwj/∑j∈Olsj以下であることを直接用いている。
命題 3.4 (5)によりw(C)=∑l=1kprice(el)であるから、上の不等式をlについて加え、添字をi=k−l+1と置き換えると
w(C) ≤ OPT(I)l=1∑kk−l+11=HkOPT(I)を得る。これは定理 3.6の結論である。
最適値が0の場合には、各lについて0≤price(el)≤0であるから、すべての課金額は0であり、w(C)=0=OPT(I)である。すなわち、このとき手続きは最適な被覆を出力する。
(6)では、同じ形の近似保証は成り立たない。整数k≥2に対し、U={e1,…,ek}、J={0,1,…,k}、S0=U、w0=k(k+1)、1≤i≤kについてSi={ei}、wi=1とする。⋃j∈JSj=Uであり、費用はすべて正であるから、これは重み付き集合被覆問題のインスタンスである。変更した規則による第一の反復ではR=Uであり、∣S0∩R∣=k、1≤i≤kについて∣Si∩R∣=1<kであるから、選ばれる添字は0だけである。その反復の終わりにR=∅となり、出力はC={0}、その費用はk(k+1)である。一方、eiを含む集合はS0とSiだけであるから、被覆は0を含むか、1,…,kをすべて含む。0を含む被覆の費用はk(k+1)以上であり、{1,…,k}は費用kの被覆であるから、OPT(I)=kである。費用の比はk(k+1)/k=k+1であり、各項が1以下であることからHk≤k<k+1である。よってw(C)≤HkOPT(I)は成り立たない。さらにw0を任意のW>kに替えるとOPT(I)=kのまま比はW/kになるので、変更した規則では、kだけに依存するどのような係数による近似保証も成り立たない。変更した規則は添字を選ぶときに費用を参照しないからである。
(7)を示す。正の整数dをとり、すべてのj∈Jについて∣Sj∣≤dであるとする。このとき定義 3.3の手続きの出力Cについてw(C)≤HdOPT(I)が成り立つ。本文の議論では、各要素の課金額を最適な被覆O全体と比べてOPT(I)/∣Rl∣で抑えた。ここでは比べる相手をOの中の一つの集合Sjに替え、Sjの要素の課金額の総和をH∣Sj∣wjで抑えてから、j∈Oについて加える。
まず、j∈Jを固定し、t=∣Sj∣と置く。t≥1のとき、Sjの要素を課金された順にa1,…,atと並べる(同じ反復で課金された要素どうしの順序は任意に定める)。1≤λ≤tについて、aλが課金される反復の開始時のRをR′と書く。λ≤λ′≤tをとると、aλ′が課金されるのはaλと同じ反復か、それより後の反復である。同じ反復ならばaλ′∈Sj∗∩R′⊆R′である。より後の反復ならば、aλ′はその反復の開始時のRに属し、Rは反復のたびに減るだけであるからaλ′∈R′である。よってaλ,…,atはすべてSj∩R′に属し、∣Sj∩R′∣≥t−λ+1≥1である。したがってjはその反復における候補であり、手続きは候補の中で比を最小にする添字j∗を選ぶので
price(aλ)=∣Sj∗∩R′∣wj∗ ≤ ∣Sj∩R′∣wj ≤ t−λ+1wjである。λ=1,…,tについて加え、定理 3.6の証明と同じ添字の置き換えを行うと
e∈Sj∑price(e) ≤ wjλ=1∑tt−λ+11=Htwjを得る。t=0のときは両辺とも0であり、H0=0によりこの不等式は成り立つ。
次に、Oをw(O)=OPT(I)を満たす被覆とする。Uの各要素はあるj∈OについてSjに属し、課金額はすべて正であるから
e∈U∑price(e) ≤ j∈O∑e∈Sj∑price(e) ≤ j∈O∑H∣Sj∣wjである。∣Sj∣≤dであるから、系 3.7の証明と同じくHd−H∣Sj∣=∑i=∣Sj∣+1d1/i≥0である。wj>0と合わせると、右辺はHd∑j∈Owj=HdOPT(I)以下である。最後に命題 3.4 (5)によりw(C)=∑e∈Uprice(e)であるから、w(C)≤HdOPT(I)を得る。各集合はUの部分集合であるから、d<∣U∣のときHd<H∣U∣であり、この保証は定理 3.6より強い。▨