1

コラッツ予想と2進法:有限長ビット列の有理数化によるアプローチ

28
0

はじめに

 ご無沙汰してました。
 コラッツ予想を2進法で考え20年ほど経過しました。
 2年ほど前に見つけたことを紹介します。
 興味を持っていただけると嬉しいです。

発想のきっかけ

 以前の記事で、コラッツの手順で出てくる奇数列を2進法で表すと、『3倍して、最下位のビットを繰り上げる』のと一緒、みたいな話を書きました。
 2年ほど前に『奇数と有限長ビット列が1対1対応するのはいいんだけど、奇数って、ほっとくと変にでかい数になったりするの、やだなー』と思い始めました。
 そこで考えたのが、『有限長ビット列を1以上2未満の有理数に1対1対応できねーかな』って発想でした。
 「なんで『0以上1未満』じゃねーの?」って?
 実は、以下の変換により、『最上位ビットを20の位にした方が良くね?』と思ったからです。

有限長ビット列の有理数化

 ここからちょっと数式で表します。
 ある奇数 nodd が長さ l ビットの2進数で表されたとしますね。
 つまり、
 nodd = k=0l1 alk 2l(k+1)
 ここで、a の添字や2 の指数が変な感じがしますが、最上位ビットを al, 最下位ビットを a1 として、最上位ビットから順に足していることにしてます。
 この {al,al1,,a1} を、こんなふうに有理数 r に直すことにします。
 r = k=0l1 alk 2k
 (あらためて数式に表してみるとすっきりするー。)
 具体的な奇数でやってみますね。
 例えば、10進法の『19』って、2進法で表すと『10011』になりますよね。
 つまり、
 19(10) = 10011(2)

 ここで出てきた {1,0,0,1,1} を、
 1×24+0×23+0×22+1×21+1×20 = 19(10)
 から、
 1×20+0×21+0×22+1×23+1×24 = 1.1875(10)
 に変換する、ってことね。
 これだと任意の奇数を1以上2未満の有理数に1対1対応で変換できますよね。

『コラッツの奇数列の有理数化』の具体例

 例えば、初期値9 から始めて、コラッツの手順で変化させていくと、
 {9,28,14,7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1}
 ですよね。
 これを、奇数だけ引っ張り出すと、
 {9,7,11,17,13,5,1}
 ってなりますね。
 これをいつもの『2進3倍繰上げ』の『白黒表示』にするとこうなります。
『2進3倍繰上げルール』の初期値9で1になるまで 『2進3倍繰上げルール』の初期値9で1になるまで
 この図は前に書いた記事からの流用です。
 これを、さっきの方法で有理数化してグラフにしたのがこちらです。
初期値9でコラッツの奇数列を有理数化したグラフ 初期値9でコラッツの奇数列を有理数化したグラフ
 これだけ見ても、『初期値9を有理数1.125に変換して、最後1.00になっとるだけやないけ』と言われそうですが、その通りです。
 びっくりしていただくのはここからです。

悪名高き『初期値27』

 すでに何度か見ていただいているかと思いますが、初期値27にすると、
悪名高き『初期値27』 悪名高き『初期値27』
 これを有理数化してグラフにすると、こうなります。
『初期値27』で奇数列を有理数化 『初期値27』で奇数列を有理数化
 んー、まだまだ、『増えたり減ったりしてるだけ』にしか見えませんよね。
 ここで、線を消して、点だけにしてみます。
『初期値27』で奇数列を有理数化(線を消しました) 『初期値27』で奇数列を有理数化(線を消しました)
 いかがでしょう?
 点が綺麗に並んでる感じ、しますね。

初期値2201

『初期値!FORMULA[33][925811020][0]』の『2進3倍繰上げルール』で白黒表示 『初期値2201』の『2進3倍繰上げルール』で白黒表示
 これをまた、有理数化して、点だけ打ってみます。
『初期値!FORMULA[34][925811020][0]』で得られる奇数列の有理数化 『初期値2201』で得られる奇数列の有理数化

 点列が綺麗に曲線を描いていますね。
 最後の5or6個は曲線からずれている感じがします。
 これは、『最下位ビットからの繰上げの影響』だと思います。
 単純に、『3の累乗』を2進数表示して、さっきの方法で有理数化して点を打っていくと、綺麗な曲線が延々と続きます。

まとめ

 まとめというほどのお話にもなりませんが、2年ほど前にこの結果を得て、『コラッツ予想って結局のところ、奇数を3の累乗倍することと、最下位ビットを繰上げることの組み合わせなんだな』って、あらためて考えるようになりました。
 ここまで読んでいただいてありがとうございました。
 ご笑覧いただけてれば幸いです。(^_^)

投稿日:21日前
OptHub AI Competition

この記事を高評価した人

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

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

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

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

投稿者

20年くらい前からMathematicaを使って『コラッツ予想』を探求してます。

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 発想のきっかけ
  3. 有限長ビット列の有理数化
  4. 『コラッツの奇数列の有理数化』の具体例
  5. 悪名高き『初期値27』
  6. 初期値$2^{20}-1$
  7. まとめ