SAS 第七回

担当:Defolos

日付:2007-04-28


目次

  1. 第七回の目的
  2. 予備知識-行列の余因子展開
  3. 木の数え上げ
  4. Cayleyの定理
  5. Cayleyの定理 証明その1
  6. Cayleyの定理 証明その2
  7. Cayleyの定理 証明その3
  8. 例題7.3
  9. 例題7.3 解答その1
  10. 例題7.3 解答その2
  11. 完全グラフの全域木
  12. 点行列と行列木定理
  13. 点行列
  14. 行列木定理
  15. 例題7.4
  16. 例題7.4-解答
  17. 例題7.5 - 1
  18. 例題7.5 - 2
  19. 例題7.5-1 解答その1
  20. 例題7.5-1 解答その2
  21. 例題7.5-1 解答その3
  22. 例題7.5-2 解答その1
  23. 例題7.5-2 解答その2
  24. 例題7.5-2 解答その3
  25. 行列δ
  26. 閉路行列
  27. 閉路行列法
  28. 例題7.6
  29. 例題7.6 解答

1.第七回の目的


2.予備知識-行列の余因子展開

余因子展開:n次行列Aを行列式としたもの|A|を次のように定義する

ここで、Aのi行j列を取り除いたn-1の行列をA(¬i,¬j)で表すとすると、このとき次をAの成分a[i,j]に関する余因子という

余因子展開は、n次行列A=[aij]について次式が成り立つ

2*2の行列の余因子展開は次のように簡単に求められる


3.木の数え上げ

点にラベルをつけた木を「ラベル付き木」とよぶ

ある木において、「ラベル付き木」とした場合の総数はいくつかが問題となる

これはCayley(ケイリー)の定理としてまとめられている


4.Cayleyの定理

n点の異なるラベル付の木はnn-2個ある

証明のための準備として、次の2つを定義する

証明のポイント:「AからBを作る連鎖の総数」と「BからAを作る連鎖の総数」が等しいという条件から総数を求める


5.Cayleyの定理 証明その1

連鎖としてAからBを作る総数を求める

まずは図のようなグラフAを考える

下図のようにAを、点vに接続していない辺で分離する

この時点で点vの次数はk-1である。点vと点wを結ぶとdeg(v)=kのグラフBが得られる

Aの選び方はT(n,k-1)通りあり、切断する辺の選び方は次の通りある
点vに接続していない辺の選び方 = 木Aの辺の総数 - 点vの次数 = (n-1) - (k-1) = n-k通り

以上より連鎖A→Bの総数はT(n,k-1)(n-k)である


6.Cayleyの定理 証明その2

連鎖としてBからAを作る総数を求める

まずは図のようなグラフBを考える

このBのうちの点vを除去したときに得られる、木Bの成分である部分木を(T1,T2,T3...Tk)とする

各部分木に含まれる点の総数はniであり、次の式を満たす
n-1 = Σ[i=1;k] ni

次に点vに接続する辺をひとつ除去し、それによって孤立する部分木をTiとする

Ti以外の孤立しうる部分木をTjとおき、Ti内の任意の点uとTj内の任意の点wを辺で結ぶと、deg(v) = k-1のラベル付き木Aが得られる

ラベル付き木Bの選び方は、点vの次数がkであるため、T(n,k)通りである
また、点wiとTi以外の部分木Tjの任意の点を結ぶ方法は
(点vをのぞく点の総数) - (部分木Tiに属する点の総数) = (n-1) - ni通りである

以上より連鎖B→Aの総数は次の式で表される

T(n,k)Σ[i=1;k](n - 1 - ni) = T(n,k){(n - 1 - n1) + (n - 1 - n2) + ... + (n - 1 - nk)} = T(n,k){(n - 1)k - (n1 + n2 + ... + nk)} = T(n,k)(nk - k - n +1)
これを因数分解することでT(n,k)(n - 1)(k - 1)が得られる

連鎖A→Bと、連鎖B→Aの数は等しいため、次の関係式が得られる

(n - k)T(n,k-1) = (n - 1)(k - 1)T(n,k)


7.Cayleyの定理 証明その3

T(n,n-1) = 1であるため、(n - k)T(n,k-1) = (n - 1)(k - 1)T(n,k)をk=n-1, k=n-2, k=n-3...と書き出す

k=n-1の時:T(n,n-2) = (n-1)(n-2)T(n,n-1) = (n-1)(n-2)

k=n-2の時:2T(n,n-3) = (n-1)(n-3)T(n,n-2) = (n-1)^2(n-2)(n-3) つまり T(n,n-3) = 1/2(n-1)^2(n-2)(n-3)

k=n-3の時:3T(n,n-4) = (n-1)(n-4)T(n,n-3) = 1/2(n-1)^3(n-2)(n-3)(n-4) つまり T(n,n-4) = 1/(1*2*3) (n-1)^3(n-2)(n-3)(n-4)

二項定理よりk=k+1のとき次式のように表すことができる

T(n,k) = (n-1)^n-k+1(n-2) / (k-1)(k-2)... = n-2Ck-1(n-1)^n-k-1

従って、T(n)はT(n,k)に関するk=1からk=n-1までの総和である
Σ[k=1;n-1] T(n,k) = Σ[k=1;n-1] n-2Ck-1(n-1)^n-k-1 = Σ[k=1;n-1] n-2Ck-11^k-1(n-1)^(n-2)-(k-1) = {(n-1)+1}^n-2 = n^n-2

以上よりCayleyの定理が証明された


8.例題7.3

n点のラベル付き木の個数をT(n)とする。このとき以下の問いに答えよ

  1. k点のラベル付き木とn-k点のラベル付き木の結び方の総数を計算することにより、次の関係式を示せ
    2(n-1)T(n) = Σ[k=1;n-1] nCkk(n-k)T(k)T(n-k)
  2. 次の関係式を示せ
    Σ[k=1;n-1] nCkkk-1(n-k)n-k-1 = 2(n-1)nn-2

9.例題7.3 解答その1

2(n-1)T(n)はn点からなる木の辺の一辺だけを切って2つのグラフA,Bを作る組み合わせの総数に等しい
A,Bの木を作る方法は次のように表される
まず、任意の一辺を切断する

それで得られる部分木をそれぞれA,Bとする

次にAとBとを結ぶ方法を考える
Aにおける任意の点とBにおける任意の点を選び出し、それらを結ぶ

T(n)はn点からなる木の総数であり、(n-1)はどの辺を切るかという自由度である
nではなくn-1なのは、辺の数はn点のグラフの場合n-1しか存在しないからである
2はAとBを交換することによる自由度である

k点のラベル付き木Aと(n-k)点のラベル付き木Bの結び方の総数は、次の式で表される

これはつまり、Σ[k=1;n-1] nCkk(n-k)T(k)T(n-k)と等しい
故に2(n-1)T(n) = Σ[k=1;n-1] nCkk(n-k)T(k)T(n-k)である


10.例題7.3 解答その2

Cayleyの定理で得られたT(n) = n^(n-2)を、Σ[k=1;n-1] nCkkk-1(n-k)n-k-1 = 2(n-1)nn-2に代入する次の式が得られる

2(n-1)nn-2 = Σ[k=1;n-1] nCk k(n-k)kk-2(n-k)n-k-2 = Σ[k=1;n-1] nCk k・kk-2・(n-k)(n-k)n-k-2 = Σ[k=1;n-1] nCk kn-1(n-k)n-k-1


11.完全グラフの全域木

完全グラフの全域木の総数はnn-2個である

証明

完全グラフKnから、各点に接続している辺を適切に除去すると、n点のラベル付き全域木が得られる
逆に、n点のラベル付き木の各点に、すべての点の次数がn-1になるように適切に辺を追加するとKnが得られる

故に、点数nのラベル付き木は完全グラフKnに一対一に対応するため、Cayleyの定理の対象となるラベル付き木と同一であると言える
以上より、Cayleyの定理で得られたnn-2が完全グラフの全域木の総数である


12.点行列と行列木定理

行列木定理(matrix-tree hteorem):与えられたグラフGのラベル付全域木の個数を与える定理

行列木定理を解説するために、まず点行列を定義する


13.点行列

点行列(vertex matrix):グラフGの点行列をDと表し、次のように定義する

iとjが等しい時は点viの次数をij要素に入れ、iとjが等しくない場合は-(点viと点vjを結ぶ辺の数)をij要素に入れる
そのため、Dij = Dji である

次のラベル付木の点行列を考える

ここでは1,2,3,4,5をそれぞれA,B,C,D,Eとする
点の数が5であるため、点行列は5*5の行列であるとわかる
まず、i=jの場合を考え、各点の次数を対角成分に格納する

次にD12要素を考える
12要素は-(点1と点2の間の辺の数)を入れるため、AとBの間の辺の数を数える
AB間には辺が存在しないため0を入れる
一方、AC間には1つの辺が存在するため、D13には-1を入れる

同様にしてすべての要素を埋める


14.行列木定理

グラフGの全域木の本数τ(G)は点行列Dの任意の余因子で与えられる

点行列Dのi行j列を削除して得られる行列をD( i, j)とする
グラフGの全域木の総数は次の式によって与えられる


15.例題7.4

隣接行列Aが

で与えられるグラフGの全域木の総数τ(G)を求めよ。また、その全域木をすべて図示せよ。


16.例題7.4-解答

隣接行列は点iと点jを結ぶ辺の本数を第ij要素とするn*nの行列(第2回より)であるため、グラフGは次のようなグラフ

ここから点行列Dを求める

N*N行列の場合i=j=Nと選んで余因子を計算すると、符号は常に+となるため扱いやすい

余因子から行列式を解くと3になるため、グラフGの全域木は3つあることがわかる

グラフGの全域木は次の3つである


17.例題7.5 - 1

今回学んだCayleyの定理の証明を参考にし、次の問いに答えよ

  1. n個の点からなる木で、与えられた点vが端点になっているものは何個あるか?
  2. n個の点からなる木の与えられた点vが端点となっている確率P(n)を求めよ。また、点の数nが無限大のときのP(n)の極限がlim{n→∞}P(n) = 1/eで与えられることを示せ。ただし、eは自然対数の底である。

18.例題7.5 - 2

隣接行列Aが次のような行列で与えられるグラフGに関する行列木定理について、次の問いに答えよ

  1. グラフGの点行列Dを求めよ
  2. 行列木定理により、グラフGの全域木の総数τ(G)を求めよ
  3. 2.で得られた個数だけ存在する全域木を具体的にすべて図示せよ

19.例題7.5-1 解答その1

n点からなる木の点vの次数がkであるものの個数はCayleyの定理で得られた次の式で表される
T(n,1) = n-2Ck-1(n-1)n-k-1

問題の与えられた点vが端点になっているものは、kが1の場合である
もしkが1以外だと次の図のように端点ではない

故に求める木の個数は次のように表される
T(n,k) = n-2C0(n-1)n-2 = (n-1)n-2

●組み合わせに関する補足


20.例題7.5-1 解答その2

確率はその事象の数 / 全ての事象の数で表される
サイコロで偶数がでる確率は、サイコロは6面であるため分母に6を入れ、偶数は2,4,6の3つなので分子に3を入れる。よって3/6である

同じように考え、n点からなる木の総数であるnn-2を分母に入れ、例題7.5-1 解答その1で得られた点vの次数k=1である場合の個数を分子に入れると次のようになる
P(n) = T(n,1) / nn-2 = (1 - (1/n))n-2


21.例題7.5-1 解答その3

自然対数eの定理より次の式が得られ、題意が示される

lim[n→∞]P(n) = lim[n→∞](1-(1/n))^n-2 = lim[n→∞](1-(1/n))^n = 1/e

n-2乗とはn乗したものから2乗したものを割ったものであるため、a^(b-c) = (a^b)/(a^c)と表現できる
つまり、(1-(1/n))^(n-2)は(1-(1/n))^n / (1-(1/n))^2と表される
そこからlim[n→∞](1-(1/n))^(n-2) = lim[n→∞](1-(1/n))^n × lim[n→∞](1-(1/n))^(-2)
1/nにおいて、nを無限に近づけると1/無限つまり0として扱えるため、lim[n→∞](1-(1/n))^(-2)=(1-0)^(-2)=1^(-2)=1が言える
ゆえにlim[n→∞](1-(1/n))^(n-2) = lim[n→∞](1-(1/n))^n×1=lim[n→∞](1-(1/n))^nと書け、lim[n→∞](1-(1/n))^nは1/eである


22.例題7.5-2 解答その1

与えられた隣接行列AからグラフGを図示すると次のようになる

ここから点行列Dを求める


23.例題7.5-2 解答その2

点行列Dのi=j=4の余因子で表される行列が求める解である

次に第3行で行列式を展開する

以上よりグラフGの全域木の個数τ(G)は7であることがわかる


24.例題7.5-2 解答その3

グラフGの全域木は7個あるが、これらを図示する際の注意点として次のようなものがある
点3と点4をつなぐ辺は2つあり、これらを別々のものとして扱う。つまり、グラフGの辺を色分けして考えると次のようになる

グラフGの全域木7個を図示すると次のようになる


25.行列δ

隣接行列と点行列の間には行列δを介した関係が存在する
行列δを次のように定義する

隣接行列Aと点行列Dの間には次のような関係が存在する

D = δ - A

例として例題7.4のグラフGにおいてこの式が成り立つことを確認する
行列δは次のようになる

上の式にδとAをあてはめ、点行列Dを導く

行列δを介して求めた点行列Dと例題7.4で求めた点行列Dが一致することが確認できた


26.閉路行列

閉路行列Rは次のように定義される

このとき、非対角成分の符号はciとcjの共通な辺上で、2つの閉路の向きが同じであれば正を、逆であれば負を選ぶこととする


27.閉路行列法

ラベル付全域木の個数を数え上げる方式には点行列法と閉路行列法が存在する
これまでのように点行列をもとに全域木を数える方式を点行列法と呼び、上記の閉路行列をもとに全域木を数える方式を閉路行列法と呼ぶ

閉路行列Rを有するグラフGに関する全域木の総数γ(G)は次の式で表される。
γ(G) = |R|

実例

次の隣接行列で与えられるグラフGについて考える

グラフGには2つの閉路c1,c2が存在する
点の順序で向きを指定するとc1=12431、c2=343である

従ってグラフGの閉路行列Rは次のようになる

よってグラフGの全域木の総数τ(G)は次のようになり、点行列法による結果と一致する


28.例題7.6

行列木定理を用いてCayleyの定理を証明せよ


29.例題7.6 解答

m*mの対称行列の行列式をbmと定義すると、次のような関係式が成り立つ

bm = (a+1)m-1b1 + (m-1)(a+1)m-1c1

完全グラフの点行列はn*nの対角成分がn-1、それ以外の成分が-1となる行列である
そのため、m=n-1, a=n-1, b1=a, c1=-1を代入する

すなわち、bn-1 = nn-2(n-1) -n(n-2)n-2であり、つまりbn-1 = nn-2である

完全グラフの全域木とn点からなるラベル付木の総数は1対1に対応するため、Cayleyの定理が証明された