§E13.17マトロイドと貪欲法

最終更新

前の二つの記事で定めたマトロイドは、独立性という条件だけをもつ抽象的な構造である。本記事は、その構造が最適化のアルゴリズムと正確に対応することを示す。台集合の各元に非負の重みを与え、重みの大きい元から順に見て、独立性が保たれるかぎり採用するという単純な手続きを考える。この手続きは、対象がマトロイドであれば必ず重み最大の独立集合を出力する。

さらに逆が成り立つ。遺伝性だけをもつ有限な集合族に対して、すべての非負重みとすべての同順位の処理順で同じ手続きが正しい答えを出すならば、その集合族は増大公理を満たす。すなわち貪欲な手続きの正当性は、マトロイドであることと同値である。本記事はこの二つの向きを証明する。

以下、マトロイドについては§E13.15 定義 1.1、基底については§E13.15 定義 2.1の定義を用いる。アルゴリズムの正当性は§D2.8 定義 1.1と§D2.8 定理 1.2、停止性は§D2.8 命題 1.4の枠組みで扱う。

1 独立集合系と重み

定義 1.1. 有限集合EEとI⊆2E\mathcal I\subseteq 2^{E}の組(E,I)(E,\mathcal I)が有限独立集合系 (finite independence system) であるとは、次の二条件を満たすことをいう。

  1. (I1)∅∈I\emptyset\in\mathcal I。
  2. (I2)A∈IA\in\mathcal IかつB⊆AB\subseteq AならばB∈IB\in\mathcal I。

有限独立集合系においても、包含に関して極大なI\mathcal Iの元を基底 (basis) とよぶ。

有限独立集合系とは、§E13.15 定義 1.1の三条件のうち増大公理§E13.15 定義 1.1 条件 (c)を要求しないものである。したがってマトロイドはつねに有限独立集合系である。一般の有限独立集合系では、基底の濃度は一つに定まらない。濃度が一つに定まることは§E13.15 命題 2.3が保証する性質であり、そこでは増大公理を用いている。

定義 1.2. 有限集合EE上の関数w:E→[0,∞)w:E\to[0,\infty)を非負重み (nonnegative weight) という。A⊆EA\subseteq Eに対しw(A)=∑x∈Aw(x)w(A)=\sum_{x\in A}w(x)をAAの重み (weight) という。空集合の重みは00と定める。

2 貪欲アルゴリズム

定義 2.1. 有限独立集合系(E,I)(E,\mathcal I)と非負重みw:E→[0,∞)w:E\to[0,\infty)を入力とする。n=∣E∣n=\lvert E\rvertと置き、EEの元の並べ方e1,e2,…,ene_1,e_2,\dots,e_nであってw(e1)≥w(e2)≥⋯≥w(en)w(e_1)\ge w(e_2)\ge\dots\ge w(e_n)を満たすものを一つ選ぶ。同じ重みをもつ元の間の順序は任意であり、この選び方を処理順 (processing order) という。次の手続きを貪欲アルゴリズム (greedy algorithm) という。

I0←∅;i←1;I_0\leftarrow\emptyset;\qquad i\leftarrow1;while i≤n do ( Ii←Ii−1∪{ei} (Ii−1∪{ei}∈I のとき),Ii←Ii−1 (それ以外);i←i+1 );\textbf{while }i\le n\textbf{ do }\Bigl(\ I_i\leftarrow I_{i-1}\cup\{e_i\}\ \text{(}I_{i-1}\cup\{e_i\}\in\mathcal I\text{ のとき)},\quad I_i\leftarrow I_{i-1}\ \text{(それ以外)};\quad i\leftarrow i+1\ \Bigr);return In.\textbf{return }I_n.

出力InI_nを、この処理順に対する貪欲解 (greedy solution) という。独立性の判定Ii−1∪{ei}∈II_{i-1}\cup\{e_i\}\in\mathcal Iは一回の基本操作として数える。

命題 2.2.定義 2.1の貪欲アルゴリズムは、任意の有限独立集合系と任意の非負重みに対して有限回の反復で停止し、出力InI_nは(E,I)(E,\mathcal I)の基底である。

証明. 停止性. 変量V=n+1−iV=n+1-iを取る。i≤ni\le nのとき本体を実行するとiiが11増えるからVVは狭義に減少し、i≤ni\le nのあいだV≥1≥0V\ge1\ge0である。§D2.8 命題 1.4より手続きは有限回で停止し、停止時にはi=n+1i=n+1である。

不変条件. 述語PPを「Ii∈II_i\in\mathcal Iが成り立つ」と定める。初期化ではI0=∅I_0=\emptysetであり定義 1.1 条件 (a)よりPPが成り立つ。維持では、Ii=Ii−1∪{ei}I_i=I_{i-1}\cup\{e_i\}と更新する場合は条件Ii−1∪{ei}∈II_{i-1}\cup\{e_i\}\in\mathcal Iが成り立つときに限られ、Ii=Ii−1I_i=I_{i-1}と更新する場合は帰納法の仮定からIi∈II_i\in\mathcal Iが従う。ゆえにPPは§D2.8 定義 1.1の意味でのループ不変条件であり、§D2.8 定理 1.2より停止時にIn∈II_n\in\mathcal Iが成り立つ。

極大性.InI_nが包含に関して極大でないと仮定する。x∈E∖Inx\in E\setminus I_nが存在してIn∪{x}∈II_n\cup\{x\}\in\mathcal Iとなる。x=eix=e_iと書く。手続きはI0⊆I1⊆⋯⊆InI_0\subseteq I_1\subseteq\dots\subseteq I_nを満たすからIi−1⊆InI_{i-1}\subseteq I_nであり、Ii−1∪{ei}⊆In∪{x}∈II_{i-1}\cup\{e_i\}\subseteq I_n\cup\{x\}\in\mathcal Iであるから定義 1.1 条件 (b)よりIi−1∪{ei}∈II_{i-1}\cup\{e_i\}\in\mathcal Iである。ゆえに第ii反復でeie_iが採用されei∈Ii⊆Ine_i\in I_i\subseteq I_nとなるが、x=ei∉Inx=e_i\notin I_nに反する。ゆえにInI_nは極大であり、基底である。▨

3 貪欲アルゴリズムの最適性

3.1 証明方針

貪欲解GGの元を採用した順にg1,g2,…,grg_1,g_2,\dots,g_rと並べる。処理順が重みについて単調非増加であるから、この並びも重みについて単調非増加である。比較の相手となる独立集合AAの元も重みの降順にa1,…,asa_1,\dots,a_sと並べる。

示すべき中間目標は、各添字jjについてw(gj)≥w(aj)w(g_j)\ge w(a_j)が成り立つことである。これが得られれば、s≤rs\le rと重みの非負性からw(A)≤w(G)w(A)\le w(G)が従う。

中間目標は背理法で示す。w(gj)<w(aj)w(g_j)<w(a_j)を満たすjjが存在したとする。貪欲解の最初のj−1j-1個からなる集合{g1,…,gj−1}\{g_1,\dots,g_{j-1}\}と、AAの最初のjj個からなる集合{a1,…,aj}\{a_1,\dots,a_j\}は、いずれも独立であり濃度がj−1j-1とjjである。ここで増大公理§E13.15 定義 1.1 条件 (c)を適用すると、後者の元xxであって前者に加えても独立性が保たれるものが得られる。このxxの重みはw(aj)w(a_j)以上であるからw(gj)w(g_j)より真に大きく、したがってxxは処理順でgjg_jより前に現れる。xxを走査した時点での部分解は{g1,…,gj−1}\{g_1,\dots,g_{j-1}\}に含まれるので、遺伝性によりxxは採用されていたはずである。ところがxxは{g1,…,gj−1}\{g_1,\dots,g_{j-1}\}に属さないので矛盾する。増大公理を適用する位置と、重みの大小から処理順の前後を導く位置が、この証明の二つの要点である。

補題 3.1.M=(E,I)M=(E,\mathcal I)をマトロイド、w:E→[0,∞)w:E\to[0,\infty)を定義 1.2の意味の非負重みとし、処理順を一つ固定する。貪欲解GGの元を採用した順にg1,…,grg_1,\dots,g_rと書く。A∈IA\in\mathcal Iを任意に取り、その元を重みの降順にa1,…,asa_1,\dots,a_sと並べる。このときs≤rs\le rであり、1≤j≤s1\le j\le sを満たす任意のjjに対しw(gj)≥w(aj)w(g_j)\ge w(a_j)が成り立つ。

証明. まずw(g1)≥w(g2)≥⋯≥w(gr)w(g_1)\ge w(g_2)\ge\dots\ge w(g_r)が成り立つ。実際、gjg_jは処理順における添字がgj+1g_{j+1}より小さい位置で採用されるから、処理順の重みが単調非増加であることよりw(gj)≥w(gj+1)w(g_j)\ge w(g_{j+1})である。

s≤rs\le rを示す。命題 2.2よりGGは基底であり、§E13.15 系 2.4より任意の独立集合の濃度は基底の濃度以下であるからs=∣A∣≤∣G∣=rs=\lvert A\rvert\le\lvert G\rvert=rである。

w(gj)<w(aj)w(g_j)<w(a_j)を満たすj∈{1,…,s}j\in\{1,\dots,s\}が存在したとする。P={g1,…,gj−1}P=\{g_1,\dots,g_{j-1}\}、Q={a1,…,aj}Q=\{a_1,\dots,a_j\}と置く。P⊆G∈IP\subseteq G\in\mathcal IかつQ⊆A∈IQ\subseteq A\in\mathcal Iであるから、定義 1.1 条件 (b)よりP,Q∈IP,Q\in\mathcal Iであり、∣P∣=j−1<j=∣Q∣\lvert P\rvert=j-1<j=\lvert Q\rvertである。

§E13.15 定義 1.1 条件 (c)よりx∈Q∖Px\in Q\setminus Pが存在してP∪{x}∈IP\cup\{x\}\in\mathcal Iとなる。x∈Qx\in Qでありa1,…,aja_1,\dots,a_jは重みの降順に並んでいるからw(x)≥w(aj)>w(gj)w(x)\ge w(a_j)>w(g_j)である。

処理順をe1,…,ene_1,\dots,e_nと書き、x=epx=e_p、gj=eqg_j=e_qとする。w(ep)>w(eq)w(e_p)>w(e_q)であり処理順の重みは単調非増加であるからp<qp<qである。第pp反復の直前の部分解をIp−1I_{p-1}と書くと、Ip−1I_{p-1}は第pp反復より前に採用された元だけからなり、p<qp<qであるから、それらはすべて第qq反復より前に採用された元である。貪欲解の元を採用順に並べた列がg1,…,grg_1,\dots,g_rでありgj=eqg_j=e_qであるから、第qq反復より前に採用された元はg1,…,gj−1g_1,\dots,g_{j-1}に限られる。ゆえにIp−1⊆PI_{p-1}\subseteq Pである。

したがってIp−1∪{x}⊆P∪{x}∈II_{p-1}\cup\{x\}\subseteq P\cup\{x\}\in\mathcal Iであり、定義 1.1 条件 (b)よりIp−1∪{x}∈II_{p-1}\cup\{x\}\in\mathcal Iである。ゆえに第pp反復でxxが採用され、p<qp<qであるからx∈{g1,…,gj−1}=Px\in\{g_1,\dots,g_{j-1}\}=Pとなる。これはx∈Q∖Px\in Q\setminus Pに反する。

ゆえにすべてのj∈{1,…,s}j\in\{1,\dots,s\}についてw(gj)≥w(aj)w(g_j)\ge w(a_j)が成り立つ。▨

定理 3.2.M=(E,I)M=(E,\mathcal I)をマトロイド、w:E→[0,∞)w:E\to[0,\infty)を非負重みとし、処理順を任意に固定する。このとき貪欲解GGは基底であり、任意のA∈IA\in\mathcal Iに対しw(A)≤w(G)w(A)\le w(G)が成り立つ。とくにGGは重みが最大の基底である。

証明.GGが基底であることは命題 2.2による。

A∈IA\in\mathcal Iを取り、補題 3.1の記号を用いる。s≤rs\le rかつw(gj)≥w(aj)w(g_j)\ge w(a_j)(1≤j≤s1\le j\le s)であるからw(A)=∑j=1sw(aj)≤∑j=1sw(gj)≤∑j=1rw(gj)=w(G)w(A)=\sum_{j=1}^{s}w(a_j)\le\sum_{j=1}^{s}w(g_j)\le\sum_{j=1}^{r}w(g_j)=w(G)が成り立つ。二つ目の不等号では、j>sj>sに対する項w(gj)w(g_j)が非負であることを用いた。

基底も独立集合であるから、GGは重みが最大の基底である。▨

命題 3.3.n=∣E∣n=\lvert E\rvertとする。定義 2.1の貪欲アルゴリズムのループはちょうどnn回反復し、独立性の判定をちょうどnn回行う。したがって独立性の判定を一回の基本操作として数えると、このアルゴリズムの時間計算量は§D2.8 定義 2.2の意味でO(n)O(n)である。

証明.命題 2.2の停止性の議論のとおり、変数iiは11から始まり各反復で11ずつ増え、i=n+1i=n+1となった時点で停止する。ゆえに本体が実行される回数はnnである。各反復では独立性の判定Ii−1∪{ei}∈II_{i-1}\cup\{e_i\}\in\mathcal Iをちょうど一回行うから、判定の総数はnnである。

判定の回数を基本操作の回数とすると、実行回数は定数c=1c=1とn0=0n_0=0についてn≤c⋅nn\le c\cdot nを満たすから、§D2.8 定義 2.2よりO(n)O(n)である。▨

処理順を得るためにはEEの元を重みについて単調非増加に並べる必要があり、その費用は整列の費用である。整列の計算量は先行記事の主題であって本記事の主張には含まれない。命題 3.3は、処理順が与えられた後の反復だけを対象とする評価である。

4 貪欲アルゴリズムの正当性によるマトロイドの特徴づけ

逆向きの主張を述べる。ここで仮定するのは、すべての非負重みと、同順位の任意の処理順に対して貪欲アルゴリズムが正しい答えを出すことである。二つの量化のいずれを落としても、主張は成り立たなくなる。

定理 4.1.(E,I)(E,\mathcal I)を定義 1.1の意味の有限独立集合系とする。次の二条件は同値である。

  1. (E,I)(E,\mathcal I)はマトロイドである。
  2. 任意の非負重みw:E→[0,∞)w:E\to[0,\infty)と、wwに対する任意の処理順について、貪欲解GGがw(A)≤w(G)w(A)\le w(G)をすべてのA∈IA\in\mathcal Iについて満たす。

証明.(1)⇒\Rightarrow(2)を示す。定理 3.2そのものである。

(2)⇒\Rightarrow(1)を示す。(E,I)(E,\mathcal I)は定義 1.1 条件 (a)と定義 1.1 条件 (b)を満たすから、§E13.15 定義 1.1 条件 (c)を示せばよい。

§E13.15 定義 1.1 条件 (c)が成り立たないと仮定する。A,B∈IA,B\in\mathcal I、∣A∣<∣B∣\lvert A\rvert<\lvert B\rvertであって、すべてのx∈B∖Ax\in B\setminus AについてA∪{x}∉IA\cup\{x\}\notin\mathcal Iを満たすものが存在する。a=∣A∣a=\lvert A\rvert、b=∣B∣b=\lvert B\rvert、k=∣A∩B∣k=\lvert A\cap B\rvertと置く。a<ba<bよりa+1≤ba+1\le bであり、A∩B⊆AA\cap B\subseteq Aよりk≤ak\le aである。

ε=1a+1\varepsilon=\dfrac{1}{a+1}と置き、非負重みwwをw(x)={1+ε(x∈A)1(x∈B∖A)0(x∈E∖(A∪B))w(x)=\begin{cases}1+\varepsilon&(x\in A)\\ 1&(x\in B\setminus A)\\ 0&(x\in E\setminus(A\cup B))\end{cases}と定める。ε>0\varepsilon>0であるからwwの値は非負であり、重みの大きさはAAの元、B∖AB\setminus Aの元、それ以外の元の順に並ぶ。

処理順として、AAの元をすべて先に並べ、次にB∖AB\setminus Aの元を並べ、最後にE∖(A∪B)E\setminus(A\cup B)の元を並べたものを取る。この並びは重みについて単調非増加であるから定義 2.1の処理順の条件を満たす。

この処理順に対する貪欲解GGを調べる。まずAAの元を走査する段では、走査した時点の部分解をIIと書くとI⊆AI\subseteq Aであり、次の元x∈Ax\in AについてI∪{x}⊆A∈II\cup\{x\}\subseteq A\in\mathcal Iであるから定義 1.1 条件 (b)よりI∪{x}∈II\cup\{x\}\in\mathcal Iであってxxは採用される。ゆえにAAの走査が終わった時点の部分解はAAである。

次にB∖AB\setminus Aの元xxを走査する。この段の部分解はつねにAAである。実際、仮定よりすべてのx∈B∖Ax\in B\setminus AについてA∪{x}∉IA\cup\{x\}\notin\mathcal Iであるから、どの元も採用されない。

最後にE∖(A∪B)E\setminus(A\cup B)の元が走査されるが、これらの重みは00である。したがってG⊇AG\supseteq AかつG∩(B∖A)=∅G\cap(B\setminus A)=\emptysetであり、w(G)=w(A)+0=a(1+ε)=a+aεw(G)=w(A)+0=a(1+\varepsilon)=a+a\varepsilonである。

一方B∈IB\in\mathcal Iであり、BBはA∩BA\cap Bの元をkk個、B∖AB\setminus Aの元をb−kb-k個含むからw(B)=k(1+ε)+(b−k)⋅1=b+kε≥b≥a+1w(B)=k(1+\varepsilon)+(b-k)\cdot1=b+k\varepsilon\ge b\ge a+1である。aε=aa+1<1a\varepsilon=\dfrac{a}{a+1}<1であるからw(G)=a+aε<a+1≤w(B)w(G)=a+a\varepsilon<a+1\le w(B)となり、w(B)>w(G)w(B)>w(G)である。これは(2)に反する。

ゆえに§E13.15 定義 1.1 条件 (c)が成り立ち、(E,I)(E,\mathcal I)はマトロイドである。▨

注意 4.2 (二つの量化はいずれも落とすことができない).定理 4.1 (2)から「任意の非負重み」という量化を落とし、ある一つの非負重みに対してだけ貪欲アルゴリズムが正しいことを要求する形にすると、主張は成り立たなくなる。実際、w≡0w\equiv0を取れば、どの有限独立集合系についても任意の出力の重みは00であり、I\mathcal Iの元の重みもすべて00であるから、貪欲解はつねに重み最大である。増大公理を満たさない有限独立集合系がこの条件を満たすので、一つの重みだけでは増大公理を導くことができない。

処理順についての量化も、上の証明が実際に用いている。証明で構成した重みwwはAAの元すべてに同じ値1+ε1+\varepsilonを、B∖AB\setminus Aの元すべてに同じ値11を与えるので、同順位の元が多数存在する。証明は、AAの元を先に走査する処理順を選んでいる。定理 4.1 (2)が「任意の処理順」を要求しているからこそ、この選択が許される。

5 具体例

例 5.1 (一様マトロイドとグラフ的マトロイドにおける貪欲解). 一様マトロイド.U2,4U_{2,4}の台集合をE={1,2,3,4}E=\{1,2,3,4\}とし、w(1)=5w(1)=5、w(2)=5w(2)=5、w(3)=2w(3)=2、w(4)=0w(4)=0とする。処理順を1,2,3,41,2,3,4とすると、貪欲アルゴリズムは11を採用し、22を採用し({1,2}\{1,2\}は二元集合であるから独立)、33については{1,2,3}\{1,2,3\}が三元集合であるから採用せず、44についても同様に採用しない。出力は{1,2}\{1,2\}であり重みは1010である。U2,4U_{2,4}の基底は二元集合であり、二つの元の重みの和が最大になるのは重み55の二元を選ぶときであるから、1010が最大値である。処理順を2,1,3,42,1,3,4に取り替えても出力は{1,2}\{1,2\}である。

グラフ的マトロイド. 頂点1,2,3,41,2,3,4と六本の辺a={1,2},b={1,3},c={1,4},d={2,3},e={2,4},f={3,4}a=\{1,2\},\quad b=\{1,3\},\quad c=\{1,4\},\quad d=\{2,3\},\quad e=\{2,4\},\quad f=\{3,4\}からなる完全グラフK4K_4を取り、重みをw(a)=4w(a)=4、w(b)=2w(b)=2、w(c)=5w(c)=5、w(d)=3w(d)=3、w(e)=1w(e)=1、w(f)=6w(f)=6とする。処理順はf,c,a,d,b,ef,c,a,d,b,eである。

  • f={3,4}f=\{3,4\}を採用する。部分解は{f}\{f\}であり、(V,{f})(V,\{f\})は閉路をもたない。
  • c={1,4}c=\{1,4\}を採用する。{f,c}\{f,c\}は頂点列3,4,13,4,1の道であり閉路をもたない。
  • a={1,2}a=\{1,2\}を採用する。{f,c,a}\{f,c,a\}は頂点列3,4,1,23,4,1,2の道であり閉路をもたない。三辺であるから全域木である。
  • d={2,3}d=\{2,3\}は採用しない。{f,c,a,d}\{f,c,a,d\}は頂点列2,3,4,1,22,3,4,1,2の長さ44の閉路を含む。
  • b={1,3}b=\{1,3\}は採用しない。{f,c,b}\{f,c,b\}は頂点列1,3,4,11,3,4,1の三角形を含む。
  • e={2,4}e=\{2,4\}は採用しない。{c,a,e}\{c,a,e\}は頂点列2,4,1,22,4,1,2の三角形を含む。

出力は{f,c,a}\{f,c,a\}であり重みは6+5+4=156+5+4=15である。§E13.15 命題 6.3より基底は全域木の辺集合であって濃度は∣V∣−1=3\lvert V\rvert-1=3であるから、どの基底の重みも三つの辺の重みの和である。六本の辺の重みのうち大きい三つは6,5,46,5,4であるから、どの基底の重みも1515以下である。ゆえに1515が最大値であり、貪欲解は重み最大の基底である。

例 5.2 (増大公理を満たさない系では貪欲アルゴリズムが誤る).E={1,2,3}E=\{1,2,3\}としI={∅, {1}, {2}, {3}, {1,2}}\mathcal I=\bigl\{\emptyset,\ \{1\},\ \{2\},\ \{3\},\ \{1,2\}\bigr\}と置く。∅∈I\emptyset\in\mathcal Iであり、I\mathcal Iの元の部分集合はすべてI\mathcal Iに属するから、(E,I)(E,\mathcal I)は有限独立集合系である。A={3}A=\{3\}、B={1,2}B=\{1,2\}とすると∣A∣=1<2=∣B∣\lvert A\rvert=1<2=\lvert B\rvertであるが、{3,1}\{3,1\}も{3,2}\{3,2\}もI\mathcal Iに属さないので§E13.15 定義 1.1 条件 (c)は成り立たない。

w(3)=2w(3)=2、w(1)=w(2)=32w(1)=w(2)=\tfrac32と定める。重みはすべて相異なるわけではないが、w(3)w(3)が単独で最大であるから、どの処理順でも最初に走査されるのは33である。貪欲アルゴリズムは33を採用し、続く11と22については{3,1}∉I\{3,1\}\notin\mathcal I、{3,2}∉I\{3,2\}\notin\mathcal Iであるから採用しない。出力は{3}\{3\}であり重みは22である。一方{1,2}∈I\{1,2\}\in\mathcal Iの重みは33であるから、貪欲解は重み最大ではない。

定理 4.1の証明が構成する重みを、この例について計算すると次のようになる。a=∣A∣=1a=\lvert A\rvert=1であるからε=12\varepsilon=\tfrac12であり、w(3)=32w(3)=\tfrac32、w(1)=w(2)=1w(1)=w(2)=1、k=∣A∩B∣=0k=\lvert A\cap B\rvert=0である。AAを先に走査する処理順に対する貪欲解は{3}\{3\}で重みは32\tfrac32であり、w(B)=2>32w(B)=2>\tfrac32である。

6 演習

問題 6.1.

  1. 命題 2.2の極大性の証明で、Ii−1⊆InI_{i-1}\subseteq I_nという包含を用いた。この包含が成り立つ理由を、手続きの更新規則から書き下せ。
  2. 補題 3.1の証明のうち、w(x)>w(gj)w(x)>w(g_j)から処理順におけるxxの位置がgjg_jの位置より前であることを導く段を、参照せずに再現せよ。処理順が重みについて単調非増加であることをどこで用いたかを明示せよ。
  3. 補題 3.1の証明で、増大公理を適用する独立集合の対を({g1,…,gj−1}, {a1,…,aj})(\{g_1,\dots,g_{j-1}\},\ \{a_1,\dots,a_j\})に取った。この対を({g1,…,gj}, {a1,…,aj})(\{g_1,\dots,g_j\},\ \{a_1,\dots,a_j\})に取ると証明が成立しない理由を、濃度の条件に即して述べよ。
  4. 定理 3.2の最後の評価で用いた重みの非負性を落とすと、貪欲解が重み最大の独立集合であるという結論が成り立たなくなる例を、U1,2U_{1,2}に負の重みを与えて構成せよ。
  5. 定理 4.1 (2)から (1) の証明で構成した重みwwについて、ε\varepsilonを1a+1\dfrac{1}{a+1}ではなく11に取ると証明が破綻することを、w(G)w(G)とw(B)w(B)の比較によって確かめよ。破綻しないε\varepsilonの範囲を求めよ。
  6. 定理 4.1 (2)から (1) の証明を、B∖AB\setminus Aの元の重みを11ではなく1−δ1-\delta(δ>0\delta>0)に取り替え、重みがすべて相異なるように設計し直せ。δ\deltaに課すべき条件を書き下せ。
  7. 例 5.1のグラフの例で、重みw(f)w(f)を66から11へ変更したときの貪欲解を、処理順を明示して求めよ。得られた解が重み最大の全域木であることを、三辺の重みの和の最大値と比較して確かめよ。

8 扱った範囲と次の記事

本記事は、有限独立集合系と非負重みに対する貪欲アルゴリズムを定め、停止性と、出力が基底であることをループ不変条件の枠組みで証明した。マトロイドについては、貪欲解が独立集合全体の中で重み最大であることを、各順位での重みの比較によって証明した。逆に、すべての非負重みとすべての同順位の処理順に対して貪欲解が重み最大である有限独立集合系は増大公理を満たすことを、増大公理の反例から重みを構成して証明した。二つのマトロイドに共通の独立集合を求める問題、重み付きの共通独立集合、および劣モジュラ関数の最大化に対する近似保証は扱っていない。次の記事では、有限有向非巡回グラフとして表される状態と遷移から漸化式を定め、位相順序による評価が各状態の値を正しく与えることを証明する。

参考文献

  1. James Oxley, Matroid Theory, 2nd ed., Oxford University Press, 2011.貪欲アルゴリズムの定式化と、貪欲アルゴリズムの正当性によるマトロイドの特徴づけを参考にした。
  2. Bernhard Korte and Jens Vygen, Combinatorial Optimization: Theory and Algorithms, 6th ed., Algorithms and Combinatorics, Springer, 2018.有限独立集合系に対する貪欲アルゴリズムの解析と、最適性と交換公理の同値性の証明の構成を参考にした。

前提記事