9421 words
47 minutes
グラフ理論(木)

以下はグラフ理論における木部分である。

用語 (Terms)#

  • 木 (Tree): 単純閉路を持たない連結な無向グラフ
  • 森 (Forest): 単純閉路を持たない無向グラフ
  • 根付き木 (Rooted Tree): と呼ばれる指定された頂点があり、この根から他の頂点への経路が唯一存在する有向グラフ
  • 部分木 (Subtree): 木の部分グラフで、かつ木であるもの
  • 親 (Parent of vv in a Rooted Tree): 根付き木において (u,v)(u, v) が辺であるときの頂点 uu
  • 子 (Child of a Vertex vv in a Rooted Tree): 頂点 vv を親とする頂点
  • 兄弟 (Sibling of a Vertex vv in a Rooted Tree): 同じ親を持つ頂点
  • 祖先 (Ancestor of a Vertex vv): 根から vv までの経路上にある頂点
  • 子孫 (Descendant of a Vertex vv): vv を祖先とする頂点
  • 内部頂点 (Internal Vertex): 子を持つ頂点
  • 葉 (Leaf): 子を持たない頂点
  • 頂点のレベル (Level of a Vertex): 根からその頂点への経路の長さ
  • 木の高さ (Height of a Tree): 木の頂点のレベルの最大値
  • mm-分木 (mm-ary Tree): 各内部頂点が最大 mm 個の子を持つ木
  • 完全mm-分木 (Full mm-ary Tree): 各内部頂点が正確に mm 個の子を持つ木
  • 二分木 (Binary Tree): m=2m = 2 の場合の mm-分木
  • 順序木 (Ordered Tree): 各内部頂点の子が線形順序で並べられた木
  • 平衡木 (Balanced Tree): すべての葉が高さ hh または h1h-1 のレベルにある木
  • 二分探索木 (Binary Search Tree): 頂点にラベルが付けられ、各頂点の左部分木のラベルがその頂点より小さく、右部分木のラベルがその頂点より大きい二分木
  • 決定木 (Decision Tree): 各頂点が決定の結果を表し、葉が問題の解決策を表す根付き木
  • ゲーム木 (Game Tree): 頂点がゲームの状態を表し、辺が合法的な手を表す根付き木
  • 接頭辞コード (Prefix Code): ある文字のコードが別の文字のコードの接頭辞とならない性質を持つコード
  • ミニマックス戦略 (Minmax Strategy): 最初のプレイヤーが最大値、次のプレイヤーが最小値を選ぶ戦略
  • 頂点の値 (Value of a Vertex in a Game Tree): 葉の場合、その状態で得られる利益; 内部頂点の場合、偶数レベルでは最大値、奇数レベルでは最小値
  • 木の走査 (Tree Traversal): 木の頂点をリストアップする方法
  • 前順序走査 (Preorder Traversal): 根を最初に、左から順に部分木を走査する方法
  • 中順序走査 (Inorder Traversal): 左部分木、根、右部分木の順で走査する方法
  • 後順序走査 (Postorder Traversal): 左から順に部分木を走査し、最後に根を訪れる方法
  • 中置記法 (Infix Notation): 木の中順序走査で得られる数式の表記法
  • 前置記法 (Prefix Notation / Polish Notation): 木の前順序走査で得られる数式の表記法
  • 後置記法 (Postfix Notation / Reverse Polish Notation): 木の後順序走査で得られる数式の表記法
  • 全域木 (Spanning Tree): グラフのすべての頂点を含む木
  • 最小全域木 (Minimum Spanning Tree): 辺の重みの合計が最小の全域木

結果 (Results)#

  • 木の定義 (Tree Definition): すべての頂点対に対して唯一の単純経路が存在する場合、そのグラフは木である。
  • 木の辺の数 (Edges in a Tree): nn 頂点を持つ木は n1n-1 本の辺を持つ。
  • 完全mm-分木の頂点数 (Vertices in a Full mm-ary Tree): 内部頂点数を ii とすると、mi+1mi+1 頂点を持つ。
  • mm-分木の葉と高さ (Leaves and Height in an mm-ary Tree): mm-分木で高さ hh の葉の数は最大 mhm^h である。
  • ハフマン符号 (Huffman Coding): 与えられた文字の頻度に基づき、最適な二分符号を構築する手順
  • 深さ優先探索 (Depth-First Search, DFS): 生成木を構築する際、パスを追加し続け、進めなくなったら戻る手法
  • 幅優先探索 (Breadth-First Search, BFS): 直前に追加された辺に隣接するすべての辺を順に追加して生成木を構築する手法
  • プリムのアルゴリズム (Prim’s Algorithm): 重み付きグラフで最小生成木を構築するために、既存の頂点に隣接する最小重みの辺を追加する手順
  • クラスカルのアルゴリズム (Kruskal’s Algorithm): 重み付きグラフで最小生成木を構築するために、重みが最小の辺を順に追加し、閉路を作らないようにする手順

定理と証明#

11.1 定理1#

無向グラフが木であるための必要十分条件は、任意の2つの頂点間に一意な単純経路が存在することである。

証明:
まず、TT が木であると仮定する。このとき、TT は連結なグラフであり、単純閉路を持たない。TT の2つの頂点 xxyy を考える。 TT が連結であるため、セクション10.4の定理1より、xxyy の間には単純経路が存在する。 さらに、この経路は一意であることを示す。もし2つ目の経路が存在すれば、1つ目の経路を xx から yy まで進み、2つ目の経路を逆順に yy から xx に戻ることで閉路が形成される。しかし、木には単純閉路が存在しないため、矛盾が生じる。したがって、任意の2つの頂点間の単純経路は一意である。

次に、任意の2つの頂点間に一意な単純経路が存在すると仮定する。このとき、TT は連結である。なぜなら、任意の2つの頂点間に経路が存在するからである。また、TT は単純閉路を持たないことを示す。 仮に単純閉路が存在するとすれば、その閉路には2つの頂点 xxyy を結ぶ2つの異なる単純経路が存在することになる。しかし、これは仮定に反する。したがって、TT は単純閉路を持たない。

11.1 定理2#

頂点数が nn である木は n1n - 1 本の辺を持つ。

証明:
この定理を数学的帰納法を用いて証明する。ここで考えるすべての木は根付き木として扱い、根を選ぶものとする。

基礎ステップ:
n=1n = 1 の場合、1つの頂点を持つ木には辺が存在しない。したがって、n=1n = 1 では定理が成り立つ。

帰納ステップ:
帰納法の仮定として、kk 頂点を持つ木は k1k - 1 本の辺を持つとする。TTk+1k + 1 頂点を持つ木とし、vvTT の葉と仮定する(木は有限であるため葉が存在する)。 wwvv の親とする。TT から vv を削除し、vvww を結ぶ辺を取り除くと、kk 頂点を持つ木 TT' が得られる。 このとき、TT' は依然として連結であり、単純閉路を持たない。

帰納法の仮定より、TT'k1k - 1 本の辺を持つ。したがって、TTTT' より1本多く辺を持つ。これは vvww を結ぶ辺が追加されているためである。

11.1 定理3#

内部頂点が ii である完全 mm-分木は n=mi+1n = mi + 1 個の頂点を含む。

証明:
根を除くすべての頂点は、内部頂点の子である。各内部頂点は mm 個の子を持つため、根以外の頂点は mimi 個存在する。したがって、この木は合計で n=mi+1n = mi + 1 個の頂点を含む。

次に、TT を完全 mm-分木と仮定する。ii を内部頂点の数、ll を葉の数とする。 この木では、nnii、および ll のいずれか1つがわかれば、他の2つの量も決定される。
定理4 では、これらの量の間の関係を説明している。

11.1 定理4#

完全 mm-分木に関する関係式:

  1. nn 個の頂点を持つ場合:
    内部頂点の数: i=n1mi = \frac{n-1}{m}、葉の数: l=(m1)n+1ml = \frac{(m-1)n + 1}{m}
  2. ii 個の内部頂点を持つ場合:
    頂点の数: n=mi+1n = mi + 1、葉の数: l=(m1)i+1l = (m-1)i + 1
  3. ll 個の葉を持つ場合:
    頂点の数: n=ml1m1n = \frac{ml - 1}{m-1}、内部頂点の数: i=l1m1i = \frac{l-1}{m-1}

証明#

(i) nn 個の頂点を持つ場合::

  • n=mi+1n = mi + 1 から i=n1mi = \frac{n-1}{m} を得る。
  • これを n=l+in = l + i に代入すると、葉の数 l=(m1)n+1ml = \frac{(m-1)n + 1}{m} となる。

(ii) ii 個の内部頂点が与えられた場合:

  • nn の値は、定義から n=mi+1n = mi + 1 である。
  • n=l+in = l + i という事実を利用すると、葉の数 ll は次のようになる: l=ni=(mi+1)i=(m1)i+1l = n - i = (mi + 1) - i = (m-1)i + 1 したがって、内部頂点 ii に対して、頂点数 nn と葉の数 ll が求まる。

(iii) ll 個の葉が与えられた場合:

  • 頂点数 nn は、各内部頂点が mm 個の子を持つ完全 mm-分木の性質を用いると、次のようになる: n=l+iandi=l1m1n = l + i \quad \text{and} \quad i = \frac{l-1}{m-1} この式を n=l+in = l + i に代入する: n=l+l1m1=(m1)l+(l1)m1=ml1m1n = l + \frac{l-1}{m-1} = \frac{(m-1)l + (l-1)}{m-1} = \frac{ml - 1}{m-1} これにより、頂点数 nn が導かれる。
  • 次に内部頂点 ii は明らかに: i=l1m1i = \frac{l-1}{m-1}

11.1 定理5#

hh の高さを持つ mm-分木(mm-ary tree)において、葉の数は最大 mhm^h である。

証明:

この証明は高さに関する数学的帰納法を用いる。

まず、高さ1の mm-分木を考える。この木は根と最大 mm 個の子を持ち、それらはすべて葉である。したがって、葉の数は最大で m1=mm^1 = m である。これが帰納法の基礎ステップである。

次に、任意の高さ hh 未満の mm-分木についてこの結果が成り立つと仮定する。これを帰納法の仮定とする。
TT を高さ hhmm-分木とする。TT の葉は、根からレベル1の各頂点へとエッジを削除して得られる TT の部分木の葉である。

これらの部分木の高さは h1h-1 以下である。したがって、帰納法の仮定より、各部分木の葉の数は最大 mh1m^{h-1} である。さらに、これらの部分木の数は最大 mm であるため、全体の葉の数は

mmh1=mhm \cdot m^{h-1} = m^h

となる。これにより、根付き木 TT の葉の数が最大 mhm^h であることが示された。

これで帰納法による証明が完了する。

11.1 系1#

高さ hhmm-分木(mm-ary tree)に葉の数が ll 個あるとき、

hlogmlh \geq \lceil \log_m l \rceil

が成り立つ。もし mm-分木が完全かつ平衡であるならば、

h=logmlh = \lceil \log_m l \rceil

(ここで、天井関数 x\lceil x \rceil は、xx 以上の最小の整数を表す)。

証明:

定理5より、葉の数 ll に対して lmhl \leq m^h が成り立つ。底 mm で対数を取ると、

logmlh\log_m l \leq h

となる。hh は整数であるため、

hlogmlh \geq \lceil \log_m l \rceil

が成り立つ。

次に、木が平衡であると仮定する。すると、各葉は高さ hh または h1h-1 のレベルに存在する。そして、高さが hh であるため、レベル hh に少なくとも1つの葉が存在する。 これにより、葉の数は mh1m^{h-1} より多い必要がある(演習30を参照)。
また、lmhl \leq m^h であるため、

mh1<lmhm^{h-1} < l \leq m^h

が成り立つ。この不等式に底 mm の対数を取ると、

h1<logmlhh - 1 < \log_m l \leq h

が得られる。

したがって、hh

h=logmlh = \lceil \log_m l \rceil

であることが示される。

11.1.14#

単純グラフ TT が木であるための必要十分条件は、TT が連結であり、かつ任意の辺を削除すると非連結グラフになることである。

証明:

まず、TT が木であると仮定する。定義より TT は連結であり、任意の辺を削除すると非連結グラフになることを示す。
{x,y}\{x, y\}TT の辺とする。このとき xyx \neq y である。TT から {x,y}\{x, y\} を削除したグラフは、xx から yy への経路が存在しない。 なぜなら、TT では xx から yy への単純な経路が唯一であり、その経路に {x,y}\{x, y\} が含まれていたからである。 (定理1より、頂点 uu から頂点 vv への経路が存在するならば、単純経路も存在する。)
したがって、{x,y}\{x, y\} を削除すると非連結グラフになる。

次に、TT が連結であり、任意の辺を削除すると非連結になると仮定する。TT が木であることを示す。 TT が木でない場合、TT には単純閉路(サイクル)が存在する。 例えば、閉路を x1,x2,,xr,x1x_1, x_2, \dots, x_r, x_1 とする。TT から辺 {xr,x1}\{x_r, x_1\} を削除しても、グラフは連結のままである。 なぜなら、削除された辺が経路に使用されていたとしても、閉路の他の部分(x1,x2,,xrx_1, x_2, \dots, x_r またはその逆順)を使って連結性を保つことができるからである。
これは仮定「任意の辺を削除すると非連結になる」に反する。したがって、TT は木である。

11.1.15#

nn 個の頂点を持つ単純グラフ GG について、次を示せ:
a. GGn1n - 1 本の辺を持つ連結グラフであるとき、かつそのときに限り木である。
b. GGn1n - 1 本の辺を持ち、単純閉路を持たないとき、かつそのときに限り木である。

証明:

a.
「ならば」部分
GG が木であるならば、それは連結であり閉路を持たない。そのため、GG の辺の数は n1n - 1 である(Theorem 2)。

「必要条件」部分
GG が連結な単純グラフであり、n1n - 1 本の辺を持つと仮定する。もし GG が木でない場合、Exercise 14 により GG には取り除くことで連結なグラフ GG' を生成できる辺が存在する。この操作を繰り返し、最終的に木が得られる。 この操作には高々 n1n - 1 回の辺の削除が必要であるが、もともと GGn1n - 1 本の辺しか持たないため、削除は行われない。したがって、GG は初めから木であった。

b.
「ならば」部分
GG が木であるならば、それは n1n - 1 本の辺を持ち、定義から単純閉路を持たない。

「必要条件」部分
GGn1n - 1 本の辺を持ち、単純閉路を持たないと仮定する。ccGG の連結成分の数とする。それぞれの成分が nin_i 個の頂点を持つとする。このとき、

i=1cni=n\sum_{i=1}^c n_i = n

である。また、各成分について、辺の総数は i=1c(ni1)\sum_{i=1}^c (n_i - 1) となる。よって、

i=1c(ni1)=nc.\sum_{i=1}^c (n_i - 1) = n - c.

問題の仮定より、nc=n1n - c = n - 1 となる。したがって、c=1c = 1 が導かれる。つまり、GG は連結であり、木の定義を満たす。

11.1.30#

高さ hh の完全 mm-分平衡木(full mm-ary balanced tree)において、葉の数は mh1m^{h-1} よりも多いことを示せ。

証明:

m2m \geq 2 と仮定する。まず、レベル hh にあるすべての頂点を削除する。レベル hh には少なくとも1つの頂点が存在し、それらはすべて葉である。
このとき、結果として得られる木は高さ h1h-1 の完全 mm-分木である。演習28の結果より、この木の葉の数は mh1m^{h-1} である。

しかし、元の木では、レベル h1h-1 にあるすべての内部頂点がレベル hh に少なくとも2つの葉を生成する。したがって、元の木の葉の数は mh1m^{h-1} よりも多くなる。

11.1.44#

すべての木は2色で彩色することができる。

証明:

根を1つ選び、それを赤色で塗る。その後、奇数レベルのすべての頂点を青色で塗り、偶数レベルのすべての頂点を赤色で塗る。この彩色方法により、隣接する頂点は必ず異なる色で塗られるため、木全体が2色で彩色可能である。

11.1.48#

nn 頂点を持つ二分木において、葉の平均深さが Ω(logn)\Omega(\log n) であることを示せ。

証明:

TT を高さ hh を持つ nn 頂点の二分木とする。

  1. 頂点の移動:
    h1h-1 のレベルに子が2つない内部頂点が存在する場合、レベル hh にある葉をその欠損部分の子として移動させる。この操作によって、木の葉の平均深さは低くなるが、証明すべき下限には影響しない。 したがって、操作後の木について証明すれば十分である。

  2. 完全な二分木の構築:
    この操作を繰り返すことで、h1h-1 レベル以下に2つの子を持たない内部頂点が存在しなくなる。結果として、すべての葉はレベル h1h-1 および hh に集まる。 次に、レベル hh にあるすべての頂点を削除し、レベル h1h-1 に集約する。

  3. 頂点数の計算:
    頂点数 nn に対する変化は最大でも係数2(またはそれより少し多い程度)であり、大きなオメガ記法(Ω\Omega)に対する影響は無視できる(logn\log n が1程度しか変化しないため)。
    完全二分木では、演習28より、葉の数は 2h12^{h-1} であり、n=2h1n = 2^h - 1 が成り立つ。

  4. 葉の平均深さ:
    完全二分木において、すべての葉は深さ h1h-1 にある。ここで、n=2h1n = 2^h - 1 より、

    hlog2nh \approx \log_2 n

    したがって、葉の平均深さは Ω(logn)\Omega(\log n) であることが示された。

11.2 定理1#

二分比較に基づくソートアルゴリズムは、少なくとも log2n!\lceil \log_2 n! \rceil 回の比較を必要とする。

証明:

  1. ソートの複雑度の定義:
    ソートアルゴリズムの複雑度は、使用される二分比較の回数で測定される。最悪の場合の比較回数は、ソート手順を表す決定木(decision tree)の高さに等しい。

  2. 決定木と高さの関係:
    nn 要素のリストをソートするための決定木には、n!n! 通りの葉が存在する。これは、ソートのすべての順列に対応する。
    二分木の高さは、葉の数 n!n! に対して

    log2n!\lceil \log_2 n! \rceil

    以上であることが系1(11.1節)から導かれる。

  3. 結論:
    よって、n!n! 個の葉を持つ二分決定木の高さは少なくとも log2n!\lceil \log_2 n! \rceil であり、これはソートアルゴリズムに必要な比較回数の下限である。

11.2 系1#

二分比較に基づくソートアルゴリズムが nn 個の要素をソートする際の比較回数は Ω(nlogn)\Omega(n \log n) である。

証明:

  • 定理1の結果: 定理1より、二分比較に基づくソートアルゴリズムが必要とする比較回数は少なくとも log2n!\lceil \log_2 n! \rceil である。

  • 階乗の対数の評価:
    演習74(Section 3.2)より、log2n!\log_2 n!Θ(nlogn)\Theta(n \log n) である。これは、アルゴリズムの計算量解析における標準的な参照関数である。

  • 結論:
    よって、nn 個の要素をソートするために二分比較を使用するアルゴリズムは、最悪の場合において少なくとも

    Ω(nlogn)\Omega(n \log n)

    回の比較が必要である。

これにより、系1が示された。

11.2 定理2#

二分比較に基づくソートアルゴリズムが nn 個の要素をソートする際に使用する平均比較回数は Ω(nlogn)\Omega(n \log n) である。

証明:

  1. 最悪ケースの比較回数:
    系1より、二分比較に基づくソートアルゴリズムが nn 個の要素をソートする際の最悪ケースの比較回数は Θ(nlogn)\Theta(n \log n) である。これにより、マージソートのようなアルゴリズムがこの複雑度において最適であることが分かる。

  2. 平均ケースの証明:
    平均ケースでも類似の結果が成り立つことを示す。

    • 平均比較回数は、決定木における葉の平均深さに等しい。
    • 演習48(11.1節)より、NN 頂点を持つ二分木における葉の平均深さは Ω(logN)\Omega(\log N) である。
  3. 階乗関係の利用:
    N=n!N = n! とおくと、葉の平均深さが Ω(logN)\Omega(\log N) であることから、N=n!N = n! に対応する関数 logn!\log n!Θ(nlogn)\Theta(n \log n) である。 したがって、平均比較回数も

    Ω(nlogn)\Omega(n \log n)

    である。

以上により、定理3が示された。

11.4 定理1#

単純グラフ GG は、全域木を持つ場合に限り連結である。

証明:

(必要条件)
まず、単純グラフ GG が全域木 TT を持つと仮定する。
TTGG の全ての頂点を含み、さらにその頂点間にパスが存在する。このとき、TTGG の部分グラフであるため、GG においても任意の2つの頂点の間にパスが存在する。したがって、GG は連結である。

(十分条件)
次に、GG が連結であると仮定する。
もし GG が木でない場合、GG は単純閉路(サイクル)を含む。その閉路から1つの辺を削除する。このとき、生成される部分グラフは1本少ない辺を持ちながら、GG の全ての頂点を含み、かつ連結である。この部分グラフは依然として連結である。なぜなら、削除された辺を含む閉路上の任意の2つの頂点は、削除された辺を含まないパスによって依然として結ばれるためである。

この操作を繰り返すことで、GG 内の全ての単純閉路が削除される。グラフに含まれる辺の数は有限であるため、このプロセスは有限回の手順で終了する。その結果として、閉路を持たない連結なグラフが残る。このグラフは木であり、GG の全ての頂点を含むため、全域木である。

11.4.25#

連結単純グラフ GG において、頂点 vv を根とする幅優先全域木(breadth-first spanning tree)における uu のレベル数は、vv から uu への最短経路の長さに等しいことを示せ。

証明:

帰納法を経路の長さに基づいて示す。

  1. 基礎ステップ(経路の長さが0の場合):
    経路の長さが0であれば、v=uv = u であり、結果は自明である。uu は根 vv と同じレベル(レベル0)にある。

  2. 経路の長さが1の場合:
    経路の長さが1の場合、uuvv に隣接している。したがって、幅優先全域木において uu はレベル1に配置される。

  3. 帰納法の仮定:
    経路の長さが ll 以下のすべての頂点 uu' に対して、uu' のレベルは vv から uu' への最短経路の長さに等しいと仮定する。

  4. 経路の長さが l+1l+1 の場合:
    経路の長さが l+1l+1 の場合、vv から uu への最短経路上にある uu の直前の頂点を uu' とする。 帰納法の仮定より、uu' は幅優先全域木のレベル ll にある。

    • uu がレベル ll 以下にあったと仮定すると、vv から uu への最短経路の長さも ll 以下になる。これは uu が直前の頂点 uu' に隣接していることに矛盾する。
    • よって、uu は幅優先全域木において uu' の隣接頂点として、レベル l+1l+1 に追加される。

以上により、帰納法により証明が成立する。

11.4.55#

T1T_1 および T2T_2 を単純グラフ GG の2つの全域木(spanning trees)とする。また、e1e_1T1T_1 に含まれ、T2T_2 に含まれない辺とする。 このとき、T2T_2 に含まれ、T1T_1 に含まれない辺 e2e_2 が存在して、次の性質が成り立つことを示せ:

  • T1T_1 から e1e_1 を削除し、e2e_2 を加えたものは全域木である。
  • T2T_2 から e2e_2 を削除し、e1e_1 を加えたものは全域木である。

証明:

  1. T2{e1}T_2 \cup \{e_1\} における閉路の存在:
    e1e_1T2T_2 に加えると、T2{e1}T_2 \cup \{e_1\} は単純閉路 CC を含む。この閉路 CCe1e_1 を含む。

  2. T1{e1}T_1 - \{e_1\} の連結成分:
    T1T_1 から e1e_1 を削除すると、グラフ T1{e1}T_1 - \{e_1\} は2つの連結成分に分かれる。e1e_1 の端点 uuvv は、これら2つの異なる成分に属する。

  3. 閉路 CC 上の e2e_2 の選択:
    CC 上を uu から e1e_1 の方向とは逆に進むと、vv と同じ成分に初めて到達する頂点が存在する。その際に交差する辺を e2e_2 とする。

  4. T2{e1}{e2}T_2 \cup \{e_1\} - \{e_2\} は全域木である:
    e2e_2 は閉路 CC 上に存在するため、e2e_2 を削除すると閉路が解消される。したがって、T2{e1}{e2}T_2 \cup \{e_1\} - \{e_2\} は依然として連結かつ GG のすべての頂点を含む木となる。

  5. T1{e1}{e2}T_1 - \{e_1\} \cup \{e_2\} は全域木である:
    T1{e1}T_1 - \{e_1\} は2つの連結成分に分かれているが、e2e_2 はこの2つの成分を結合する。したがって、T1{e1}{e2}T_1 - \{e_1\} \cup \{e_2\} は再び連結かつすべての頂点を含む木となる。

結論:
以上により、e2e_2 は条件を満たす辺であり、次の性質が示された:

  • T1{e1}{e2}T_1 - \{e_1\} \cup \{e_2\} は全域木である。
  • T2{e1}{e2}T_2 \cup \{e_1\} - \{e_2\} は全域木である。

11.4.56#

任意の全域木 T1T_1 から任意の別の全域木 T2T_2 へ、辺を1つずつ削除し別の辺を加える操作を繰り返すことで到達できることを示せ。

証明:

  1. 前問(Exercise 55)の利用:
    問題55により、T1T_1 に含まれ T2T_2 には含まれない辺 e1e_1 を削除し、 T2T_2 に含まれ T1T_1 には含まれない辺 e2e_2 を加えることで、T1T_1 を新しい全域木に変換することが可能である。

  2. 距離の定義:
    T1T_1T2T_2 の間の距離 dd は、それらの木の辺集合の対称差(T1T_1T2T_2 の共通でない辺の数)を2で割ったものである(各操作で2つの辺が入れ替わるため)。

  3. 操作による変換:

    • 一度の操作で、T1T_1 に含まれる辺 e1e_1 を削除し、T2T_2 に含まれる辺 e2e_2 を加えることで、T1T_1T2T_2 の間の距離を2減少させることができる。
    • この操作を繰り返すことで、距離 dd を0にすることができる。
  4. 帰納法的な手続き:
    初めに T1T_1T2T_2 の距離が dd であるとする。各ステップで次の操作を行う:

    • T1T_1 に含まれるが T2T_2 には含まれない辺 e1e_1 を選ぶ。
    • T2T_2 に含まれるが T1T_1 には含まれない辺 e2e_2 を選び、T1T_1 から e1e_1 を削除し、e2e_2 を加える。
      この操作により、距離 dd は2減少する。
  5. 終了条件:
    距離 dd が0になるとき、T1T_1T2T_2 と完全に一致する。

結論:
この手順を dd 回繰り返すことで、任意の全域木 T1T_1 から任意の別の全域木 T2T_2 へ到達することができる。

11.5.18#

連結な重み付きグラフにおいて、最小重みの辺は任意の最小全域木に含まれなければならないことを示せ。

証明:

反証法を用いる。

  1. 仮定:
    最小重みの辺 ee がある最小全域木 TT に含まれていないと仮定する。

  2. ee の追加による閉路の形成:

    • eeTT に追加すると、T{e}T \cup \{e\} はグラフ全体を覆うが、閉路(単純サイクル)CC が1つ含まれることになる。
    • 閉路 CCee を含む。
  3. 閉路から辺を削除:
    閉路 CC には ee 以外の辺も存在し、それらは ee よりも大きな重みを持つ(仮定より TT の辺はすべて ee よりも重みが大きい)。

    • CC の中から ee 以外の任意の辺 ee' を削除すると、新しいグラフ T=T{e}{e}T' = T \cup \{e\} - \{e'\} は連結かつサイクルを含まないため、再び全域木となる。
  4. 矛盾の導出:

    • ee' の重みは ee より大きいため、TT' の重みの合計は TT の重みより小さくなる。
    • これは TT が最小全域木であるという仮定に矛盾する。

結論:
したがって、最小重みの辺 ee は任意の最小全域木に含まれなければならない。

11.5.19#

すべての辺の重みが異なる場合、連結な重み付きグラフにおける最小全域木は一意であることを示せ。

証明:

  1. 仮定:
    連結な重み付きグラフ GG において、すべての辺の重みが異なるとする。さらに、最小全域木が2つ存在すると仮定し、それらを T1T_1T2T_2 とする。

  2. 反証法の適用:
    T1T_1T2T_2 は異なる全域木であるため、辺の集合において異なる部分が存在する。つまり、T1T_1 に含まれ T2T_2 に含まれない辺 e1e_1 が少なくとも1つ存在する。

    • e1e_1T2T_2 に加えると閉路 CC が形成される。
  3. 閉路 CC に含まれる辺:
    CC の中には e1e_1 以外に T2T_2 に含まれる辺が存在する。その中から任意の辺 e2e_2 を選ぶと、e1e_1 の重みと e2e_2 の重みを比較することができる。

  4. 重みの矛盾:

    • e1e_1 の重みが e2e_2 より小さい場合、T2T_2 から e2e_2 を削除し e1e_1 を加えることで、T2T_2 の重みの合計は小さくなる。 これは T2T_2 が最小全域木であるという仮定に矛盾する。
    • e1e_1 の重みが e2e_2 より大きい場合、T1T_1 に対して同様の操作を行うと T1T_1 の重みの合計が小さくなる。これは T1T_1 が最小全域木であるという仮定に矛盾する。
  5. 結論:
    すべての辺の重みが異なる場合、最小全域木は一意に決定される。したがって、仮定した2つの異なる最小全域木 T1T_1T2T_2 は存在しない。

補完1#

単純グラフが木であるための必要十分条件は、次の2つを満たすことである:

  1. 単純閉路を含まない。
  2. 隣接していない2つの頂点を結ぶ辺を追加すると、ちょうど1つの単純閉路を持つ新しいグラフが生成される。

証明:

「ならば」部分
TT が木であると仮定する。このとき、TT は明らかに単純閉路を含まない。
TT に隣接していない頂点 uuvv を結ぶ辺 ee を追加すると、ee により新しいグラフに閉路が形成される。これは、eeuu から vv への TT 内の唯一のパスによって構成される。 TT が木であるため、辺 ee の追加により生成される閉路は1つのみである。

「十分条件」部分
TT が定理の条件を満たすと仮定する。このとき、TT が連結であることを示せばよい。
TT が連結でないと仮定する。この場合、uuvv が異なる連結成分に存在する場合、辺 e={u,v}e = \{u, v\} を追加しても単純閉路は形成されない。これは、定理の条件に矛盾する。したがって、TT は連結である。

さらに、TT は単純閉路を持たないことが仮定されているため、TT は木の定義を満たす。

補完3#

少なくとも1本の辺を持つすべての木は、少なくとも2つのペンダント頂点(次数が1の頂点)を持つ。

証明:

TTnn 個の頂点を持ち、それぞれの頂点の次数を d1,d2,,dnd_1, d_2, \dots, d_n とする。木の性質から、次の式が成り立つ:

2e=i=1ndi2e = \sum_{i=1}^n d_i

ここで、ee は木の辺の本数である。また、木では e=n1e = n - 1 であるため:

2(n1)=i=1ndi2(n - 1) = \sum_{i=1}^n d_i

各頂点の次数 did_i は少なくとも1以上であるため:

2(n1)=n+i=1n(di1)2(n - 1) = n + \sum_{i=1}^n (d_i - 1)

これを整理すると:

n2=i=1n(di1)n - 2 = \sum_{i=1}^n (d_i - 1)

この式から、和の中で di1d_i - 1 が1以上となる項は高々 n2n - 2 個しか存在し得ない。したがって、少なくとも2つの頂点に対して di1=0d_i - 1 = 0 が成り立つ、すなわち di=1d_i = 1 である。

これにより、少なくとも2つの頂点がペンダント頂点であることが示された。

補完6#

d1,d2,,dnd_1, d_2, \ldots, d_n を正の整数とし、その和が 2n22n - 2 であるとする。このとき、nn 個の頂点を持つ木で、頂点の次数が d1,d2,,dnd_1, d_2, \ldots, d_n であるものが存在することを示せ。

証明: 数学的帰納法を用いて示す。

基本ステップ
n2n \leq 2 の場合、問題は自明である。実際、n=2n = 2 の場合、d1=d2=1d_1 = d_2 = 1 であり、1本の辺を持つ木がこの条件を満たす。

帰納ステップ
n3n \geq 3 と仮定する。このとき、正の整数 did_i の少なくとも1つは 11 である必要がある。 なぜなら、nn 個のすべての did_i が2以上である場合、その和は少なくとも 2n2n となり、条件 di=2n2\sum d_i = 2n - 2 に矛盾するためである。

一般性を失うことなく、dn=1d_n = 1 と仮定する。このとき、残りの d1,d2,,dn1d_1, d_2, \ldots, d_{n-1} がすべて1であることはあり得ない。なぜなら、条件 di=2n2\sum d_i = 2n - 2 により、2n2>n2n - 2 > n であるためである。

次に、帰納法の仮定を用いて、列 d11,d2,,dn1d_1 - 1, d_2, \ldots, d_{n-1} に対して木が存在することを仮定する。 この木に新しい頂点を追加し、次数が dn=1d_n = 1 であるように辺を接続することで、頂点の次数が d1,d2,,dnd_1, d_2, \ldots, d_n である木を構築できる。

したがって、すべての nn に対して定理が成立することが示された。

補完7#

すべての木は平面グラフであることを示せ。

証明

木は単純閉路を持たないため、K3,3K_{3,3}K5K_5 の部分グラフに同相であるような部分グラフを含むことはない。したがって、木は平面グラフである。

補完8#

すべての木は二部グラフであることを示せ。

証明

木を根付き木として考える。頂点を偶数レベルの頂点集合と奇数レベルの頂点集合に分ける。この分割により、隣接する任意の2頂点は異なる集合に属するため、木は二部グラフである。

補完9#

すべての森は2色で彩色可能であることを示せ。

証明

森の各連結成分に対して、それぞれ独立に彩色を行う。まず、各連結成分を根付き木として設定する。その後、偶数レベルのすべての頂点を赤色で、奇数レベルのすべての頂点を青色で彩色する。これにより、各連結成分が正しく彩色され、森全体が2色で彩色可能であることが示される。

グラフ理論(木)
https://www.shiinayane.com/posts/graph-theory-trees/
Author
YANKAI WANG
Published at
2025-02-21
License
CC BY-NC-SA 4.0