どうもこんにちは.皆さんは,過去に投稿した記事 コラッツ予想に関する予想の提案 という記事をご覧になられたことがあるでしょうか.この記事では,
として
が予想されている.ただし等号については,上の式は
つまり,
自然数
は,有界ではない.
つまり,仮に
というわけで数値計算を行っていきます.実際に関数を考えたときに有界であるときの上限を与えるのは困難(というか,与えることができてしまったらその時点でCollatz予想が解決してしまいます)なので,証明することはできないと思います.まず,次のような定義をします.
実数
で定まる数列
つまり現状の予想では,
ということになります.直感的には
import math
def c(n, steps):
num = n
for _ in range(steps):
if n == 1:
break
if n % 2 == 0:
n //= 2
else:
n = 3 * n + 1
num = n
return num
def main(st, ste, ed, ede, ex):
try:
max = 0
for i in range(st * pow(10,ste), ed * pow(10,ede)+1):
ulam = c(i, math.floor(pow(i, 1/(ex))))
if ulam > max:
max = ulam
print([i,max])
print("end")
基本的な部分は前回書いた記事と同じで,合成回数の部分だけいじった感じですね.
先に挙げた数値計算による予想から,次の予想を立てました.
となるであろう.
参考にしたグラフが
こちら
です.
くらいになりそうです.これだけ見てもへぇ~という感じですが,何かこれがいい感じの定数に収束したりするんでしょうか.
個人的には
例えば,当初期待していた性質として,
ただし,
もう一つ個人的に気になるのが,現在計算した近傍で二重指数関数程度で増大しているように見えますが,これが一体どうしてなのだろうかというのがあります.これに関しては個人的によくわからなかったので,直感的な説明が与えられるといいですね.