【プログラムあり】コラッツ予想を自動計算してみよう!

当ページのリンクには広告が含まれています。
コラッツ予想 アイキャッチ

 コラッツ予想とは、単純な定義の計算を繰り返すとどんな自然数も1にたどり着くというもので、未解決問題の1つです。

 この記事では、コラッツ予想の紹介をした後、実際にコラッツ予想が成り立つかどうかを、javascriptで実際に計算してみます。

 111回という計算回数を誇るコラッツ予想で有名な「27」も、瞬時に結果が出るので確かめてみてください!

この記事を読んでわかること

コラッツ予想とは

 コラッツ予想とは、ドイツの数学者ローター・コラッツ(Lothar Collatz,1910~1990)が1937年に公表した予想です。

<図1> ローター・コラッツ
(出典:Jacobs, Konrad, CC BY-SA 2.0 DE, via Wikimedia Commons)

 彼の友人ハッセが1950年にこの予想をアメリカのシラキューズ大学で広めたことをきっかけに、多くの数学者が興味を持つようになりました。

 別名「$~3n+1~$問題」「ウラムの問題」、「シラキューズの問題」、「角谷の問題」等と呼ばれています。

 コラッツ「予想」という名の通り、未だ証明はされておらず、未解決問題の1つとして挙げられています。
 
 では、そんなコラッツ予想はどのような予想なのでしょうか。

 コラッツ予想は以下のように説明することができます。

コラッツ予想

 自然数 $~n~$ に対して、関数 $~f(n)~$ を次のように定義する。

f(n)=
\begin{cases}
3n+1 &(nが奇数のとき) ・・・(\bullet) \\
\\
\displaystyle \frac{n}{2} &(nが偶数のとき)・・・(\star)
\end{cases}


この $~f(n)~$ を繰り返していくことで、どんな自然数 $~n~$ を最初に選んだとしても、1にたどり着く。

 関数自体は簡単ですね。少し例を見てみましょう。

・5の場合、
$~5\xrightarrow[(\bullet)]{}16\xrightarrow[(\star)]{}8\xrightarrow[(\star)]{}4\xrightarrow[(\star)]{}2\xrightarrow[(\star)]{}1~$
 
・14の場合、

$~14\xrightarrow[(\star)]{}7\xrightarrow[(\bullet)]{}22\xrightarrow[(\star)]{}11\xrightarrow[(\bullet)]{}34\xrightarrow[(\star)]{}17\xrightarrow[(\bullet)]{}52\xrightarrow[(\star)]{}26\xrightarrow[(\star)]{}13\xrightarrow[(\bullet)]{}40~$


$~14\xrightarrow[(\star)]{}7\xrightarrow[(\bullet)]{}22\xrightarrow[(\star)]{}11\xrightarrow[(\bullet)]{}34\xrightarrow[(\star)]{}17~$
$~$
$~\xrightarrow[(\bullet)]{}52\xrightarrow[(\star)]{}26\xrightarrow[(\star)]{}13\xrightarrow[(\bullet)]{}40~$


$~\xrightarrow[(\star)]{}20\xrightarrow[(\star)]{}10\xrightarrow[(\star)]{}5\xrightarrow[(\bullet)]{}16\xrightarrow[(\star)]{}8\xrightarrow[(\star)]{}4\xrightarrow[(\star)]{}2\xrightarrow[(\star)]{}1~$


$~\xrightarrow[(\star)]{}20\xrightarrow[(\star)]{}10\xrightarrow[(\star)]{}5\xrightarrow[(\bullet)]{}16\xrightarrow[(\star)]{}8~$
$~$
$~\xrightarrow[(\star)]{}4\xrightarrow[(\star)]{}2\xrightarrow[(\star)]{}1~$

 例を見てみると、確かに1にたどり着いていますね。

 現在、約$~5.48 \times 10^{18}~$ までの自然数で確かめられています。

コラッツ予想を確かめてみる

 $~5.48 \times 10^{18} ~$ とまではいきませんが、ある程度大きい自然数がコラッツ予想を満たすかどうかをプログラムで確かめてみましょう。

~計算結果~

まとめ

 コラッツ予想を解説し、大きな数でもコラッツ予想は満たされるのかをプログラムで検証してみました。

 関数自体はとても単純で、内容も簡単です。

 しかし、「予想」である通り、証明にはまだ至っていません

 まるで、フェルマーの最終定理がそうであったようなロマンがここには詰まっています。

 簡潔にして、美しく、エレガントな証明が出てくることが待ち望まれますね。

生きている間に、コラッツ予想が証明されるのを見たいなぁ……。

参考文献(本の紹介ページにリンクしています)

コメント

コメント一覧 (1件)

  • ヒント:任続く意の奇数を4倍して1を加えた数は、コラッツの操作で同じ数に進みます。
        続ければ無限に伸びるれつとなります。

コメントする

CAPTCHA


この記事を読んでわかること