1 独立集合系と重み
定義 1.1. 有限集合EとI⊆2Eの組(E,I)が有限独立集合系 (finite independence system) であるとは、次の二条件を満たすことをいう。
- ∅∈I。
- A∈IかつB⊆AならばB∈I。
有限独立集合系においても、包含に関して極大なIの元を基底 (basis) とよぶ。
有限独立集合系とは、§E16.15 定義 1.1の三条件のうち増大公理§E16.15 定義 1.1 条件 (I3)を要求しないものである。したがってマトロイドはつねに有限独立集合系である。一般の有限独立集合系では、基底の濃度は一つに定まらない。濃度が一つに定まることは§E16.15 命題 2.3により保証される性質である。その証明では、増大公理を用いている。
定義 1.2. 有限集合E上の関数w:E→[0,∞)を非負重み (nonnegative weight) という。A⊆Eに対しw(A)=∑x∈Aw(x)をAの重み (weight) という。空集合の重みは0と定める。
2 貪欲アルゴリズム
定義 2.1. 有限独立集合系(E,I)と非負重みw:E→[0,∞)を入力とする。n=∣E∣と置き、Eの元の並べ方e1,e2,…,enであってw(e1)≥w(e2)≥⋯≥w(en)を満たすものを一つ選ぶ。同じ重みをもつ元の間の順序は任意であり、この選び方を処理順 (processing order) という。次の手続きを貪欲アルゴリズム (greedy algorithm) という。
I0←∅;i←1;while i≤n do ( Ii←Ii−1∪{ei} (Ii−1∪{ei}∈I のとき),Ii←Ii−1 (それ以外);i←i+1 );return In.
出力Inを、この処理順に対する貪欲解 (greedy solution) という。独立性の判定Ii−1∪{ei}∈Iは一回の基本操作として数える。
命題 2.2.定義 2.1の貪欲アルゴリズムは、任意の有限独立集合系と任意の非負重みに対して有限回の反復で停止し、出力Inは(E,I)の基底である。
証明. 停止性. 変量V=n+1−iを取る。i≤nのとき本体を実行するとiが1増えるからVは狭義に減少し、i≤nのあいだV≥1≥0である。§D2.8 命題 1.4より手続きは有限回で停止し、停止時にはi=n+1である。
不変条件. 述語Pを「Ii∈Iが成り立つ」と定める。初期化ではI0=∅であり条件 (I1)よりPが成り立つ。維持では、Ii=Ii−1∪{ei}と更新する場合は条件Ii−1∪{ei}∈Iが成り立つときに限られ、Ii=Ii−1と更新する場合は帰納法の仮定からIi∈Iが従う。ゆえにPは§D2.8 定義 1.1の意味でのループ不変条件であり、§D2.8 定理 1.2より停止時にIn∈Iが成り立つ。
極大性.Inが包含に関して極大でないと仮定する。x∈E∖Inが存在してIn∪{x}∈Iとなる。x=eiと書く。手続きはI0⊆I1⊆⋯⊆Inを満たすからIi−1⊆Inであり、Ii−1∪{ei}⊆In∪{x}∈Iであるから条件 (I2)よりIi−1∪{ei}∈Iである。ゆえに第i反復でeiが採用されei∈Ii⊆Inとなるが、x=ei∈/Inに反する。ゆえにInは極大であり、基底である。▨
3 貪欲アルゴリズムの最適性
3.1 証明方針
貪欲解Gの元を採用した順にg1,g2,…,grと並べる。処理順が重みについて単調非増加であるから、この並びも重みについて単調非増加である。比較の相手となる独立集合Aの元も重みの降順にa1,…,asと並べる。
示すべき中間目標は、各添字jについてw(gj)≥w(aj)が成り立つことである。中間目標が示されれば、s≤rと重みの非負性からw(A)≤w(G)が従う。
中間目標は背理法で示す。w(gj)<w(aj)を満たすjが存在したとする。貪欲解の最初のj−1個からなる集合{g1,…,gj−1}と、Aの最初のj個からなる集合{a1,…,aj}は、いずれも独立であり濃度がj−1とjである。ここで増大公理§E16.15 定義 1.1 条件 (I3)を適用すると、後者の元xであって前者に加えても独立性が保たれるものが得られる。このxの重みはw(aj)以上であるからw(gj)より真に大きく、したがってxは処理順でgjより前に現れる。xを走査した時点での部分解は{g1,…,gj−1}に含まれるので、遺伝性によりxは採用されていたはずである。ところがxは{g1,…,gj−1}に属さないので矛盾する。増大公理を適用する位置と、重みの大小から処理順の前後を導く位置が、この証明の二つの要点である。
補題 3.1.M=(E,I)をマトロイド、w:E→[0,∞)を定義 1.2の意味の非負重みとし、処理順を一つ固定する。貪欲解Gの元を採用した順にg1,…,grと書く。A∈Iを任意に取り、その元を重みの降順にa1,…,asと並べる。このときs≤rであり、1≤j≤sを満たす任意のjに対しw(gj)≥w(aj)が成り立つ。
証明. まずw(g1)≥w(g2)≥⋯≥w(gr)が成り立つ。実際、gjは処理順における添字がgj+1より小さい位置で採用されるから、処理順の重みが単調非増加であることよりw(gj)≥w(gj+1)である。
s≤rを示す。命題 2.2よりGは基底であり、§E16.15 系 2.4より任意の独立集合の濃度は基底の濃度以下であるからs=∣A∣≤∣G∣=rである。
w(gj)<w(aj)を満たすj∈{1,…,s}が存在したとする。P={g1,…,gj−1}、Q={a1,…,aj}と置く。P⊆G∈IかつQ⊆A∈Iであるから、条件 (I2)よりP,Q∈Iであり、∣P∣=j−1<j=∣Q∣である。
§E16.15 定義 1.1 条件 (I3)よりx∈Q∖Pが存在してP∪{x}∈Iとなる。x∈Qでありa1,…,ajは重みの降順に並んでいるからw(x)≥w(aj)>w(gj)である。
処理順をe1,…,enと書き、x=ep、gj=eqとする。w(ep)>w(eq)であり処理順の重みは単調非増加であるからp<qである。第p反復の直前の部分解をIp−1と書くと、Ip−1は第p反復より前に採用された元だけからなり、p<qであるから、それらはすべて第q反復より前に採用された元である。貪欲解の元を採用順に並べた列がg1,…,grでありgj=eqであるから、第q反復より前に採用された元はg1,…,gj−1に限られる。ゆえにIp−1⊆Pである。
したがってIp−1∪{x}⊆P∪{x}∈Iであり、条件 (I2)よりIp−1∪{x}∈Iである。ゆえに第p反復でxが採用され、p<qであるからx∈{g1,…,gj−1}=Pとなる。これはx∈Q∖Pに反する。
ゆえにすべてのj∈{1,…,s}についてw(gj)≥w(aj)が成り立つ。▨
命題 3.2.n=∣E∣とする。定義 2.1の貪欲アルゴリズムのループはちょうどn回反復し、独立性の判定をちょうどn回行う。したがって独立性の判定を一回の基本操作として数えると、このアルゴリズムの時間計算量は§D2.8 定義 2.2の意味でO(n)である。
証明.命題 2.2の停止性の議論のとおり、変数iは1から始まり各反復で1ずつ増え、i=n+1となった時点で停止する。ゆえに本体が実行される回数はnである。各反復では独立性の判定Ii−1∪{ei}∈Iをちょうど一回行うから、判定の総数はnである。
判定の回数を基本操作の回数とすると、実行回数は定数c=1とn0=0についてn≤c⋅nを満たすから、§D2.8 定義 2.2よりO(n)である。▨
処理順を得るためにはEの元を重みについて単調非増加に並べる必要がある。この並べ替えの費用は、整列の費用である。整列の計算量は先行記事の主題であって本記事の主張には含まれない。命題 3.2は、処理順が与えられた後の反復だけを対象とする評価である。
4 貪欲アルゴリズムの正当性によるマトロイドの特徴づけ
逆向きの含意で仮定するのは、すべての非負重みと、同順位の任意の処理順に対して貪欲解が重み最大の独立集合であることである。二つの量化のいずれを落としても、主張は成り立たなくなる。
定理 4.1 (Rado–Edmonds の定理).(E,I)を定義 1.1の意味の有限独立集合系とする。次の二条件は同値である。
- (E,I)はマトロイドである。
- 任意の非負重みw:E→[0,∞)と、wに対する任意の処理順について、貪欲解Gがw(A)≤w(G)をすべてのA∈Iについて満たす。
(1)が成り立つとき、任意の非負重みと処理順について、貪欲解Gは基底であり、とくに重みが最大の基底である。
証明.(1)⇒(2)を示す。非負重みw:E→[0,∞)とwに対する処理順を任意に取り、その処理順に対する貪欲解をGとする。Gが基底であることは命題 2.2による。
A∈Iを取り、補題 3.1の記号を用いる。s≤rかつw(gj)≥w(aj)(1≤j≤s)であるからw(A)=∑j=1sw(aj)≤∑j=1sw(gj)≤∑j=1rw(gj)=w(G)が成り立つ。二つ目の不等号では、j>sに対する項w(gj)が非負であることを用いた。
基底も独立集合であるから、Gは重みが最大の基底である。
(2)⇒(1)を示す。(E,I)は条件 (I1)と条件 (I2)を満たすから、§E16.15 定義 1.1 条件 (I3)を示せばよい。
§E16.15 定義 1.1 条件 (I3)が成り立たないと仮定する。A,B∈I、∣A∣<∣B∣であって、すべてのx∈B∖AについてA∪{x}∈/Iを満たすものが存在する。a=∣A∣、b=∣B∣、k=∣A∩B∣と置く。a<bよりa+1≤bであり、A∩B⊆Aよりk≤aである。
ε=a+11と置き、非負重みwをw(x)=⎩⎨⎧1+ε10(x∈A)(x∈B∖A)(x∈E∖(A∪B))と定める。ε>0であるからwの値は非負であり、重みの大きさはAの元、B∖Aの元、それ以外の元の順に並ぶ。
処理順として、Aの元をすべて先に並べ、次にB∖Aの元を並べ、最後にE∖(A∪B)の元を並べたものを取る。この並びは重みについて単調非増加であるから定義 2.1の処理順の条件を満たす。
この処理順に対する貪欲解Gを調べる。まずAの元を走査する段では、走査した時点の部分解をIと書くとI⊆Aであり、次の元x∈AについてI∪{x}⊆A∈Iであるから条件 (I2)よりI∪{x}∈Iであってxは採用される。ゆえにAの走査が終わった時点の部分解はAである。
次にB∖Aの元xを走査する。この段の部分解はつねにAである。実際、仮定よりすべてのx∈B∖AについてA∪{x}∈/Iであるから、どの元も採用されない。
最後にE∖(A∪B)の元が走査されるが、これらの重みは0である。したがってG⊇AかつG∩(B∖A)=∅であり、w(G)=w(A)+0=a(1+ε)=a+aεである。
一方B∈Iであり、BはA∩Bの元をk個、B∖Aの元をb−k個含むからw(B)=k(1+ε)+(b−k)⋅1=b+kε≥b≥a+1である。aε=a+1a<1であるからw(G)=a+aε<a+1≤w(B)となり、w(B)>w(G)である。これは(2)に反する。
ゆえに§E16.15 定義 1.1 条件 (I3)が成り立ち、(E,I)はマトロイドである。▨
5 具体例
例 5.1. 一様マトロイド.U2,4の台集合をE={1,2,3,4}とし、w(1)=5、w(2)=5、w(3)=2、w(4)=0とする。処理順を1,2,3,4とすると、貪欲アルゴリズムは1を採用し、2を採用し({1,2}は二元集合であるから独立)、3については{1,2,3}が三元集合であるから採用せず、4についても同様に採用しない。出力は{1,2}であり重みは10である。U2,4の基底は二元集合であり、二つの元の重みの和が最大になるのは重み5の二元を選ぶときであるから、10が最大値である。処理順を2,1,3,4に取り替えても出力は{1,2}である。
グラフ的マトロイド. 頂点1,2,3,4と六本の辺a={1,2},b={1,3},c={1,4},d={2,3},e={2,4},f={3,4}からなる完全グラフK4を取り、重みをw(a)=4、w(b)=2、w(c)=5、w(d)=3、w(e)=1、w(f)=6とする。処理順はf,c,a,d,b,eである。
- f={3,4}を採用する。部分解は{f}であり、(V,{f})は閉路をもたない。
- c={1,4}を採用する。{f,c}は頂点列3,4,1の道であり閉路をもたない。
- a={1,2}を採用する。{f,c,a}は頂点列3,4,1,2の道であり閉路をもたない。三辺であるから全域木である。
- d={2,3}は採用しない。{f,c,a,d}は頂点列2,3,4,1,2の長さ4の閉路を含む。
- b={1,3}は採用しない。{f,c,b}は頂点列1,3,4,1の三角形を含む。
- e={2,4}は採用しない。{c,a,e}は頂点列2,4,1,2の三角形を含む。
出力は{f,c,a}であり重みは6+5+4=15である。§E16.15 命題 6.3より基底は全域木の辺集合であって濃度は∣V∣−1=3であるから、どの基底の重みも三つの辺の重みの和である。六本の辺の重みのうち大きい三つは6,5,4であるから、どの基底の重みも15以下である。ゆえに15が最大値であり、貪欲解は重み最大の基底である。
例 5.2.E={1,2,3}としI={∅, {1}, {2}, {3}, {1,2}}と置く。∅∈Iであり、Iの元の部分集合はすべてIに属するから、(E,I)は有限独立集合系である。A={3}、B={1,2}とすると∣A∣=1<2=∣B∣であるが、{3,1}も{3,2}もIに属さないので§E16.15 定義 1.1 条件 (I3)は成り立たない。
w(3)=2、w(1)=w(2)=23と定める。重みはすべて相異なるわけではないが、w(3)が単独で最大であるから、どの処理順でも最初に走査されるのは3である。貪欲アルゴリズムは3を採用し、続く1と2については{3,1}∈/I、{3,2}∈/Iであるから採用しない。出力は{3}であり重みは2である。一方{1,2}∈Iの重みは3であるから、貪欲解は重み最大ではない。
定理 4.1の証明が構成する重みを、この例について計算すると次のようになる。a=∣A∣=1であるからε=21であり、w(3)=23、w(1)=w(2)=1、k=∣A∩B∣=0である。Aを先に走査する処理順に対する貪欲解は{3}で重みは23であり、w(B)=2>23である。
6 演習
問題 6.1.
- マトロイドM=(E,I)と、負の値も許す関数w:E→Rをとり、A⊆Eに対してw(A)=∑x∈Aw(x)と置く。w(e1)≥⋯≥w(en)を満たすEの元の並べ方e1,…,enについて定義 2.1と同じ手続きを実行した出力Gは、基底のうちでw(G)が最大のものであることを示せ。また、w(e1)≤⋯≤w(en)を満たす並べ方について同じ手続きを実行した出力は、基底のうちで重みが最小のものであることを示せ。
- マトロイドM=(E,I)の階数関数をrとし、非負重みwと処理順e1,…,enを固定して、その貪欲解をGとする。実数tに対してEt={x∈E: w(x)≥t}と置く。G∩Etが{I∈I: I⊆Et}の包含に関して極大な元であることを示し、∣G∩Et∣=r(Et)を導け。さらにr(E)≥1とするとき、任意の基底Bについてminx∈Bw(x)≤minx∈Gw(x)が成り立つことを示せ。
- マトロイドM=(E,I)と非負重みwをとる。重みが最大の基底Bの元を重みの降順にb1,…,brと並べたとき、数の列(w(b1),…,w(br))はBの選び方によらないことを示せ。さらに、wが単射ならば重みが最大の基底はただ一つであることを示し、wが単射でないときに重みが最大の基底が二つ以上ある例を作れ。
- 定理 4.1 (1)⇒(2)の証明の最後の評価で用いた重みの非負性を落とすと、貪欲解が重み最大の独立集合であるという結論が成り立たなくなる例を、U1,2に負の重みを与えて構成せよ。
- 定理 4.1 (2)⇒(1)の証明で構成した重みwについて、εをa+11ではなく1に取ると証明が破綻することを、w(G)とw(B)の比較によって確かめよ。破綻しないεの範囲を求めよ。
- 定理 4.1 (2)⇒(1)の証明を、B∖Aの元の重みを1ではなく1−δ(δ>0)に取り替え、重みがすべて相異なるように設計し直せ。δに課すべき条件を書き下せ。
- 例 5.1のグラフの例で、重みw(f)を6から1へ変更したときの貪欲解を、処理順を明示して求めよ。得られた解が重み最大の全域木であることを、三辺の重みの和の最大値と比較して確かめよ。
解答.
(1)を示す。手続きの各反復で行う判定はIi−1∪{ei}∈Iだけであるから、出力は並べ方e1,…,enとIだけで定まり、重みの値によらない。E=∅のときは基底が∅だけであり、出力も∅であるから、主張が成り立つ。以下E=∅とし、§E16.15 命題 2.3による基底の共通の濃度をbと書く。
前半を示す。c=max{0, −minx∈Ew(x)}と置き、w′(x)=w(x)+cと定める。c≥0かつすべてのx∈Eについてc≥−w(x)であるから、w′は非負重みである。w′(e1)≥⋯≥w′(en)であるから、e1,…,enはw′に対する処理順であり、出力Gはw′に対するこの処理順の貪欲解である。定理 4.1よりGは基底であり、すべての基底Bについてw′(B)≤w′(G)を満たす。基底Bについてw′(B)=w(B)+bcであるから、w(B)+bc≤w(G)+bc、すなわちw(B)≤w(G)である。
後半を示す。W=maxx∈Ew(x)と置き、w′′(x)=W−w(x)と定める。w′′は非負重みであり、w(e1)≤⋯≤w(en)からw′′(e1)≥⋯≥w′′(en)が従うので、e1,…,enはw′′に対する処理順である。前半と同じく、出力G′は基底であり、すべての基底Bについてw′′(B)≤w′′(G′)を満たす。基底Bについてw′′(B)=bW−w(B)であるから、bW−w(B)≤bW−w(G′)、すなわちw(G′)≤w(B)である。この議論では基底の濃度が一定であることを用いたので、比較の相手を基底に限れば重みの符号に条件は要らない。比較の相手を独立集合全体に広げると非負性が要ることは、(4)で確かめる。
(2)を示す。p=∣Et∣と置く。Et={e1,…,ep}であることを示す。ei∈Etかつi′<iならば、処理順の条件よりw(ei′)≥w(ei)≥tであるからei′∈Etである。ゆえにEtの元の添字の集合は、ある番号以下の正の整数の全体であり、その個数はpであるから、Et={e1,…,ep}である。
第i反復で採用されうる元はeiだけであるから、IpはGの元のうちe1,…,epのいずれかであるものの全体であり、G∩Et=Ipである。命題 2.2の証明の不変条件よりIp∈Iであり、Ip⊆Etである。Ipの極大性を示す。x∈Et∖IpがIp∪{x}∈Iを満たすと仮定し、x=ei(1≤i≤p)と書く。手続きはI0⊆I1⊆⋯⊆Inを満たすからIi−1⊆Ipであり、Ii−1∪{ei}⊆Ip∪{x}である。条件 (I2)よりIi−1∪{ei}∈Iであるから、第i反復でeiが採用され、ei∈Ii⊆Ipとなってx∈/Ipに反する。したがってG∩Etは{I∈I: I⊆Et}の極大な元であり、§E16.16 命題 4.2より∣G∩Et∣=r(Et)である。
後半を示す。Bを基底とする。§E16.15 系 2.4より∣B∣は独立集合の濃度の最大値であるから∣B∣=r(E)≥1であり、B=∅である。t=minx∈Bw(x)と置く。B⊆Etであり、BはEtに含まれる独立集合であるからr(Et)≥∣B∣である。命題 2.2よりGは基底であり、§E16.15 命題 2.3より∣G∣=∣B∣である。ゆえに∣G∩Et∣=r(Et)≥∣G∣であり、G∩Et⊆Gと合わせてG∩Et=G、すなわちG⊆Etである。したがってGのすべての元の重みはt以上であり、minx∈Gw(x)≥t=minx∈Bw(x)である。
(3)を示す。処理順を一つ選んでその貪欲解をGとし、Gの元を採用した順にg1,…,grと書く。定理 4.1より、Gは重みが最大の基底である。Bを重みが最大の基底とし、その元を重みの降順にb1,…,bsと並べる。§E16.15 命題 2.3よりs=rである。補題 3.1をA=Bへ適用すると、1≤j≤rを満たすすべてのjについてw(gj)≥w(bj)である。GとBはともに重みが最大の基底であるからw(G)=w(B)であり、
j=1∑r(w(gj)−w(bj))=w(G)−w(B)=0である。各項は非負であるから、すべてのjについてw(bj)=w(gj)である。ゆえに列(w(b1),…,w(br))は(w(g1),…,w(gr))に等しく、Bの選び方によらない。
wが単射であるとする。等式w(bj)=w(gj)と単射性より、1≤j≤rを満たすすべてのjについてbj=gjであるから、B=Gである。ゆえに重みが最大の基底はGただ一つである。
例を作る。U1,2の台集合をE={1,2}とし、w(1)=w(2)=1とする。§E16.15 命題 5.2より基底は{1}と{2}であり、どちらの重みも1であるから、重みが最大の基底は二つある。
(4)では、U1,2の台集合をE={1,2}とする。独立集合は∅、{1}、{2}である。負の値を許した重みw(1)=−1、w(2)=−2を与え、定義 2.1の手続きをそのまま実行する。処理順はw(1)>w(2)より1,2に定まる。{1}は独立であるから1を採用し、{1,2}は独立でないから2を採用しない。貪欲解はG={1}であり、w(G)=−1である。一方、∅は独立集合でありw(∅)=0>−1であるから、Gは重み最大の独立集合ではない。本文の評価にあてはめると、A=∅ではs=0、r=1であり、二つ目の不等号∑j=10w(gj)≤∑j=11w(gj)は0≤−1となって成り立たない。この不等号が、非負性を用いた箇所である。
(5)では、εを一般の実数として、証明と同じ処理順に対する貪欲解を考える。Aの元をすべて先に走査する処理順が定義 2.1の条件を満たすには1+ε≥1、すなわちε≥0が要る。ε≥0のとき、証明と同じ計算により
w(G)=a+aε,w(B)=b+kεである。
ε=1とするとw(G)=2a、w(B)=b+kである。証明が用いることができるのはb≥a+1と0≤k≤aだけであり、b=a+1、k=0のときw(B)−w(G)=1−aとなる。とくに例 5.2のA={3}、B={1,2}ではa=1、b=2、k=0であり、ε=1の重みはw(3)=2、w(1)=w(2)=1である。このときw(G)=w({3})=2、w(B)=2であり、w(B)>w(G)が成り立たないので、矛盾は得られない。
破綻しない範囲を求める。仮定のもとでa≥1である。実際、a=0ならばA=∅であり、b≥1よりx∈Bを取ると{x}⊆B∈IからA∪{x}={x}∈Iとなって仮定に反する。0≤ε<1/aならば、b≥a+1とkε≥0より
w(G)=a+aε<a+1≤b≤b+kε=w(B)であり、証明は成立する。逆にε≥1/aのとき、証明が破綻する有限独立集合系がある。∣A∣=a、∣B∣=a+1、A∩B=∅とし、E=A∪B、I=2A∪2Bと置く。(E,I)は有限独立集合系であり、x∈Bに対してA∪{x}はAにもBにも含まれないからIに属さない。このときk=0、b=a+1であり、w(G)=a+aε≥a+1=w(B)となって、w(B)>w(G)は得られない。ε<0のときは、Aの元の重み1+εがB∖Aの元の重み1より小さいので、Aの元を先に走査する処理順を取ることができない。ゆえに、どのA,Bに対しても証明が成立するεの範囲は0≤ε<1/aである。ε=a+11はこの範囲に属し、ε=1はa≥1より1≥1/aを満たすので属さない。
(6)を示す。§E16.15 定義 1.1 条件 (I3)が成り立たないと仮定し、本文と同じくA,B∈I、a=∣A∣<b=∣B∣、k=∣A∩B∣とする。n=∣E∣、m=∣B∖A∣=b−k、R=E∖(A∪B)、t=∣R∣と置き、A={x1,…,xa}、B∖A={y1,…,ym}、R={z1,…,zt}と書く。a+m+t=nである。δを
0<δ<n21を満たす実数とし、重みを
w(xi)=1+iδ(1≤i≤a),w(yj)=1−jδ(1≤j≤m),w(zl)=lδ(1≤l≤t)と定める。y1の重みが1−δである。
重みが非負で相異なり、Aの元、B∖Aの元、Rの元の順に真に小さくなることを確かめる。各集合の中では添字ごとに値が異なる。Aの元の重みは1より大きく、B∖Aの元の重みは1より小さい。m+t≤n≤n2より(m+t)δ<1であるから、B∖Aの元の重みの最小値1−mδはRの元の重みの最大値tδより大きい。Rの元の重みは正である。ゆえに処理順はただ一つに定まり、Aの元、B∖Aの元、Rの元の順に走査する。
この処理順に対する貪欲解Gは、本文と同じ議論により、Aの走査を終えた時点でAに等しく、B∖Aの元を一つも採用しない。Rの元のうち採用されたものの集合をSと書くとG=A∪Sであり、w(G)≤w(A)+w(R)である。w(B)=w(A∩B)+w(B∖A)とw(A)=w(A∩B)+w(A∖B)より
w(B)−w(G)≥w(B∖A)−w(A∖B)−w(R)である。Aの元の重みは1+aδ以下であり、∣A∖B∣=a−kであるからw(A∖B)≤(a−k)(1+aδ)である。また
w(B∖A)=m−2m(m+1)δ,w(R)=2t(t+1)δである。m−(a−k)=b−a≥1であるから
w(B)−w(G)≥1−Σδ,Σ=2m(m+1)+a(a−k)+2t(t+1)が成り立つ。Σ≤n2を示す。a(a−k)≤a2であり、m+t=n−aより
2m(m+1)+2t(t+1)≤2(m+t)(m+t+1)=2(n−a)(n−a+1)≤(n−a)nである。最後の不等号はn−a+1≤2nによる。ゆえにΣ≤a2+(n−a)n=n2−a(n−a)≤n2であり、Σδ<1である。したがってw(B)>w(G)であり、定理 4.1 (2)に反する。
δに課した条件は二つの不等式(m+t)δ<1とΣδ<1である。前者はB∖Aの元をRの元より先に走査させるための条件であり、後者はw(B)>w(G)を導くための条件である。0<δ<1/n2は両者を満たす。この設計では重みがすべて相異なるので処理順はただ一つであり、「任意の処理順」という量化を用いずに矛盾が得られる。
(7)では、重みはw(c)=5、w(a)=4、w(d)=3、w(b)=2、w(e)=w(f)=1である。同順位のeとfの順序をe,fとして、処理順をc,a,d,b,e,fとする。
- c={1,4}を採用する。部分解は{c}である。
- a={1,2}を採用する。{c,a}は頂点列4,1,2の道であり閉路をもたない。
- d={2,3}を採用する。{c,a,d}は頂点列4,1,2,3の道であり閉路をもたない。三辺であるから全域木である。
- b={1,3}は採用しない。{a,d,b}は頂点列1,2,3,1の三角形である。
- e={2,4}は採用しない。{c,a,e}は頂点列1,2,4,1の三角形である。
- f={3,4}は採用しない。{c,a,d,f}は頂点列1,2,3,4,1の長さ4の閉路である。
貪欲解は{c,a,d}であり、重みは5+4+3=12である。処理順をc,a,d,b,f,eとしても、{c,a,d}は全域木であってどの辺を加えても閉路が生じるので、b、f、eはいずれも採用されず、貪欲解は同じである。§E16.15 命題 6.3より基底は濃度3の全域木の辺集合であるから、どの基底の重みも三つの辺の重みの和である。六本の辺の重みのうち大きい三つは5,4,3であるから、どの基底の重みも12以下である。ゆえに{c,a,d}は重み最大の全域木である。▨