大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

コラッツ予想を論理的に証明する試み

株式会社クローバーフィールドの経営理念
著者:大林真也
公開日:2021/09/19
最終更新日:2021/09/19
カテゴリー:雑記

ごきげんよう、技術担当の大林です。

 

先日、ニュースで「株式会社音圧爆上げくん」様の方で、コラッツ予想という数学の未解決問題を証明された方に1億2000万円の懸賞金をかけたというニュースがありました。

詳細はこちら

 

このコラッツ予想というものは簡単に言うと

・1以上の自然数(+の整数)に対して「偶数だったら2で割る」「奇数だったら×3をした後+1をする」→これを繰り返すと必ず値が「1」→「4」→「2」→「1」…の無限ループに落ち着く。

というパッと見単純な内容です。

 

面白そうだったので挑戦してみて良い感じになったので、応募フォーム等があれば応募したかったのですが、

懸賞金の要件として、「ア 当該解法が、適格出版物にて発表された後2年以上が経過したこと。」とあり、この適格出版物にて発表というのが困難だったのに加え、説明するような資料等を作成していたら時間がどんどん取られて行ってしまう状態になったので、ブログネタとして考え方だけを掲載する運びになりました。

(一応、先程個人のツイッターの方でも類似の内容を呟きました)

 

さて、このコラッツ予想の考え方なのですが、どうにも10進数で考えると少し都合が悪そうだと直感的に感じたので、まず16進数や8進数ないし2進数のビットパターンという形で、プログラマーとして馴染み深い表現に一旦置き換えました。

というのも、このコラッツ予想のビットの動き方が

「偶数だったら2で割る」→「ビットパターンを右に1つシフトする」(4「100」→2「10」のような形)→「ビットの右端が0なら切り捨てる」と読み替え、

「奇数だったら×3をした後+1をする」→「ビットパターンを左に1つシフトし、元の値を加算する(元の値のビットが重なれば1つ左のビットを立てる(ビットが立っていたら繰り返す))、その後最下位ビットに1を加算する(奇数のため、この操作を行うと必ず最下位が0になり、動きとしては0が出るまでビットを0で上書きして、0が出た時に1を立てるような形)」

というように基礎的な動きの集まりになっていて、ある程度の2進数のセットとしてまとめた方が都合が良さそうな動き方をしていたためです。

 

コラッツ予想=規則的なビットの動き方をするためのものと考えると、後はこのビットパターンの塊とした各桁(8進数)の値は前後の桁の値と関連性を表しやすい形になります。

加えて、上記の動きの特性上、奇数の次は必ず1回以上偶数が出ます。

それらの動きを繰り返し、最終的にビットパターンの最上位ビットが右端に収束する事を提示出来ればそれがそのまま証明になると考え、下記のように8進数の数値と繰り上がり(及び偶数の)の組み合わせによって起こり得る変化と次の桁への影響や1桁目のビットの動きを表として、組み合わせの遷移を総当りやアルゴリズム化する形でまとめていたのですが、そもそも数学の定理を殆ど知らないため説明の際に当てはめられるような定理が思いつかず、1から説明する形にしようにも資料に記載する分がとても多くなったので断念しました。

 

私としてはそろそろ別の事がやりたくなったのでもうコラッツ予想をこれ以上触る事は無いと思うのですが、せっかくなので証明される方へ考え方を共有出来たらと思い、半ば供養のような形でブログネタとして消化させていただきました。

 

コラッツ予想の証明の一助となれば幸いです。

 

では、読んでいただきありがとうございました!

“コラッツ予想を論理的に証明する試み” への1件のコメント

  1. tohmori より:

    ユーチューブに名称「コラッツ予想を解明」の動画を投稿しました.ご感想ご意見を頂ければ幸いです.

上に戻る