素数pとその倍数を除去したコラッツ完全木

『コラッツ木からすべての3倍数を除去したグラフをコラッツ完全木,コラッツ完全木上のノードをコラッツ数とする』これがコラッツ完全木の直截な定義だ.いや,まさかそんな単純なものであるとは思わなかった.コラッツ完全木上のすべてのノードNは,

ADR(N) = X1. X2. X3….Xk :Xi は任意の正数,kも任意の正数

のような任意の長さのアドレスコードで位置を特定することができる.アドレスコードからノード番号を求める関数をADR2NUM(アドレスコード)とすると,コラッツ予想問題を解決するためには,以下のような定理が成立することが必要かつ十分である.

コラッツ定理:アドレス→ノード番号変換関数ADR2NUM(A)は任意のアドレスコードAとコラッツ数Nを1対1に対応させる写像である.ADR2NUMの逆変換をNUM2ADR(N)とすると,NUM2ADRは任意のコラッツ数NからアドレスコードAへの1対1写像である

我々がすでにほぼ出口に差し掛かっていることは明らかだろう.コラッツ木からはあらかじめ偶数つまり,すべての2倍数が省かれている.言い換えれば,コラッツ完全木とは2倍数と3倍数を除去したコラッツグラフであると言える.コラッツ木から2倍数が除去される根拠は任意の偶数Mを2で除する操作を繰り返すことによって,必ずあるユニークな奇数(1を含む)に帰着するという理由による.同様に3倍数Tが除去される根拠は3T+1がつねに偶数になるという理由によると言えるだろうか?

確かにこれは直観的には明らかであるようにも思われるが,根拠としては薄弱である.もし,それが可能であるとすれば,以下のような定理が数学的帰納法によって証明できなくてはならない.(ここでは「コラッツ数」とは1から到達可能なコラッツ経路が存在することとする)

前提:ある任意の素数Pより小さい素数はすべてコラッツ数である
帰結:素数Pより大きい素数で最小のものをP’とするとき,素数P’はコラッツ数である

これを言い換えると,すべての整数を含むコラッツグラフから,2倍数,3倍数,5倍数,7倍数….を除去したグラフは連結であることを証明せよ,ということになる.2倍数および3倍数をグラフから除去してもグラフの連結性には変化がないことは容易に示せるが,それよりも大きい素倍数を除去したときにどうなるかは自明ではない.このことは逆に,偶数と3倍数を含む任意の自然数を標識するアドレスコードシステムが可能であることを示している.実際それが可能であることは「詳細付番」を含むユニバーサルアドレスコードシステムとして確立された.

この「ユニバーサルアドレスコードシステム」を今後はユニバーサルコラッツアドレスコードないし,コラッツアドレスコードと呼ぶことにしよう.上記のコラッツ定理はもちろん,コラッツアドレスコードと(偶数を含む)任意の整数との相互変換について成立しなくてはならない.aを3倍数を除く奇数,bを3倍数,eを偶数とするとき,詳細付番には,a-b, a*e, a-b*eの3種のパターンがあり,かつそれ以外のパターン,たとえば,a-b.a’やa*e-bは存在しない.

我々はすでに「コラッツ国の公用語は4進数である」ということを知っている.つまり,「自然数Nの名前を4進数で表記すると,Nの名前の中にはNの親Pの名前と兄弟順位が埋め込まれている」ことを示すことができる.しかし,ここで一つ問題が発生する.「コラッツアドレスコード」ではコラッツ数の兄弟順位と非コラッツ数つまり,3倍数の兄弟順位を別建てで計算している.おそらく,このことが「三本桜」を復活させようとする試みの動機になっているのではないか?と推定する.まだ過去ログを読み切っていないので,もう少し読み続けることにしよう.

2月26日の記事に,『我々の方法の中でもっとも重要なポイントはやはり「長子ノードの発見」ということにあるのではないだろうか?』とある.これは,ノード番号の16進数表記を解析して,標識の上位ビットが長兄ノードのバイナリ表現,下位ビットが兄弟順序数を示すことを突き止めたあとに書かれたテキストだ.これを受けて,「我々の提案の中には,①一般コラッツ木,②コラッツ長子木,③コラッツ完全木という三種の木構造が含まれているが,これらのうちのどの一つも説明/証明に欠かすことはできないように思われる」と結論付けている.つまり,これが「三本桜復活」の動機である.翌日のタイトルは「山の八合目からの眺望:8進数で眺めると」で,その翌日が「小学校入学記念写真は三本桜の下で撮影する」だった.

ここで問題になるのは,長子ノードのバイナリ表現を親ノードのバイナリ表現に変換する方法だ.ノード番号を16進ではなく4進表記すると,

兄弟ノード番号=長子ノード番号+1の並び

のようになる.長子ノード番号は親ノードから引き継いだDNA配列を示していると考えられるが,子ノード番号をNとして,3N+1を2進数表記してやると,この遺伝子コードを解読することができる.つまり,

子ノードNの3N+1バイナリ表現=親ノードのバイナリ表現+0の並び

のようになっている.この計算を実行する代わりに3進数表示してみたらどうなるか?というのが興味の焦点だ.この実験を行うためにはやはり,長子木を任意に出力できる仕掛けが必要になってくる.この辺りは,3月3日の「コラッツ国の公用語は4進数である」にまとめられている.ここで企図した実験を効率的に実施するために,ゼルコバの木の「横書き」機能拡張が導入された.横書き機能はほぼ実装を完了したが,まだ少しバグが残っているようにも思われる.これを完全に潰してから「三本桜」に進むのが順当だろう.


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA