前回のまとめ
前回見たのは2点です。
1.ツリー T1と写像 t1:A→A を対応させるということ
2.ツリー構造が等しいということの定義。全単射写像 σ:A→Aを用いて、
σ∘t1=t2∘σ
を満たすとき構造が等しいと定義しました。
次に何をするか?
正直、今書いている段階でもどうしたらいいか分からないところではあるのですが、現状、これだけでは何もできないので新しい概念を持ち込みたいところですよね。
さてどうするか。
こういうのはどうでしょう?
上の定義を見ると、A→A の写像全体をツリーと対応させている一方で、σを全単射としているのは少し条件が強すぎるような気もします。
なのでもっと広く、一般の f:A→A について、
f∘t1=t2∘f
となるような状況について、考察してみるのも面白いかもしれません。
例えば、こんな感じの T1, T2 について、f は存在するのでしょうか。
この場合、(総当たり的にやると)答えは5つあるようですが、その内の1つを挙げておきます:
f=(11223343)
これが条件を満たすことは簡単でしょう。
(※こういう書き方は置換の場合にしかないかもしれませんが、まあいいでしょう)
では、T1, T2 がこうだったら、どうなるでしょう?
t1=(13213243)
t2=(12213243)
これは意外と難問のようですね。
やってみると、むむっ? 意外と見つからないぞ!? ってなりました(笑)
とりあえず、コンピューターの力を借りて、総当たりしてみましょう。
ソースコード
ななんと! 答えは「なし!」という結果に...
これの結果は、予想外でした。
だって、関数fに制約はないのだから、1つくらいはあるんじゃないか。そう思ってました。しかし実際は、1つもないらしい。
もう少し状況を調べてみましょう。
こんな状況だったら、答えは
f=(11213141)
の1つ。
上の状況だったら、答えはなし、となるようです。
その他、いろいろな条件で調査してみると、次のような概念と仮説が生まれます:
Def:ループ長さ
集合 A 上のツリー
T=Tree(t)
について、ループする要素からなる集合
K={ x∈A ∣ ∃n∈N,x=tn(x) }
をとる。このとき、次の集合
L={ min{n∈N ∣ x=tn(x)} ∣ x∈K}
をループ長さ集合といい、その元をループ長さと言う。
少し定義はごちゃついてますが、概念はシンプルです。
なら、
L={ 1, 2 }
となりますし、
なら、
L={ 4 }
となるということです。
仮説:f の存在(必要条件)
集合 A 上の2つのツリー
T1=Tree(t1),T2=Tree(t2)
について、ループ長さ集合をそれぞれ L1, L2 とする。
∀l1∈L1, ∃l2∈L2,l2はl1の約数
が成り立つならば、
∃f:A→A,f∘t1=t2∘f
が成り立つ。
T1 の任意のループ長さに対し、その約数となるような T2 のループ長さが存在するならば、 f が存在することを主張しています。
例えば、以下のような時は、
ループ長さは、
L1={6},L2={3}
となるので、条件を満たします。
そして実際、総当たりすると3つの f が得られます:
f=(112233415263),(122331425361),(132132435162)
ソースコード
そして同時に、これは仮説を証明する上でコアとなるような発想を与えてくれています。
例えば、2つのツリーのループする部分が以下のようだったとしましょう。
まず f(1) が、7, 8, 9 のどこへ行くかを固定します。その後、
f∘t1=t2∘f
を用いて、他の行先を決定します。つまり、例えば f(1)=7 とした場合、
f(6)=f(t1(1))=t2(f(1))=t2(7)=9f(5)=f(t1(6))=t2(f(6))=t2(9)=8f(4)=f(t1(5))=t2(f(5))=t2(8)=7f(3)=f(t1(4))=t2(f(4))=t2(7)=9f(2)=f(t1(3))=t2(f(3))=t2(9)=8f(1)=f(t1(2))=t2(f(2))=t2(8)=7
となって、すべて決定されます。また 1 に戻ってきた時、ちゃんと 7 になっていますね。
では、次のような場合はどうでしょうか。
t1(11)=6 なので、逆順を辿る必要があります。
そして、最もシンプルな発想は、同じく t1(1)=6 となるノード 1 と合わせてしまうということです。つまり、
f(11)=f(1)=7
とするということです。
一般化のため、これを 1 という言葉抜きで表現してみましょう。イメージとしては、
f∘t1=t2∘f
の両辺に右から t1−1、左から t2−1 をかけると、
f∘t1−1=t2−1∘f
となるので、これを使うイメージです。
(※数式はイメージです)
f(11)=f(t1−1(6))=t2−1(f(6))=t2−1(9)=7
こんなイメージ。
正確に書くとこうなります:
T2 のループしている要素の集合{7, 8, 9}上で t2は全単射。よってこの上で、逆関数t2−1を定義できる。
ここで t1(x)=6となる任意の xに対し、
f(x)=t2−1(f(6))
と定める。
では実際に、仮説を証明してみましょう。
このような発想でやる場合、Aは有限集合ではないとダメっぽいので、有限集合という仮定のもと証明してみます。無限集合に対し仮説が成り立つかは、後で考えましょう。
proof.)
T1のループ長さ集合 L1とそのそれぞれの元に対応するループ要素集合 Ki1は次のように書ける:
L1={l11, ... ,ln1}Ki1={ai, 1, ... ,ai, li1}
このとき、各 li1 に対し、li2∈L2 が存在して、li2 は li1 の約数となるとできる。
ここで、各 li2 に対応するループ要素集合 Ki2 は次のように書ける:
Ki2={bi, 1, ... ,bi, li2}
t2は集合 ∪iKi2上で全単射だから、この上で、逆関数t2−1を定義できる。
ここで fを次の2つにより定義する:
1.2.∀i,f(ai, 1)=bi, 1t1(x)=y⇒f(x)=t2−1(f(y))
これがwell-definedであることは、ループしない要素に対しては明らか。ループする要素についても、li2は li1の約数だから整合性は取れている。
また、fの像は集合 ∪iKi2 上にある。
最後、
f∘t1=t2∘f
を見る。
t1(x)=y, f(x)=t2−1(f(y))
が成り立っているとき、
f(t1(x))=f(y)=t2(t2−1(f(y)))=t2(f(x))
が成立する。
fの定義より、上式は任意の x∈Aに対して成立する。(証明終)
となんとか証明できました。
これ、我ながら、なかなか筋の良い展開な気がしています。というのも、コラッツ予想は(発散する列がなければ)ループする要素があるかどうかの議論なので、なんとなくおぼろげですが近づけた感じはありますよね。
そして、さらにこの定理を発展させる上で、気になるのは以下の2点です:
・無限に対しても成り立つか?
・逆も成り立つか?
実は、逆については意外と簡単のようなのでやってみましょう。
Thm:f の存在(必要十分条件)
有限集合 A 上の2つのツリー
T1=Tree(t1),T2=Tree(t2)
について、ループ長さ集合をそれぞれ L1, L2 とする。
次の (i), (ii)は同値である。
(i)∀l1∈L1, ∃l2∈L2,l2はl1の約数(ii)∃f:A→A,f∘t1=t2∘f
proof.)
(i) ⇒ (ii) は既に示したので、(i) ⇐ (ii) を示す。
任意に l1∈L1を取り、対応するループ集合の元の1つを aとする。
ai=t1i(a)
によって aiを定義すると、i=1, ... , l1を考えればよい。さらに、
bi=f(ai)
とする。このとき、任意の iに対して、
t2(bi)=t2(f(ai))=f(t1(ai))=f(ai+1)=bi+1
が成り立つ。この等式をi=1, ... , l1に対して考えれば、
b1=t1l1(b1)
が言える、これで十分性は示された。(証明終)
みんな大好き同値が言えました。
ってことは今回は終了です。
次回は...どうするんでしょうかね? う~ん、どうするんでしょう?
分かりませんが、今回はおしまい! ではでは。
Discussion