3

コラッツ予想を2進法で探求するための準備

222
1

はじめに

前の投稿、読んでくれた方々、ありがとうございます。
えどがわさんの投稿が新鮮な刺激になって、色々やってみたいことが増えてきました。
その前に、今までやってたことをちょっと整理してお伝えしたいと思います。

2進法モノクロ表示

個人的には『パンダ表示』という言葉を流行らせたいところです。
前の投稿でもお目にかけましたけど、直感的にわかりやすくていいです。

『2で割る』こと

何がいいかって、任意の自然数は2進法で表すことができますよね。んで、『2で割る』って操作は、1ビット右にずらす、『2をかける』って操作は、1ビット左にずらすことに相当します。例えば、
28(10)=11100(2)
14(10)=1110(2)
7(10)=111(2)
ここで、下付きの括弧の中の数字は、『何進法で表しているか』を表す数字です。
『28』から始めて、2で2回割って『7』になる様子を、2進法モノクロ表示してみますね。
!FORMULA[3][38768244][0] 28147

1個ずつ右にシフトしていく様子がわかりやすくて、よくないですか?

偶数は2進法で表すと必ず末尾が『0』になります。なので、『2で割る』という操作は、2進法では『末尾の0を取る』ことに相当します。コンピュータ科学を学ぶ方々には基本中の基本なんでしょうね。私も昔、アセンブラに関する初心者向けの本で読んで、『へー!』って思いました。考えてみれば、10進法で表した自然数、10の倍数なら末尾に『0』が付くし、『10で割る』のは『末尾の0を取る』ってところ、一緒ですね。

『3倍して1を加える』という操作

すみません、無駄話が長くて。先を急ぎましょう。
『3倍して1を加える』という操作は、3n+1=2n+n+1なので、nを2進法で表したやつを1ビット左にずらしたビット列と、もとのnを2進法で表したビット列と足し算して、さらに最下位ビットを繰り上げることになりますね。(あー、言葉にすると、わかりにくいなー、ごめんなさい。)
具体的に見ていきましょう。
例えば、n=9として、3×9+1を、順番にやってみます。
まず、3×9=9+9×2=27、これを2進法のモノクロ表示(『パンダ表示』と呼びたい)しますよ。
9+9×2=27 9+9×2=27
1行目が  9(10)=01001(2)
2行目が18(10)=10010(2)
3行目が27(10)=11011(2)
になってるのがわかるかな?
みんなー、このくらいは大丈夫だよね。
じゃぁ、ここに1を足しまーす。
27+1=28 27+1=28
1行目が27(10)=11011(2)
2行目が 1(10)=00001(2)
3行目が28(10)=11100(2)
2回繰り上がって下2桁が0になってますね。

初期値9→28→14→7→…→1

普通のコラッツの手順で、初期値9で1になるまでをモノクロ(パンダ)表示してみます。
通常のコラッツ変換で初期値9から1になるまで 通常のコラッツ変換で初期値9から1になるまで
やっぱり2で割るの、まどろっこしいですよね。
ぜーんぶ右に詰めちゃえばいいじゃん、ってのが次のやつ。

『2で割れるだけ割ってみました』的な何か

初期値9から偶数を省略して、
9→7→11→17→13→5→3→1
って数列をパンダさんにしてみると、
コラッツ変換偶数省略バージョン初期値9 コラッツ変換偶数省略バージョン初期値9
んー、これはこれでスッキリはしてるんだけど、なんか大事なことが抜けてるような感じがするんですよね。それで考えたのが、『奇数に対応するビット列に対して、1ビット左にシフトしたやつを元のビット列に足して、最下位ビットを繰り上げる』って操作(要するに”3n+1”だね)を繰り返してったのが次のやつ。

『2進3倍繰上げルール』

『2進3倍繰上げルール』の初期値9で1になるまで 『2進3倍繰上げルール』の初期値9で1になるまで
この表し方の何がいいかって、1回の”3n+1”の操作のあと、2で割らなきゃいけない回数が、最下位ビットのズレとして一目でわかることですかね。
さらにそのおかげで、図全体の長方形の縦と横の長さについて、次のことが言えます。
(縦の長さ)-1:初期値の奇数から最終値『1』になるまでの間に、何回”3n+1”の操作を施したか
(横の長さ)-1:同じく初期値の奇数から最終値『1』になるまでの間に、トータルで何回2で割ったか
ごめんなさい、ここで安易に『最終値』なんて言葉は使うべきでないかもしれないですよね。あくまでまだ『1にならないで繰り返す反例』が見つかってないだけですもんね。

結び

ここまで読んでくださったみなさん、ありがとうございました。
なんだかんだで前の投稿と大した違いはなかったですね。
お詫びに、これからいくつか画像を載っけます。
それらから読み取れること、コメント欄でお知らせいただけるとありがたいです。
悪名高き初期値27
ビット列が一番長いのどーこだ? 悪名高き初期値27
ビット列が一番長いのどーこだ?

『第1しましましっぽの定理』
初期値30037って初期値7といっしょやん! 『第1しましましっぽの定理』
初期値30037って初期値7といっしょやん!

『第2しましましっぽの定理』
初期値5126371ってまたすぐ初期値7と一緒になるやん! 『第2しましましっぽの定理』
初期値5126371ってまたすぐ初期値7と一緒になるやん!

『黒三角の定理』初期値2^20-1
ビット列が長くなるときってどういうときかわかりますねん 『黒三角の定理』初期値2^20-1
ビット列が長くなるときってどういうときかわかりますねん

『白三角の定理』初期値2^20+1
上位ビットは”3の累乗”やん! 『白三角の定理』初期値2^20+1
上位ビットは”3の累乗”やん!

以上、ご覧いただき、ありがとうございました。
コメント、お待ちしてます。
m(_ _)m

投稿日:2024831
更新日:202498
OptHub AI Competition

この記事を高評価した人

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

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

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

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

投稿者

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

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 2進法モノクロ表示
  3. 『2で割る』こと
  4. 『3倍して1を加える』という操作
  5. 初期値9→28→14→7→…→1
  6. 『2で割れるだけ割ってみました』的な何か
  7. 『2進3倍繰上げルール』
  8. 結び