コラッツ予想2(9)完全証明(完成版)改
m=(3n+1)/(2^r)
m,n,r,は、m,nが奇数、n>1の任意の自然数の組とする。
記号^は指数記号とする。
mをnに代入し続ける。
以下は、数式では端数処理に解釈違いが生じかねないので
負数の表記においては1の補数(=ビットの反転)によるビット演算で説明する。
Nをnの補数とする。
Mをmの補数とする。
2進数で
n=10001000011
のような数字があるとする。
小数まで考慮すれば、1の補数で表現すると
N=.....111111,101110111100.11111111111....
カンマの位置までが有効桁である。
補数では
-m=(3(-n)-1)/(2^r)
なので
Nを3倍すれば、Mが得られる
00.11111111111....
末尾だけ見ると
10.11111111111....
となり、+2されてー1するので
+1して小数点を一桁移動することと同じである。
なので
01.11111111111....
として
0.111111111111....
となる。
補数計算の場合は
N=.....1.1111111....
になった場合でも
同様に3倍して小数点を0の下へ桁移動するロジックには代わりは無い。
N=.....0.1111111
(整数部で小数化されたビットと結合する)
このように演算を続けると、
補数演算では下位からの繰上げが無いので
各1のビットは桁位置xに応じて常に
3^x
されることになる。(1/(2^r)による小数化。下位0の削除に相当。)
最上位桁をTとすると、事前に元の数字を有効桁(最上位はまとめてー1とみなす)まで桁に応じた指数で3の(桁位置)乗しておけば(整数部のみ演算)、それが理論上の見かけの最大値(実演算ではもっと大きくなることもある)であり、以降、小数部の桁移動をしていけば(小数部のみ3倍演算しながら整数部で小数化されたビットを順次取り込んでいく。)
....11111110.1111111111....
にT回で成らない場合でも、3^Tの1(補数の0)の個数がT+2(2は両端の0を除く)を超えないので、
補数の0の数は最大T-0.25から平均3/4Tに減少する。
1回につき0一つ消す操作なのである。
1.5桁のうち、0と1の比率が0.5なので0の増加は0.75個。
平均では
+0.75-1=-0.25
なので、同様に3倍から繰り返していけば
8T^2~2T回の間で
....11111110.1111111111....
に達することが予想できる。
つまり、すべての自然数は8T^2回以内に1に収束することがいえる。
ただし、上限はあるというだけで、実際には何回で達するかはこの計算だけでは解らない。
平均化して解りやすくするために、T回ずつまとめているが、実際は一回ずつ行なっているので、説明通りの動作ではない。
期待値がT-1ではなく、T-0.25と判明したため訂正