n と回数の関係

2^n-1 にコラッツ算を行った場合、1に収束するまでに必要な回数と n の関係を調べてみた。
データはCollatz's Anti-Example@home(以下、CAE )によるものを使用した。( 36923 ≦ n ≦ 51803 )

おことわり:グラフについては、使用したデータの n が等差でない上、信頼性の乏しいデータが(1件)混入している可能性がありますが、 考察は変わらないと思います。 そのうち、正確なグラフに交換する予定です。

1.回数 - n について

CAEでの報告から、n と回数に何らかの関係が成り立っていることが予測されていたが、 実際にグラフにプロットしてみたところ、比例で近似できるようであることが確認された(グラフは省略)。

ところで、データの傾向より
   (回数)= n +(定数)
が成り立つ区間がある。という予想を立ててみた。
これを検証するため、回数 - n をプロットしてみた。 以下のグラフである。


↑グラフ1
縦軸は(回数 - n )、横軸はデータ番号(あまり意味はない)。

横軸に平行な線分は
   (回数)- n =(定数)
すなわち
   (回数)= n +(定数)
が成り立っていることを意味している。

また、階段状の構造が見て取れることから一部だけでなくほとんどの部分に 上記の傾向が見られるようである。

2.回数 ÷ n について

次に、回数 ÷ n について調べてみた。


↑グラフ2
縦軸は(回数 ÷ n )、横軸はデータ番号(あまり意味はない)。

1つを除けば、全てのデータが 13.3〜13.8 におさまっていて、だいたい
   (回数)= 13.5 * n
という近似式が成り立っている。

コラッツ算を行った数は予測不可能な振る舞いをするのに、2^n-1 に限れば回数はほぼ n に比例する。
コラッツ算にとって 2^n-1 という形は何らかの不変量をもっているのかもしれない。

3.「無駄遣い」される回数

自身の2乗に達すると仮定した場合

他のサイトでは、ほとんどの数は自身の2乗以上にはならない傾向が確認されている。 これを 2^n-1 にも適用し、2^n-1 がおよそ 2^(2n) に達し、かつ1に収束するモデルを考えてみる。

まず、往路の 2^n-1 → 2^(2n) について。これは 2^n 倍とする。
x が奇数であるとき、(3x+1)/2 が行われる。これは 3/2 倍とする。
この操作の連続で 2^n 倍される(実際はありえない)には、
   log(2^n) / log(3/2) = n * log(2) / { log(3) - log(2) } ≒ 1.7 * n
奇数操作は 3x+1, x/2 の2回分が1まとめとなっているので、 実際にはおよそ 3.4 n 回必要である。

次に、復路の 2^(2n) → 1 を考える。
これは簡単で、x/2 の処理を 2 n 回行えばよいことが明らか。

往路と復路を合計すると、最低 5.4 n 回あればいいことになる。
すなわち、13.5 n - 5.4 n ≒ 8 n 回は「無駄遣い」されていることになる。

最大値を 3^n-1 と仮定した場合

実際に 2^n-1 が自身の2乗付近にまで大きくなるかは分からない。 ただし、2^n-1 はちょうど 2 n 回で 3^n-1 になることは保障されている。 そこで 3^n-1 以上にならないことを仮定して同じ計算を行ってみる。

往路の 2^n-1 → 3^n-1 が 2 n 回だけかかるのは上記の通り。

復路は 3^n-1 が一気に1に収束すると考えて、
   log(3^n) / log(2) ≒ 1.6 * n

合計して 3.6 n 回。「無駄遣い」はおよそ 10 n 回になる。
2^n-1 → 3^n-1 は最短で行われるため、これは 3^n-1 の「無駄遣い」と等しい。

(つづく)

TOP