グラフに関する組み合わせ論
青山学院大学 理工学部 物理・数理学科
学籍番号
:15117083
中川和樹指導教員 西山 享
2021
年2
月19
日目 次
1
序論4
1.1
研究の背景. . . . 4
1.2
研究の主結果. . . . 4
1.3
本論文の構成. . . . 6
2
全射,単射,全単射6 3
グラフ7 4
グラフの頂点探索法8 4.1
深さ優先探索. . . . 8
4.2
幅優先探索. . . . 9
5 Catalan
数と数字括弧列9 5.1 Catalan
数. . . . 9
5.2
数字括弧列とCatalan
数. . . . 12
6
二分木と数字括弧列の全単射対応12 6.1
二分木の集合T n
から数字括弧列の集合W n
への写像. . . . 12
6.2
数字括弧列の集合W n
から二分木の集合T n
への写像. . . . 13
6.3
写像P
が全単射であることの証明. . . . 13
7
数列とCatalan
数14 7.1
二分木の集合T n
から数列の集合A 4n
−2
への写像. . . . 14
7.2
数列の集合A 4n
−2
から二分木の集合T n
への写像. . . . 16
7.3
写像S
が全単射であることの証明. . . . 16
7.4
数列とCatalan
数. . . . 17
8
ヤング図形とCatalan
数19 8.1
ヤング図形の定義. . . . 19
8.2
数列の集合A 4n
−2
からヤング図形の集合Λ n
への写像. . . . 20
8.3
ヤング図形の集合Λ n
から数列の集合A 4n
−2
への写像. . . . 21
8.4
写像K
が全単射であることの証明. . . . 21
8.5
ヤング図形とCatalan
数. . . . 21
9
まとめ23 9.1
研究成果. . . . 23
9.2
卒業研究発表会での質問内容について. . . . 24
9.3
今後の課題. . . . 24
10
参考文献24
1
序論1.1
研究の背景4
年生の前期からグラフの頂点探索について勉強し,グラフの中に木と呼ばれる特別な グラフがあるということを知った.さらに“
木”
と数列[
牧野,
§2.4]
,数列とヤング図形[
講義]
が対応する事も勉強した.私が本研究を始めた動機は木の中でもさらに特別な二分 木と呼ばれるグラフでは個数が明確にわかり,その個数がCatalan
数になるということ,従って二分木に対応する数列,ヤング図形の個数も
Catalan
数で与えられるという事実に 興味を持ったからである.1.2
研究の主結果本研究の主結果は次の
3
つの集合が全単射対応していることである.(1) (2n − 1)
頂点の二分木の集合T n
(2) 0, 1
で構成される長さ(4n − 2)
である数列の部分集合A 4n−2 (3) (2n − 1) × (2n − 1)
の長方形内のヤング図形の部分集合Λ n
ここで木とは閉路を持たない連結なグラフであって,
(2n − 1)
頂点の二分木は木であり,次の条件を満たすものである.
•
葉がn
個あり,根と呼ばれるdeg(v 0 ) = 2(
次数2)
の頂点v 0
が唯一つ存在し,v 0
を 除く頂点v
の次数はdeg(v) = 1
または3
である.ここで
(2n − 1)
頂点の二分木の集合をT n
で表わす.例えば,次の図は9
頂点の二分木 の例である.この2
つは鏡像になっているが,この論文では別の二分木とみなす.! 0
((12)(3(45)))
2 3
1
4 V
((1(23))4)
(23)
(12)
(1(23))
w=((12)(3(45)))
((12)(34))
w=((1(23))4)
(45) (3(45))
5
! 0
!
0((12)(3(45)))
2 3
1
4 V
((1(23))4)
(23)
(12)
(34)
(1(23))
w=((12)(3(45)))
((12)(34))
w=((1(23))4)
(45) (3(45))
((12)(34))
5
!
0(2)
の“数列”
は0
と1
の列a = (a 1 , a 2 , · · · , a 4n
−2 )
であって,以下のような特徴を持つ ものを考える.•
数列a
に現れる0
の個数は(n − 1)
個,1
の個数は(n − 1)
個,01
の個数はn
個で ある.4
•
最後尾,101
を除き,01
の後は1
である.(
又,111
は現れない.)
•
{ Z k (a) = # { i | 1 ≤ i ≤ k, a i = 0 } (k = 1, 2, 3, · · · ) O k (a) = # { i | 1 ≤ i ≤ k, a i = 1 }
とおくと,
T k (b) ≤ Z k (b)
が成り立つ.このような数列の全体を
A 4n
−2
で表わす.主結果の最初のものは二分木の集合T n
と数 列の集合A 4n
−2
が全単射対応していることである.(
定理7.1)
次に
(3)
のヤング図形について説明する.ヤング図形とは同じ大きさの箱を上詰め,左 詰めで並べて表す次のような図式のことである.S
(3,3,2,1) (4,3,1)
(2,1,1,1,1)
このヤング図形は自然数の分割と対応している.例えば,上のヤング図形は
9 = 3 + 3 + 2 + 1, 8 = 4 + 3 + 1, 6 = 2 + 1 + 1 + 1 + 1
に対応している.ヤング図形を分割で表わして
λ = (λ 1 , λ 2 , · · · , λ l )
と書くとき,以下のような特徴を持 つような図形を考え,その全体をΛ n
で表わす.但しl
はλ
の長さである.• n − 1 ≤ l ≤ 2n − 3
• λ i ∈ 2 N (1 ≤ i ≤ l)
• λ i ≤ 2n − 1 − i
• { 2, 4, · · · , 2n − 2 } ⊂ { λ 1 , λ 2 , · · · , λ l }
定理
8.1
では数列の集合A 4n
−2
とヤング図形の集合Λ n
が全単射対応していることを証 明する.このようにして,3つの集合T n , A 4n
−2 , Λ n
は全単射対応していることを示すこ とができる.またこれらは全単射対応しているので,すべて個数が同じであり,その個数 はCatalan
数と呼ばれる数であり,C n−1
で表わされる.§5
ではCatalan
数の性質を説明 し,別の方法でも2
つの集合A 4n
−2 , Λ n
の個数がCatalan
数になっていることを証明する.1.3
本論文の構成§
2
では,集合論の基礎である全射,単射,全単射について説明する.§3では,グラフに関する基本用語や木および二分木の定義について説明する.
§
4
では,グラフの頂点探索法について説明する.§
5
では,Catalan
数について説明する.また数列1 · · · n
に(n − 1)
組の括弧をつけた 数字括弧列の集合をW n
とし,Wn
の個数がCatalan
数であることを示す.§
6
では,(2n − 1)
頂点の二分木の集合T n
の個数がCatalan
数であることを(2n − 1)
頂点の二分木の集合T n
と1 · · · n
の数列に(n − 1)
組の括弧をつけた数字括弧列の集合W n
が全単射対応していることから説明する.§
7
では,(2n − 1)
頂点の二分木の集合T n
と0, 1
で構成される長さ(4n − 2)
である数 列の部分集合A 4n−2
の全単射対応について示す.また数列a ∈ A 4n−2
の特徴を用いて,個数が
Catalan
数であることを直接示す.§
8
では,数列の集合A 4n
−2
と(2n − 1) × (2n − 1)
の正方形内のヤング図形の部分集合Λ n
の全単射対応について示す.またヤング図形λ ∈ Λ n
の特徴を用いて,個数がCatalan
数であることを直接示す.2
全射,単射,全単射この章では,後の章で必要になるので集合論の基礎である単射,全射,全単射について 説明する.この章の定義は教科書
[
内田,
§6]
より引用した.さらに詳しいことは[
内田]
を 参照してほしい.以下,A, B
は集合とする.定義
2.1 (
単射).
写像f : A → B
を考える.f
が単射であるとは,a 1 , a 2 ∈ A
に対してa 1 6 = a 2
ならばf (a 1 ) 6 = f (a 2 )
が成り立つことである.定義
2.2 (全射).
写像f : A → B
を考える.f が全射であるとは,任意のb ∈ B
に対し てb = f(a)
となるa ∈ A
が常に存在することである.定義
2.3 (
全単射).
写像f
が全射かつ単射であるときf
を全単射という.定義
2.4. f : A → B, g : B → A
を2
つの写像とする.また恒等写像を1 A : A → A
と書 くことにする.このときf ◦ g = 1 B , g ◦ f = 1 A
が成り立つならばf
とg
は互いに逆写像 であるといい,g = f
−1
と表す.定理
2.1. f
が全単射であることと逆写像g = f
−1
を持つことは同値である.[
証明]. f : A → B, g : B → A
を2
つの写像とする.( ⇒
の証明) f
は全単射である.特にf
は全射であるので,任意のb ∈ B
に対しb = f (a)
となるa ∈ A
が常に存在する.またf
は単射であるので,b = f (a)
となるa
は1
つに決 まる.以上より,b ∈ B
に対しb = f (a)
となる元a ∈ A
を対応させることによって集合B
から集合A
への写像が定まり,逆写像f
−1 : B → A
となることが証明できる.よっ て,逆写像が存在する.( ⇐
の証明) f
とg
は互いに逆写像であるので,f ◦ g = 1 B , g ◦ f = 1 A
である.∀ b ∈ B
に対しa = g(b)
とおけばf(a) = f(g(b)) = (f ◦ g)(b) = b
となる.よって,f
は全射である.次に
a 1 , a 2 ∈ A
についてf (a 1 ) = f(a 2 )
であるとすればa 1 = (g ◦ f )(a 1 ) = g(f (a 1 )) = g(f (a 2 )) = (g ◦ f)(a 2 ) = a 2
となる.よって,f
は単射である.以上より,f
は全単射である.3
グラフこの章では,グラフの基本用語について述べたあと,木および二分木の定義について説 明する.より詳しくは
[
牧野]
を参照してほしい.グラフ
G
とは,有限個の頂点の集まりである頂点集合V
と2
頂点を結ぶ辺の集合E ⊂ V × V
を合わせて考えるもので,G = (V, E)
と表す.この論文では無向グラフのみを考 えることにする.次にグラフに関する基本的な用語を列挙する.
•
路· · ·
頂点と辺の交互列v 0 , e 1 , v 1 , e 2 , · · · , v k
−1 , e k , v k (v k ∈ V, e k ∈ E)
であり,辺e i
の端点が頂点v i
−1
とv i
である.•
サーキット· · · v 0 = v k (
始点と終点が一致する)
であって,この2
つの頂点を除くと,すべての頂点が相異なるような路
v 0 (= v k ), e 1 , v 1 , e 2 , · · · , e k
−1 , v k
−1 , e k , v k
である.•
次数· · ·
ある頂点v
を端点とする辺の本数を頂点v
の次数といい,deg(v)
と書く.•
連結· · ·
グラフG = (V, E)
において,任意の2
つの頂点v, w ∈ V
の間に始点がv
, 終点がw
である路(v − w
路)
が存在することである.•
葉· · ·
次数1
の頂点.定義
3.1 (
木).
木とはサーキットを持たない連結なグラフである.
ラベル付き木とは木の 頂点に数字(
ラベル)
をつけたグラフである.定義
3.2 (二分木).
二分木は木であり,かつ次の条件を満たすものである.•
葉がn
個あり,頂点数が(2n − 1)
個である.•
根と呼ばれる次数がdeg(v 0 ) = 2
の頂点v 0
が唯一つ存在する.• v 0
を除く頂点v
の次数はdeg(v) = 1
または3
である.この論文では,二分木は枝の左右を区別して考える.例えば,以下のような
2
つの二分 木は別のグラフである.! 0
((12)(3(45)))
2 3
1
4 V
((1(23))4)
(23)
(12)
(34)
(1(23))
w=((12)(3(45)))
((12)(34))
w=((1(23))4)
(45) (3(45))
((12)(34))
5
! 0
!
0((12)(3(45)))
2 3
1
4 V
((1(23))4)
(23)
(12)
(34)
(1(23))
w=((12)(3(45)))
((12)(34))
w=((1(23))4)
(45) (3(45))
((12)(34))
5
!
04
グラフの頂点探索法この章では,グラフ
G
の2
種類の頂点探索法について説明する.この章では,G = (V, E)
を一般のグラフとする.4.1
深さ優先探索深さ優先探索では以下のルールに従って探索を行う.始点
s ∈ V
に接続する辺e =
(s, w) ∈ E
を任意に選び,その辺に沿って,頂点w ∈ V
を訪問し,w
からさらに探索を続ける.このとき訪問順に頂点にラベル
(1, 2, 3, · · · )
を付ける.このとき訪問した任意の 頂点v ∈ V
にいるとする.このとき2
種類の状況がある.1. v
に接続する辺で訪問していない頂点を終点に持つ辺が存在する.2. v
に接続する辺の終点がすべて訪問済みである.1
の場合,訪問していない頂点を終点に持つ辺e = (v, u) ∈ E
を任意に一つ選び,その 辺をたどり,頂点u ∈ V
を訪問する.そして頂点u
からさらに探索を続ける.2
の場合,頂点v
から1
つ前の頂点に戻り,その頂点から同様に探索を続ける.このような操作を続け,頂点
s
に戻り,2
の条件を満たすとき探索を終了する.例えば,下の図は深さ優先探索の
2
つの例である.左のグラフは探索に使用するグラ フG
である.s
9 7
8 6
5
((12)(3(45)))
v 0
4 3
2 1
2 3
1
4 V
((1(23))4)
(23) (1(23))
w=((12)(3(45))) w=((1(23))4)
1
4 2 3
(12)
(45) (3(45))
G
7
4
6 5 2 3
s 1
s G
2 2
2
3
7 8 5 4
1
5
4
7 3 6
2 2 1
6 3 7
4 1
5
s s
s
8 8
s
9 7
8 6
5
((12)(3(45)))
v 0
4 3
2 1
2 3
1
4 V
((1(23))4)
(23) (1(23))
w=((12)(3(45))) w=((1(23))4)
1
4 2 3 (12)
(45) (3(45))
6 1
7 4 5
2
3
7
4
6 5 2 3
s 1
s
s
9 7
8 6
5
((12)(3(45)))
v
04 3
2 1
2 3
1
4 V
((1(23))4)
(23) (1(23))
w=((12)(3(45))) w=((1(23))4)
1
4 2 3 (12)
(45) (3(45))
6 1
7 4 5
2
3
7
4
6 5 2 3
s
1s
後の§
7
で出てくる二分木の頂点を辿る順序は深さ優先探索に条件を加えたものである.4.2
幅優先探索幅優先探索では以下のルールに従って探索を行う.
1.
まず始点s
に接続している辺をすべて辿り,頂点を順に訪問する.このとき訪問順 に頂点にラベル(1, 2, 3, · · · )
を付ける.2.
次にこれまでに訪問した未探索な頂点の中で訪問順が最も小さい頂点をv
とし,頂 点v
から同様に探索する.以下この操作を繰り返す.例えば,下の図は幅優先探索の
3
つの例である.左のグラフは探索に使用するグラフG
である.
s
9 7
8 6 5
((12)(3(45)))
v
04 3
2 1
2 3
1
4 V
((1(23))4)
(23) (1(23))
w=((12)(3(45))) w=((1(23))4)
1
4 2 3 (12)
(45) (3(45))
G
7
4
6 5 2 3
s
1s G
2 2
2
3
7 8 5 4
1
5
4
7 3 6
2 2 1
6 7 4 3
1 5
s s
s
8 8
s
9 7
8 6
5
((12)(3(45)))
v
04 3
2 1
2 3
1
4 V
((1(23))4)
(23) (1(23))
w=((12)(3(45))) w=((1(23))4)
1
4 2 3 (12)
(45) (3(45))
6 1
7 4 5
2
3
7
4
6 5 2 3
s
1s s
2 2
2
3
7 8 5 4
1
5
4
7 3 6
2 2 1
6 3 7
4 1
5
s s
s
8 8
s
9 7
8 6
5
((12)(3(45)))
v 0
4 3
2 1
2 3
1
4 V
((1(23))4)
(23) (1(23))
w=((12)(3(45))) w=((1(23))4)
1
4 2 3 (12)
(45) (3(45))
6 1
7 4 5
2
3
7
4
6 5 2 3
s 1
s s
2 2
2
3
7 8 5 4
1
5
4
6 7 3 2
2 1
6 7 4 3
1 5
s s
s
8 8
s
9 7
6 8
5
((12)(3(45)))
v
04 3
2 1
2 3
1
4 V
((1(23))4)
(23) (1(23))
w=((12)(3(45))) w=((1(23))4)
1
4 2 3 (12)
(45) (3(45))
6 1
7 4 5
2
3
7
4
6 5 2 3
s
1s s
2 2
2
3
7 8 5 4
1
5
4
6 7 3 2 2 1
6 7 3 4 1
5
s s
s
8 8
5 Catalan
数と数字括弧列この章では,まず
Catalan
数について説明する.そして数列1 · · · n
に(n − 1)
組の括弧 をつけた数字括弧列の集合をW n
とし,W n
の個数がCatalan
数であることを説明する.5.1 Catalan
数この節では,
Catalan
数について説明する.定理
5.1.
漸化式C n = C n
−1 C 0 + C n
−2 C 1 + · · · + C 1 C n
−2 + C 0 C n
−1 (n ≥ 2) C 0 = 1, C 1 = 1
を満たす数列は唯一つに決まり,それは
C n = 1
n + 1 ( 2n
n )
(n ≥ 0)
で与えられる.このC n
をCatalan
数と呼ぶ.まず証明の前に定義を一つ準備する.
定義
5.1 (
母関数).
数列(a 0 , a 1 , · · · , a n , · · · )
に対して,形式的に冪級数A(x)
を考える.A(x) = a 0 + a 1 x 1 + a 2 x 2 + · · · + a n x n + · · ·
このA(x)
を数列(a n )
の母関数という.定理
5.1
の証明は[
仙波,
§6.2]
を参考にして行う.[
証明].
母関数を用いて,Catalan
数の母関数F (x)
を次のように決める.F (x) = C 0 + C 1 x + · · · + C n x n + · · ·
すると,F (x) 2
は次のように計算できる.F (x) 2 = C 0 C 0 + (C 0 C 1 + C 1 C 0 )x + (C 0 C 2 + C 1 C 1 + C 2 C 0 )x 2 + · · ·
· · · + (C 0 C n−1 + C 1 C n−2 + · · · + C n−1 C 0 )x n
= 1 x
∑
∞n=2
(C n
−1 C 0 + · · · + C 0 C n
−1 )x n + C 0 2 (1)
またCatalan
数の漸化式よりF (x) − C 0 − C 1 x =
∑
∞n=2
C n x n =
∑
∞n=2
(C n
−1 C 0 + · · · + C 0 C n
−1 )x n (2)
が成り立つ.このとき,(1)と(2)
よりF (x) − C 0 − C 1 x = x(F (x) 2 − C 0 2 )
ここでC 0 = 1, C 1 = 1
であることよりxF (x) 2 − F (x) + 1 = 0 (3)
が成り立つ.
(3)
を解くと,F (x) = 1 ± √ 1 − 4x 2x
となる.ここでF (x) = 1 + √
1 − 4x
2x
のときはx lim
→0 F (x) = lim
x
→0
1 + √ 1 − 4x
2x = ∞
となるので不適であるが,
F (x) = 1 − √ 1 − 4x
2x
のときはlim x
→0 F (x) = lim
x
→0
1 − √ 1 − 4x
2x = lim
x
→0
(1 − √
1 − 4x)(1 + √
1 − 4x) 2x(1 + √
1 − 4x)
= lim
x
→0
4x 2x(1 + √
1 − 4x) = 1
となって
F (0) = C 0 = 1
を満たす.従って,F (x) = 1 − √ 1 − 4x
2x
である.ここで
F (x)
を一般二項係数を用いて,冪級数展開すると,F (x) = 1 2x
{
1 − 1 − ∑
∞n=1
( 1 2 )( 1 2 − 1)( 1 2 − 2) · · · ( 1 2 − n + 1)
n! ( − 4) n x n
}
= − 1 2x
∑
∞n=1
1 n!
1
2 n 1( − 3)( − 5) · · · ( − 2n + 3)( − 4) n x n
= 1
2x
∑
∞n=1
1
n! 1 · 3 · 5 · · · (2n − 3)2 n x n
= 1
2x
∑
∞n=1
2 n
1 · 3 · · · (2n − 3) (n − 1)!
(n − 1)!2 n
−1 (n − 1)! x n
= 1
2x
∑
∞n=1
2 n
( 2n − 2 n − 1
) x n =
∑
∞n=1
1 n
( 2n − 2 n − 1
) x n
−1
= 1 +
∑
∞n=2
1 n
( 2n − 2 n − 1
) x n−1
n − 1
の代わりにn
を考えると,F (x) = 1 +
∑
∞n=1
1 n + 1
( 2n n
)
x n ∴ C n = 1 n + 1
( 2n n
)
となることがわかる.
5.2
数字括弧列とCatalan
数数列
1 · · · n
に(n − 1)
組の括弧をつけた数字括弧列の集合をW n
と書く.このときW n
の括弧は2
組の数字または数字括弧列を括っているものとする.例えば,以下の数字括 弧列はn = 5
のときの例である.(1((23)(45))), (((12)3)(45)), (((12)(34))5)
しかし
(1)(2)(34)
や((123)(4))
などは許されない.(2組のものを括弧で括っていない.) 次にW n
の個数がC n
−1 = 1
n
( 2n − 2 n − 1
)
であることを示す.#W
n
は集合W n
の元の個数 を表す.定理
5.2. #W n = C n
−1
である.[
証明]. #W n = f n
とおいて,f n
とC n
−1
が一致することを示そう.数列1 2 3 · · · n
を1 · · · i
と(i+1) · · · n
の部分に分けてそれぞれの括弧の付け方を考えると,括弧の付け方はf i × f n
−i
となる.ここで
W 1
において,1
つの数字に0
組の括弧がついていると考え,#W 1 = 1
と する.したがってf 1 = 1, f 2 = 1
なので,次のCatalan
数の漸化式が成り立つ.f n = f 1 f n
−1 + f 2 f n
−2 + · · · + f i f n
−i + · · · + f n
−1 f 1 (n ≥ 3)
この漸化式を解くと
f n = C n
−1
となる(
定理5.1)
.よって,#W n = C n
−1 (n ≥ 1)
であ ることがわかった.6
二分木と数字括弧列の全単射対応(2n − 1)
頂点の二分木の集合をT n
と書く.この章では,(2n − 1)
頂点の二分木の集合T n
と数列1 · · · n
に(n − 1)
組の括弧をつけた数字括弧列の集合W n
が全単射対応してい ることを示す.6.1
二分木の集合T n
から数字括弧列の集合W n
への写像二分木の集合
T n
から数字括弧列の集合W n
への写像P
を構成する.T n
−→ P W n
∈ ∈
T n 7−→ w
P (T n ) = w
の構成アルゴリズムStep1
二分木の葉に左から1, · · · , n
のラベル付けを行う.Step2
二分木は1
つの頂点(親)
の下に2
つの頂点(子)
がある.子のラベルが左から(α), (β)
ならば,親のラベルは((α)(β))
となる.Step3
ラベル付けの操作を根まで行う.この時の根のラベルがw
である.例えば,下の図は
9, 7
頂点の二分木から数字括弧列への変換の例である.((12)(3(45)))
v 0
3 4 1 2
2 3
1
4 V
((1(23))4)
(23)
(12) (34) (1(23))
w=((12)(3(45)))
((12)(34))
w=((1(23))4)
1
5 4 2 3 (12)
(45) (3(45))
((12)(34))
((12)(3(45)))
v 0
3 4 1 2
2 3
1
4 V
((1(23))4)
(23)
(12) (34) (1(23))
w=((12)(3(45)))
((12)(34))
w=((1(23))4)
1
5 4 2 3 (12)
(45) (3(45))
((12)(34))
6.2
数字括弧列の集合W n
から二分木の集合T n
への写像次に数字括弧列の集合
W n
から二分木の集合T n
への写像Q
を構成する.W n
−→ Q T n
∈ ∈
w 7−→ T n
Q(w) = T n
の構成アルゴリズムStep1
グラフの根を作り,w
をラベル付けする.Step2
頂点の親から子へ2
組の数字括弧列w = ((α)(β))
を二つの子に左から(α), (β)
とラベル付けし,辺と頂点を配置する.Step3
頂点のラベルが数字だけになるまでこの操作を行う.6.3
写像P
が全単射であることの証明定理
6.1.
写像Q
は写像P
の逆写像である.従って,P: T n −→ W n
は全単射である.[
証明].
写像Q
で行われている操作は(n − 1)
回数字括弧列の外側の括弧を1
組取り去 り,2
組に分け,左と右にラベル付けした頂点を配置するものである.この操作は写像P
で行われている操作と逆のことを行なっていて,行う操作は(n − 1)
回で同じ回数であり,ラベル付けの左右も変わっていない.よって,写像
Q
は写像P
の逆写像である.系
6.1. # T n = C n
−1
[
証明].
定理6.1
より,1 · · · n
の数列に(n − 1)
組の括弧をつけた数字括弧列の集合W n
と(2n − 1)
頂点の二分木の集合T n
は全単射対応している.また#W n = C n
−1
であること より,(2n − 1)
頂点の二分木の集合T n
の個数はCatalan
数C n
−1
である.以上より,系6.1
を示せた.7
数列とCatalan
数0, 1
で構成された長さ(4n − 2)
である数列の部分集合をA 4n
−2
と書く.この章では,(2n − 1)
頂点の二分木の集合T n
と0, 1
で構成された長さ(4n − 2)
である数列の部分集 合A 4n
−2
が全単射対応していることを示し,また数列a ∈ A 4n
−2
の特徴を用いて,個数 がCatalan
数C n
−1
であることを直接示す.7.1
二分木の集合T n
から数列の集合A 4n − 2
への写像この節では,二分木の集合
T n
から数列の集合A 4n
−2
への写像を示す.そのためにま ず二分木の頂点を辿る順序について説明する.二分木の頂点を辿る順序
Step1
根を訪れる.Step2
左の部分木を葉にたどりつくまで辿る.Step3
葉の1
つ前の頂点の右の部分木を辿る.Step4 Step3
で右の部分木を訪問済みであれば,さらに1
つ前に戻り,右の部分木を 辿る.右の部分木が訪問済みであれば,この操作を繰り返す.下の図は番号に合わせた操作である.
5
は繰り返した後の図である.
次に二分木の集合
T n
から数列の集合A 4n
−2
への写像S
を構成する.T n
−→ S A 4n
−2
∈ ∈
T n 7−→ a
S(T n ) = a
の構成アルゴリズム二分木において,頂点を辿る順序に従い,以下のように数列を作成する.
•
頂点から左に辺を辿るならば,0
とする.•
頂点から右に辺を辿るならば,1 とする.•
訪問した頂点が葉ならば,01
とする.例えば,下の図は
7
頂点の二分木から長さ14
の数列への変換である.
0
S
(3,3,2,1) (4,3,1)
(2,1,1,1,1) 0
01 1
0
01 01
1 01 1
このとき,写像
P
により作られた二分木と対応する数列a ∈ A 4n
−2
は以下の性質を 持つ.1.
葉はn
個であることより01
の組はn
個出てくる.また葉以外の頂点は(n − 1)
個 あり,その頂点は左右に辺を出している.よって左に(n − 1)
回,右に(n − 1)
回 辿れるので0
と1
は(n − 1)
個出てくる.2.
二分木の最後は右に辿り,葉で終わるので数列の最後尾は101
となる.また二分木 の頂点を辿る順序より,葉の後は右に辿るので01
の後は1
である.3.
二分木の頂点を辿る順序により,左に辿る回数が右に辿る回数以上であるので,数 列のどの場所においても,0
の個数が1
の個数以上になる.これをまとめると,数列
a ∈ A 4n
−2
の特徴は次のように表される.数列をa = (a 1 , a 2 , · · · , a 4n−2 )
とする.1.
数列に現れる0
の個数はn − 1
個,1
の個数はn − 1
個,01
の個数はn
個である.2.
最後尾101
を除き,01
の後は1
である.又1, 1, 1
は現れない.3.
{ Z k (a) = # { i | 1 ≤ i ≤ k, a i = 0 } (k = 1, 2, 3, · · · ) O k (a) = # { i | 1 ≤ i ≤ k, a i = 1 }
とおくと,
O k (a) ≤ Z k (a)
が成り立つ.7.2
数列の集合A 4n − 2
から二分木の集合T n
への写像次に数列の集合
A 4n
−2
から二分木の集合T n
への写像N
を構成する.A 4n
−2 −→ N T n
∈ ∈
a 7−→ T n
N (a) = T n
の構成アルゴリズム 二分木の頂点を辿る順序を利用し,二分木を作成する.•
グラフの根を決める.• 0
が出てきたら,頂点から左に下り,新しい頂点と辺を作る.• 1
が出てきたら,頂点から右に下り,新しい頂点と辺を作る.• 01
の組が出てきたら,今いる頂点を葉とし,一つ前の頂点に戻る.例えば,下の図は長さ
14
の数列から7
頂点の二分木への変換である.)
(
7.3
写像S
が全単射であることの証明定理
7.1.
写像N
は写像S
の逆写像である.従って,S : T n → A 4n
−2
は全単射である.[
証明].
写像N
では数列a
において01
の後は1
であること,0
と1
の個数関係より二分木 を辿る順序と同じ順序で数列a
を使い,二分木を作成することができる.また頂点数に関 しても数列a
の0
と1
と01
の個数より葉の個数はn
個,葉以外の頂点は(n − 1)
個現れ る.よって,写像N
は写像S
の逆写像である.系
7.1. #A 4n
−2 = C n
−1
[
証明].
定理7.1
より,(2n − 1)
頂点の二分木の集合T n
と0, 1
で構成される長さ(4n − 2)
である数列の集合A 4n
−2
は全単射対応している.よって,数列の集合A 4n
−2
の個数はCatalan
数C n
−1
である.以上より,系7.1
を示せた.7.4
数列とCatalan
数0, 1
で構成される長さ(4n − 2)
である数列の集合A 4n
−2
の個数がCatalan
数C n
−1
であ ることはすでに示したが,この節では数列a ∈ A 4n
−2
の特徴を用いて,直接示そう.以下の
Step 1, 2, 3
のように数列a
を変える.Step1
数列a
からa 4n
−3 4n
−2 = 01
を除く.Step2 011
の組を右括弧とおく.Step3 0
を左括弧とおく.この時,作られた括弧列の集合を
B
とする.括弧列b ∈ B
は以下の性質をもつ.括弧 列b
をb = (b 1 , b 2 , · · · , b 2n
−2 )
とする.1.
数列a
において,0
が(n − 1)
個あるので数列b
において,左括弧の個数は(n − 1)
個,数列a
において,01
がn
個,1
が(n − 1)
個あり,上のStep 1, 2, 3
により,01
が1
個なくなったので,011の組み合わせが(n − 1)
個あり,右括弧の個数は(n − 1)
個になる.2.
数列a
の0, 1
の順序の条件より,括弧列のどの場所においても,左括弧の個数が右 括弧の個数以上である.これをまとめると,括弧列
b ∈ B
の特徴は次のように表される.1.
数列b
において,左括弧の個数は(n − 1)
個,右括弧の個数は(n − 1)
個になる.2.
{ Z k (b) = # { i | 1 ≤ i ≤ k, b i = (左括弧) } (k = 1, 2, 3, · · · ) T k (b) = # { i | 1 ≤ i ≤ k, b i = (
右括弧) }
とおくと
T k (b) ≤ Z k (b)
が成り立つ.このとき
(n − 1)
組の括弧列の集合B
の個数はCatalan
数C n
−1
である.(
命題7.1)
命題7.1. #B = C n
−1
#B = C n
−1
を示すために補題を一つ準備する.xy
平面上のk × k
の整数格子を考える([0, k] × [0, k]
に含まれるもの)
.この時,A(0, 0)
からB(i, j) (i ≤ j ≤ k)
までの最短格子路の数をf i,j
とする.またB
へ最短で辿り着く ためにはC(i − 1, j )
またはD(i, j − 1)
を通る.よってf i,j = f i
−1,j + f i,j
−1
と表せる.補題
7.1. 1 ≤ i ≤ j
に対し,漸化式f i,j = f i
−1,j + f i,j
−1
の解はf i,j =
( i + j j
)
−
( i + j j + 1
)
である.ただし
f 0,j = 1 (1 ≤ j )
この補題
7.1
の証明は[
仙波,
定理8.1]
を参考にして行う.[補題の証明].
数学的帰納法で解いていく.(I) i + j = 2, i = 1, j = 1
のときf 1,1 = ( 2
1 )
− ( 2
2 )
= 1
よって,i = 1, j = 1
のときは成り立つ.(II) i + j = 2k (k ≥ 1)
のとき成り立つと仮定し,i+ j = 2k + 1
のとき,成り立つか示 す.まずi + j = 2k + 1
より,i = 2k + 1 − j
である.このときF (2k + 1 − j, j )
を通る最 短格子路を考える.F
の一つ手前の頂点はG(2k − j, j), H (2k + 1 − j, j − 1)
である.頂 点G, H
は頂点の和が偶数であるので,仮定より成り立つ.j (k + 1 ≤ j ≤ 2k)
について考えるとf 2k+1−j,j = f 2k−j,j + f 2k+1−j,j−1
= ( 2k
j )
− ( 2k
j + 1 )
+ ( 2k
j − 1 )
− ( 2k
j )
= ( 2k
j )
+ ( 2k
j − 1 )
− ( 2k
j + 1 )
− ( 2k
j )
=
( 2k + 1 j
)
−
( 2k + 1 j + 1
)
以上より
i + j = 2k + 1
のとき,成り立つ.(III) i + j = 2k + 1 (k ≥ 1)
のとき成り立つと仮定し,i + j = 2k + 2
のとき,成り立つ か示す.またi + j = 2k + 2
よりi = 2k + 2 − j
である.このときJ (2k + 2 − j, j)
を通 る最短格子路を考える.J の一つ手前の頂点はK(2k + 1 − j, j), L(2k + 2 − j, j − 1)
であ る.頂点K, L
は頂点の和が奇数であるので,仮定より成り立つ.j (k + 1 ≤ j ≤ 2k + 1)
について考えるとf 2k+2
−j,j = f 2k+1
−j,j + f 2k+2
−j,j
−1
=
( 2k + 1 j
)
−
( 2k + 1 j + 1
) +
( 2k + 1 j − 1
)
−
( 2k + 1 j
)
=
( 2k + 1 j
) +
( 2k + 1 j − 1
)
−
( 2k + 1 j + 1
)
−
( 2k + 1 j
)
=
( 2k + 2 j
)
−
( 2k + 2 j + 1
)
以上より