§E16.28近似アルゴリズム

最終更新

最小化問題の最適解を求めることが難しい場合でも、最適値からの隔たりが保証された解であれば手早く求めることができることがある。その隔たりを比で測る量が近似比である。近似比の保証は、最適値そのものを知らないまま示さなければならない。したがって、近似比の証明では、「出力の費用の上界」と「最適値の下界」を別々に求め、二つを比べる。

本記事では、まず有限最小化問題と近似比を定義し、最小化では近似比が11以上の向きであることを確かめる。次に二つの問題を扱う。第一は最小頂点被覆問題である。包含に関して極大なマッチングをとり、その辺の端点をすべて出力すると、頂点被覆が得られ、その頂点数は最小頂点被覆の頂点数の22倍以下である。最適値の下界は、「どのマッチングの辺数も、どの頂点被覆の頂点数以下である」という不等式から得られる。この不等式は、極大なマッチングの辺が互いに端点を共有しないことから従う。第二は重み付き集合被覆問題である。貪欲に集合を選び、選んだ集合の費用をその集合が新しく覆う要素へ等しく課金すると、各要素への課金額が最適値をまだ覆われていない要素の個数で割った値以下になる。そのため、調和数による近似保証が得られる。

本記事では近似比の上界だけを扱い、近似不能性は扱わない。近似比の証明には計算量クラスに関する事実を一切用いない。

本記事を通じて、グラフG=(V,E)G=(V,E)は有限単純無向グラフとし(§D2.7 定義 1.1)、n=∣V∣n=\lvert V\rvert、m=∣E∣m=\lvert E\rvertと置く。辺{u,v}\{u,v\}をuvuvとも書く。

1 有限最小化問題と近似比

定義 1.1. 集合I\mathcal Iの要素をインスタンス (instance) という。各インスタンスI∈II\in\mathcal Iに対し、空でない有限集合F(I)F(I)と写像costI:F(I)→[0,∞)\mathrm{cost}_I:F(I)\to[0,\infty)が定まっているとする。F(I)F(I)の要素をIIの実行可能解 (feasible solution)、costI(y)\mathrm{cost}_I(y)を実行可能解yyの費用 (cost) という。この対応の全体を有限最小化問題 (finite minimization problem) という。

F(I)F(I)は空でない有限集合であるから

OPT(I)=min⁡y∈F(I)costI(y)\mathrm{OPT}(I)=\min_{y\in F(I)}\mathrm{cost}_I(y)

は存在する。これをIIの最適値 (optimal value) という。

定義 1.2. 有限最小化問題と、各インスタンスI∈II\in\mathcal Iに対し実行可能解A(I)∈F(I)\mathcal A(I)\in F(I)を返すアルゴリズムA\mathcal Aをとる。実数ρ\rhoに対し、A\mathcal Aが ρ\rho-近似アルゴリズム (rho-approximation algorithm) であるとは、すべてのインスタンスI∈II\in\mathcal Iについて

costI(A(I)) ≤ ρ OPT(I)\mathrm{cost}_I\bigl(\mathcal A(I)\bigr)\ \le\ \rho\,\mathrm{OPT}(I)

が成り立つことをいう。この不等式を満たすρ\rhoをA\mathcal Aの近似比 (approximation ratio) という。

命題 1.3. 有限最小化問題がOPT(I)>0\mathrm{OPT}(I)>0を満たすインスタンスIIをもつとする。このとき、ρ\rho-近似アルゴリズムの近似比ρ\rhoは11以上である。

証明.A\mathcal Aをρ\rho-近似アルゴリズムとし、OPT(I)>0\mathrm{OPT}(I)>0を満たすインスタンスIIをとる。A(I)∈F(I)\mathcal A(I)\in F(I)であるから、最適値が最小値であることによりOPT(I)≤costI(A(I))\mathrm{OPT}(I)\le\mathrm{cost}_I\bigl(\mathcal A(I)\bigr)である。近似比の定義とあわせて

OPT(I) ≤ costI(A(I)) ≤ ρ OPT(I)\mathrm{OPT}(I)\ \le\ \mathrm{cost}_I\bigl(\mathcal A(I)\bigr)\ \le\ \rho\,\mathrm{OPT}(I)

を得る。両端をOPT(I)>0\mathrm{OPT}(I)>0で割ると1≤ρ1\le\rhoである。▨

最大化問題では不等号の向きが逆になるため、近似比は11以下の向きで測る。本記事では最小化問題だけを扱うので、以下のρ\rhoはつねに11以上である。

2 極大なマッチングによる頂点被覆

定義 2.1. 有限単純無向グラフG=(V,E)G=(V,E)について、頂点集合C⊆VC\subseteq Vが 頂点被覆 (vertex cover) であるとは、EEのすべての辺が少なくとも一方の端点をCCにもつことをいう。頂点数が最小である頂点被覆の頂点数をτ(G)\tau(G)と書く。ここでの最小は頂点数についての最小であり、包含に関する極小とは異なる。

GGをインスタンスとし、F(G)F(G)をGGの頂点被覆全体、costG(C)=∣C∣\mathrm{cost}_G(C)=\lvert C\rvertと定めると、これは定義 1.1の意味の有限最小化問題である。実際、VV自身は頂点被覆であるからF(G)F(G)は空でなく、VVの部分集合は有限個であるからF(G)F(G)は有限集合である。この問題を最小頂点被覆問題 (minimum vertex cover problem) といい、OPT(G)=τ(G)\mathrm{OPT}(G)=\tau(G)である。

二部グラフに限れば、上で定義した頂点被覆は§E16.13 定義 2.1の頂点被覆と同じものである。本記事では二部性を仮定しない。

定義 2.2. 有限単純無向グラフG=(V,E)G=(V,E)について、マッチングの定義は§D2.12 定義 1.1に従う。すなわち辺集合M⊆EM\subseteq Eがマッチング (matching) であるとは、MMの相異なる二辺が端点を共有しないことをいう。

マッチングMMが 極大 (maximal matching) であるとは、M⊊M′M\subsetneq M'を満たすマッチングM′M'が存在しないことをいう。マッチングMMが最大 (maximum matching) であるとは、辺数∣M∣\lvert M\rvertがGGのマッチングの中で最大であることをいい、その辺数をν(G)\nu(G)と書く。

注意 2.3. 最大は辺数についての最大であり、極大は包含についての極大である。最大マッチングMMが極大であることは直ちに従う。M⊊M′M\subsetneq M'を満たすマッチングM′M'があれば∣M′∣>∣M∣\lvert M'\rvert>\lvert M\rvertとなり、最大性に反するからである。逆は成り立たない。頂点v1,v2,v3,v4v_1,v_2,v_3,v_4と辺v1v2v_1v_2、v2v3v_2v_3、v3v4v_3v_4からなるグラフでは、M={v2v3}M=\{v_2v_3\}は極大であるが、辺数22のマッチング{v1v2, v3v4}\{v_1v_2,\ v_3v_4\}が存在するので最大ではない。

本節で用いるのは極大なマッチングである。最大マッチングも極大であるから同じ議論を通すことができるが、最大性は必要でない。二部グラフについては増加道の探索を繰り返して最大マッチングを求めることができる(§E16.13 命題 1.6)が、極大なマッチングは次の命題の手続きによってもっと少ない手数で得られる。

命題 2.4. 有限単純無向グラフG=(V,E)G=(V,E)について、M=∅M=\emptysetから出発し、M∪{e}M\cup\{e\}がマッチングとなる辺e∈E∖Me\in E\setminus Mが存在するかぎり、そのようなeeを一つ選んでMMへ加える手続きを考える。この手続きは高々mm回の反復で停止し、停止時のMMはGGの極大なマッチングである。

証明. ループ不変条件(§D2.8 定義 1.1)として「MMはGGのマッチングでありM⊆EM\subseteq Eである」をとる。初期化ではM=∅M=\emptysetがマッチングであるから成り立つ。維持については、本体はM∪{e}M\cup\{e\}がマッチングである場合にだけeeを加えるので、実行後もMMはマッチングである。

停止性を示す。φ=m−∣M∣\varphi=m-\lvert M\rvertと置く。不変条件によりM⊆EM\subseteq Eであるから∣M∣≤m\lvert M\rvert\le mであり、φ\varphiは非負整数である。本体を一度実行すると∣M∣\lvert M\rvertが11増えるのでφ\varphiは狭義に減少する。§D2.8 命題 1.4により手続きは有限回で停止し、φ\varphiの初期値がmmであるから反復回数はmm以下である。

終了を確かめる。停止時にはループの継続条件が偽であり、M∪{e}M\cup\{e\}がマッチングとなる辺e∈E∖Me\in E\setminus Mは存在しない。ここでM⊊M′M\subsetneq M'を満たすマッチングM′M'が存在すると仮定し、e∈M′∖Me\in M'\setminus Mをとる。M∪{e}⊆M′M\cup\{e\}\subseteq M'であり、マッチングの部分集合はマッチングである(部分集合の相異なる二辺はもとの集合の相異なる二辺でもあるから端点を共有しない)ので、M∪{e}M\cup\{e\}はマッチングでありe∈E∖Me\in E\setminus Mである。これは継続条件が偽であることに反する。よって停止時のMMは極大なマッチングである。この形の議論が正当性を与えることは§D2.8 定理 1.2による。▨

最適値の下界は、次の補題から得られる。この補題ではマッチングの極大性を仮定しない。補題の不等式は、どのマッチングについても成り立つ。

補題 2.5. 有限単純無向グラフGGのマッチングMMと頂点被覆CCに対し∣M∣≤∣C∣\lvert M\rvert\le\lvert C\rvertが成り立つ。とくに∣M∣≤τ(G)\lvert M\rvert\le\tau(G)である。

証明.CCは頂点被覆であるから、MMの各辺eeは少なくとも一方の端点をCCにもつ。MMは有限集合であるから、各e∈Me\in MについてCCに属する端点を一つ選び、それをψ(e)\psi(e)と書く。これにより写像ψ:M→C\psi:M\to Cが定まる。

ψ\psiが単射であることを示す。e,e′∈Me,e'\in Mがe≠e′e\ne e'かつψ(e)=ψ(e′)\psi(e)=\psi(e')を満たすと仮定する。ψ(e)\psi(e)はeeの端点であり、ψ(e′)\psi(e')はe′e'の端点であるから、eeとe′e'は頂点ψ(e)\psi(e)を共有する。これはMMがマッチングであることに反する。よってψ\psiは単射であり∣M∣≤∣C∣\lvert M\rvert\le\lvert C\rvertである。

CCを頂点数が最小の頂点被覆にとると∣C∣=τ(G)\lvert C\rvert=\tau(G)であるから∣M∣≤τ(G)\lvert M\rvert\le\tau(G)を得る。▨

補題 2.6.MMを有限単純無向グラフG=(V,E)G=(V,E)の極大なマッチングとし、MMの辺の端点全体を

C(M)={v∈V: v は M のある辺の端点である}C(M)=\{v\in V:\ v\ \text{は}\ M\ \text{のある辺の端点である}\}

と置く。このときC(M)C(M)はGGの頂点被覆であり、∣C(M)∣=2∣M∣\lvert C(M)\rvert=2\lvert M\rvertが成り立つ。

証明. 頂点被覆であること。辺e=uv∈Ee=uv\in Eをとり、u∉C(M)u\notin C(M)かつv∉C(M)v\notin C(M)であると仮定する。C(M)C(M)の定め方により、MMのどの辺もuuを端点にもたず、vvも端点にもたない。したがってeeはMMのどの辺とも端点を共有しない。とくにe∉Me\notin Mである(e∈Me\in Mならばu∈C(M)u\in C(M)となる)。

M∪{e}M\cup\{e\}がマッチングであることを確かめる。M∪{e}M\cup\{e\}の相異なる二辺f,f′f,f'をとる。ともにMMに属するならば、MMがマッチングであることから端点を共有しない。一方がeeで他方がMMの辺ならば、上に述べたとおり端点を共有しない。よってM∪{e}M\cup\{e\}はマッチングであり、e∉Me\notin MよりM⊊M∪{e}M\subsetneq M\cup\{e\}である。これはMMの極大性に反する。

したがってEEのすべての辺は少なくとも一方の端点をC(M)C(M)にもち、C(M)C(M)は頂点被覆である。

頂点数。各辺e∈Me\in Mに対し、その端点の集合をι(e)\iota(e)と書く。GGは単純でありループをもたないので∣ι(e)∣=2\lvert\iota(e)\rvert=2である。C(M)=⋃e∈Mι(e)C(M)=\bigcup_{e\in M}\iota(e)である。MMの相異なる二辺は端点を共有しないので、e≠e′e\ne e'ならばι(e)∩ι(e′)=∅\iota(e)\cap\iota(e')=\emptysetである。よってこの合併は互いに交わらない集合の合併であり、和の法則(§D2.2 定理 2.1)により

∣C(M)∣=∑e∈M∣ι(e)∣=∑e∈M2=2∣M∣\lvert C(M)\rvert=\sum_{e\in M}\lvert\iota(e)\rvert=\sum_{e\in M}2=2\lvert M\rvert

である。▨

2.1 証明方針

主定理は二つの主張の組み合わせである。第一は、極大なマッチングMMの端点集合C(M)C(M)が頂点被覆であることであり、この事実は補題 2.6により得られる。証明の要点は、両端点がC(M)C(M)の外にある辺があれば、その辺をMMへ加えてもマッチングのままであり、極大性に反するという一手である。

第二は、∣C(M)∣\lvert C(M)\rvertがτ(G)\tau(G)の22倍以下であることである。∣C(M)∣=2∣M∣\lvert C(M)\rvert=2\lvert M\rvertであるから、示すべきことは∣M∣≤τ(G)\lvert M\rvert\le\tau(G)である。ここで用いるのが補題 2.5であり、その一手は「MMの辺は互いに端点を共有しないので、どの頂点被覆もそれらの辺の各々から少なくとも一つの頂点を含み、しかも相異なる辺には相異なる頂点が対応する」という単射の構成である。この一手を省くと、MMの辺数と頂点被覆の頂点数を比べる根拠が無くなる。

二つの主張を合わせると、最適値そのものを知らないまま∣C(M)∣≤2τ(G)\lvert C(M)\rvert\le2\tau(G)が従う。

定理 2.7.G=(V,E)G=(V,E)を有限単純無向グラフとし、MMをGGの極大なマッチングとする。このときC(M)C(M)はGGの頂点被覆であり

∣C(M)∣=2∣M∣ ≤ 2τ(G)\lvert C(M)\rvert=2\lvert M\rvert\ \le\ 2\tau(G)

が成り立つ。

証明.補題 2.6によりC(M)C(M)は頂点被覆であり∣C(M)∣=2∣M∣\lvert C(M)\rvert=2\lvert M\rvertである。

MMはマッチングであるから、補題 2.5により∣M∣≤τ(G)\lvert M\rvert\le\tau(G)である。両辺を22倍して2∣M∣≤2τ(G)2\lvert M\rvert\le2\tau(G)を得る。二つを合わせて主張が従う。▨

系 2.8.命題 2.4の手続きにおいて、各反復でMMへ加える辺の選び方を一つ固定する。この選び方をどのように定めても、その手続きによって極大なマッチングMMを求め、C(M)C(M)を出力するアルゴリズムは、最小頂点被覆問題に対する22-近似アルゴリズムである。

証明.命題 2.4の停止性と極大性の証明は、加えることのできる辺が複数あるときにどれを選ぶかに依存しない。よって選び方をどのように固定しても手続きは停止し、出力されるMMは極大なマッチングである。定理 2.7によりC(M)C(M)は頂点被覆、すなわち定義 2.1の意味の実行可能解であり、

costG(C(M))=∣C(M)∣≤2τ(G)=2 OPT(G)\mathrm{cost}_G\bigl(C(M)\bigr)=\lvert C(M)\rvert\le2\tau(G)=2\,\mathrm{OPT}(G)

が成り立つ。これは定義 1.2の意味でρ=2\rho=2の場合の条件である。▨

例 2.9.V={v1,v2,v3,v4}V=\{v_1,v_2,v_3,v_4\}、E={v1v2, v2v3, v3v4}E=\{v_1v_2,\ v_2v_3,\ v_3v_4\}とする。n=4n=4、m=3m=3である。

最適値。C={v2,v3}C=\{v_2,v_3\}は頂点被覆である。実際、v1v2v_1v_2はv2v_2を、v2v3v_2v_3はv2v_2を、v3v4v_3v_4はv3v_3を含む。よってτ(G)≤2\tau(G)\le2である。頂点数11の頂点被覆は存在しない。v1v2v_1v_2とv3v4v_3v_4は端点を共有しないので、一つの頂点で両方を覆うことはできないからである。よってτ(G)=2\tau(G)=2である。

第一の極大なマッチング。M1={v2v3}M_1=\{v_2v_3\}をとる。v1v2v_1v_2はv2v_2を、v3v4v_3v_4はv3v_3をM1M_1の辺と共有するので、どちらを加えてもマッチングでなくなる。よってM1M_1は極大である。C(M1)={v2,v3}C(M_1)=\{v_2,v_3\}であり∣C(M1)∣=2=2∣M1∣\lvert C(M_1)\rvert=2=2\lvert M_1\rvertである。この頂点被覆は最小であり、費用の比は2/2=12/2=1である。

第二の極大なマッチング。M2={v1v2, v3v4}M_2=\{v_1v_2,\ v_3v_4\}をとる。二辺は端点を共有しないのでマッチングであり、残る辺v2v3v_2v_3はv2v_2とv3v_3の双方を共有するので加えることができない。よってM2M_2は極大である。C(M2)={v1,v2,v3,v4}C(M_2)=\{v_1,v_2,v_3,v_4\}であり∣C(M2)∣=4=2∣M2∣\lvert C(M_2)\rvert=4=2\lvert M_2\rvertである。費用の比は4/2=24/2=2であり、定理 2.7の上界がちょうど達成される。

下界の照合。∣M1∣=1≤2=τ(G)\lvert M_1\rvert=1\le2=\tau(G)かつ∣M2∣=2≤2=τ(G)\lvert M_2\rvert=2\le2=\tau(G)であり、補題 2.5と整合する。またM2M_2は最大マッチングでありν(G)=2\nu(G)=2である。辺数33のマッチングは、相異なる66個の頂点を要するのでn=4n=4のこのグラフには存在しない。

三角形での照合。V′={u1,u2,u3}V'=\{u_1,u_2,u_3\}とし、u1u2u_1u_2、u1u3u_1u_3、u2u3u_2u_3の三辺をもつグラフを考える。M={u1u2}M=\{u_1u_2\}は極大である。u1u3u_1u_3はu1u_1を、u2u3u_2u_3はu2u_2を共有するからである。C(M)={u1,u2}C(M)=\{u_1,u_2\}であり∣C(M)∣=2\lvert C(M)\rvert=2である。一方τ=2\tau=2である。一つの頂点は三辺のうち二辺しか覆わないのでτ≥2\tau\ge2であり、{u1,u2}\{u_1,u_2\}が頂点被覆であるからτ≤2\tau\le2だからである。よってこの場合の費用の比は11である。

出力される頂点被覆は、選ぶ極大なマッチングによって変わる。上の第一と第二の例が示すとおり、辺数の小さい極大なマッチングのほうがよい頂点被覆を与えることがある。定理 2.7により、どの極大なマッチングを選んでも比が22を超えないことが保証される。

3 貪欲な集合被覆

定義 3.1. 正の整数kkに対し

Hk=∑i=1k1iH_k=\sum_{i=1}^{k}\frac1i

と定め、HkH_kを第kk調和数 (harmonic number) という。またH0=0H_0=0と定める。

定義 3.2. 空でない有限集合UU、有限添字集合JJ、UUの部分集合の族(Sj)j∈J(S_j)_{j\in J}、および正の実数の族(wj)j∈J(w_j)_{j\in J}が

⋃j∈JSj=U\bigcup_{j\in J}S_j=U

を満たすとする。UUを台集合 (universe)、UUの要素を要素 (element)、wjw_jをSjS_jの費用 (cost) という。

添字の部分集合C⊆J\mathcal C\subseteq Jが被覆 (cover) であるとは⋃j∈CSj=U\bigcup_{j\in\mathcal C}S_j=Uが成り立つことをいい、その費用をw(C)=∑j∈Cwjw(\mathcal C)=\sum_{j\in\mathcal C}w_jと定める。四つ組I=(U,J,(Sj),(wj))I=\bigl(U,J,(S_j),(w_j)\bigr)をインスタンスとし、F(I)F(I)を被覆全体、costI(C)=w(C)\mathrm{cost}_I(\mathcal C)=w(\mathcal C)と定めると、これは定義 1.1の意味の有限最小化問題である。実際、JJ自身は被覆であるからF(I)F(I)は空でなく、JJの部分集合は有限個であるからF(I)F(I)は有限集合である。この問題を重み付き集合被覆問題 (weighted set cover problem) という。

定義 3.3. 重み付き集合被覆問題のインスタンスI=(U,J,(Sj),(wj))I=\bigl(U,J,(S_j),(w_j)\bigr)に対し、次の手続きを考える。R←UR\leftarrow UおよびC←∅\mathcal C\leftarrow\emptysetとする。R≠∅R\ne\emptysetであるかぎり次を繰り返す。

Sj∩R≠∅S_j\cap R\ne\emptysetを満たすj∈Jj\in Jのうち、比

wj∣Sj∩R∣\frac{w_j}{\lvert S_j\cap R\rvert}

を最小にするものを一つ選び、それをj∗j^{*}とする。j∗j^{*}をC\mathcal Cへ加え、Sj∗∩RS_{j^{*}}\cap Rの各要素eeに対し課金額 (price) を

price(e)=wj∗∣Sj∗∩R∣\mathrm{price}(e)=\frac{w_{j^{*}}}{\lvert S_{j^{*}}\cap R\rvert}

と定める。その後R←R∖Sj∗R\leftarrow R\setminus S_{j^{*}}とする。R=∅R=\emptysetになったところでC\mathcal Cを出力する。

すなわち、選んだ集合の費用を、その集合が新しく覆う要素へ等しく分けて課金する。

命題 3.4.定義 3.3の手続きについて次が成り立つ。

  1. R≠∅R\ne\emptysetである各反復において、選ぶことのできる添字jjが存在する。
  2. 手続きは高々∣U∣\lvert U\rvert回の反復で停止する。
  3. 停止時のC\mathcal Cは被覆である。
  4. 各要素e∈Ue\in Uについて、price(e)\mathrm{price}(e)はちょうど一度だけ定まる。
  5. 停止時のC\mathcal Cについてw(C)=∑e∈Uprice(e)w(\mathcal C)=\sum_{e\in U}\mathrm{price}(e)が成り立つ。

証明.主張 (1)を示す。R≠∅R\ne\emptysetとしe∈Re\in Rをとる。R⊆U=⋃j∈JSjR\subseteq U=\bigcup_{j\in J}S_jであるからe∈Sje\in S_jを満たすj∈Jj\in Jが存在し、そのjjについてSj∩R≠∅S_j\cap R\ne\emptysetである。よって候補となる添字の集合は空でない。JJは有限集合であるから、その中で比を最小にする添字が存在する。

主張 (2)を示す。ループの状態に対して変量∣R∣\lvert R\rvertをとる。これは非負整数である。選んだj∗j^{*}についてSj∗∩R≠∅S_{j^{*}}\cap R\ne\emptysetであるから、R∖Sj∗R\setminus S_{j^{*}}はRRの真部分集合であり∣R∣\lvert R\rvertは狭義に減少する。§D2.8 命題 1.4により手続きは有限回で停止し、∣R∣\lvert R\rvertの初期値が∣U∣\lvert U\rvertであるから反復回数は∣U∣\lvert U\rvert以下である。

主張 (3)を示す。ループ不変条件(§D2.8 定義 1.1)として「R⊆UR\subseteq UかつU∖R=⋃j∈CSjU\setminus R=\bigcup_{j\in\mathcal C}S_j」をとる。初期化ではR=UR=UかつC=∅\mathcal C=\emptysetであり、両辺とも空集合である。維持については、j∗j^{*}を加えた後のC′=C∪{j∗}\mathcal C'=\mathcal C\cup\{j^{*}\}とR′=R∖Sj∗R'=R\setminus S_{j^{*}}に対し、Sj∗⊆US_{j^{*}}\subseteq Uであることから

U∖R′=U∖(R∖Sj∗)=(U∖R)∪(U∩Sj∗)=(U∖R)∪Sj∗=(⋃j∈CSj)∪Sj∗=⋃j∈C′SjU\setminus R'=U\setminus(R\setminus S_{j^{*}})=(U\setminus R)\cup(U\cap S_{j^{*}})=(U\setminus R)\cup S_{j^{*}} =\Bigl(\bigcup_{j\in\mathcal C}S_j\Bigr)\cup S_{j^{*}}=\bigcup_{j\in\mathcal C'}S_j

であり、不変条件が保たれる。停止時には継続条件が偽でありR=∅R=\emptysetであるから、不変条件よりU=⋃j∈CSjU=\bigcup_{j\in\mathcal C}S_j、すなわちC\mathcal Cは被覆である。この形の議論が正当性を与えることは§D2.8 定理 1.2による。

主張 (4)を示す。ある反復で課金される要素はSj∗∩RS_{j^{*}}\cap Rの要素であり、その反復の終わりにRRから取り除かれる。RRは反復のたびに減るだけであるから、一度取り除かれた要素は以後の反復のRRに属さず、再び課金されることはない。また 3 の停止時の条件R=∅R=\emptysetと不変条件により、すべての要素はいずれかの反復でRRから取り除かれ、そのとき課金される。よって各要素はちょうど一度課金される。

主張 (5)を示す。まず、各反復で選ばれる添字は互いに相異なる。ある反復でj∗j^{*}が選ばれると、その反復の終わりにRRからSj∗S_{j^{*}}が取り除かれてSj∗∩R=∅S_{j^{*}}\cap R=\emptysetとなり、RRは以後も減るだけであるから、j∗j^{*}が再び候補になることはないからである。したがって反復の回数は∣C∣\lvert\mathcal C\rvertに等しく、

w(C)=∑j∈Cwj=∑反復wj∗w(\mathcal C)=\sum_{j\in\mathcal C}w_j=\sum_{\text{反復}}w_{j^{*}}

である。各反復について、その反復で課金される要素の個数は∣Sj∗∩R∣\lvert S_{j^{*}}\cap R\rvertであり、各要素への課金額はwj∗/∣Sj∗∩R∣w_{j^{*}}/\lvert S_{j^{*}}\cap R\rvertであるから、その反復で課金された額の総和は

∣Sj∗∩R∣⋅wj∗∣Sj∗∩R∣=wj∗\lvert S_{j^{*}}\cap R\rvert\cdot\frac{w_{j^{*}}}{\lvert S_{j^{*}}\cap R\rvert}=w_{j^{*}}

である。反復について加え、4 により各要素がちょうど一度課金されることを用いるとw(C)=∑e∈Uprice(e)w(\mathcal C)=\sum_{e\in U}\mathrm{price}(e)を得る。▨

3.1 証明方針

近似保証は、主張 (5)によって総費用を要素への課金額の総和へ書き換え、各課金額を個別に評価することによって得られる。

要素を課金された順にe1,…,eke_1,\dots,e_k(k=∣U∣k=\lvert U\rvert)と並べる。ele_lが課金される反復の開始時に残っている集合をRlR_lと書くと、el,el+1,…,eke_l,e_{l+1},\dots,e_kはまだ課金されていないのでRlR_lに属し、∣Rl∣≥k−l+1\lvert R_l\rvert\ge k-l+1である。

次に、RlR_lをどう覆っても最適値以上の費用はかからない、という事実を用いる。最適な被覆O\mathcal Oをとると、O\mathcal OはRlR_lも覆うので、O\mathcal Oの集合の中に「費用を新しく覆う要素の個数で割った比」がOPT(I)/∣Rl∣\mathrm{OPT}(I)/\lvert R_l\rvert以下であるものが存在する。存在しないと仮定して費用を加えると、O\mathcal Oの総費用がOPT(I)\mathrm{OPT}(I)を超えるという矛盾が生じるからである。手続きはその比を最小にする添字を選ぶので、ele_lへの課金額はこの値以下である。

最後に∣Rl∣≥k−l+1\lvert R_l\rvert\ge k-l+1を代入して和をとると、係数が調和数になる。

補題 3.5. 重み付き集合被覆問題のインスタンスI=(U,J,(Sj),(wj))I=\bigl(U,J,(S_j),(w_j)\bigr)に対しk=∣U∣k=\lvert U\rvertと置く。定義 3.3の手続きで課金された順にUUの要素をe1,e2,…,eke_1,e_2,\dots,e_kと並べる(同じ反復で課金された要素どうしの順序は任意に定める)。このとき各1≤l≤k1\le l\le kについて

price(el) ≤ OPT(I)k−l+1\mathrm{price}(e_l)\ \le\ \frac{\mathrm{OPT}(I)}{k-l+1}

が成り立つ。

証明. はじめにOPT(I)>0\mathrm{OPT}(I)>0を確かめる。UUは空でないので、どの被覆C\mathcal Cも空でなく、wj>0w_j>0よりw(C)>0w(\mathcal C)>0である。よって最適値も正である。

1≤l≤k1\le l\le kを固定し、ele_lが課金された反復の開始時におけるRRの値をRlR_lと書く。

∣Rl∣≥k−l+1\lvert R_l\rvert\ge k-l+1であること。l≤l′≤kl\le l'\le kをとる。命題 3.4 (4)により各要素はちょうど一度課金され、el′e_{l'}が課金されるのはele_lが課金される反復と同じか、それより後の反復である。同じ反復ならばel′∈Sj∗∩Rl⊆Rle_{l'}\in S_{j^{*}}\cap R_l\subseteq R_lである。より後の反復ならば、その反復の開始時のRRに属し、RRは反復のたびに減るだけであるからel′∈Rle_{l'}\in R_lである。el,el+1,…,eke_l,e_{l+1},\dots,e_kは相異なるk−l+1k-l+1個の要素であるから∣Rl∣≥k−l+1\lvert R_l\rvert\ge k-l+1である。

比の小さい集合が最適な被覆の中に存在すること。O⊆J\mathcal O\subseteq Jをw(O)=OPT(I)w(\mathcal O)=\mathrm{OPT}(I)を満たす被覆とし、

Ol={j∈O: Sj∩Rl≠∅}\mathcal O_l=\{j\in\mathcal O:\ S_j\cap R_l\ne\emptyset\}

と置く。O\mathcal OはUUを覆いRl⊆UR_l\subseteq Uであるから、RlR_lの各要素は少なくとも一つのj∈Oj\in\mathcal OについてSj∩RlS_j\cap R_lに属する。したがって

∑j∈O∣Sj∩Rl∣ ≥ ∣Rl∣\sum_{j\in\mathcal O}\lvert S_j\cap R_l\rvert\ \ge\ \lvert R_l\rvert

が成り立つ。左辺はRlR_lの各要素を少なくとも一度数えているからである。Rl≠∅R_l\ne\emptysetであるから、この不等式よりOl≠∅\mathcal O_l\ne\emptysetである。

すべてのj∈Olj\in\mathcal O_lについて

wj∣Sj∩Rl∣>OPT(I)∣Rl∣\frac{w_j}{\lvert S_j\cap R_l\rvert}>\frac{\mathrm{OPT}(I)}{\lvert R_l\rvert}

が成り立つと仮定する。両辺に∣Sj∩Rl∣>0\lvert S_j\cap R_l\rvert>0を掛けるとwj>OPT(I)∣Rl∣∣Sj∩Rl∣w_j>\dfrac{\mathrm{OPT}(I)}{\lvert R_l\rvert}\lvert S_j\cap R_l\rvertである。j∈Olj\in\mathcal O_lについて加え、j∈O∖Olj\in\mathcal O\setminus\mathcal O_lについては∣Sj∩Rl∣=0\lvert S_j\cap R_l\rvert=0かつwj>0w_j>0であることを用いると

OPT(I)=∑j∈Owj ≥ ∑j∈Olwj > OPT(I)∣Rl∣∑j∈Ol∣Sj∩Rl∣=OPT(I)∣Rl∣∑j∈O∣Sj∩Rl∣ ≥ OPT(I)\mathrm{OPT}(I)=\sum_{j\in\mathcal O}w_j\ \ge\ \sum_{j\in\mathcal O_l}w_j \ >\ \frac{\mathrm{OPT}(I)}{\lvert R_l\rvert}\sum_{j\in\mathcal O_l}\lvert S_j\cap R_l\rvert =\frac{\mathrm{OPT}(I)}{\lvert R_l\rvert}\sum_{j\in\mathcal O}\lvert S_j\cap R_l\rvert \ \ge\ \mathrm{OPT}(I)

となる。ここで最後の不等号にはOPT(I)>0\mathrm{OPT}(I)>0と上で示した∑j∈O∣Sj∩Rl∣≥∣Rl∣\sum_{j\in\mathcal O}\lvert S_j\cap R_l\rvert\ge\lvert R_l\rvertを用いた。両端を比べるとOPT(I)>OPT(I)\mathrm{OPT}(I)>\mathrm{OPT}(I)となり矛盾する。よってj0∈Olj_0\in\mathcal O_lが存在して

wj0∣Sj0∩Rl∣ ≤ OPT(I)∣Rl∣\frac{w_{j_0}}{\lvert S_{j_0}\cap R_l\rvert}\ \le\ \frac{\mathrm{OPT}(I)}{\lvert R_l\rvert}

が成り立つ。

結論。ele_lが課金された反復で選ばれた添字をj∗j^{*}とする。j0j_0はSj0∩Rl≠∅S_{j_0}\cap R_l\ne\emptysetを満たすので、その反復における候補である。手続きは候補の中で比を最小にする添字を選ぶので

price(el)=wj∗∣Sj∗∩Rl∣ ≤ wj0∣Sj0∩Rl∣ ≤ OPT(I)∣Rl∣ ≤ OPT(I)k−l+1\mathrm{price}(e_l)=\frac{w_{j^{*}}}{\lvert S_{j^{*}}\cap R_l\rvert} \ \le\ \frac{w_{j_0}}{\lvert S_{j_0}\cap R_l\rvert} \ \le\ \frac{\mathrm{OPT}(I)}{\lvert R_l\rvert} \ \le\ \frac{\mathrm{OPT}(I)}{k-l+1}

である。最後の不等号は∣Rl∣≥k−l+1\lvert R_l\rvert\ge k-l+1とOPT(I)>0\mathrm{OPT}(I)>0による。▨

定理 3.6. 重み付き集合被覆問題のインスタンスI=(U,J,(Sj),(wj))I=\bigl(U,J,(S_j),(w_j)\bigr)に対しk=∣U∣k=\lvert U\rvertと置く。定義 3.3の手続きが出力する被覆C\mathcal Cについて

w(C) ≤ Hk⋅OPT(I)w(\mathcal C)\ \le\ H_k\cdot\mathrm{OPT}(I)

が成り立つ。

証明.命題 3.4 (3)によりC\mathcal Cは被覆であり、5 により

w(C)=∑e∈Uprice(e)=∑l=1kprice(el)w(\mathcal C)=\sum_{e\in U}\mathrm{price}(e)=\sum_{l=1}^{k}\mathrm{price}(e_l)

である。ここでe1,…,eke_1,\dots,e_kは補題 3.5のとおり課金された順に並べたUUの要素である。同補題を各項へ適用すると

w(C) ≤ ∑l=1kOPT(I)k−l+1=OPT(I)∑l=1k1k−l+1w(\mathcal C)\ \le\ \sum_{l=1}^{k}\frac{\mathrm{OPT}(I)}{k-l+1} =\mathrm{OPT}(I)\sum_{l=1}^{k}\frac{1}{k-l+1}

である。和の添字をi=k−l+1i=k-l+1と置き換えると、llが11からkkまで動くときiiはkkから11まで動くので

∑l=1k1k−l+1=∑i=1k1i=Hk\sum_{l=1}^{k}\frac{1}{k-l+1}=\sum_{i=1}^{k}\frac1i=H_k

である。よってw(C)≤Hk OPT(I)w(\mathcal C)\le H_k\,\mathrm{OPT}(I)を得る。▨

系 3.7. 正の整数KKを固定し、台集合の要素数がKK以下であるインスタンスだけからなる族を考える。定義 3.3の手続きにおいて、各反復で比を最小にする添字の選び方を一つ固定する。この選び方をどのように定めても、その手続きは、この族の上での重み付き集合被覆問題に対するHKH_K-近似アルゴリズムである。とくに、すべての費用が11であるインスタンスに対しては、選ばれる集合の個数が最小の被覆の集合の個数のHKH_K倍以下である。

証明.命題 3.4と補題 3.5の証明は、比を最小にする添字が複数あるときにどれを選ぶかに依存しない。よって定理 3.6は、選び方をどのように固定した場合についても成り立つ。

この族に属するインスタンスIIをとり、その台集合の要素数をkkとするとk≤Kk\le Kである。定理 3.6によりw(C)≤Hk OPT(I)w(\mathcal C)\le H_{k}\,\mathrm{OPT}(I)である。調和数はk≤Kk\le KのときHk≤HKH_{k}\le H_Kを満たす。実際、HK−Hk=∑i=k+1K1/i≥0H_K-H_{k}=\sum_{i=k+1}^{K}1/i\ge0である。よってw(C)≤HK OPT(I)w(\mathcal C)\le H_K\,\mathrm{OPT}(I)であり、定義 1.2の意味でρ=HK\rho=H_Kの場合の条件が成り立つ。

すべての費用が11である場合はw(C)=∣C∣w(\mathcal C)=\lvert\mathcal C\rvertであり、被覆の費用はその集合の個数に等しいので、最後の主張が従う。▨

例 3.8.U={e1,e2,e3}U=\{e_1,e_2,e_3\}、J={1,2,3,4}J=\{1,2,3,4\}とし、

S1={e1},S2={e2},S3={e3},S4={e1,e2,e3},S_1=\{e_1\},\quad S_2=\{e_2\},\quad S_3=\{e_3\},\quad S_4=\{e_1,e_2,e_3\},w1=13,w2=12,w3=1,w4=32w_1=\tfrac13,\quad w_2=\tfrac12,\quad w_3=1,\quad w_4=\tfrac32

とする。k=∣U∣=3k=\lvert U\rvert=3である。

最適値。被覆はUUを覆う添字の部分集合である。e1e_1を含む集合はS1S_1とS4S_4、e2e_2を含む集合はS2S_2とS4S_4、e3e_3を含む集合はS3S_3とS4S_4である。したがって被覆は、44を含むか、または1,2,31,2,3をすべて含むかのいずれかである。44を含む被覆の費用は3/23/2以上であり、{4}\{4\}で3/23/2が達成される。1,2,31,2,3をすべて含み44を含まない被覆は{1,2,3}\{1,2,3\}だけであり、その費用は1/3+1/2+1=11/61/3+1/2+1=11/6である。3/2=9/6<11/63/2=9/6<11/6であるからOPT(I)=3/2\mathrm{OPT}(I)=3/2である。

第一の反復。R={e1,e2,e3}R=\{e_1,e_2,e_3\}である。比は

w1∣S1∩R∣=1/31=13,w2∣S2∩R∣=1/21=12,w3∣S3∩R∣=11=1,w4∣S4∩R∣=3/23=12\frac{w_1}{\lvert S_1\cap R\rvert}=\frac{1/3}{1}=\frac13,\quad \frac{w_2}{\lvert S_2\cap R\rvert}=\frac{1/2}{1}=\frac12,\quad \frac{w_3}{\lvert S_3\cap R\rvert}=\frac{1}{1}=1,\quad \frac{w_4}{\lvert S_4\cap R\rvert}=\frac{3/2}{3}=\frac12

であり、最小は1/31/3でj∗=1j^{*}=1である。price(e1)=1/3\mathrm{price}(e_1)=1/3と定め、R={e2,e3}R=\{e_2,e_3\}となる。

第二の反復。比はw2/1=1/2w_2/1=1/2、w3/1=1w_3/1=1、w4/2=(3/2)/2=3/4w_4/2=(3/2)/2=3/4である。S1∩R=∅S_1\cap R=\emptysetであるから11は候補ではない。最小は1/21/2でj∗=2j^{*}=2である。price(e2)=1/2\mathrm{price}(e_2)=1/2と定め、R={e3}R=\{e_3\}となる。

第三の反復。比はw3/1=1w_3/1=1、w4/1=3/2w_4/1=3/2である。最小は11でj∗=3j^{*}=3である。price(e3)=1\mathrm{price}(e_3)=1と定め、R=∅R=\emptysetとなって手続きは停止する。

出力と検算。C={1,2,3}\mathcal C=\{1,2,3\}であり

w(C)=13+12+1=2+3+66=116w(\mathcal C)=\frac13+\frac12+1=\frac{2+3+6}{6}=\frac{11}{6}

である。課金額の総和も1/3+1/2+1=11/61/3+1/2+1=11/6であり、命題 3.4 (5)と一致する。反復回数は33であり、∣U∣=3\lvert U\rvert=3以下である。

近似保証との照合。H3=1+1/2+1/3=11/6H_3=1+1/2+1/3=11/6であるから、定理 3.6の上界はH3⋅OPT(I)=(11/6)(3/2)=11/4H_3\cdot\mathrm{OPT}(I)=(11/6)(3/2)=11/4である。実際の費用は11/611/6であり、11/6≤11/411/6\le11/4が成り立つ。費用の比は(11/6)/(3/2)=11/9(11/6)/(3/2)=11/9であり、11より大きいので、この手続きは最適解を返していない。

課金額の上界との照合。補題 3.5ではprice(el)≤OPT(I)/(k−l+1)\mathrm{price}(e_l)\le\mathrm{OPT}(I)/(k-l+1)が主張される。l=1l=1では1/3≤(3/2)/3=1/21/3\le(3/2)/3=1/2、l=2l=2では1/2≤(3/2)/2=3/41/2\le(3/2)/2=3/4、l=3l=3では1≤(3/2)/1=3/21\le(3/2)/1=3/2であり、いずれも成り立つ。

注意 3.9.定理 2.7と定理 3.6の証明は、いずれも組合せ論的な不等式だけからなり、計算量クラスに関する事実を用いていない。

二つの手続きが速いことは別に述べることができる。以下では、実数の加法、減法、乗法、除法および比較をそれぞれ11回の基本操作と数える計算模型をとる。これは§E16.18 命題 2.2で実数の加法、比較および代入について置いた約束と同じ考え方によるもので、費用の比を計算するために減法、乗法および除法を加えて数える。いずれの模型も、実数の一回の演算に要する手数を入力の表し方から切り離して数えるという仮定を含む。

命題 2.4の手続きは高々mm回の反復からなり、各反復で辺を一つずつ調べてMMへ加えることができるかどうかを判定するので、基本操作の回数はmmとnnの多項式で抑えられる。定義 3.3の手続きは高々∣U∣\lvert U\rvert回の反復からなり、各反復で高々∣J∣\lvert J\rvert個の比を計算して最小のものを選ぶので、基本操作の回数は∣U∣\lvert U\rvertと∣J∣\lvert J\rvertの多項式で抑えられる。

この評価を§D2.8 定義 4.1の多項式時間へ移すことができるかどうかは、二つの問題で事情が異なる。頂点被覆の側の入力はグラフだけであり、実数を含まない。グラフを頂点の一覧と辺の一覧で与えるならば、入力を表すのに要するビット数はn+mn+m以上である。以下、ビット1個の読み出し、書き込みおよび比較をそれぞれ 1 回のビット操作とよぶ。この手続きが実際に扱うのは頂点と辺の番号だけであり、上に数えた基本操作はいずれも、そのビット数の多項式回のビット操作で実行することができる。よってこの手続きは§D2.8 定義 4.1の意味で多項式時間である。集合被覆の側の入力は正の実数である費用wjw_jを含む。任意の実数を有限のビット列で表すことはできないので、§D2.8 定義 4.1の入力サイズをこの入力に対して定めることができず、上の評価から同定義の意味の多項式時間を結論することはできない。費用が有理数として与えられ、その表記のビット数を入力サイズに数える場合に、比の計算と比較を何回のビット操作で実行することができるかは、本記事では扱わない。

「多項式時間で動く」という語の定義は§D2.8 定義 4.1で与えられる。判定問題のクラスP\mathrm PとNP\mathrm{NP}の言語としての定義は§E18.11 定義 1.2が扱う。本記事の近似保証は、これらの定義とその周辺の未解決問題から独立に成り立つ。

4 演習

問題 4.1.

  1. 有限単純無向グラフG=(V,E)G=(V,E)と辺集合F⊆EF\subseteq Eについて、次の二条件が同値であることを示せ。第一の条件は、FFがGGのマッチングであることである。第二の条件は、グラフ(V,F)(V,F)のすべての頂点被覆CCが∣F∣≤∣C∣\lvert F\rvert\le\lvert C\rvertを満たすことである。とくに、FFがマッチングでないとき、∣C∣≤∣F∣−1\lvert C\rvert\le\lvert F\rvert-1を満たす(V,F)(V,F)の頂点被覆CCを構成せよ。
  2. 補題 2.6の証明で、極大性を最大性に置き換えたとする。すなわちMMが最大マッチングであるという仮定のもとで、同じ結論が得られるかどうかを判定し、得られる場合はその証明を書き、得られない場合は反例を与えよ。
  3. 定理 2.7の上界2τ(G)2\tau(G)がちょうど達成されるグラフの無限族を一つ作り、その族の各要素について∣C(M)∣=2τ(G)\lvert C(M)\rvert=2\tau(G)を満たす極大なマッチングMMが存在することを証明せよ。さらに、頂点数が2r2r(r≥2r\ge2)の完全グラフではこの上界が達成されないことを、その最小頂点被覆の頂点数を求めることによって示せ。
  4. 整数k≥2k\ge2と、0<ε<Hk−10<\varepsilon<H_k-1を満たす実数ε\varepsilonをとる。U={u1,…,uk}U=\{u_1,\dots,u_k\}、J={0,1,…,k}J=\{0,1,\dots,k\}、S0=US_0=U、w0=1+εw_0=1+\varepsilonとし、1≤i≤k1\le i\le kについてSi={ui}S_i=\{u_i\}、wi=1/iw_i=1/iとする。このインスタンスに定義 3.3の手続きを適用すると、各反復で比を最小にする添字がただ一つに定まり、出力C\mathcal Cの費用がHkH_kに等しいこと、およびOPT(I)=1+ε\mathrm{OPT}(I)=1+\varepsilonであることを示せ。これを用いて、整数K≥2K\ge2とρ<HK\rho<H_Kを満たす実数ρ\rhoに対し、この手続きは台集合の要素数がKK以下であるインスタンスの族の上でρ\rho-近似アルゴリズムでないことを示せ。
  5. 定義 3.2の費用wjw_jが正であるという条件を、非負であるという条件に弱める。すなわち、wj=0w_j=0である集合を許す。このインスタンスに対しても定義 3.3の手続きは同じく定まる。このとき補題 3.5と定理 3.6の結論が成り立つことを示せ。最適値が00である場合も含める。
  6. 定義 3.3の手続きにおいて、比を最小にする添字ではなく∣Sj∩R∣\lvert S_j\cap R\rvertを最大にする添字を選ぶ規則に変えたとする。この規則のもとで定理 3.6と同じ形の近似保証が成り立つかどうかを判定し、成り立たないならば、費用の比がHkH_kを超える重み付きインスタンスを構成せよ。
  7. 正の整数ddをとり、すべてのj∈Jj\in Jについて∣Sj∣≤d\lvert S_j\rvert\le dである重み付き集合被覆問題のインスタンスを考える。定義 3.3の手続きの出力C\mathcal Cがw(C)≤Hd OPT(I)w(\mathcal C)\le H_d\,\mathrm{OPT}(I)を満たすことを、各j∈Jj\in JについてSjS_jの要素の課金額の総和がH∣Sj∣wjH_{\lvert S_j\rvert}w_j以下であることを示して証明せよ。
解答.

(1)を示す。H=(V,F)H=(V,F)と置く。HHは有限単純無向グラフであり、FFがGGのマッチングであることとFFがHHのマッチングであることは、ともに「FFの相異なる二辺が端点を共有しない」ことを意味するので同値である。

第一の条件から第二の条件を導く。FFがマッチングであるとし、CCをHHの頂点被覆とする。補題 2.5を、グラフHH、マッチングFF、頂点被覆CCに対して適用すると∣F∣≤∣C∣\lvert F\rvert\le\lvert C\rvertである。

第二の条件から第一の条件を、対偶によって導く。FFがマッチングでないとすると、相異なる二辺e,e′∈Fe,e'\in Fであって端点xxを共有するものが存在する。F∖{e,e′}F\setminus\{e,e'\}の各辺ffについて、その端点を一つ選びφ(f)\varphi(f)と書く。

C={x}∪{φ(f): f∈F∖{e,e′}}C=\{x\}\cup\{\varphi(f):\ f\in F\setminus\{e,e'\}\}

と置く。eeとe′e'は端点xxをCCにもち、F∖{e,e′}F\setminus\{e,e'\}の各辺ffは端点φ(f)\varphi(f)をCCにもつので、CCはHHの頂点被覆である。e≠e′e\ne e'であるから∣F∖{e,e′}∣=∣F∣−2\lvert F\setminus\{e,e'\}\rvert=\lvert F\rvert-2であり、CCは高々1+(∣F∣−2)1+(\lvert F\rvert-2)個の元からなるので

∣C∣ ≤ ∣F∣−1 < ∣F∣\lvert C\rvert\ \le\ \lvert F\rvert-1\ <\ \lvert F\rvert

である。したがって第二の条件は成り立たない。以上により、二条件は同値である。たとえば、頂点x,y1,y2,y3x,y_1,y_2,y_3と辺xy1,xy2,xy3xy_1,xy_2,xy_3からなるグラフでFFを三辺の全体とすると、FFはマッチングでなく、{x}\{x\}は(V,F)(V,F)の頂点被覆であって∣{x}∣=1<3=∣F∣\lvert\{x\}\rvert=1<3=\lvert F\rvertである。

(2)では、同じ結論が得られる。MMをGGの最大マッチングとする。注意 2.3によりMMは極大なマッチングであるから、補題 2.6によりC(M)C(M)は頂点被覆であり∣C(M)∣=2∣M∣\lvert C(M)\rvert=2\lvert M\rvertである。極大性の代わりに最大性を用いて直接書くこともできる。辺e=uv∈Ee=uv\in Eについてu∉C(M)u\notin C(M)かつv∉C(M)v\notin C(M)と仮定すると、本文と同じ議論によりe∉Me\notin Mであり、M∪{e}M\cup\{e\}はマッチングである。∣M∪{e}∣=∣M∣+1\lvert M\cup\{e\}\rvert=\lvert M\rvert+1であるから、この仮定はMMの辺数が最大であることに反する。よってC(M)C(M)は頂点被覆である。頂点数の段はMMがマッチングであることだけを用いるので、最大マッチングについてもそのまま成り立つ。

(3)では、正の整数rrに対し、頂点v1,…,v2rv_1,\dots,v_{2r}と辺vivi+1v_iv_{i+1}(1≤i≤2r−11\le i\le2r-1)からなる道GrG_rの族をとる。r=2r=2のとき、G2G_2は例 2.9のグラフである。Mr={v2i−1v2i: 1≤i≤r}M_r=\{v_{2i-1}v_{2i}:\ 1\le i\le r\}と置く。i≠i′i\ne i'ならば{v2i−1,v2i}\{v_{2i-1},v_{2i}\}と{v2i′−1,v2i′}\{v_{2i'-1},v_{2i'}\}は交わらないので、MrM_rはマッチングである。MrM_rに属さない辺はv2iv2i+1v_{2i}v_{2i+1}(1≤i≤r−11\le i\le r-1)の形をしている。Mr⊊M′M_r\subsetneq M'を満たすマッチングM′M'が存在すると仮定し、e∈M′∖Mre\in M'\setminus M_rをとると、e=v2iv2i+1e=v_{2i}v_{2i+1}とv2i−1v2i∈M′v_{2i-1}v_{2i}\in M'はM′M'の相異なる二辺であって頂点v2iv_{2i}を共有するので、M′M'がマッチングであることに反する。よってMrM_rは極大である。C(Mr)C(M_r)は全頂点の集合であり、∣C(Mr)∣=2r\lvert C(M_r)\rvert=2rである。一方、{v2,v4,…,v2r}\{v_2,v_4,\dots,v_{2r}\}は頂点被覆である。辺vivi+1v_iv_{i+1}の添字iiとi+1i+1の一方は偶数だからである。よってτ(Gr)≤r\tau(G_r)\le rである。補題 2.5によりr=∣Mr∣≤τ(Gr)r=\lvert M_r\rvert\le\tau(G_r)であるからτ(Gr)=r\tau(G_r)=rであり、∣C(Mr)∣=2r=2τ(Gr)\lvert C(M_r)\rvert=2r=2\tau(G_r)が成り立つ。

r≥2r\ge2とし、頂点数2r2rの完全グラフK2rK_{2r}の頂点集合をVVとする。τ(K2r)=2r−1\tau(K_{2r})=2r-1であることを示す。頂点x∈Vx\in Vをとると、V∖{x}V\setminus\{x\}は頂点被覆である。辺uvuvではu≠vu\ne vであるから、uuとvvの少なくとも一方はxxと異なり、V∖{x}V\setminus\{x\}に属するからである。よってτ(K2r)≤2r−1\tau(K_{2r})\le2r-1である。逆に、頂点数が2r−22r-2以下の頂点集合CCをとると、CCに属さない相異なる頂点u,vu,vが存在し、完全グラフであるからuvuvは辺である。この辺はどちらの端点もCCにもたないので、CCは頂点被覆でない。よってτ(K2r)=2r−1\tau(K_{2r})=2r-1である。K2rK_{2r}の任意の極大なマッチングMMについてC(M)⊆VC(M)\subseteq Vであるから∣C(M)∣≤2r\lvert C(M)\rvert\le2rであり、r≥2r\ge2より

2τ(K2r)−2r=(4r−2)−2r=2r−2 ≥ 22\tau(K_{2r})-2r=(4r-2)-2r=2r-2\ \ge\ 2

であるから∣C(M)∣<2τ(K2r)\lvert C(M)\rvert<2\tau(K_{2r})である。よってK2rK_{2r}では定理 2.7の上界は、どの極大なマッチングについても達成されない。

(4)を示す。⋃j∈JSj=U\bigcup_{j\in J}S_j=Uであり、費用はすべて正であるから、これは重み付き集合被覆問題のインスタンスIIである。

手続きの実行。1≤t≤k1\le t\le kについて、第tt回の反復の開始時にR={u1,…,um}R=\{u_1,\dots,u_{m}\}(m=k−t+1m=k-t+1)、C={m+1,…,k}\mathcal C=\{m+1,\dots,k\}であることをttについての帰納法で示し、同時に第tt回の反復で選ばれる添字がmmだけであることを示す。t=1t=1のときはR=UR=U、C=∅\mathcal C=\emptysetである。第tt回の反復の開始時に主張の形であるとする。Sj∩R≠∅S_j\cap R\ne\emptysetを満たす添字は00と1,…,m1,\dots,mであり、比は

w0∣S0∩R∣=1+εm,wi∣Si∩R∣=1i(1≤i≤m)\frac{w_0}{\lvert S_0\cap R\rvert}=\frac{1+\varepsilon}{m},\qquad \frac{w_i}{\lvert S_i\cap R\rvert}=\frac1i\quad(1\le i\le m)

である。1≤i<m1\le i<mならば1/i>1/m1/i>1/mであり、ε>0\varepsilon>0より(1+ε)/m>1/m(1+\varepsilon)/m>1/mであるから、比を最小にする添字はmmだけである。手続きはmmをC\mathcal Cへ加え、price(um)=1/m\mathrm{price}(u_m)=1/mと定め、RRを{u1,…,um−1}\{u_1,\dots,u_{m-1}\}に替える。これは第t+1t+1回の反復の開始時の主張の形である。t=kt=kの反復の後にR=∅R=\emptysetとなって手続きは停止し、出力はC={1,…,k}\mathcal C=\{1,\dots,k\}である。その費用は∑i=1k1/i=Hk\sum_{i=1}^{k}1/i=H_kである。

最適値。1≤i≤k1\le i\le kについて、uiu_iを含む集合はS0S_0とSiS_iだけである。したがって被覆は、00を含むか、1,…,k1,\dots,kをすべて含む。00を含む被覆の費用はw0=1+εw_0=1+\varepsilon以上であり、{0}\{0\}は費用1+ε1+\varepsilonの被覆である。00を含まない被覆は{1,…,k}\{1,\dots,k\}だけであり、その費用はHkH_kである。ε<Hk−1\varepsilon<H_k-1より1+ε<Hk1+\varepsilon<H_kであるから、OPT(I)=1+ε\mathrm{OPT}(I)=1+\varepsilonである。したがって費用の比はHk/(1+ε)H_k/(1+\varepsilon)である。また、ll番目に課金される要素はuk−l+1u_{k-l+1}であり、その課金額1/(k−l+1)1/(k-l+1)は補題 3.5の上界(1+ε)/(k−l+1)(1+\varepsilon)/(k-l+1)の1/(1+ε)1/(1+\varepsilon)倍である。

近似比の下限。整数K≥2K\ge2とρ<HK\rho<H_Kを満たす実数ρ\rhoをとる。ρ≤0\rho\le0のときは、上のインスタンスでHK>0≥ρ OPT(I)H_K>0\ge\rho\,\mathrm{OPT}(I)であるから、ρ\rho-近似アルゴリズムの条件は成り立たない。ρ>0\rho>0のときは、HK/ρ>1H_K/\rho>1であり、H2=3/2H_2=3/2とK≥2K\ge2よりHK−1>0H_K-1>0であるから、

0<ε<min⁡{HK−1, HKρ−1}0<\varepsilon<\min\Bigl\{H_K-1,\ \frac{H_K}{\rho}-1\Bigr\}

を満たす実数ε\varepsilonをとることができる。k=Kk=Kとしてこのε\varepsilonによる上のインスタンスをとると、台集合の要素数はKKであり、1+ε<HK/ρ1+\varepsilon<H_K/\rhoより

w(C)=HK>ρ (1+ε)=ρ OPT(I)w(\mathcal C)=H_K>\rho\,(1+\varepsilon)=\rho\,\mathrm{OPT}(I)

である。ゆえに、この手続きはこの族の上でρ\rho-近似アルゴリズムでない。各反復で比を最小にする添字がただ一つであるから、この結論は比が等しい添字の選び方によらない。系 3.7とあわせると、HKH_Kはこの族の上でこの手続きが満たす近似比の最小値である。

(5)を示す。JJは有限集合であるから、定義 3.3の各反復で比を最小にする添字は存在し、命題 3.4の証明は費用の正値性を用いないので、その五つの主張は費用が非負の場合にも成り立つ。また、JJ自身が被覆であり被覆は有限個であるから最適値OPT(I)\mathrm{OPT}(I)が存在し、どの被覆の費用も非負の数の和であるからOPT(I)≥0\mathrm{OPT}(I)\ge0である。課金額は非負の費用を正の整数で割った値であるから非負である。

k=∣U∣k=\lvert U\rvertと置き、要素を課金された順にe1,…,eke_1,\dots,e_kと並べる。1≤l≤k1\le l\le kを固定し、ele_lが課金された反復の開始時のRRをRlR_lと書く。l≤l′≤kl\le l'\le kについて、el′e_{l'}はele_lと同じ反復か、それより後の反復で課金される。同じ反復ならばel′∈Sj∗∩Rl⊆Rle_{l'}\in S_{j^{*}}\cap R_l\subseteq R_lであり、より後の反復ならばel′e_{l'}はその反復の開始時のRRに属し、RRは反復のたびに減るだけであるからel′∈Rle_{l'}\in R_lである。よって∣Rl∣≥k−l+1\lvert R_l\rvert\ge k-l+1である。

O\mathcal Oをw(O)=OPT(I)w(\mathcal O)=\mathrm{OPT}(I)を満たす被覆とし、j∈Oj\in\mathcal Oについてsj=∣Sj∩Rl∣s_j=\lvert S_j\cap R_l\rvertと置き、Ol={j∈O: sj≥1}\mathcal O_l=\{j\in\mathcal O:\ s_j\ge1\}と置く。O\mathcal OはRl⊆UR_l\subseteq Uを覆うので、RlR_lの各要素は少なくとも一つのj∈Oj\in\mathcal OについてSj∩RlS_j\cap R_lに属し、∑j∈Osj≥∣Rl∣≥1\sum_{j\in\mathcal O}s_j\ge\lvert R_l\rvert\ge1である。とくにOl\mathcal O_lは空でない。Ol\mathcal O_lの中で比wj/sjw_j/s_jを最小にするj0j_0をとり、β=wj0/sj0\beta=w_{j_0}/s_{j_0}と置くと、β≥0\beta\ge0であり、各j∈Olj\in\mathcal O_lについてwj≥βsjw_j\ge\beta s_jである。j∈O∖Olj\in\mathcal O\setminus\mathcal O_lについてwj≥0w_j\ge0かつsj=0s_j=0であることを用いると

OPT(I)=∑j∈Owj ≥ ∑j∈Olwj ≥ β∑j∈Olsj=β∑j∈Osj ≥ β ∣Rl∣\mathrm{OPT}(I)=\sum_{j\in\mathcal O}w_j\ \ge\ \sum_{j\in\mathcal O_l}w_j\ \ge\ \beta\sum_{j\in\mathcal O_l}s_j=\beta\sum_{j\in\mathcal O}s_j\ \ge\ \beta\,\lvert R_l\rvert

である。最後の不等号ではβ≥0\beta\ge0を用いた。ゆえにβ≤OPT(I)/∣Rl∣\beta\le\mathrm{OPT}(I)/\lvert R_l\rvertである。ele_lが課金された反復で選ばれた添字をj∗j^{*}とする。j0j_0はSj0∩Rl≠∅S_{j_0}\cap R_l\ne\emptysetを満たすのでその反復の候補であり、手続きは比を最小にする添字を選ぶので、OPT(I)≥0\mathrm{OPT}(I)\ge0と∣Rl∣≥k−l+1\lvert R_l\rvert\ge k-l+1により

price(el)=wj∗∣Sj∗∩Rl∣ ≤ β ≤ OPT(I)∣Rl∣ ≤ OPT(I)k−l+1\mathrm{price}(e_l)=\frac{w_{j^{*}}}{\lvert S_{j^{*}}\cap R_l\rvert}\ \le\ \beta\ \le\ \frac{\mathrm{OPT}(I)}{\lvert R_l\rvert}\ \le\ \frac{\mathrm{OPT}(I)}{k-l+1}

である。これは補題 3.5の結論である。この議論は背理法を用いず、比の最小値が比の重み付き平均∑j∈Olwj/∑j∈Olsj\sum_{j\in\mathcal O_l}w_j/\sum_{j\in\mathcal O_l}s_j以下であることを直接用いている。

命題 3.4 (5)によりw(C)=∑l=1kprice(el)w(\mathcal C)=\sum_{l=1}^{k}\mathrm{price}(e_l)であるから、上の不等式をllについて加え、添字をi=k−l+1i=k-l+1と置き換えると

w(C) ≤ OPT(I)∑l=1k1k−l+1=Hk OPT(I)w(\mathcal C)\ \le\ \mathrm{OPT}(I)\sum_{l=1}^{k}\frac{1}{k-l+1}=H_k\,\mathrm{OPT}(I)

を得る。これは定理 3.6の結論である。

最適値が00の場合には、各llについて0≤price(el)≤00\le\mathrm{price}(e_l)\le0であるから、すべての課金額は00であり、w(C)=0=OPT(I)w(\mathcal C)=0=\mathrm{OPT}(I)である。すなわち、このとき手続きは最適な被覆を出力する。

(6)では、同じ形の近似保証は成り立たない。整数k≥2k\ge2に対し、U={e1,…,ek}U=\{e_1,\dots,e_k\}、J={0,1,…,k}J=\{0,1,\dots,k\}、S0=US_0=U、w0=k(k+1)w_0=k(k+1)、1≤i≤k1\le i\le kについてSi={ei}S_i=\{e_i\}、wi=1w_i=1とする。⋃j∈JSj=U\bigcup_{j\in J}S_j=Uであり、費用はすべて正であるから、これは重み付き集合被覆問題のインスタンスである。変更した規則による第一の反復ではR=UR=Uであり、∣S0∩R∣=k\lvert S_0\cap R\rvert=k、1≤i≤k1\le i\le kについて∣Si∩R∣=1<k\lvert S_i\cap R\rvert=1<kであるから、選ばれる添字は00だけである。その反復の終わりにR=∅R=\emptysetとなり、出力はC={0}\mathcal C=\{0\}、その費用はk(k+1)k(k+1)である。一方、eie_iを含む集合はS0S_0とSiS_iだけであるから、被覆は00を含むか、1,…,k1,\dots,kをすべて含む。00を含む被覆の費用はk(k+1)k(k+1)以上であり、{1,…,k}\{1,\dots,k\}は費用kkの被覆であるから、OPT(I)=k\mathrm{OPT}(I)=kである。費用の比はk(k+1)/k=k+1k(k+1)/k=k+1であり、各項が11以下であることからHk≤k<k+1H_k\le k<k+1である。よってw(C)≤Hk OPT(I)w(\mathcal C)\le H_k\,\mathrm{OPT}(I)は成り立たない。さらにw0w_0を任意のW>kW>kに替えるとOPT(I)=k\mathrm{OPT}(I)=kのまま比はW/kW/kになるので、変更した規則では、kkだけに依存するどのような係数による近似保証も成り立たない。変更した規則は添字を選ぶときに費用を参照しないからである。

(7)を示す。正の整数ddをとり、すべてのj∈Jj\in Jについて∣Sj∣≤d\lvert S_j\rvert\le dであるとする。このとき定義 3.3の手続きの出力C\mathcal Cについてw(C)≤Hd OPT(I)w(\mathcal C)\le H_d\,\mathrm{OPT}(I)が成り立つ。本文の議論では、各要素の課金額を最適な被覆O\mathcal O全体と比べてOPT(I)/∣Rl∣\mathrm{OPT}(I)/\lvert R_l\rvertで抑えた。ここでは比べる相手をO\mathcal Oの中の一つの集合SjS_jに替え、SjS_jの要素の課金額の総和をH∣Sj∣wjH_{\lvert S_j\rvert}w_jで抑えてから、j∈Oj\in\mathcal Oについて加える。

まず、j∈Jj\in Jを固定し、t=∣Sj∣t=\lvert S_j\rvertと置く。t≥1t\ge1のとき、SjS_jの要素を課金された順にa1,…,ata_1,\dots,a_tと並べる(同じ反復で課金された要素どうしの順序は任意に定める)。1≤λ≤t1\le\lambda\le tについて、aλa_\lambdaが課金される反復の開始時のRRをR′R'と書く。λ≤λ′≤t\lambda\le\lambda'\le tをとると、aλ′a_{\lambda'}が課金されるのはaλa_\lambdaと同じ反復か、それより後の反復である。同じ反復ならばaλ′∈Sj∗∩R′⊆R′a_{\lambda'}\in S_{j^{*}}\cap R'\subseteq R'である。より後の反復ならば、aλ′a_{\lambda'}はその反復の開始時のRRに属し、RRは反復のたびに減るだけであるからaλ′∈R′a_{\lambda'}\in R'である。よってaλ,…,ata_\lambda,\dots,a_tはすべてSj∩R′S_j\cap R'に属し、∣Sj∩R′∣≥t−λ+1≥1\lvert S_j\cap R'\rvert\ge t-\lambda+1\ge1である。したがってjjはその反復における候補であり、手続きは候補の中で比を最小にする添字j∗j^{*}を選ぶので

price(aλ)=wj∗∣Sj∗∩R′∣ ≤ wj∣Sj∩R′∣ ≤ wjt−λ+1\mathrm{price}(a_\lambda)=\frac{w_{j^{*}}}{\lvert S_{j^{*}}\cap R'\rvert}\ \le\ \frac{w_j}{\lvert S_j\cap R'\rvert}\ \le\ \frac{w_j}{t-\lambda+1}

である。λ=1,…,t\lambda=1,\dots,tについて加え、定理 3.6の証明と同じ添字の置き換えを行うと

∑e∈Sjprice(e) ≤ wj∑λ=1t1t−λ+1=Ht wj\sum_{e\in S_j}\mathrm{price}(e)\ \le\ w_j\sum_{\lambda=1}^{t}\frac{1}{t-\lambda+1}=H_t\,w_j

を得る。t=0t=0のときは両辺とも00であり、H0=0H_0=0によりこの不等式は成り立つ。

次に、O\mathcal Oをw(O)=OPT(I)w(\mathcal O)=\mathrm{OPT}(I)を満たす被覆とする。UUの各要素はあるj∈Oj\in\mathcal OについてSjS_jに属し、課金額はすべて正であるから

∑e∈Uprice(e) ≤ ∑j∈O∑e∈Sjprice(e) ≤ ∑j∈OH∣Sj∣ wj\sum_{e\in U}\mathrm{price}(e)\ \le\ \sum_{j\in\mathcal O}\sum_{e\in S_j}\mathrm{price}(e)\ \le\ \sum_{j\in\mathcal O}H_{\lvert S_j\rvert}\,w_j

である。∣Sj∣≤d\lvert S_j\rvert\le dであるから、系 3.7の証明と同じくHd−H∣Sj∣=∑i=∣Sj∣+1d1/i≥0H_d-H_{\lvert S_j\rvert}=\sum_{i=\lvert S_j\rvert+1}^{d}1/i\ge0である。wj>0w_j>0と合わせると、右辺はHd∑j∈Owj=Hd OPT(I)H_d\sum_{j\in\mathcal O}w_j=H_d\,\mathrm{OPT}(I)以下である。最後に命題 3.4 (5)によりw(C)=∑e∈Uprice(e)w(\mathcal C)=\sum_{e\in U}\mathrm{price}(e)であるから、w(C)≤Hd OPT(I)w(\mathcal C)\le H_d\,\mathrm{OPT}(I)を得る。各集合はUUの部分集合であるから、d<∣U∣d<\lvert U\rvertのときHd<H∣U∣H_d<H_{\lvert U\rvert}であり、この保証は定理 3.6より強い。▨

注意 4.2. 頂点に重みが付いた頂点被覆、線形計画の緩和と丸めによる近似、および近似スキームは、本記事では扱っていない。

参考文献

  1. Vijay V. Vazirani, Approximation Algorithms, Springer, Berlin, 2001.極大マッチングによる頂点被覆の 2 近似と、貪欲な集合被覆の要素への課金による調和数の解析を参考にした。
  2. David P. Williamson and David B. Shmoys, The Design of Approximation Algorithms, Cambridge University Press, 2011.近似比の定義、下界としての緩和の使い方、および貪欲な集合被覆の費用配分の議論を参考にした。
  3. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to Algorithms, 4th ed., MIT Press, Cambridge, Massachusetts, 2022.頂点被覆と集合被覆に対する近似アルゴリズムの定式化を参考にした。

前提記事