2019年6月15日土曜日

"Collatz" 主要項予想

Collatz 予想では、奇数ならば3倍して1を足す、偶数ならば2で割る、という操作を繰り返す。

「奇数 x を3倍して1を足す」というステップを 1+x+2x と分けてみる。 2x って何だろう? x+x? x より小さくしたのと、x より大きくしたのに分けると等差数列ができる。 x は奇数なのだから 2k+1 と書くと解り易い。 1, k+1, 2k+1, 3k+1。 中の2項の和と外の2項の和は等しい(から後で2で割られる)ので、中の2項の和だけ計算すれば良い。 (もう一度 x に戻すと)足されるのは (x+1)/2。 だいたい x の半分を足すのか。 偶数の方は…半分を引く。

というような道筋で、Collatz 予想の変換は偶数奇数合わせて1つの式で書けることに気付いた。 \(\DeclareMathOperator{\ceil}{ceil}\) \[x - (-1)^x \ceil(\frac{x}{2})\] もちろん \(\ceil\) は「切り上げた整数」の意味の天井関数。

調子に乗って複素関数として \[z - e^{i\pi z}\frac{2z + 1 - e^{i\pi z}}{4}\] などと書いたら複素力学系の話として広がるんじゃないかとか思ったが、手計算が大変なのでこの方向は後回し。

ところで、これ天井関数やめたらどうなる? つまり切り上げのための補正をなくして主要項を取り出してみよう。 と思ったが、そうすると \((-1)^x\) の扱いに困るので \[x - (-1)^{\ceil(x)} \ceil(\frac{x}{2})\] だと思って \[x - (-1)^{\ceil(x)} \frac{x}{2}\] つまり、切り上げて奇数ならば 3/2 倍し、切り上げて偶数ならば 1/2 倍することにする。

たとえば 7 → \(\frac{21}{2}\) → \(\frac{63}{4}\) → \(\frac{63}{8}\) → \(\frac{63}{16}\) → \(\frac{63}{32}\) → \(\frac{63}{64}\) → \(\frac{189}{128}\) → \(\frac{189}{256}\) → \(\ldots\)。 最終的に1の周辺をふらふらするように見える。

1の周辺に落ち込んだらそこから出られないのは、\((0,1\rbrack\)区間の数はせいぜい\((1,\frac{3}{2}\rbrack\)区間までしか上がれず(上がれない奴らは\((0,1\rbrack\)区間にとどまる)、そこは切り上げたら2の領域なので半分になって\((0,1\rbrack\)区間の中に戻されるから。

元の Collatz 予想で長持ちする例である 27 は、 27 → \(\frac{81}{2}\) → \(\frac{243}{4}\) → \(\frac{729}{8}\) → \(\frac{729}{16}\) → \(\frac{729}{32}\) → \(\frac{2187}{64}\) → \(\frac{6561}{128}\) → \(\frac{6561}{256}\) → \(\frac{6561}{512}\) → \(\frac{19683}{1024}\) → \(\frac{19683}{2048}\) → \(\frac{19683}{4096}\) → \(\frac{59049}{8192}\) → \(\frac{59049}{16384}\) → \(\frac{59049}{32768}\) → \(\frac{59049}{65536}\)。 と先ほど計算した 7 よりは長いが、1未満に落ち込んだ。 やはり何から始めても1未満に落ち込むのでは?

"Collatz" 主要項予想

任意の正数について、切り上げて奇数ならば3/2倍し、切り上げて偶数ならば2で割る、という操作を繰り返すとそのうち 1 未満になる

が成り立つのではないだろうか(名前は適当に考えた)。 もとの Collatz 予想ではループする可能性が捨てきれないが、 こちらはループの可能性が分母の2冪が単調に増加していくという理由で排除できる分、発散してしまうかどうかに集中できる。