【数学】コラッツ予想を解きたい!03
前回のまとめ
前回はループ長さ集合の定義と、次の定理を証明しました:
Def:ループ長さ
集合
について、ループする要素からなる集合
をとる。このとき、次の集合
をループ長さ集合といい、その元をループ長さと言う。
Thm:f の存在(必要十分条件)
有限集合
について、ループ長さ集合をそれぞれ
次の
まずは前回の続き
抽象的な話に入る前に、もう少し土台作りをやりましょう。
なんと上記のThmは可算集合でも成立するようですね。
Thm:f の存在(必要十分条件)
可算集合
上の2つのツリー A T_1=\mathrm{Tree}(t_1), \quad T_2=\mathrm{Tree}(t_2) \ \ \ について、ループ長さ集合をそれぞれ
とする。 L_1, \ L_2
次のは同値である。 (\mathrm{i}), \ (\mathrm{ii}) \begin{align*} & (\mathrm{i}) \qquad \forall l_1 \in L_1, \ \exists l_2 \in L_2, \qquad l_2はl_1の約数 \\ & (\mathrm{ii}) \qquad \exists f:A \rightarrow A, \qquad f \circ t_1=t_2 \circ f \quad \end{align*}
proof.)
は有限のときと同様にすればよい。問題は (\mathrm{i})\ \Leftarrow \ (\mathrm{ii}) である。 (\mathrm{i})\ \Rightarrow \ (\mathrm{ii})
まず有限の時と同様にを定義する: f \begin{align*} \mathrm{1.} & \qquad \forall i, \quad f(a_{i, \ 1})=b_{i, \ 1} \\ \mathrm{2.} & \qquad t_1(x)=y \quad \Rightarrow \quad f(x)=t_2^{-1}(f(y)) \end{align*} 重要なのは、この定義の場合、定義域が
全体を覆っているとは限らないところである。 A
ある未定義のが1つあったら、 a \in A \begin{align*} \mathrm{1.} & \qquad \forall i, \quad f(a)=b_{1, \ 1} \\ \mathrm{2.} & \qquad t_1(x)=y \quad \Rightarrow \quad f(x)=t_2^{-1}(f(y)) \\ \mathrm{3.} & \qquad t_1(x)=y \quad \Rightarrow \quad f(y)=t_2(f(x)) \end{align*} によって、定義域を拡張する。
まだ、未定義のが残っていれば、同様の方法で定義域を拡張し、以下無限回繰り返す。 a \in A
は可算なので、これで A は定義された。 f
またこの時、f \circ t_1=t_2 \circ f は成立する。(証明終)
可算なら問題なく成立するようですね。
土台作りは一旦ここまで。また、超抽象的で感覚的なお話になってきます。
こっからどうするか
さて、これから何をするか。まずは状況整理しましょう。
今までの流れ
コラッツ予想の肝は「ツリー」だと筆者は見ました。
なぜなら、それ以外に難しい発想をしていないと思うからです。3倍して1足すのも、2で割るのも、奇偶判定も、さほど難しいことではありません。コラッツ予想を未解決問題にまで難しくしている本質は、「ツリー」という発想にあるのではないかと考えているわけです。
まず初めにやったことは、ツリー上に「構造が等しい」という概念を導入したことです。
そこで、全単射写像
という式が出てきたわけです。
次にやったことは、この上式について一般の関数
流れで言うと、
また全体的なイメージとして、やりたくなることは、
・
・
・この新しいツリー
ただ、これらの概念を自然に定義するための「道」がないというのが実情です。
\mathrm{Tree}(f) を考察したい
ではとりあえず、
しかし、これは意外と具体的に何をやるのか難しいです。というのも、今まで見てきた
をこねくり回すしかないところでしょうか。
例えば、もしある関数
が成立するなら、
とはなりますが。僕たち(私たち)入れ替わってる!? 状態ですが、発展性があるかどうかは微妙です。
他にもやれることはいくつか考えられますが、どれもどうやって発展させていくのかが難しい気がしています:
max-minの概念導入
1───2─┬─3───4
└───┘ └─5
というツリーに対して、ループするまでが一番長いのは、
です。このツリーに対し、ループするまでに最大4回かかるという意味で、「4」を対応させることを考えます。
これは定式化すると、関数
となります。しかし、これをどう使っていくのかは難しいところです。
素因数分解的な概念(ちょっと違う?)
今までの定理で出現した概念として次のようなものがありました:
この概念を直接使うことを考えた場合、次のようなツリーを考えたくなるでしょう:
1───2 3───4───5 6───7───8───9───10 ...
└───┘ └───────┘ └───────────────┘
ループ長さが素数列
となる
偶奇という概念を導入しよう
ではどうするか?
タイトルで言ってしまってますが、偶奇性もとりあえずいれとけ、みたいな話はある気がしています。コラッツ予想とは、
なる
なお、偶数と奇数に限らず2つに分ければいい、と抽象化しておきます。
「Eから見た構造」という概念を導入しよう
集合
こんな感じで、それぞれのノードが
こんなイメージから、
とやるのは、前の議論と同じ。変わるところは
のように、
よって、新しい構造はこうなります:
Def:ツリーの構造
集合
上に2つのツリー A がある。また \mathrm{Tree}(t_1),\ \mathrm{Tree}(t_2) とする。 E \subset A
このとき、ある2つの全単射写像が存在して、 \sigma_e:E \rightarrow E,\ \sigma_o:A \setminus E \rightarrow A \setminus E \begin{align*} & \sigma(x) := \left\{ \begin{array}{ll} \sigma_e(x) & (x \in E) \\ \sigma_o(x) & (x \in A \setminus E) \end{array} \right. \\ \\ & \sigma \circ t_1=t_2 \circ \sigma \end{align*} が成り立つとき、
と T_1 の T_2 から見た構造は等しいという。 E
fの一般化
さらに、今までの議論展開と同様のことをしていきましょう。
つまり、
となるような一般の関数
例えば次のような2つのツリーに対して考えてみましょう。
パソコンの力を借りると、答えはただ1つあることが分かります。
ソースコード
e1 = 0
e2 = 1
o1 = 2
o2 = 3
A_name = ['e1', 'e2', 'o1', 'o2']
A = [e1, e2, o1, o2]
t1 = [o1, o2, e1, e1]
t2 = [o1, e1, e1, e2]
def check(f):
for i in range(4):
if(f[t1[i]] - t2[f[i]]):
return 0
return 1
for ie1 in range(2):
for ie2 in range(2):
for io1 in range(2, 4):
for io2 in range(2, 4):
if(check([ie1, ie2, io1, io2])):
print(A_name[ie1], A_name[ie2], A_name[io1], A_name[io2])
では次のようなものだったらどうでしょうか。
これは解なしのようです。
では次は...
これは解が1つあります。
では次は...
これは最初の例の
なんとなく条件は分かってきているでしょう。
しかし、スッキリとして表現を見つけられるでしょうか?
今までの約数的な発想を使おうとすると、結構ごちゃごちゃする気がします。
なので次のような新しい概念を中心に考えてみてはどうでしょうか:
Def:巡回列
集合
上にツリー A がある。また \mathrm{Tree}(t) とその定義関数を E \subset A \chi_E(x) = \left\{ \begin{array}{ll} 1 & (x \in E) \\ 0 & (x \in A \setminus E) \end{array} \right. とする。このとき、
に対し、次の数列 a \in A \chi_E(a),\ \chi_E(t(a)),\ \chi_E(t^2(a)),\ \chi_E(t^3(a)),\ ... を
を起点とする a についての巡回列という。 E
巡回列という言葉があるのかは知りませんが、こんな定義をしてみました。
例えば、
について、
のように推移していくので、
となるということです。
今回はこれで終了。次回はこの新しい概念を使ってどこまで行けるかというゲームになりそうですね。では。
Discussion