じぶん更新日記・隠居の日々
1997年5月6日開設
Copyright(C)長谷川芳典



02月のインデックスへ戻る
最新版へ戻る



クリックで全体表示。
 2月22日〜2月24日頃、私の住んでいるところから「ダイヤモンド備前富士現象(芥子山の頂上から太陽が昇る現象)」が見られるはずであったが、あいにくその3日間すべてが曇または雨となり、よく晴れた2月25日の朝にはすでに日の出の方位は備前富士の左側(北側)山麓に移動していた。 昨年の様子はこちら


2023年2月25日(土)



【連載】数学未解決問題「コラッツ予想」についての隠居人的考察(3)二進法アプローチ

 昨日に続いて、コラッツ予想(コラッツの問題)についての隠居人的考察。

 昨日までのところでは、コラッツ予想を、
  1. n が偶数の場合、n を 2 で割る
  2. n が奇数の場合、n に p をかけて q を足す
というように拡張し【但し、pやqは奇数。qは負の値を含める】、その上で、pやqがどのような値をとるときに「どんな初期値から始めても、有限回の操作のうちに必ず 1 に到達する(そして 1→4→2→1 というループに入る)」という現象が起こるのかを同定するというアプローチについて取り上げた。この方法はすでにたくさんの研究者、数学愛好家などによって検討されてきたようであるが、これまでのところ、顕著な成果は得られていないように思われる。あるいは、もしかすると、このアプローチにこだわり続けたために解決が遠のいた可能性もあるかもしれない。

 そこで今回は初心に帰って、p=3,q=1に固定し、
  1. n が偶数の場合、n を 2 で割る
  2. n が奇数の場合、n に 3 をかけて 1 を足す
という意味を考えてみたいと思う。そもそも「3倍して1を足す」とか、「2で割れるだけ割る」とはどういうことなのだろうか?

 さて、このことで大いに参考になったのが鈴木貫太郎先生のYouTube動画である。鈴木貫太郎先生は、これらの操作を二進数に置き換えて分かりやすく説明しておられた。なお、以下では、二進数表記部分を見えやすくするためと、十進数表記と混同しないため、二進数の「0」は「○」、二進数の「1」は「●」で表すことにする。例えば「5」は二進数では「●○●」(「101」)で表すことにする。
 コラッツ予想を二進数で表すことには次のようなメリットがある。
  • すべての正の偶数は、
    n=2k×s
    の形で表すことができるが【但しkは0以上の整数、sは奇数】、二進数で表すと、「2k」は右端の○の個数、「s」はそれ以外の左側の●と○の列として表現されるので、一目で分かるようになる。例えば「12」は「22×3」であるが二進数では「●●○○」となる。このうちの右端の「○○」は22、それ以外の「●●」は3を表している。
  • コラッツ予想での「n が偶数の場合、n を 2 で割れるだけ割る」という操作は、二進数で表した時の右端の「○」をすべて取り除くことを意味する。例えばnが12であれば「2で割れるだけ割る」というのは「●●○○」から「○○」を取り除いて「●●」とすることを意味する。
  • 「3倍する」というのは、「3n=2n+n」であるゆえ、「もとの数に、それを2倍した数を足す」ということである。二進法では、2倍するというのは、二進数で表記された数を1桁左にずらすことである。よって、「5」を3倍するという操作を二進法で表すと、

      ●○●
     ●○●□
    −−−−−
     ●●●●

    ということになる。コラッツ予想では「3倍して1を足す」なので、上記の計算の□の部分に●が挿入され、

      ●○●
     ●○●●
    −−−−−
    ●○○○○

    となる。

 具体例としてn=7の時にコラッツ予想の操作で、7→22→11→34→17→52→26→13→40→20→10→5→16→8→4→2→1という変化の一部を二進数で表すと、
  • 7→22
      ●●●
     ●●●●
    ●○●●○
  • 11→34
      ●○●●
     ●○●●●
     ●○○●○
  • 17→52
      ●○○○●
     ●○○○●●
     ●●○●○○
  • 13→40
      ●●○●
     ●●○●●
    ●○●○○○
となる。
 「3倍して1を足す」という操作は、「2p」×Aという数から「2p」を取り除き、3A+1という操作によって今度は「2q」×Bという数を作る。そこからまた3B+1によって「2r」×C、...というように操作を繰り返していくことであり、コラッツ予想が正しければ、A、B、C、...という値は最後は1に収束するということを意味している。二進数で表記すれば、上記のn=7が22になる時のAは「●○●●」、34になる時のBは「●○○●」、52になる時のCは「●●○●」の部分であり、2のベキ数部分は右端の「○」の個数として表現される。

 ということで、素人目に考えれば、コラッツ予想の操作において出現する数を二進数で表した時に、右端の○の部分は取り除いた上で●と○の列のパターンが一定の桁数以内で入れ替わっていくことが証明できれば、少なくとも「1に収束するか、もしくは特定数のループになるか」が証明できそうである【←無限に発散することはない、という意味】。とはいえ、「元の数を3倍して1を足す」時の●と○のパターンの変化は、繰り上がりを考慮する必要があるため単純には分類できない。
 「3倍して1を足す」ことによる全体の桁数は、最大で2桁増えるが3桁までは増えることはない。上掲では7が22になる時に「●●●」が「●○●●○」というように3桁から5桁になる場合がこれに相当する。しかし次の「2で割る」操作によって右端の○は取り除かれるので実際に増える桁数は1桁だけとなる。またこのように桁数が増える場合、左端から2番目の桁は必ず○になるようである。そうすると次の「3倍して1を足す」操作では、桁数が再度2桁増えることはない【上掲の11から34になる場合】。ということであとは、有限個数の●と○の入れ替わりのパターンが1に到達する以外にはループしないことを示せば証明できることになると思われるのだが、ま、プロの数学者たちが80年以上かかっても解決できない問題がそんなに簡単に証明できるとは思われない。

 なおネットで「コラッツ予想 二進数」を検索すると、こちらこちらに興味深い記事があることが分かった。しかし、完全解決には至っていないようである。

 ということでこの連載もとりあえず終了。何か新しい発見があれば再び取り上げる予定であるが、果たして私が生きている間に解決されるだろうか。将棋の藤井聡太竜王がこの問題に関心を示してくれれば解決できそうな気もするが。