コラッツ予想がとけたらいいな
■ このスレッドは過去ログ倉庫に格納されています
525 名前:132人目の素数さん[sage] 投稿日:2012/09/03(月) 18:24:27.22 http://d.hatena.ne.jp/righ1113/ コラッツ予想について、証明を考えてみました。 ご指摘ご意見ご感想など、ぜひよろしくお願いします。 s-1でコラッツパターンが11、左端を伸ばすパターンが01の時は、 (>>93 の指摘にもありました) まず左端を伸ばすパターンは *1001 s-1 11011 s *00101 **1111 ***1101 *******1 s+4 こうなります。 コラッツパターンの最大パターンは *1111 s-1 101101 s **10001 *101011 ***00101 ****1111 s+4 となります。 s+4ステップでずれはなくなります。 >>187 このケースは大丈夫っぽい。 >>188 左端を伸ばすパターンの1行目がいきなり > *1001 s-1 となっているが、これはどうして? **101 とか 10001 とかの場合は考えなくていいの? (***11の場合は考えなくてよい、ということは分かるが…) これって3n+1倍の操作を続けるといつかは2のべき乗にぶち当たるっていうことですか? >>189 説明不足ですみませんが、コラッツパターンは最大、左端を伸ばすパターンは最小を調べています。 それでずれがなくなるなら、他のパターンでもずれがなくなるはずですから。 よって**101は*1001より大きいので除外です。 10001はs-2ステップが定義できないので除外です。 >>190 そういう事ではないです。コラッツパターンと左端を伸ばすパターンのずれが最大でも1である事を言っています。 >>191 「最大パターン」と「最小パターン」の意味がよく分からない。 最大・最小というからには、何か指標 X が予め定義されていて、 その指標 X が最大値を取るパターン・最小値を取るパターンについてのみ 考えるということなのだろうが、ここで言う X は何なの? >10001はs-2ステップが定義できないので除外です。 ここもよく分からない。コラッツパターンを無視して、 左端をのばすやつだけを観察すると、どんな初期値に対しても、 「右端に10001が出現するようなステップが無限回でてくる」 ことが証明できる。そのようなステップのうち、2より大きいものを任意に取ってtとするとき、 s = t + 2 に対して、「s-2ステップで10001になっている」と言える。 もちろん、このときのsに対して、コラッツパターンがs-1で11になっているとは限らないが、 少なくとも「除外」とまでは言えないだろう。それとも、何か深い理由があるのかな。 ずれた時のコラッツ値が最大、最小パターンのみを考えるということです。 10001については勘違いしてました。調べなきゃだめですね…… >>193 この方針では「証明できそうにない」ことが分かった。 まず、コラッツパターンの最大値について。>>188 では、コラッツパターンの計算が >101101 s となっているが、これは間違っている。なぜなら、省略されている「*」の状況によっては 「111101」となる可能性があるからだ。コラッツパターンの最大値を考えるなら、採用すべきは 「101101」ではなく「111101」だろう。そして、「111101」が確実に起こるのは、 コラッツパターンが s-1 で *111111 となっている場合だ。 この考え方を突き詰めていくと、*1111 は最大値ではなく、*111111111 も最大値ではなく、 *1111111111111111111111111 も最大値ではない。理想的には ……1111 (左に向かって永遠に1が続く) が最大値となる。しかし、実際には有限桁で終わるものしか考えないので、 結局、コラッツパターンに最大値は無い。 とはいっても、上記の理想的な場合について計算することは無意味ではない。 この場合、計算の仕方は「×3を繰り返す」だけでよく、 「+1」は必要ない(というか、左末尾が無いので、どの桁にも「+1」が適用できない)。 (続く) (続き) 次に、左端を延ばすパターンの最小値について。*1001 は最小値ではなく、 *10001も最小値ではなく、*1000000000000000000000001 も最小値ではない。 理想的には ……0001 (左に向かって永遠に0が続く) が最小値となるが、実際には有限桁で終わるものしか考えないので、 結局、左端を延ばすパターンに最小値は無い。 とはいっても、上記の理想的な場合について計算することは無意味ではない。 この場合、計算の仕方は「×3を繰り返す」だけでよい。 これらの設定のもとで計算をすると、残念ながら 「常にギリギリ1だけ ずれた状態で、永遠に ずれが解消されない」(★) ことが証明できる。従って、理想的な場合についての計算では、証明に失敗する。 (続く) (続き) 実際には有限桁のものしか考えないので、有限桁の場合について考え直す必要がある。 コラッツパターンには最大値がなく、左端を伸ばすパターンには最小値が無いので、 コラッツパターン・左端を伸ばすパターンともに「任意の有限桁」を考えることになり、 つまりは無限通りある全てのパターンについて、いちいち個別に議論しなければならない。 実際には、「出来るだけ大きな、任意の有限桁」についてのみ考えればよいだろう。 この場合に問題となるのは、コラッツパターンの方である。上記の理想的な場合では、 「+1」の操作は無視できたが、有限桁の場合だと、ちゃんと「+1」の操作を考慮に 入れなければならない。 さて、コラッツパターン・左端を伸ばすパターンともに、「出来るだけ大きな有限桁」を 任意に取ろう。すなわち、 コラッツパターン:*111111111111111111111111111111111111111111111111111111111111111111111 (☆) 左端を延ばすやつ:*000000000000000000000000000000000000000000000000000000000000000000001 (☆) のようなイメージである。この状態で計算をすると、初めの方のステップでは、 「+1」の影響がまだ出てなくて、理想的な場合と計算結果は ほとんど変わらない。 特に、右端付近の0と1の並び方は、理想的な場合と完全に一致する(★★)。 ということは、(★)と(★★)により、もしずれが解消されるとしても、 そのタイミングは「かなり遅い」ということになる。 (続く) ずれた… 訂正。 コラッツパターン:*111111111111111111111111111111111111111111111111111111111111111111111 (☆) 左端を延ばす :*000000000000000000000000000000000000000000000000000000000000000000001 (☆) (続き) というわけで、「せいぜい s+4 あたりで、必ず ずれが解消される」などというわけにはいかない。 上記の(☆)において、桁数を多く取れば取るほど、ずれが解消されるタイミングを好きなだけ 「遅く」出来てしまうのだ。 しかし、本当の問題はここでは無い。 ずれが解消されるタイミングが「かなり遅い」のであれば、その頃には「+1」の影響が無視できなくなり、 理想的な場合とは計算結果に狂いが生じてくる。より具体的には、コラッツパターンの方は、 「+1」の影響により、理想的な場合よりも僅かに桁数の増え方が大きくなることが予想される。 そうなると、想定していたタイミングでは「ずれが解消されない」ということが起こり得る。 もっと悪いのは、「むしろ ずれが増大する」という可能性である。 このような状況は、実際に起こり得る。たとえば、もし 1→4→2→1 以外のループが存在するならば、 そのループにおいては、明らかに「ずれがどんどん増大する」ことが分かる。 そして、ずれが増大するメカニズムは、「ループするから」という理由のほかに、 「『+1』の影響が無視できなくなり、そこで計算結果に狂いが生じてくるから」 とも説明できる。こうなってくると、「ずれが解消される」ことを証明するよりも前に、まず 「ループが 1→4→2→1 以外に無い」ことを証明しなければならなくなり、本末転倒となる。 というわけで、この方針では、まず間違いなく、証明できないと思われる。 詳細な説明ありがとうございます。 どうしましょう…… コラッツパターンと左端を伸ばすパターンがずれるステップをsとおきます。 このとき、左端を伸ばすパターンのLl(s-1)=Ll(s)は、 Ll(s-1)=[log(x0)+(s-1)*log(3/2)] Ll(s)=[log(x0)+s*log(3/2)] です。 Ll(s-1)にlog(3/2)を足しても整数部分は変わらないので、 log(x0)+(s-1)*log(3/2)の小数部分は.0以上1-log(3/2)(≒.415)未満です。 また、 Ln(s-1)=[log(x0)+(s-1)*log(3/2)+log(1+1/3x0)…(1+1/3x(s-2))] で、Ln(s-1)=Ll(s-1)ですから、 0 < log(1+1/3x0)…(1+1/3x(s-2)) < log(3/2) が成り立ちます。 s-1の コラッツパターンの式はx0*(3/2)^(s-1)*(1+1/3x0)…(1+1/3x(s-2))で 左端を伸ばすパターンの式はx0*(3/2)^(s-1)なので、 コラッツパターンは左端を伸ばすパターンの1.5倍未満ということになります。 s-1のコラッツパターンの最大値は …11111で 左端を伸ばすパターンの最小値は …00001でしたが、 これに1.5倍の制限がかかって コラッツパターン:…11111 左端を伸ばすパターン:…10101 コラッツパターン:…00011 左端を伸ばすパターン:…00001 になります。 コラッツパターン:…11111 左端を伸ばすパターン:…10101 コラッツパターン:…00011 左端を伸ばすパターン:…00001 の遷移は 11111 s-1 111101 s 1110001 s+1 1101011 s+2 10101 s-1 11111 s 111101 s+1 1110001 s+2 00011 s-1 001001 s 011011 s+1 00001 s-1 00011 s 001001 s+1 となって、どちらもずれはなくなります。 >>199 >0 < log(1+1/3x0)…(1+1/3x(s-2)) < log(3/2) が成り立ちます。 ここが間違ってる。 log(1+1/3x0)…(1+1/3x(s-2)) ≧ log(3/2) の可能性もある。たとえば、log(x0)+(s-1)*log(3/2) の小数部分が「0.000000001未満」であって、しかも 0.9 > log(1+1/3x0)…(1+1/3x(s−2)) ≧ log(3/2) であるようなケースを考えると、Ll(s-1)=Ll(s)も成り立つしLn(s-1)=Ll(s-1)も成り立つ。 具体例は必要ないかもしれんが、一応。 log(x0)+(s-1)*log(3/2)=2014.0000000001… log(1+1/3x0)…(1+1/3x(s-2))=0.80… というケースがあったとすると、 0.9 > log(1+1/3x0)…(1+1/3x(s−2)) > log(3/2) であり、しかも Ll(s-1)=[log(x0)+(s-1)*log(3/2)]=[2014.0000000001…]=2014 Ll(s)=[log(x0)+s*log(3/2)]=[2014.0000000001…+0.5849625…]=2014 Ln(s-1)=[log(x0)+(s-1)*log(3/2)+log(1+1/3x0)…(1+1/3x(s-2))]=[2014.0000000001…+0.80…]=2014 となる。すなわち、Ll(s-1)=Ll(s)も成り立つしLn(s-1)=Ll(s-1)も成り立つ。 何か他の事情により、このようなケースが実際には起こらない可能性もあるが、 その場合は、そのことを証明しなければならない。 2chで穴を埋めてからarxivに投稿しようかな、と考えています。 ステップをさかのぼるとうまくいくのではないかと、まだ考え中です。 コラッツパターンと左端を伸ばすパターンがずれるステップをsとおきます。 このとき、左端を伸ばすパターンのLl(s-1)=Ll(s)は、 Ll(s-1)=[log(x0)+(s-1)*log(3/2)] Ll(s)=[log(x0)+s*log(3/2)] です。 Ll(s-1)にlog(3/2)を足しても整数部分は変わらないので、 log(x0)+(s-1)*log(3/2)の小数部分は.0以上1-log(3/2)(≒.415)未満です。 これを.0〜.17と.17〜.415に分けます。 .17〜.415は Ln(s-1)=[log(x0)+(s-1)*log(3/2)+log(1+1/3x0)…(1+1/3x(s-2))] で、Ln(s-1)=Ll(s-1)ですから、 0 < log(1+1/3x0)…(1+1/3x(s-2)) < 0.83 が成り立ちます。 0 < Ax(s-2) < 0.83 とします。 .0〜.17と.17〜.415のコラッツ値をy,xとおいて、ステップをさかのぼると、 Ays、Axsは単調増加なので、どこかで両方が0.7を下回ります。 そのステップをtとおきます。 Ayt < 0.7、Axt < 0.7 です。 Ay(t-1) < 0.7、Ax(t-1) < 0.7 でした。 Ax(t-1) + log(1+1/3xt)…(1+1/3x(s-2)) = Ax(s-2)なので log(1+1/3xt)…(1+1/3x(s-2)) < 0.13 です。 全てのxが1000とすると、 log(1+1/3/1000)^270 = 0.129 < 0.13 なので 全てのyが1000より大きいならば log(1+1/3yt)…(1+1/3y(s-2)) < 0.13、 Ay(s-2) < 0.83 となります。 コラッツ値が1000より大きいときは、 A(s-2) < 0.83 が成り立つことがわかりました。 >>12 のスレにいたもんだが、割数列について今更発見があったので報告しとく 自然数a,bに対し、 [a,b]が割数列 ⇔ b≡2(-1)^a (mod 6) 単純な式だけど、5年前はこれに気付かなかった さらに 自然数a,bに対し、 [a,b]が完全割数列 ⇔ (6a-4)+((-1)^a)(6-b)≡0 (mod 18) 自然数a,b,cに対し、 [a,b,c]が割数列 ⇔ (6b-4)+((-1)^b)(6-c)≡6(-1)^a (mod 18) が見つかった。こうやって式で表せば何かわかるかもと思ったけど、今のところサッパリ ぶれぶれですみませんが、また証明を戻して、>>99 特定のパターンを列挙する方向でいきたいと思います。 ちょっと先になります。今brainf*ckやってるので…… まだ穴を埋められませんが、今は、 コラッツパターンと左端を伸ばすパターンのずれがなくなる事を言うのに、 双方の上位nビットの全パターンを調べる という事を考えています。コンピュータを使おうと思っています。 予告とは違う物になりましたが、できたので書きます。 【言いたい事】 コラッツパターンと左端を伸ばすパターンのずれが有限値に収まる 新しいシミュレーションを2つ考えます。 【シミュレーションA】 1.nビットの初期値x0Aを用意する。 2.x0Aを下位へ1ビットシフトして(末尾は捨てる)、x0Aに加える。 3.最下位ビットに1加える。(下位からの繰り上がりが常に有る事を想定) 4.n+1ビットになっていたら、最下位ビットを捨ててnビットにする。 5.2~4を繰り返す。 得られる値をxsAとする。 【シミュレーションB】 1.nビットの初期値y0Bを用意する。 2.y0Bを下位へ1ビットシフトして(末尾は捨てる)、y0Bに加える。 (下位からの繰り上がりは常に無い) 3.n+1ビットになっていたら、最下位ビットを捨ててnビットにする。 4.2~3を繰り返す。 得られる値をysBとする。 xsA、ysB、コラッツパターン値xs、左端を伸ばすパターン値ys の大小関係を考えます。 コラッツパターンは、下位からの繰り上がりが有ったり無かったりするので、 Upper_nbit xs < xsA です。Upper_nbitは上位nビットを取るものです。 左端を伸ばすパターンは、下位からの繰り上がりが有ったり無かったりするので、 ysB < Upper_nbit ys です。 Upper_nbit ys < Upper_nbit xsは自明なので、まとめると、 ysB < Upper_nbit ys < Upper_nbit xs < xsA となります。 2つのシミュレーションA,Bを比べて、ずれが有限値に収まれば、 2つのシミュレーションA,Bにはさまれた xs,ysのずれも有限値に収まる、と言えます。 (続く) ysB ≦ Upper_nbit ys ≦ Upper_nbit xs ≦ xsA でした。 2つのシミュレーションA,Bのずれが有限である事を言うのに、 プログラムを使います。Haskellでやります。 ---------- module CollatzPatt where type Bit = Int plusDisplace :: [Bit] -> [Bit] plusDisplace x = zipWith (+) x ((tail x) ++ [0]) movesUp :: [Bit] -> [Bit] movesUp [x0] = case x0 of 0 -> [0] 1 -> [1] 2 -> [0,1] 3 -> [1,1] movesUp (x0:x1:xs) = case x0 of 0 -> 0 : movesUp (x1:xs) 1 -> 1 : movesUp (x1:xs) 2 -> 0 : movesUp ((x1+1):xs) 3 -> 1 : movesUp ((x1+1):xs) plusOne :: [Bit] -> [Bit] plusOne (x:xs) = ((x+1):xs) snd0or1 :: Int -> [Bit] -> Int snd0or1 n x = if n == length x then 0 else 1 bitCutdown :: Int -> [Bit] -> [Bit] bitCutdown n x = if n == length x then x else tail x colPattA :: ([Bit],Int) -> ([Bit],Int) colPattA (x,_) = let a = plusDisplace x b = movesUp a c = plusOne b d = movesUp c s = snd0or1 bitLen d e = bitCutdown bitLen d in (e,s) colPattB :: ([Bit],Int) -> ([Bit],Int) colPattB (x,_) = let a = plusDisplace x b = movesUp a s = snd0or1 bitLen b c = bitCutdown bitLen b in (c,s) loopTp :: [([Bit],Int)] -> [([Bit],Int)] loopTp x = loopTp' 2 x where loopTp' n x = if any (== fst (last x')) (init $ map fst x') then x' else loopTp' (n+1) x where x' = take n x bitLen = 9 collatzPatternA :: [([Bit],Int)] collatzPatternA = loopTp $ iterate colPattA ([1,1,1,1,1,1,1,1,1],0) collatzPatternB :: [([Bit],Int)] collatzPatternB = loopTp $ iterate colPattB ([0,0,0,0,0,0,0,0,1],0) ---------- n=9ビットで、欲しい結果が得られました。 結果です。 ---------- *CollatzPatt> collatzPatternA [([1,1,1,1,1,1,1,1,1],0),([1,1,1,1,1,1,1,0,1],1),([1,1,1,1,1,0,0,0,1],1),([1,1,1 ,1,0,1,0,1,1],0),([1,1,0,0,0,0,1,0,1],1),([1,0,1,0,0,1,1,1,1],0),([0,0,1,1,0,1,1 ,0,1],1),([1,0,0,0,1,0,0,0,1],1),([0,1,0,1,1,0,0,1,1],0),([0,0,1,0,1,1,0,0,1],1) ,([1,1,1,1,0,0,1,1,1],0),([1,1,0,1,1,0,1,0,1],1),([0,0,1,0,0,0,0,0,1],1),([1,1,1 ,0,0,0,0,1,1],0),([1,0,1,0,0,1,0,0,1],1),([0,0,0,1,1,1,0,1,1],0),([0,1,0,1,0,0,1 ,0,1],1),([0,0,0,0,1,1,1,1,1],0),([0,0,1,0,1,1,1,0,1],1),([1,1,1,0,1,0,0,0,1],1) ,([1,1,0,0,0,1,0,1,1],0),([0,1,0,1,1,1,0,0,1],1),([0,0,0,1,1,0,1,1,1],0),([0,1,0 ,0,0,1,1,0,1],1),([0,1,0,1,0,0,0,0,1],1),([0,0,0,0,1,0,0,1,1],0),([0,0,1,1,0,1,0 ,0,1],1),([1,1,0,0,0,0,1,1,1],0),([0,1,0,0,1,0,1,0,1],1),([0,0,1,1,1,1,1,1,1],0) ,([1,0,1,1,1,1,1,0,1],1),([0,1,1,1,1,0,0,0,1],1),([0,1,1,1,0,1,0,1,1],0),([1,1,0 ,0,0,0,1,0,1],1)] *CollatzPatt> collatzPatternB [([0,0,0,0,0,0,0,0,1],0),([0,0,0,0,0,0,0,1,1],0),([0,0,0,0,0,1,0,0,1],1),([0,0,0 ,0,1,1,0,1,1],0),([0,0,1,0,0,0,1,0,1],1),([0,1,1,0,0,1,1,1,1],0),([0,0,1,1,0,1,1 ,0,1],1),([1,0,0,0,1,0,0,0,1],1),([1,0,0,1,1,0,0,1,1],0),([0,1,0,0,1,1,0,0,1],1) ,([1,1,0,1,0,0,1,1,1],0),([0,0,0,1,1,0,1,0,1],1),([0,1,0,0,0,0,0,0,1],1),([1,1,0 ,0,0,0,0,1,1],0),([0,1,0,0,0,1,0,0,1],1),([1,1,0,0,1,1,0,1,1],0),([0,1,1,0,0,0,1 ,0,1],1),([1,0,0,1,0,1,1,1,1],0),([0,1,1,1,0,1,1,0,1],1),([0,1,0,0,1,0,0,0,1],1) ,([1,1,0,1,1,0,0,1,1],0),([0,0,1,0,1,1,0,0,1],1),([0,1,1,1,0,0,1,1,1],0),([0,1,0 ,1,1,0,1,0,1],1),([1,1,0,0,0,0,0,0,1],1),([0,0,1,0,0,0,0,1,1],0),([1,1,0,0,0,1,0 ,0,1],1),([0,0,1,0,1,1,0,1,1],0),([1,1,1,0,0,0,1,0,1],1),([0,1,0,1,0,1,1,1,1],0) ,([1,1,1,1,0,1,1,0,1],1),([1,1,0,0,1,0,0,0,1],1),([0,0,1,1,1,0,0,1,1],0),([1,0,1 ,0,1,1,0,0,1],1),([1,1,1,1,0,0,1,1,1],0),([1,1,0,1,1,0,1,0,1],1),([0,0,1,0,0,0,0 ,0,1],1),([0,1,1,0,0,0,0,1,1],0),([0,0,1,0,0,1,0,0,1],1),([0,1,1,0,1,1,0,1,1],0) ,([0,0,0,1,0,0,1,0,1],1),([0,0,1,1,0,1,1,1,1],0),([1,0,0,0,1,1,1,0,1],1),([0,0,1 ,0,1,0,0,0,1],1),([0,1,1,1,1,0,0,1,1],0),([0,1,1,0,1,1,0,0,1],1),([1,0,0,0,1,0,1 ,1,1],0),([0,0,1,1,1,0,1,0,1],1),([1,0,1,0,0,0,0,0,1],1),([1,1,1,0,0,0,0,1,1],0) ,([1,0,1,0,0,1,0,0,1],1),([1,1,1,0,1,1,0,1,1],0),([1,0,0,1,0,0,1,0,1],1),([1,0,1 ,1,0,1,1,1,1],0),([1,0,0,0,1,1,1,0,1],1)] ---------- collatzPatternAは、第33項が[1,1,0,0,0,0,1,0,1]となって、 第4項と一致します。その後は繰り返しになります。 collatzPatternBは、第54項が[1,0,0,0,1,1,1,0,1]となって、 第42項と一致します。その後は繰り返しになります。 collatzPatternAとBの第2要素を使って、2つのパターンのずれを比べます。 0ならば繰り上がり無しで、1ならば繰り上がり有りです。 #は、そこから繰り返しになっているという意味です。 *CollatzPatt> map snd collatzPatternA [0,1,1,0,1,#0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1] *CollatzPatt> map snd collatzPatternB [0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1, 0,1,1,0,1,0,1,0,1,#1,0,1,0,1,1,0,1,0,1,0,1] 2つのパターンの第2要素を羅列します。繰り返しを並べていきます。 @はずれが1になっている所です。それ以降のはみ出た部分は、次の行にまわしています。 [0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,@1] [0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,@1, 0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,@1] 0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,@1,0,1,0,1]★ここへ戻る 0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,@1,0,1] 0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,@1] 1]0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,@1] 1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,@1,0,1,0,1,0,1] 0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,@1] 0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,@1] 0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,@1] 1]1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,@1,1,0,1,0,1,0,1] 0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,@1] 1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,@1,0,1,0,1] 0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,@1,0,1] 1,0,1]1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,@1] 0,1]0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,@1] 1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,@1,0,1,0,1,0,1] 0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,@1] 1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,@1] 0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,@1] 1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,@1,1,0,1,0,1,0,1] 0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,@1] 1,0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,@1,0,1] 0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,@1,1,0,1] 0,1]1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,@1] 1,0,1]0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,@1] 1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,1,0,1,0,1]1,0,1,0,1,1,0,@1,0,1,0,1]★↑ 👀 2つのパターンのずれも、大きい繰り返しになる事が分かりました。 ずれは最大でも2なので、 ysB ≦ Upper_nbit ys ≦ Upper_nbit xs ≦ xsA より、 コラッツパターンと左端を伸ばすパターンのずれが有限値に収まる 事が言えました。 >>228 にミスがありました。 しばしお待ちください。 n=9ビットでは、ずれが無限大になってしまうので、 n=10にします。 *CollatzPatt> collatzPatternA [([1,1,1,1,1,1,1,1,1,1],0),([1,1,1,1,1,1,1,1,0,1],1),([1,1,1,1,1,1,0,0,0,1],1),( [1,1,1,1,1,0,1,0,1,1],0),([1,1,1,0,0,0,0,1,0,1],1),([1,1,0,1,0,0,1,1,1,1],0),([0 ,0,0,1,1,0,1,1,0,1],1),([0,1,0,0,0,1,0,0,0,1],1),([0,0,1,0,1,1,0,0,1,1],0),([1,1 ,1,0,0,1,1,0,0,1],1),([1,1,0,1,1,0,0,1,1,1],0),([0,0,1,0,1,1,0,1,0,1],1),([1,1,1 ,0,0,0,0,0,0,1],1),([1,1,0,1,0,0,0,0,1,1],0),([0,0,0,1,0,0,1,0,0,1],1),([1,0,1,1 ,0,1,1,0,1,1],0),([0,1,0,0,1,0,0,1,0,1],1),([0,0,1,1,1,0,1,1,1,1],0),([1,0,1,0,0 ,1,1,1,0,1],1),([0,0,1,1,0,1,0,0,0,1],1),([1,1,0,0,0,0,1,0,1,1],0),([0,1,0,0,1,1 ,1,0,0,1],1),([0,0,1,1,0,1,0,1,1,1],0),([1,0,0,0,0,0,1,1,0,1],1),([1,0,0,0,1,0,0 ,0,0,1],1),([0,1,0,1,1,0,0,0,1,1],0),([0,0,1,0,1,0,1,0,0,1],1),([1,1,1,1,1,1,1,0 ,1,1],0),([1,1,1,1,1,0,0,1,0,1],1),([1,1,1,1,0,1,1,1,1,1],0),([1,1,0,0,1,1,1,1,0 ,1],1),([0,1,1,0,1,1,0,0,0,1],1),([0,1,0,0,1,0,1,0,1,1],0),([0,1,1,1,1,1,1,0,0,1 ],1),([0,1,1,1,1,1,0,1,1,1],0),([1,1,1,1,0,0,1,1,0,1],1),([1,1,0,1,1,0,0,0,0,1], 1),([1,0,0,1,0,1,0,0,1,1],0),([1,1,1,1,1,0,1,0,0,1],1),([1,1,1,1,0,0,0,1,1,1],0) ,([1,1,0,1,0,1,0,1,0,1],1),([0,0,0,0,0,0,0,0,0,1],1),([1,0,0,0,0,0,0,0,1,1],0),( [1,0,0,0,0,0,1,0,0,1],1),([0,1,0,0,0,1,1,0,1,1],0),([0,1,0,1,0,0,0,1,0,1],1),([0 ,0,0,0,1,0,1,1,1,1],0),([0,0,1,1,1,0,1,1,0,1],1),([1,0,1,0,0,1,0,0,0,1],1),([0,0 ,0,1,1,1,0,0,1,1],0),([0,1,0,1,0,1,1,0,0,1],1),([0,0,0,0,0,1,0,1,1,1],0),([0,0,0 ,1,1,1,0,1,0,1],1),([0,1,0,1,0,0,0,0,0,1],1),([0,0,0,0,1,0,0,0,1,1],0),([0,0,1,1 ,0,0,1,0,0,1],1),([1,1,0,0,1,1,1,0,1,1],0),([0,1,1,0,1,0,0,1,0,1],1),([0,1,0,0,0 ,1,1,1,1,1],0),([0,1,0,1,0,1,1,1,0,1],1),([0,0,0,0,1,1,0,0,0,1],1),([1,0,0,1,0,0 ,1,0,1,1],0),([1,1,1,0,1,1,1,0,0,1],1),([1,1,0,0,1,1,0,1,1,1],0),([0,1,1,0,0,0,1 ,1,0,1],1),([1,0,1,0,1,0,0,0,0,1],1),([0,0,0,0,0,1,0,0,1,1],0),([0,0,0,1,1,0,1,0 ,0,1],1),([1,0,1,0,0,0,0,1,1,1],0),([0,0,1,0,0,1,0,1,0,1],1),([1,1,1,0,1,1,1,1,1 ,1],0),([1,0,0,1,1,1,1,1,0,1],1),([1,1,0,1,1,1,0,0,0,1],1),([1,0,0,1,1,0,1,0,1,1 ],0),([1,1,0,0,0,0,0,1,0,1],1),([1,0,1,0,0,0,1,1,1,1],0),([0,0,1,0,1,0,1,1,0,1], 1),([1,1,1,1,1,0,0,0,0,1],1),([1,1,1,1,0,1,0,0,1,1],0),([1,1,0,0,0,1,1,0,0,1],1) ,([1,0,1,0,1,0,0,1,1,1],0),([0,0,0,0,1,1,0,1,0,1],1),([0,0,1,0,0,0,0,0,0,1],1),( [1,1,1,0,0,0,0,0,1,1],0),([1,0,1,0,0,0,1,0,0,1],1),([0,0,0,1,0,1,1,0,1,1],0),([0 ,1,1,1,0,0,0,1,0,1],1),([0,1,1,0,1,0,1,1,1,1],0),([1,0,0,0,0,1,1,1,0,1],1),([1,0 ,0,1,0,1,0,0,0,1],1),([0,1,1,1,1,1,0,0,1,1],0),([1,1,1,1,0,1,1,0,0,1],1),([1,1,1 ,0,0,1,0,1,1,1],0),([1,0,1,1,1,1,0,1,0,1],1),([0,1,1,1,0,0,0,0,0,1],1),([0,1,1,0 ,1,0,0,0,1,1],0),([1,0,0,0,1,0,1,0,0,1],1),([0,1,0,1,1,1,1,0,1,1],0),([0,0,1,1,1 ,0,0,1,0,1],1),([1,1,0,1,0,1,1,1,1,1],0),([0,0,0,0,1,1,1,1,0,1],1),([0,0,1,0,1,1 ,0,0,0,1],1),([1,1,1,1,0,0,1,0,1,1],0),([1,1,0,1,1,1,1,0,0,1],1),([1,0,0,1,1,1,0 ,1,1,1],0),([1,1,0,1,0,0,1,1,0,1],1),([0,0,0,1,1,0,0,0,0,1],1),([1,0,1,0,0,1,0,0 ,1,1],0),([0,0,1,1,1,0,1,0,0,1],1),([1,1,0,1,0,0,0,1,1,1],0),([0,0,0,1,0,1,0,1,0 ,1],1),([1,0,1,1,1,1,1,1,1,1],0),([0,1,1,1,1,1,1,1,0,1],1),([1,1,1,1,1,1,0,0,0,1 ],1)] *CollatzPatt> collatzPatternB [([0,0,0,0,0,0,0,0,0,1],0),([0,0,0,0,0,0,0,0,1,1],0),([0,0,0,0,0,0,1,0,0,1],1),( [0,0,0,0,0,1,1,0,1,1],0),([0,0,0,1,0,0,0,1,0,1],1),([0,0,1,1,0,0,1,1,1,1],0),([1 ,0,0,1,1,0,1,1,0,1],1),([0,1,0,0,0,1,0,0,0,1],1),([1,1,0,0,1,1,0,0,1,1],0),([0,1 ,1,0,0,1,1,0,0,1],1),([1,0,0,1,1,0,0,1,1,1],0),([0,1,0,0,1,1,0,1,0,1],1),([1,0,1 ,0,0,0,0,0,0,1],1),([1,1,1,0,0,0,0,0,1,1],0),([1,0,1,0,0,0,1,0,0,1],1),([1,1,1,0 ,0,1,1,0,1,1],0),([1,0,1,1,0,0,0,1,0,1],1),([1,1,0,0,1,0,1,1,1,1],0),([0,1,1,1,1 ,0,1,1,0,1],1),([0,1,1,0,0,1,0,0,0,1],1),([1,0,0,1,1,1,0,0,1,1],0),([0,1,0,1,0,1 ,1,0,0,1],1),([1,1,1,1,1,0,0,1,1,1],0),([1,1,1,0,1,1,0,1,0,1],1),([1,0,0,1,0,0,0 ,0,0,1],1),([1,0,1,1,0,0,0,0,1,1],0),([1,0,0,1,0,0,1,0,0,1],1),([1,0,1,1,0,1,1,0 ,1,1],0),([1,0,0,0,1,0,0,1,0,1],1),([1,0,0,1,1,0,1,1,1,1],0),([0,1,0,0,0,1,1,1,0 ,1],1),([1,0,0,1,0,1,0,0,0,1],1),([1,0,1,1,1,1,0,0,1,1],0),([1,0,1,1,0,1,1,0,0,1 ],1),([1,1,0,0,0,1,0,1,1,1],0),([0,1,0,1,1,1,0,1,0,1],1),([1,1,0,1,0,0,0,0,0,1], 1),([0,0,0,0,1,0,0,0,1,1],0),([0,0,1,1,0,0,1,0,0,1],1),([0,1,0,0,1,1,1,0,1,1],0) ,([1,0,1,0,1,0,0,1,0,1],1),([1,1,1,1,1,0,1,1,1,1],0),([1,1,1,0,0,1,1,1,0,1],1),( [1,0,1,1,0,1,0,0,0,1],1),([1,1,0,0,0,0,1,0,1,1],0),([0,1,0,0,1,1,1,0,0,1],1),([1 ,1,0,1,0,1,0,1,1,1],0),([0,0,0,0,0,0,1,1,0,1],1),([0,0,0,0,1,0,0,0,0,1],1),([0,0 ,0,1,1,0,0,0,1,1],0),([0,1,0,0,1,0,1,0,0,1],1),([1,1,0,1,1,1,1,0,1,1],0),([0,0,1 ,1,1,0,0,1,0,1],1),([0,1,0,1,0,1,1,1,1,1],0),([1,1,1,1,0,1,1,1,0,1],1),([1,1,0,0 ,1,1,0,0,0,1],1),([0,0,1,1,0,0,1,0,1,1],0),([1,0,0,1,1,1,1,0,0,1],1),([1,0,1,0,1 ,1,0,1,1,1],0),([1,1,1,0,0,0,1,1,0,1],1),([1,0,1,0,1,0,0,0,0,1],1),([1,1,1,1,1,0 ,0,0,1,1],0),([1,1,1,0,1,0,1,0,0,1],1),([0,1,0,0,0,0,0,1,1,1],0),([1,0,0,0,0,1,0 ,1,0,1],1),([1,0,0,0,1,1,1,1,1,1],0),([0,0,1,0,1,1,1,1,0,1],1),([1,1,1,0,1,1,0,0 ,0,1],1),([0,1,0,0,1,0,1,0,1,1],0),([1,0,1,1,1,1,1,0,0,1],1),([1,1,0,1,1,1,0,1,1 ,1],0),([0,0,1,1,0,0,1,1,0,1],1),([1,0,0,1,1,0,0,0,0,1],1),([1,0,1,0,0,1,0,0,1,1 ],0),([1,1,0,1,1,0,1,0,0,1],1),([0,0,0,1,0,0,0,1,1,1],0),([0,1,1,0,0,1,0,1,0,1], 1),([1,0,0,1,1,1,1,1,1,1],0),([0,1,0,1,1,1,1,1,0,1],1),([1,1,0,1,1,1,0,0,0,1],1) ,([0,0,0,1,1,0,1,0,1,1],0),([0,1,0,0,0,0,0,1,0,1],1),([1,1,0,0,0,0,1,1,1,1],0),( [0,1,0,0,1,0,1,1,0,1],1),([1,0,1,1,1,0,0,0,0,1],1),([1,1,0,1,0,1,0,0,1,1],0),([0 ,0,0,0,0,1,1,0,0,1],1),([0,0,0,0,1,0,0,1,1,1],0),([0,0,1,1,0,1,0,1,0,1],1),([1,0 ,0,0,0,0,0,0,0,1],1),([1,0,0,0,0,0,0,0,1,1],0),([0,0,0,0,0,0,1,0,0,1],1)] collatzPatternAは、第115項が[1,1,1,1,1,1,0,0,0,1]となって、 第3項と一致します。その後は繰り返しになります。 collatzPatternBは、第93項が[0,0,0,0,0,0,1,0,0,1]となって、 第3項と一致します。その後は繰り返しになります。 collatzPatternAとBの第2要素を使って、2つのパターンのずれを比べます。 0ならば繰り上がり無しで、1ならば繰り上がり有りです。 #は、そこから繰り返しになっているという意味です。 *CollatzPatt> map snd collatzPatternA +[0,1,1,#0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0 ,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1 ,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1] *CollatzPatt> map snd collatzPatternB [0,0,1,#0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0 +,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1 ,0,1,0,1,1,0,1,0,1,1,0,1] 2つのパターンの第2要素を羅列します。繰り返しを並べていきます。 @はずれが1になっている所です。それ以降のはみ出た部分は、次の行にまわしています。 [0,1,1,#0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,@1,0 [0,0,1,#0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,@1,0 ,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,@1 ,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,@1 ,0,1,1,0,1,0,1,0,1,1,0,1, 0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,@1]★ ,0,1,0,1,1,0,1,0,1,1,0,1]#0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,@1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0 #0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,@1,0 0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,@1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1 ,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,@1,0,1,1,0,1,0,1,1,0,1 ,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1,0,@1] ,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,@1,1,0,1,0,1,0,1,1] #0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,@1,0 ,1,0,1,0,1,0,1,1]#0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,@1,1,0,1,0 ,0,1,0,1,1,0,1,0 ,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,@1 ,1,0,@1,0 ,0,1,0,@1,1,0,1,0,1,1,0,1] ,1,1,0,1,0,1,0,1, 1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,@1,0 ,1,0,1,0,1,1,0,1]#0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,@1,1,0,1,0 ,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,@1] ,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,@1,0,1,1,0,1,0,1,0,1,1 #0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,@1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0 ,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1,0,@1] ,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,@1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1 #0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,@1,0 ,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,@1,0,1,0,1,1,0,1,0,1,0,1,1] ,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,@1 ,0,1,0,1,1,0,1,0,1,0,1,@1] ,0,1,0,1,1,0,1,0,1,1,0,@1] #0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,@1,0 #0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,@1,0 ,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,@1 ,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,@1 ,0,1,1,0,1,0,1,0,1,1,0,1, 0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,@1]★にLoopする ,0,1,0,1,1,0,1,0,1,1,0,1]#0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,@1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0 2つのパターンのずれも、大きい繰り返しになる事が分かりました。 ずれは最大でも2なので、 ysB ≦ Upper_nbit ys ≦ Upper_nbit xs ≦ xsA より、 コラッツパターンと左端を伸ばすパターンのずれが有限値に収まる 事が言えました。 xsA、ysB、コラッツパターン値Xs、左端を伸ばすパターン値Ys の大小関係を考えます。 Xs = X0*(3/2)^s*(1+1/3x0)...(1+1/3xs-1) Ys = X0*(3/2)^s です。 コラッツパターンは、下位からの繰り上がりが有ったり無かったりするので、 Xs < xsA * 2^pxs + (2^pxs-1)(下位を1埋め) です。 2^pxsはコラッツパターンと桁をそろえるものです。 px0 = [X0と右端を合わせる] pxs = | pxs-1 +1 [右端の繰り上がり有り] | pxs-1 [右端の繰り上がり無し] 左端を伸ばすパターンは、下位からの繰り上がりが有ったり無かったりするので、 ysB * 2^pys < Ys です。 Ys < Xsは自明なので、まとめると、 ysB * 2^pys < Ys < Xs < xsA * 2^pxs + (2^pxs-1) となります。 2つのシミュレーションA,Bを比べて、ずれが有限値に収まれば、 2つのシミュレーションA,Bにはさまれた Xs,Ysのずれも有限値に収まる、と言えます。 素朴な疑問だけど、3x+1したら綺麗に1→4→2→1に収束するのに 3x-1したら少なくとも3つぐらいのループに分かれてしまう この「+1」の意味って何なんだろうな 奇数を偶数にするためとか そんなことを言っているんじゃないですよね(>_<) >>251 もちろん、偶数にするための+1なんだろうけど 「3x+1」したら綺麗に1個のループ(1→4→2→1)に収束 「3x-1」したら複数のループに収束(収束と言っていいのか?) という風に性質が全く異なる 高々「+1」か「-1」の違いなのにね コラッツ問題の証明には、この辺りの理由の解明が必要だと思う 私なりの考えを書いてみました。数学は素人なので数学の表現は最低クラス だと思いますがこの板の諸兄におかれましては何卒よろしくご査収の上 ご批評賜れば幸いです。 http://koubeichizoku.doujin.so/collatz/collatz.htm >>254 70年間解かれなかった問題に解答しようというんだからかなり難解なものにならざるを得ないけど、 ワイルズがフェルマーの定理に与えた解答にくらべれば100分の1くらいの難易度だと思う >>255 修正おわりました。ご査収、ご批評の程よろしくお願い申し上げます。 m(_ _)m >>250 例えば (7×3+1)÷2=11、(29×3+1)÷2÷2÷2=11 で、7×4+1=29、つまりある奇数を4倍して1を足した奇数は このる奇数と同じ値へと変化します。 奇数xを初項とする漸化式 an+1=an×4+1であらわされる数列の一般項が たまたま、(y×2^n-1)÷3だからです。 コラッツ予想はこの数列の一般項を求める関数の反対写像にあたっているのです。 ▲マインドコントロールの手法▲ ・沢山の人が偏った意見を一貫して支持する 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法 ・不利な質問をさせなくしたり、不利な質問には答えない、スルーする 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法 偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い 靖国参拝、皇族、国旗国歌、神社神道を嫌うカルト 10人に一人はカルトか外国人 「ガスライティング」 で 検 索 を ! 再修正いたしました。「ウソ八百を信じ込ませようとするな」でも何でも結構ですので 何卒よろしくご査収の上ご高評賜れば幸いです。 http://koubeichizoku.doujin.so/collatz/collatz.htm >>262 命題1の証明がおかしい。最初の2行で、J(g(h(a,q),c))が空集合でないことを理由にして 「 Cola(g(h(a,q),c)) は未だ実行されていない」としているが、そうとは限らない。 以下では、(3x+1)問題ではなく(3x−1)問題を扱う。それでも問題点は本質的に 同じことであるから、ご了承ねがいたい。 まず、初期状態のJ(v)のうち、次のものだけを列挙する。 J(17) = { 17 }, J(25) = { 25 }. J(37) = { 37 }, J(55) = { 55 }, J(41) = { 41 }, J(61) = { 61 }, J(91) = { 91 } 以下、(3x−1)問題において、順次 Cola(17), Cola(25), Cola(37), Cola(55), Cola(41), Cola(61), Cola(91) までを1回ずつ実行すると、 J(17) = { 17 }, J(25) = { 25 }. J(37) = { 37 }, J(55) = { 55 }, J(41) = { 41 }, J(61) = { 61 }, J(91) = { 91 } ↓Cola(17) J(17) = { }, J(25) = { 17, 25 }. J(37) = { 37 }, J(55) = { 55 }, J(41) = { 41 }, J(61) = { 61 }, J(91) = { 91 } ↓Cola(25) J(17) = { }, J(25) = { }. J(37) = { 17, 25, 37 }, J(55) = { 55 }, J(41) = { 41 }, J(61) = { 61 }, J(91) = { 91 } ↓Cola(37) J(17) = { }, J(25) = { }. J(37) = { }, J(55) = { 17, 25, 37, 55 }, J(41) = { 41 }, J(61) = { 61 }, J(91) = { 91 } ↓Cola(55) J(17) = { }, J(25) = { }. J(37) = { }, J(55) = { }, J(41) = { 17, 25, 37, 55, 41 }, J(61) = { 61 }, J(91) = { 91 } ↓Cola(41) J(17) = { }, J(25) = { }. J(37) = { }, J(55) = { }, J(41) = { }, J(61) = { 17, 25, 37, 55, 41, 61 }, J(91) = { 91 } ↓Cola(61) J(17) = { }, J(25) = { }. J(37) = { }, J(55) = { }, J(41) = { }, J(61) = { }, J(91) = { 17, 25, 37, 55, 41, 61, 91 } ↓Cola(91) J(17) = { 17, 25, 37, 55, 41, 61, 91 }, J(25) = { }. J(37) = { }, J(55) = { }, J(41) = { }, J(61) = { }, J(91) = { } となる。今の段階で、17∈J(17) であるから J(17)は空集合ではない。しかし、Cola(17) は既に1回だけ実行済みである。 従って、Cola が未だ実行されてないことを前提とした、命題1の証明は全滅だと思われる。 (続く) (続き) もちろんこれは(3x−1)問題における現象であるから、もともとのコラッツの問題とは無関係のように見えるかもしれない。 しかし、そんなことは無い。もともとのコラッツの問題でも、 ・任意の「ループする数字の列 v1 >> v2 >> v3 >> …… >> vn >> v1 >> v2 >> …… 」 に対して、全く同じ現象が起きる。すなわち、初期状態のJ(v)のうち、 J(v1) = { v1 }, J(v2) = { v2 }, J(v3) = { v3 }, ……, J(vn) = { vn } だけを列挙する。この状態で、もともとのコラッツの問題において、順次 Cola(v1), Cola(v2), ……, Cola(vn) までを 1回ずつ実行すれば、 J(v1) = { v1, v2, ……, vn }, J(v2) = { }, J(v3) = { }, ……, J(vn) = { } となり、全く同じ現象に遭遇する。つまり、今の段階で v1∈J(v1) であるが、しかし Cola(v1) は既に1回だけ実行済みなのである。 従って、もともとのコラッツの問題においても、Cola が未だ実行されてないことを前提とした命題1の証明は全滅だと思われる。 また、このことからも分かるように、もし実際にループがあるなら、ループする数字の集まり v1, v2, ……, vn は実際に「引越し」を繰り返すだけであり、 J(v) に関する手法は全く意味を成さない。Cola(v) を作用させる順番を工夫してみるとか、そういう話にすらならない。もし実際にループがあるなら、 Cola に応じて実際に引越しが行われるだけであり、そこに矛盾が生じることは原理的にありえないのである。 この感覚が腑に落ちないときは、(3x+1)問題のみならず、一般の(ax+b)問題ではどうなるかをイメージするとよい。 あなたが使っている手法が「 3x+1 」に依存していない場面は、そっくりそのまま一般の(ax+b)問題でも適用可能になるのである。 しかし、一般の(ax+b)問題でおかしな現象が起きるなら、あなたが使っている その手法は、自動的に「どこかが間違っている」ことになる。 そこから逆算して、もともとの(3x+1)問題に置き直してみれば、具体的にどこが間違っていたのかがハッキリする。 おそらく、この手法では、本質的にコラッツの問題は解けない。 ループする数字の列 v1 >> v2 >> v3 >> …… >> vn >> v1 >> v2 >> …… が実際にあったら、 もはや J(v) に関する手法は意味を成さず、Cola に応じて実際に引越しが行われるだけである。 実際に、(3x−1)問題のケースではそうなっている(>>263 )。 では、どうすればいいのか。v1, v2, …, vn が具体的にどのような形状になっているかを詳しく解析するしかないだろう。 そして、(3x+1)問題においては、ループする数字の列が 1 >> 1 >> 1 >> …… しかないことを証明すればよいのだ。 しかし、あなたもお気づきのとおり、これではスタートラインに逆戻りである。(だからこそコラッツの問題は未解決問題なのだ) >>263 貴重なご意見を頂戴いたしまして心より感謝いたします。 (3X-1)問題はほんの齧った程度なので、疎いので申し訳ないですが、 Cola(v)の定義の中で、 J(V):={}というJ(V)を空集合として再定義する部分があります。 確かに91→17なので、17∈J(19)だからこの場合J(19):=J(19)∩J(19)となるのですが J(17)={}は変わりません。しかしながらこれは命題1と表裏の関係にあるのでじっくり再考 してみます。有難うございます。 貴重なご意見を頂戴いたしまして心より感謝いたします。 (3X-1)問題はほんの齧った程度なので、疎いので申し訳ないですが、 Cola(v)の定義の中で、 J(V):={}というJ(V)を空集合として再定義する部分があります。 確かに91→17なので、17∈J(91)だからこの場合J(91):=J(91)∩J(91)となるのですが J(17)={}は変わりません。しかしながらこれは命題1と表裏の関係にあるのでじっくり再考 してみます。有難うございます。 【書き間違いの訂正ですみません】 確かにJ(v)≠{}だからCola(v)が実行されていないと言うのは話が逆ですね. Cola(v)は各カテゴリーの中で小さい方から順番に実行されているのだから いままさに実行しようとしている時はまだ≠{}だとかなんとか言う風に もっていかないとダメですね。 >>267 まだ違ってました。J(91):=J(91)∪ J(91)でした。度々でお詫び いたします。 >>267 これは失敬した。移動先の J(v'') は v'∈J(v'') を満たしていなければならないことを失念していた。 となれば、命題1の証明は特に問題ないのかもしれない。申し訳ない。 >>268 たいへん申し訳ない。そこは もはや、大した問題ではないかもしれない(単なる書き方の順序の問題に過ぎないかもしれない)。 そのかわりに、今度は別の問題が発生している。まず、>>263 の(3x−1)問題においては、 J(17) = { }, J(25) = { }. J(37) = { }, J(55) = { }, J(41) = { }, J(61) = { }, J(91) = { 17, 25, 37, 55, 41, 61, 91 } ↓Cola(91) J(17) = { }, J(25) = { }. J(37) = { }, J(55) = { }, J(41) = { }, J(61) = { }, J(91) = { 17, 25, 37, 55, 41, 61, 91 } となる。すなわち、J(91) に Cola(91) を実行しても何の変化も起こらないことになる(あなたも指摘されているように)。 同じく、もともとのコラッツの問題においては、>>264 の設定のもとで J(v1) = { }, J(v2) = { }, J(v3) = { }, ……, J(vn) = { v1, v2, ……, vn } ↓Cola(vn) J(v1) = { }, J(v2) = { }, J(v3) = { }, ……, J(vn) = { v1, v2, ……, vn } となる。すなわち、J(vn) に Cola(vn) を実行しても何の変化も起こらないことになる。これはつまり、 「 Cola(v) を実行しても、必ずしも J(v) は空集合にはならず、何の変化も起きない可能性がある 」…… (1) ということを意味する。一方で、あなたの議論では、 「 Cola(v) を実行して J(v) を空集合にしていけば、最後に残る空でない集合は J(1) のみである(よってコラッツ予想は正しい) 」 という方針で証明しようとしているように見える。ところが、上記の(1)のように、Cola(v)を実行しても 空にならず、全く変化しない J(v) が存在してしまうのなら、この方針は使えないことになる。 というか、(1)が起こるような J(v) に対して、J(v) の中身はまさに「ループする数字の列」になっているはずである。 となれば、J(v) の手法はループに関して やはり無力ということになってしまう。 おっしゃる通りこの問題は恐ろしい問題でニワトリと卵のような、禅問答 みたいなことになってしまうことは十分承知しております。私の論もその 95%い以上は問題の核心である「ループが存在しない」ことの証明に向かっています ただ、前述のように恐ろしい難問なのでどこかに穴があるだろうとは思っています。 よいご指摘を感謝いたします。しばらく沈思黙考してみます。 一番悩ましいのは重複元という本来の集合論には存在しない概念を ループがないことの証拠として持ち込んでいることです。 ただ、例えば集合Xの中に元17が1個あるとか2個あるとかいう概念が あってもそれほどおかしなことではないと思っている自分の頭が 一番おかしいのかも知れません (3X+1)と(3X-1)の間に本質的違いはないとおっしゃる意味は或る程度理解しています。 ただ私の論が3X+1に特化しているというのもまた事実で、それは a(n+1)=4a(n)+1という漸化式であらわされる数列をG(X)と言う形で持ち込んで いることです。この数列の一般項を表す式は(3X+1)÷2^nと等価だからです。 ●と言う記号、(●は=の否定≠を∈に適用した文字)が頻出していますが、これを 「ループしていない」という意味で用いています。 突然ですが http://eprints3.math.sci.hokudai.ac.jp/342/1/kato_all.pdf p進Hodge理論とゼータの値 Kato, Kazuya p進Hodge理論とゼータの値. In: 代数幾何学シンポジューム, 1992/11/10, 城崎町. http://phasetr.com/2013/08/09/%E5%8A%A0%E8%97%A4%E5%92%8C%E4%B9%9F-%E3%80%8Ep-%E9%80%B2-hodge-%E7%90%86%E8%AB%96%E3%81%A8%E3%82%BC%E3%83%BC%E3%82%BF%E3%81%AE%E5%80%A4%E3%80%8F/ 加藤和也, 『p 進 Hodge 理論とゼータの値』 - 相転移プロダクション相転移プロダクション: 2013 08.09 抜粋 我らが加藤先生の PDF があった ので共有しておきたい. 『(p) 進 Hodge 理論とゼータの値』と題された文章だ. 手書きで味わい深い. 1 章 城崎と宇宙 1 章がいきなり「城崎と宇宙」となっていて攻撃力高い. P.1 仏教の法のことは全く理解していない筆者であるが, (p) 進 Hodge 理論のような数学の深い法もまた, この温泉寺の大気の中に, 千年も億年もきらきらまじり入って, 人間や生物の生活とともにあったにちがいない. このあとにも破壊力の高い文言が並ぶ. 是非読んでみてほしい. v: v'さん!君は我々v一族ではないんだから僕たち結婚して一所に暮らせるよ。所帯を持とう。 v':でもv'’お父さんが私が家を出ていくことを許してくれないの。 v: じゃあダメかい? v': いいえそうじゃないわ。あなたがv''家の養子になればいいのよ。私の家で一緒に暮らしましょ。 v:だけど僕には養っていかなきゃならない親兄弟が・・ v': そんなこと簡単よ。皆で家に引っ越して来ればいいのよ。扶養の件だってあなたはv''コーポレーションの重役になれるんだから問題ないわ。 うちが長者番付上位だってこと忘れたの? v: オオ!逆玉上等!だけどうちが空き家になっちゃうな。まっいいかそんなことどうでも。 <<276 ヒヒヒ、バカめ、v'には無数の夫がいるというのに。 273>> 270>> の疑問は尤もだが v∈G(h(a,q)) ≫ i(a,q) は(3x+1)特有の現象で、 だから v∈G(h(a,q)) と v'∈G(h(a,q)) がある時 v∈J(v)と v'∈J(v)は両立しないというのが命題1の趣旨で、 1≫1 以外 で命題1が成立する限り 1≫1 以外 のループはない というのだから 270>> と何も矛盾していないですね。 270>> は、v=91、v'=17 の時、17∈J(91)の正否は検証しようがないのだからとうことを前提に して、無条件にCola(91)を実行した結果、ループがあればこの方法は 無効だと結論付けているので、なにですね。 272>> J(x)を単なる集合としてとらえるのではなく、順序数としてとらえたほうが ベターな気がします。ただ、1個ある2個あるという問題は私にもよくわかりませんが 少なくとも1個あるのと2個あるのでは順序数とすれば別物と認識しますからね。 4^2 - 3^2 = 4+3 となるのは 4^2 - 3^2 = (4+3)×(4-3) で (4-3)=1 だからで、これが(3x+1)問題で1がループする原因 となっている。ただしここからは1以外がループしないという原因は出てこない。 (3x-1)問題でもG(x)に相当する数列は存在するはずだから 270>>の疑問は大いに追及する必要がある。 命題1が(3x+1)では成立して、(3x-1)では成立しない明確な証拠がみつかりました。 命題1の証明が完璧ではなかったことになりますので訂正します。 (3x-1)問題ではCola(v)の実行順序に問題が生ずる部分があって、 (3x+1)にはそれが無いということか明確に言えます g(h(a,q),c)≫i(a,q)である時、i(a,q)≫g(h(a,q),c)がi(a,q)=g(h(a,q),c)=1 以外に存在しないことが(3x+1)問題では言えるのですが(3x-1)問題では これ以外にも存在するからです。 (3x+1)ではg(h(a,q),1)≫i(a,q)が全単射で、g(h(a,q),1)∈J(g(h(a,q),1))⇒c≠1⇒g(h(a,q),c)●J(g(h(a,q),1)) (●は元としての存在否定の記号) が言えるので命題1を補足すれば事足りると思われます。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる