0
大学数学基礎解説
文献あり

三色ネックレスとSchröder路

79
0

長さネックレスとは,合計個の何種類かの玉を円形に配置した組合せ論的オブジェクトである [8,4,2,3].
二つのネックレスは,一方が他方を円に沿って回転して得られるならば,同値であるという.
いわゆる数珠ではないので反転は考えない.すべての玉を区別するネックレスは円順列 [1]という名で有名だが,ここでは区別できない玉もある場合を扱う.

ネックレスとカタラン数

以下が成り立つ [5,6,7].

玉0をn個,玉1をn+1個使って作る同値でないネックレスの数は,n番目のカタラン数つまり12n+1(2n+1n,n+1)=1n+1(2nn)通りである.

例えば,3個の0と4個の1でネックレスを作る方法は下図のとおり5通りあり,これは3番目のカタラン数である.
3個の0と4個の1でできるネックレス 3個の0と4個の1でできるネックレス

定理1の代数的証明はBurnsideの補題やPólyaの計数定理 [8,9]を使ってできる.

我々が興味を持つのは,定理1自体よりもむしろ定理1から提起される「全単射を作れ」タイプの問題である.カタラン数はDyck路の数なので,以下の問題が提起される.

「玉0をn個,玉1をn+1個使って作るネックレス」と,「サイズnのDyck路」の一対一対応を作れ.

問題1の全単射はcycle lemmaと呼ばれる定理を使うとできる.
これについて,例えば[6]や[7]にも書いてあるが,あとで軽く述べる.

三色ネックレスとSchröder路

本記事で述べたいのは,玉を三種類に拡張した場合である.
同じくPólyaの計数定理を使って,以下の主張は簡単に示せる.

玉0をn個,玉1をn+1個,玉2をn+2個使って作れる同値でないネックレスの数は13n+3(3n+3n,n+1,n+2)通りである.

ここに現れる数13n+3(3n+3n,n+1,n+2)は,オンライン数列大百科 [10]を見ると

「ピークをn個持つサイズ2n+1のSchröder路の数」(oeis: A319578)

として載っているから,以下の問題が提起される.

「玉0をn個,玉1をn+1個,玉2をn+2個使って作るネックレス」と,「ピークをn個持つサイズ2n+1のSchröder路」の一対一対応を作れ.

本記事ではこの全単射を構成してみた.

用語の準備

ネックレスの形式的な定義とかもここで述べておく.

ネックレスの形式的な定義

「円形に並べる」というのを巡回群の作用を使って以下のように定義する.
有限集合X上の長さの語w=w0w1 (wiX)と,位数の巡回群Caa=eの元aiに対して
ai(w0w1)wiw1w0wi1(i{0,,1})
と定義する.
wに対して,a0w,,a1wによって得られる語たちを,wの巡回シフトという.

語の集合
Wn{w=w0w2nwn0n+11}
に対する,巡回群C2n+1の作用が上記によって定義される.
n個の0とn+1個の1を使って作るネックレス」とは,この作用による軌道である.(軌道とは作用によってうつり合う語を同値と定義したときの同値類である.)

また,語の集合
Vn{w=w0w3n+2wn0n+11n+22}
には,同様に巡回群C3n+3の作用が定義される.
n個の0とn+1個の1とn+2個の2を使って作るネックレス」とは,この作用による軌道である.

格子路に関する用語の定義

Dyck路やSchröder路といった格子路に関する用語を定義する.

Dyck路

サイズnのDyck路とは,二つのベクトルU(1,1)D(1,1)からなる長さ2nの列
v=(v1,,v2n)vi{U,D}
であって,二条件

  • 任意のi{1,,2n}に対して,v1++vi=(i,yi)とすると,
    yi0
  • v1++v2n=(2n,0)

を満たすものである.

Schröder路

サイズnのSchröder路とは,三つのベクトルU(1,1),D(1,1),L(2,0)からなる列
v=(v1,,v)vi{U,D,L}
であって,二条件

  • 任意のi{1,,}に対して,v1++vi=(i,yi)とすると,
    yi0
  • v1++v=(2n,0)

を満たすものである.

Schröder路の中で,ベクトルUDがこの順番で連続する部分をピークという.

cycle lemmaと問題1の全単射

cycle lemmaを述べるために,dominating [6]という概念が必要になる.

dominating

w=w0w2nWnがdominatingであるとは,任意のi{0,,2n}に対して,語w0wiに含まれる文字1の数が,それに含まれる文字0の数より多いことである.

dominatingを説明する例

dominatingな列の例:11010,1111000
dominatingでない列の例:011,10101,0010111

以下の定理はcycle lemma [6]と呼ばれる.

cycle lemma

任意の語w=w0w2nWnに対して,その巡回シフト
wiw2nw0wi1でdominatingなものが唯一つ存在する.

cycle lemmaを説明する例

w=0010111W3の巡回シフトは以下の7つあり,そのうちa4wだけがdominatingである.
a0(0010111)=0010111,a1(0010111)=0101110,a2(0010111)=1011100,a3(0010111)=0111001,a4(0010111)=1110010,a5(0010111)=1100101,a6(0010111)=1001011,

cycle lemmaの証明.

wWnに含まれる文字0,1をそれぞれベクトルU,Dに置き換えることにより,Wnの元を,点(0,0)から出発して点(2n+1,yn)へ行く格子路とみなす.
格子路wWnの節点のなかで「最も下にある点のうち,最も右にあるもの」が唯一つ存在する.その点を(i,yi)とする.
するとaiwはdominatingであり,ajw (ij)はdominatingではない.

問題1の解答.[6,7]

cycle lemmaより各同値類の代表元として,dominatingな語を一意的にとれる.よって,「玉0をn個,玉1をn+1個使って作るネックレス」はWnのdominatingな語と一対一対応する.Wnのdominatingな語の先頭にある1を取り除き,文字0,1をそれぞれ文字D,Uに変えるとDyck路を得る.この対応は一対一である.

全単射の例

問題1の全単射の例 問題1の全単射の例
(1) ネックレス(=軌道).
(2) その軌道に含まれる唯一のdominatingな元 1110010
(3) 先頭の1を取り去って作ったDyck路.

(1)と(2)は一対一対応していて,(2)と(3)も一対一対応する.

問題2の全単射

まず,玉が三種類の場合のdominatingを定義する.

玉が三種類の場合のdominating

w=w0w3n+2Vnがdominatingであるとは,任意のi{0,,3n+2}に対して,語w0wiに含まれる文字2の数が,それに含まれる文字1の数より多いことである.

玉が三種類の場合のdominatingを説明する例

dominatingな列の例:202211
dominatingでない列の例:022211

dominatingな列は必ず2から始まる.下の例は先頭が0なので,語0に含まれる文字2の数 (0個)が,それに含まれる文字1の数 (0個)より多くないため,dominatingではない.

玉が三種類のときもcycle lemmaと似た主張が成り立つ.

玉が三種類のときのcycle lemma

任意の語w=w0w3n+2Vnに対して,その巡回シフト
wiw3n+2w0wi1で (定義4の意味で)dominatingなものが唯一つ存在する.

玉が三種類のときのcycle lemmaの証明.

wの巡回シフトたちを,文字0を無視すると同じになるものを同値とする同値関係により類別する.これらの同値類の代表元として,先頭が0でないものを一意的に取ることができる.これら代表元たちのうちdominatingであるものが,定理3より唯一つ存在する.

問題2の解答.

「各節点に重さを付けたDyck路」というオブジェクトを定義する.
サイズnで重さmの「各節点に重さを付けたDyck路」とは,サイズnのDyck路vと,長さn+1の非負整数列k=(k0,,kn)の組(v,k)で,
後者の和がm,つまりk0++kn=mなるものである.
後者の非負整数列のことを重さの列ということにする.

定義4の意味でdominatingな列wVnは,サイズn+1で重さnの「各節点に重さを付けたDyck路」と一対一対応する.
なぜならば,文字0を無視すると,問題1よりdominatingな列wはサイズn+1のDyck路と一対一対応し,その後合計n個の0がどこに何個あったのかを重さの列として表せばよいからである.
例えば,dominatingな列220210121は,0を無視すると2221121だから,Dyck路UUDDUDと重さの列(0,1,0,1,0,0,0)の組に対応する.
絵で書くと以下のようなのを考えている.
各節点に重さを付けたDyck路!FORMULA[123][822804771][0].サイズは!FORMULA[124][36213][0]で重さは!FORMULA[125][36182][0]である. 各節点に重さを付けたDyck路(UUDDUD,0101000).サイズは3で重さは2である.

次に,「サイズn+1で重さnの各節点に重さを付けたDyck路」から「ピークをn個持つサイズ2n+1のSchröder路」への一対一対応を作る.
サイズn+1で重さnの各節点に重さを付けたDyck路
(v,k)=((v1,,v2n+2),(k0,,k2n+2))
が与えられたとき,各i=0,,2n+2について,列vviの直後に(ud)kiを挿入する.但し,(ud)k0は列vの先頭に挿入する.こうして作られた新しい列をvとする.
例えば,(UUDDUD,0101000)が与えられたら,
v=UudUDudDUD
である.
次に,vに含まれる連続するUDをすべてLに置き換える.こうしてできる列をvとする.
例えば,上記の例では
v=UudLudDL
である.
最後に,vに含まれるudUDに置き換え,これをvとする.
例えば,上記の例では
v=UUDLUDDL
である.
こうして作られる列vは,ピークをn個持つサイズ2n+1のSchröder路である.この対応vvは一対一である.

全単射の例

以下は問題2の全単射の例を絵で描いたものである.
(1) ネックレス (2) 軌道のdominatingな代表元 (3) 各節点に重さを付けたDyck路 (4) Schröder路 (1) ネックレス (2) 軌道のdominatingな代表元 (3) 各節点に重さを付けたDyck路 (4) Schröder路
(1)と(2),(2)と(3),(3)と(4)はそれぞれ上で述べたように一対一対応しており,結果的に(1)と(4)は一対一対応する,

参考文献

投稿日:2024420
更新日:2024420
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

Do everything bijectively.

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 用語の準備
  2. cycle lemmaと問題1の全単射
  3. 問題2の全単射
  4. 参考文献