Loading [MathJax]/jax/output/CommonHTML/jax.js

組合せとグラフの理論(塩田)第7回 (4) 閉路部分空間 W(G)

閉路部分空間 W(G)

 これもまず定義から。
Def.10 G 内の閉路たちから で作り出せる辺の部分集合全ての集合を W(G) と表し、 「G の閉路部分空間」と呼ぶ。W(G) の要素のひとつとする。
Rem.11 閉路それ自身も全て W(G) の要素である。
Th.12 W(G)F2 上のベクトル空間になる:
  • 加法は
  • ゼロは
  • 2倍はゼロなので、スカラーは F2
証明 Th.7-9 より。

 W(G) がベクトル空間になることがわかりましたので、あとは「基底ベクトル」をみつけさえすれば W(G) 内の全てのベクトル、特に G の全ての閉路を統制できることになります。

基本閉路集合

Def.13 G を連結グラフ、T をその全域木のひとつとする。 T に属さない G の辺 eT に付加すると閉路 Ce が 1 つだけできる(第6回 Th.5)。 そのような Ce 全ての集合を F(T) と表し、「T に関連した基本閉路集合」と呼ぶ。
Ex.14 Ex.6 と同じグラフ
G=
において、全域木
T=
を選んだとしましょう。このとき T に属さない辺は次の e, f, g, h の 4 本です。
Te を付加すると、次のように閉路でき(赤い部分)、これが Ce です。
同様に Tf を付加してできる閉路が Cf,
Tg を付加してできる閉路が Cg,
Th を付加してできる閉路が Ch です。
結局、T に関連した基本閉路集合 F(T)
Ce Cf Cg Ch
となります。
Th.15 F(T)W(G) の基底になる。すなわち
  1. 全ての閉路は、基本閉路と で作ることができる。ここが肝心!!
  2. dimW(G)=mn+1. ( ただし、G の頂点数を n, 辺数を m とする。)
証明 (1) 基本閉路 Ce, Cf, を係数 1 で足し合わせると、
CeCf={e,f,}
であり、これは基本閉路たちが一次独立であることを意味しています。 そして、任意の閉路 C は次のアルゴリズム Alg.16 によって基本閉路の和として表すことができます。

(2) 次元とは基底ベクトルの個数のことであり、それは T に属さない G の辺の本数でしたから

dimW(G)= ( G の辺数 ) ( T の辺数 ) =m(n1).
(証明終)

閉路を基本閉路の和に表すアルゴリズム

Algorithm 16
  • 入力:G の閉路 C
  • 出力:C を基本閉路の和として表す表し方
  1. T に属さない C の辺を e, f, , h とする。
  2. CeCfCh を出力する。
証明 D=CeCfCh とおくと、 e, f, , h は全て CD に 1 回ずつ含まれますので、CD には含まれません。 すなわち CDT の辺の部分集合になります。 Th.5 から CD は 閉路に分けられるはずですが、木 T は閉路を含みませんので、結局 CD=. よって C=D=D. (証明終)
Ex.17 Ex.14 の状況
G= T=
では W(G) の次元は 4 で、
Ce Cf Cg Ch

W(G) の基底です。その要素は
,Ce,Cf,Cg,Ch, CeCf,CeCg,CeCh,CfCg,CfCh,CgCh, CeCfCg,CeCfCh,CeCgCh,CfCgCh CeCfCgCh
の 16 個となります。

 Alg.16 を実行してみましょう。入力を
C=
とします。このとき T に属さない C の辺は f, g の 2 本です。
Cf= と  Cg=
を重ねて描くと
二重辺を消して
CfCg=
C になりましたね。
やってみよう Ex.17 の状況で、今度は
C=
を入力として Alg.16 を実行してみましょう。