グラフ理論の問題
頂点集合を とする重みつき単純無向グラフ があります。辺とその重みは、次の 本です。
の最小全域木の重み(最小全域木に含まれる辺の重みの和)を求めなさい。
この問題で使うもの
- 最小全域木(クラスカル法・プリム法)(説明と入口の問題)
この問題を解けるようになるまで(7 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
クラスカル法(またはプリム法)を使いましょう。頂点が 個なので、全域木の辺は 本です。
ヒント 2
辺を重みの小さい順に並べ、閉路ができない辺だけを採用していきます。並べると です。
ヒント 3
は採用できます。 は閉路ができるので捨てます。次の を調べると、 本目が決まります。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
クラスカル法を使います。クラスカル法では、重みの小さい辺から順に調べます。その辺を加えても閉路ができなければ採用し、閉路ができるなら捨てます。頂点数は なので、全域木の辺数は です。 本を採用した時点で終わります。
手順 1:辺を重みの小さい順に並べる
手順 2:順に調べる(採用した辺でつながっている頂点のまとまりを で書きます)
- : と は別のまとまりなので採用します。まとまりは になります。
- : と は別のまとまりなので採用します。まとまりは , です。
- : はまだどのまとまりにも入っていないので採用します。まとまりは , です。
- : はまだどのまとまりにも入っていないので採用します。まとまりは , です。
- : と はすでに同じまとまりにあります。加えると閉路 ができるので捨てます。
- : と は別のまとまりなので採用します。まとまりは になります。
これで 本()を採用し、すべての頂点がつながったので終了です。
手順 3:重みを足す
採用した辺は です。重みの和は
となります。
(確認)カット性質からも確かめられます。 と残りの頂点 に分けるカットを横切る辺は , , です。このうち重みが最小の は、必ず最小全域木に含まれます。
よって、最小全域木の重みは です。
別解
クラスカル法を使う。辺を重みの小さい順に並べると EF:1, AC:2, CD:3, AB:4, BC:5, DE:6, BD:7, CE:8, DF:9 となる。
1. EF(1) を採用する。{E,F}
2. AC(2) を採用する。{A,C}
3. CD(3) を採用する。{A,C,D}
4. AB(4) を採用する。{A,B,C,D}
5. BC(5) は B と C がすでに同じ連結成分にあるので閉路になり、不採用。
6. DE(6) を採用する。{A,B,C,D} と {E,F} がつながり、全頂点が連結になる。
採用した辺は EF, AC, CD, AB, DE の 5 本で、頂点数 6 より 1 少ないので完成である。
重みの和は 1+2+3+4+6=16。
検算として、プリム法を A から始める。AC(2)、CD(3)、AB(4) を採用する。次に外へ出る辺の最小は DE(6) で、これを採用する。最後に EF(1) を採用する。合計は 2+3+4+6+1=16 となり一致する。