ハベル-ハキミ アルゴリズムの証明
📂グラフ理論ハベル-ハキミ アルゴリズムの証明
定理
非増加シーケンス D=(d1,⋯,dn) が与えられているとしよう。D がグラフィックであれば、次の方法で D の実現 G を見つけることができる。
- ステップ1.
n 個の頂点 v1,⋯,vn を持つヌルグラフを作る。 - ステップ2. k=1,⋯,n
- ステップ2-1.
vk と vk+1,⋯,vdk+1 を繋げる。 - ステップ2-2.
dk+1,⋯,ddk+1 を 1 ずつ減少させる。 - ステップ2-3.
dk←0 のように代入する。D=(0,⋯,0) になるまでステップ2.を繰り返す。
D がグラフィックであれば、次数が d1 の頂点 v1 が v2,⋯,vd1+1 と隣接する実現 G が存在する。
解説
ハベル-ハキミ アルゴリズムは、エルデシュ-ガライの定理の存在を保証する実現を具体的に見つけるアルゴリズムだ。その原理は単に最も次数が高い頂点から処理して、細かい残り物がないようにするだけだ。先に次数を与えてからグラフを構築する点で、ランダムグラフの次数がどのような分布をするかを構築するのに直接使われる。
例えば、(5,5,5,3,2,2,1,1) のようなシーケンスがあれば、ハベル-ハキミ アルゴリズムで得られる実現は上のようになる。時間が許せば、エルデシュ-ガライの定理を使ってグラフィックなシーケンスを作ってみて、ハベル-ハキミ アルゴリズムなしで実現を探せることを推奨する。その有用性がわかるはずだ。
証明
D が更新されるたびに、次数の最大値は徐々に小さくなる。各ステップで次数が最大のノード vk が vk+1,⋯,vdk+1 と隣接するだけでよく、次数が d1 の最初の頂点 v1 が v2,⋯,vd1+1 と隣接していることを示せば、数学的帰納法によって証明が完了する。
D の任意の実現 R の頂点が deg(vi)=di を満たすとして、次のように二つの集合を定義しよう。
TR:={v2,⋯,vd1+1}NR(v1):={v∈V(R):vv1∈E(R)}
定義で、TR はシーケンス D の v1 の後の d1 個の頂点を集めた集合であり、NR(v1) は v1 のニューバーフッド、つまり R で実際に v1 と隣接している頂点の集合だ。次に、次の整数 tR を考えてみよう。
tR:=∣NR(v1)∩TR∣
今、G は D の実現の中で tG を最大化する実現であることを示さなければならない。これはつまり、TG=NG(v1) と tG=d1 を満たし、次数が d1 の v1 が v2,⋯,vd1+1 と隣接していることを意味する。もしtG=d1 ならば、自然にTG=NG(v1) であり、G がtG を最大化する実現でいるためにこれ以上示す必要はない。今、tG<d1 の場合を考えてみよう。もしtG′=tG+1 を満たすD の別の実現 G′ が存在すれば
tG′<d1 の場合、v1 は何らかのvx∈TG′ と隣接していない代わりに、何らかの vy∈TG′c と隣接する必要がある。上の図での赤い点線は、G には存在するがG′ では削除されたエッジであり、赤い実線はv1 の次数が一定でなければならないために新しく作られたエッジだ。

v1 と同様に、vx と vy の次数も維持されなければならず、もともと G で vx とは隣接しておらずvy と隣接していた vz を一つ選んでvxvz を追加しvyvz を削除する。こうすると、元の次数シーケンス D は全く変わらず、G′ はD の実現と考えられる。しかし、G′ はTG′ からvx が一つ欠け、NG′(v1) にvy が一つ追加されたため、tG′ はむしろtG より小さくなった。これはtG′=tG+1 を満たす実現G′ の存在に矛盾し、したがってtG=d1 でなければならない。つまり、実現G のv1 はv2,⋯,vd1+1 と隣接している。
■