コラッツ予想がとけたらいいな
レス数が1000を超えています。これ以上書き込みはできません。
525 名前:132人目の素数さん[sage] 投稿日:2012/09/03(月) 18:24:27.22
http://d.hatena.ne.jp/righ1113/
コラッツ予想について、証明を考えてみました。
ご指摘ご意見ご感想など、ぜひよろしくお願いします。 , '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ , '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ , '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/
. | \ ∠イ ,イイ| ,`-' |
| l^,人| ` `-' ゝ | このスレ レス数が少ないから上げとくわね。
| ` -'\ ー' 人 でも何れけされる運命ね。
| /(l __/ ヽ、
| (:::::`‐-、__ |::::`、 ヒニニヽ、
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/ 最初に偶数はアウト(1に収束)
4の倍数になったらアウト
この辺の証明は省略
1を除く奇数3・5・7・9…
の偶数番目は(3n+1)/2の中で4の倍数で省く
3・7・11…
の奇数番目は(3n+1)/2を2セットの中で4の倍数なので省く
7・15・23…
の奇数番目は3セットの中で4の倍数なので省く
以下その連続
数学的証明の仕方はしらね(・д・`)
n=8x-1
(8x-1)+4x=(3n+1)/2
後は任せた 偶数nにおいては「奇数×2のα乗」なので奇数になる
奇数nにおいて
n=2x-1(n>0)としたときxが奇数であれば(3n+1)/2をすると偶数となる
n=4x-1(n>0)としたときxが奇数であれば(3n+1)/2を2回すると偶数となる
n=8x-1(n>0)としたときxが奇数であれば(3n+1)/2を3回すると偶数となる
↓
n=(2y)x-1(n>0かつ奇数,y>0,x>0かつxは奇数)のときに(3n+1)/2をy回すると偶数となる
nが有限であればn>y,n>xが成り立つので偶数になる
nが偶数ならばn/2となりn>n/2
nが奇数ならばn=2x+1とおき
(3n+1)/2=3x+2
このとき3x+2が偶数であればx=2yとおき
(6y+2)/2=3y+1=(3n+1)/4
n>1なのでn>(3n+1)/4 訂正
奇数nにおいて
n=(2のy乗)x-1のときに(3n+1)/2をy回すると偶数になる 自分のことで手がいっぱいだがそっとエールを送りたい nが奇数→n+1を素因数分解する
上記での2の乗数をy,その他を全てかけたものをxとする
n=(2^y)x-1 ← n=(2のy乗)x-1であってるか分からないけど
(3n+1)/2をしたときに出る値mは
m=3x(2^y-1)-1
mに対しても偶数であれば/2,奇数であれば上記
nに何ステップ入れたとしてもその数値がnに戻るにはx,yがともに1でなければならない
よってn=1以外の奇数でループ不可 >奇数nにおいて
>n=(2のy乗)x-1のときに(3n+1)/2をy回すると偶数になる
これは成り立たないよ
例:7=4*2-1、11=4*3-1だが
7,22,11,34,17,52,26,...
というか、そんなに簡単に証明できたら難問になってないからw 単なる思いつきだけど話の種にでも
自然数全体からなる集合をNとする。NからNへの、この問題の操作を表す関数をfとおく。
すなわち、nが奇数ならf(n)=3n+1、nが偶数ならf(n)=n/2と定める。
Nの部分集合Aで、f(A)⊂Aを満たすものを「コラッツ不変集合」と呼ぶことにする。
すなわち、Aのどの要素nに対してもf(n)∈Aが成り立つような集合Aのことである。
特にf(A)=Aを満たすものを「コラッツ強不変集合」と呼ぶことにする。
すなわち、コラッツ不変であり、かつ「どのn∈Aに対してもあるm∈Aが存在してf(m)=n」を満たす集合Aのことである。
例
N自身はコラッツ強不変集合
{1,2,4}はコラッツ強不変集合
{1,2,4,8,…,2^k}(k≧3)はコラッツ不変だがコラッツ強不変でない
より一般に、(1,2,4以外の)ある自然数から始めて1になるまでに現れる全ての自然数の集合はコラッツ不変だが、コラッツ強不変でない
例えば{13,40,20,10,5,16,8,4,2,1}
「コラッツ予想が正しい」⇔「全てのコラッツ不変集合が{1,2,4}を含む」が成り立つ…と思う。
あ、最後の命題は「空でない全てのコラッツ不変集合が…」に訂正 チラ裏の続き
>>17と同じ記号で
Nの任意の部分集合Aに対し、Aを含む最小のコラッツ不変集合が存在する。
A∪f(A)∪f(f(A))∪f(f(f(A)))∪…
がそれである。
・φ,Nはコラッツ不変
・コラッツ不変集合の任意個の和集合はコラッツ不変
・コラッツ不変集合の任意個の共通部分はコラッツ不変
が成り立つことが容易に分かる。
よって、コラッツ不変集合全体を開集合(または閉集合)としてNに位相が定まる。(どっちがいいんだろう?)
コラッツ不変集合を閉集合と定義した場合、上で挙げた「Aを含む最小のコラッツ不変集合」はAの閉包に一致する。 どちらの位相でもfは連続(証明略)
実例を見ると、「コラッツ不変⇔閉集合」の方がそれっぽい気がする。
wikipediaの「コラッツの問題」
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%A9%E3%83%83%E3%83%84%E3%81%AE%E5%95%8F%E9%A1%8C
にあるような図で考えると、閉集合は下に閉じている感じで、開集合は上に延びていく感じになる。
例えばn∈Nに対し、「有限回の操作でnになる数全体」は開集合。特に、これはnを含む最小の開集合である。 と、ここまで書いてみたはいいけど、結局「集合XとXからXへの写像fの組」についての一般論の域をほとんど出てない…どうしたものか。
位相の言葉による言い換えが2つほど得られたので一応書いておく。
「コラッツ予想が正しい」⇔「Nが連結」
∵
(左⇒右)1を含む最小の開集合をAとすると、Aは「有限回の操作で1になる数全体」と一致し、予想が正しければA=Nである。
このことから、1を含む連結成分はNとなり、Nは連結。
(右⇒左)再び1を含む最小の開集合をAとすると、Aは「有限回の操作で1になる数全体」と一致し、これよりAは閉集合でもあることが分かる。
Aは開かつ閉で空でないから、連結性よりA=N
。これは、全ての自然数が有限回の操作で1になることを意味し、したがって予想は正しい。□
「ループが有限個かつ無限に大きくなる列は無い」⇔「Nはコンパクト」
∵
(左⇒右)任意に開被覆{U_λ}をとる。有限個のループから1つずつ数をとり、a_1,…,a_nとすると、
a_i∈U_(λ_i)(i=1,…,n)となるようにλ_iが選べて、{U_(λ_i)|i=1,…,n}が有限部分被覆となる。
(右⇒左)ちょっと長くなるので概略で。
対偶を示す。
無限に大きくなる列があればそれをa_1,a_2,…とする。
ループが無限個あれば各ループから一つずつ数をとり、a_1,a_2,…とする。(選択公理?)
どちらの場合も、a_iを含む最小の開集合をU_iとおくと、{U_i}を用いて有限部分被覆を持たない開被覆を構成できる。
2進整数環 Z_2 の部分集合 S を以下の規則で構成する。
α = 3^(-1) ( ∈ Z_2 ) とする。
1) 1 ∈ S
2) n ∈ S ⇒ 4n - 1 ∈ S
3) n ∈ S ⇒ α(4n - 1) ∈ S
4) n ∈ S ⇒ 2αn ∈ S
5) 以上の規則で生成される数のみが S の要素である。
コラッツ予想は、S が自然数全体 N を含むことと同値。
---------------------------------------------------------
で、何がいえるかというと・・・いや、それは
Z_2に拡張できるってのは俺も考えたことがあるな。
で、拡張について考えてみたら以下のことが分かった。
以下、Z_2に拡張したとして議論するが、他になんらかの拡張があったとしても(多分)同様。
Qを有理数体とする。
@Z_2∩Qの元から始めて操作するとZ_2∩Qの元しか現れず、Z_2\Qの元から始めて操作するとZ_2\Qの元しか現れない。
∵前半は自明。後半は背理法。
x∈Qが現れたとすると、その一つ前は2xか(x-1)/3なので、一つ前も有理数。
繰り返すと、結局最初の数が有理数ということになり矛盾。□
AZ_2\Qではループは存在しない。
∵a∈Z_2から何回か操作してaに戻るとする。このとき、aはある方程式g(x)=xの解になる。
ここでg(x)は、xに「3倍して1を足す」「2で割る」を何回か繰り返して得られる多項式であり、したがって有理数係数の1次式である。
よって、g(x)=xの解は有理数。□ Aの所改行し忘れた…
そんなわけで、有理数より大きく広げる必要は無いんじゃないかなーとか思ったり。 __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/ 分母が5の既約分数で調べてみたら、いくつかループがあった。それぞれ
1/5
19/5
23/5
187/5
347/5
を含むもの(これらはそのループ中で最小の数)。まだ小さい初期値でしか調べてないから、もっとあるかも。
下2つは、両方とも「*3+1」を17回、「/2」を27回で計44回の操作でループする。なんかありそう。
負の数でも調べてみたら、少なくとも-1/5から-299/5までは、全て-1/5を経由して1/5のループに到達した。
なんか普通の自然数と雰囲気似てる気がする。 >>27
整数で考えると3n+5になるのか
それから187はループじゃないっぽい
もっと大きい数でもやってみたら
大体1か19か187のループに入る
低確率で347(例:443)、23はほとんどない 阿呆の書き込みは軽蔑に値するだけ。
狢
>389 名前:粋蕎 ◆C2UdlLHDRI :2012/11/23(金) 20:18:33.20
> 低脳撲滅主義の下では現低脳が絶える時に低脳上限上昇による新低脳が生まれる故の無限淘汰地獄。
> 低脳撲滅主義に於いて低脳認定基準を設けても時代と共に基準は改正されるので無駄な事である。
> つまり猫改め描改め狢は学力的弱肉強食主義である。行き過ぎた撲滅主義は文化衰退を招く。
> 狢
>454 名前:粋蕎 ◆C2UdlLHDRI :2012/11/24(土) 19:51:25.34
> あーあ、独逸みたいな三大政党化を期待しとったが期待外れじゃな。
> 一大政党では独裁を生み
> 二大政党では思考不足の極論選択を生み
> 三大政党で初めて民衆は思考勘案し吟味選択する。
> じゃが此の分じゃ単に民衆は釣られる対象にしかならんな、あれじゃ野合と言われても仕方ない。
> 私は某女子短大で教えているが、女子学生はキャンパス内では全員例外なく全裸になり、
学生証を安全ピンで乳首に刺して止めておくべきだ。
やらなければこちらがブスッと刺す。血が出るかも。
生理の時は私がタンポンを入れたり抜いたりしてやる。血が付くかも。
云う事聞かない奴は逆さ吊りだ。トイレに行きたくなっても行かせない。
クリスマスは私と女子学生の乱交パーティーだ 。勿論女子学生同士の愛も OK.
女子学生は皆食べ頃だ。参加しない奴には単位を出さない。
等と云った妄想を毎日朝から晩までしている。
授業中もチンコが立ちっぱなしで困る。 ペアノの公理系で解けるのかな
なんか此の手の数列の問題で超越的手法じゃないと証明できないやつあったよね ABC予想を解くのに使われた「遠アーベル幾何」というものの話を最近聞いたんだが、なんかコラッツ予想にも使えそうな感じがした。
体における和と積の複雑さに対して効力を発揮するとかなんとか。
難しすぎてまだまだ俺の手には負えそうにないが。 ε⌒ ヘ⌒ヽフ
( ( ・ω・) ブーブーお前解けないのかコラーッ
しー し─J __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/
. | \ ∠イ ,イイ| ,`-' |
| l^,人| ` `-' ゝ | このスレには馬と鹿と豚さんしかいないのね。
| ` -'\ ー' 人
| /(l __/ ヽ、
| (:::::`‐-、__ |::::`、 ヒニニヽ、
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/ __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/
. | \ ∠イ ,イイ| ,`-' |
| l^,人| ` `-' ゝ | このスレには馬と鹿と豚さんばかりね。
| ` -'\ ー' 人
| /(l __/ ヽ、
| (:::::`‐-、__ |::::`、 ヒニニヽ、
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/ コラッツ予想を2進数で考えたいと思います。
初期値7->22->11->34->17->52->26->13
->40->20->10->5->16->8->4->2->1
を例にとって、奇数のみを並べると以下のようなパターンができます。
これを「コラッツ・パターン」と名付けましょう。
1次元のセルオートマトンとも見なせます。
(普通の2進数とは上位下位を逆に、下位ビットを左にしています。)
111 7
1101 11
10001 17
01011 13
000101 5
0000001 1
セルオートマトンと見なした時は以下のルールで下へ伸びていきます。
(1)「1」の塊は、次ステップで両端が離れる
「11」は「1001」に、「111」は「10101」になります。
(2)単独の「1」は、次ステップで「11」になる
(3)「11011」のような、次ステップで左「1」と右「1」が
重なる場合は、右(上位)へ繰り上がる
「11011」は次ステップで「1000101」になります。
(4)最後に、左端に+1する 次に、ルール(4)を削除したパターンを考えてみます。
左端がえんえんと左へ伸びていきます。
00000111
000010101
000111111
0010111101
01110110001
10100101011
さらに、元のパターンとの差をとります。
00000___
00001
000101
0011001
01001001
110110101
「左端を伸ばすパターン」+「差のパターン」=「元のコラッツパターン」
「差のパターン」<「元のコラッツパターン」───(イ)
となります。 ここで、各パターンの右端に注目してみます。
「元のパターン」の右端は、ある傾きの直線をとります。
一方、「差のパターン」の右端は、それより大きい傾きで進行します。
二つの傾きを重ねると、あるところで交差・逆転します。
すると、大小関係が逆転するので(イ)式と矛盾します。
これを回避するには、二つの傾きが交差する前に、コラッツ操作が1に収束するしかありません。
こうなるイメージです。
o x
o x
o x
o x
o x
ox
くわしくは、
http://d.hatena.ne.jp/righ1113/
(4)コラッツ・パターン
からをご覧ください。 __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/
. | \ ∠イ ,イイ| ,`-' |
| l^,人| ` `-' ゝ | このスレは馬と鹿と豚さんばかりね。
| ` -'\ ー' 人
| /(l __/ ヽ、
| (:::::`‐-、__ |::::`、 ヒニニヽ、
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/ >>40-43
仮に1を初期値とするコラッツ・パターンを作るとしたら、
1
01
001
0001
00001
ということであってる?
これは明らかに傾き1。
これを見るに、「元のコラッツ・パターン」の傾きが必ずしもlog[2](3/2)になるとは限らないんじゃないかと。
「+1」の影響が意外と大きい。 >>45
初期値1のコラッツ・パターンはそれで合っています。
これで良いのです。
「元のパターン」の右端は、『コラッツ操作が1に収束するまでは』傾きlog[2](3/2)の直線をとります。
でした。言葉足らずでした。
そしてこれが背理法の要です。
>>42の
> 二つの傾きを重ねると、あるところで交差・逆転します。
> すると、大小関係が逆転するので(イ)式と矛盾します。
> これを回避するには、二つの傾きが交差する前に、コラッツ操作が1に収束するしかありません。
は1行追加して、
二つの傾きを重ねると、あるところで交差・逆転します。
すると、大小関係が逆転するので(イ)式と矛盾します。
これを回避するには、二つの傾きが交差する前に、コラッツ操作が1に収束して、
『「元のパターン」の右端傾きが1になるしかありません。』
です。 こうなると大小関係が逆転して矛盾するから、
o x
o x
o x
o x
o x
ox
xo
こうなるしかありません。
o x
o x
o x
o x
o xここで1に収束
o x
o x
o x __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/
. | \ ∠イ ,イイ| ,`-' |
| l^,人| ` `-' ゝ | このスレは馬と鹿と豚さんばかりね。
| ` -'\ ー' 人
| /(l __/ ヽ、
| (:::::`‐-、__ |::::`、 ヒニニヽ、
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/ 1だけが特別ってのも変だと思う。
他の数でも+1が上手く作用して、部分的に傾きが大きくなることもある。
27なんかはそれが多く起こって長く続くんだろう。 うーん変ですか……
1だけが特別というのは
1だけが4-2-1ループする唯一の奇数という
コラッツ予想の特徴をよく表していると思うのですが…… 傾きの大小だけで交わるかどうかを判断することはできない。
例えば、y=(x-1)/xはx>0の範囲で増加するが、xをどれだけ大きくしても1を超えることはない。
実際、「差のパターン」の差分を計算してみると、確かにlog[2](3/2)より大きくはなるがlog[2](3/2)に収束しそうな感じがした。 がーん そんなあ。
確かにy=(x-1)/xの傾き1/x^2は、y=1の傾き0よりも大きいけど、
二つのグラフは交わりませんね。
ということは
「差のパターン」は「元のコラッツパターン」に漸近するんですかね? だんだん平行になっていく、ぐらいじゃないかなあ
直感的には「差のパターン」は「元のコラッツパターン」よりずいぶん小さい気がする 数学板でちゃんとした投稿が大半を占めている貴重なスレなので
お礼にこのスレに関連する情報を1つ書いておくね。知ってたらゴメン。
コラッツ予想に関して、最近までの主要な結果(一般化も含め)や昔の論文の復刻を纏めた次の本が
2年ちょい前にアメリカ数学会(American Mathematical Society)から出版された。
Jeffery C. Lagarias "The Untimate Challenge: The 3x+1 Problem", ISBN: 978-0-8218-4940-8
AMSの会員ならAMSのホムペから少し安く買えるけど、会員以外でもアメリカのAmazonとかで買えるはず。
CoxeterやConwayやRichard Guyら錚々たる連中の昔の論文もリプリントされていて読めるので
コラッツ大好きな人はこの本を持ってるとちょっとハッピーだと思う。 >>54
うわああああああああ
>>55
情報ありがとうございます!
さっそく見てみます! 有理数への拡張を詳しく考えてみた
分母が奇数のものだけを考え、分子が奇数なら「3倍して1足して2で割る」、分子が偶数なら「2で割る」という操作をする。
例えば1/5から始めると、
1/5→4/5→2/5→1/5→…
とループする。
ここで、分子に奇数が現れたら○、偶数が現れたら×と書くことにすると、上記のループは「○××」が繰り返してることになる。
そこで、逆に「○××」で元に戻る数が他にあるかを考える。
初期値をxとすると、
x→(3x+1)/2→(3x+1)/4→(3x+1)/8
と変化するはずだから、方程式
(3x+1)/8=x
が得られ、これを解くと解はx=1/5のみ。
よって、「○××」が繰り返されるループは1/5を初期値とするもののみであることがわかる。
同様にして、○×からなる有限列を一つ指定すれば、それに応じて有理数が一つ定まる。
得られた有理数が実際に指定してループを辿るかは非自明だが、おそらく辿る。 「×○×」や「××○」を指定しても、初期値が変わるだけで「○××」と同じループが得られる。
そこで、これは「○××」が円形に並んでいるものと考えられる。
この考えから、次のことがわかる。
定理
n個の奇数とm個の偶数からなるループの個数は、n個の○とm個の×からなる円順列の個数に等しい。
例
奇数2個、偶数4個からなるループを考える。
○2個、×4個からなる円順列は、
○× ○× ○×
○× ×× ××
×× ○× ×○
(半時計周りに並んでいるとする)
の3通り。左上の○に対応する数は、それぞれ1/11,7/55,1/5となる。
これらは、実際に指定した偶奇を辿ってループすることが確かめられる。
奇数n個、偶数m個からなるループについて方程式を作ると、
(3^n*x+a)/2^(n+m)=x (aは正の整数)
という形になる。これを解くと、
x=a/(2^(n+m)-3^n)
となる。したがって、ループを構成する数は、分母が2^(n+m)-3^n(の約数)であるような分数として書ける。
とりあえずここまで __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/
. | \ ∠イ ,イイ| ,`-' |
| l^,人| ` `-' ゝ | このスレには馬と鹿と豚さんしかいないのね。
| ` -'\ ー' 人
| /(l __/ ヽ、
| (:::::`‐-、__ |::::`、 ヒニニヽ、
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/ コラッツ操作を式であらわすと
初期値をx、ステップ数をn、nステップ後の奇数をx_nとして
x(3/2)^n + 3^(n-1)/2^n + p_1*3^(n-2)/2^n-1 +...+ p_1*p_2*...p_(n-2)*3^1/2^2 + p_1*p_2*...p_(n-1)/2
= p_1*p_2*...p_n*x_n
となる。
左辺第一項x(3/2)^nが「左端を伸ばすパターン」、
左辺残りが「差のパターン」、
右辺p_1*p_2*...p_n*x_nが「元のコラッツパターン」に対応している。
p_nはコラッツ操作で偶数が2回以上続いた時の2のべき。
「差のパターン」のp_nの積の部分は例えば
1,1,2,2,2,4,4,8,8,8,8,16...
のように増加していく。
ここから先に進まない…… 「差のパターン」3^(n-1)/2^n + p_1*3^(n-2)/2^n-1 +...+ p_1*p_2*...p_(n-2)*3^1/2^2 + p_1*p_2*...p_(n-1)/2
をf(n)とおく。
「差のパターン」の右端グラフは2進数目盛上にあるので
log{f(n)}になる。底は2。
これの2階差分u_(n+1) - 2u_n + u_(n-1)を取ると、
log{f(n+1)} - 2log{f(n)} + log{f(n-1)}
= log{ f(n+1)*f(n-1) / f(n)^2 }
f<0だから、この式は正。
2階差分が正だから、「差のパターン」の右端グラフは下(左)に凸。
この結果と先にあげた
「左端を伸ばすパターン」右端傾きより「差のパターン」右端傾きが大きい を合わせて
二つの右端グラフが交差する、と言えるのではないだろうか。 あ、やべ。
logの中が1より小さかったらlogは負になるんだ。
考え直します。 log{ f(n+1)*f(n-1) / f(n)^2 }の中が1より大きいか考える。
n=5でf(n)が5項ある場合を考える。nが増えても同様。
(a+b+c+d+e+f)*(a+b+c+d) / (a+b+c+d+e)^2
a+b+c+d+e=Aと置くと
(A+f)*(A-e) / A^2 = {A^2+A(f-e)-fe} / A^2
e = (1/2)*p_1*p_2*...p_(n-1)
f = (1/2)*p_1*p_2*...p_(n-1)*p_n
なので、p_n=1の場合、分子がA^2-feとなって 分数式 < 1。
p_n=2の場合、f=2eだから分子がA^2+Ae-fe、A>fだから 分数式 > 1。
p_n=4,8,16,...も同様に 分数式 > 1。
よってlog{ f(n+1)*f(n-1) / f(n)^2 }は
p_n=1の場合、負。
p_n=2以上の場合、正。
「差のパターン」の右端グラフは
偶数が1回しかない時、上に凸で、偶数が2回以上の時、下に凸という、
なにも進展しない結果になった。
コラッツ操作で、偶数が2回以上続くほうが多い、とか言えないかなあ。。。 ネットを見てると、よく
「4x+1となる数については調べなくてよい」
とありますが、これは数学的帰納法の一部分であって、
「4x+1はコラッツ操作で1に収束する」が証明された訳ではないですよね。
何故こんな事を聞くかというと、4x+3もコラッツ操作で4x'+1に接続されるので、
予想が解けちゃうなー、と思ったので。 科学技術フェスタで、奇数の時3n+1にする代わりに3n-1にすると、ループが3種類できて
その3種類の頻度はほぼ同じになるっぽい(証明はできてない)、という発表を高校生がやっとった。 全ての数がコラッツ操作で小さくなれば、
コラッツ予想は証明されます。
値が2xの場合は2で割って小さくなります。
同様に値が4x+1や16x+3でもコラッツ操作を続けると小さくなります。
これを全ての数で言えないかを今考えています。 こんな数学的帰納法を考えています。
・x = 1で成り立つ
・x < kで成り立つと仮定したとき、
x = kでも成り立つ
値が4x+1や16x+3の場合はコラッツ操作をおこなうと小さくなるので、
上記の方法が使えます。
すぐ小さくならない値k1については、
・x=k1とそれに連結される数を除くx<k2で成り立つと仮定したとき、
x=k2でも成り立つ
するとk1はk2に連結するのでx=k1でも成り立つ
という方法が考えられます。
図にするとこんな感じです。
k2
/\
/ k3
k1
k2>k3となるk2は、全ての数が4x+1を通過することから
すぐ見つけられます。
あとはk1とk3がつながってループする事がなければ良いわけです。 あと、すぐ小さくならない値が複数個連結される可能性もあります。
図にするとこんな感じです。
/\
/\.../ ↓
/\.../ |
/ |
↑................................................┘最後はループする 式であらわします。
すぐ小さくならないk1がすぐ小さくならないk2に連結されるとします。
k1の側は、例えばk1=27+2^5*xとおくと、2ステップ後にちょびっと小さくなるので、その値は
((3*k1+1)/2*3+1)/4 = (9*k1+5)/8 = 31 +3^2*2^2*x1 −−−@
となります。
k2の側は、k2から後ろ向きにnステップ伸びるとして、
コラッツ逆操作「2のべき乗をかけて1引いて3で割る」をおこないます。
n=1の場合は
(k2*2^p1 -1)/3
n=2の場合は
((k2*2^p1 -1)/3*2^p2 -1)/3 = k2*2^(p1+p2)/3^2 -2^p2/3^2 -1/3
一般化して
(1/3^n)( k2*2^(p1~pn) -2^(p2~pn) -3*2^(p3~pn) -...-3^(n-2)*2^pn -3^(n-1) ) −−−A
となります。( p1+p2+...+pn を p1~pn と略記)
連結されるので、@とAをイコールで結びます。
3^n*( 31 +3^2*2^2*x1 )
= k2*2^(p1~pn) -2^(p2~pn) -3*2^(p3~pn) -...-3^(n-2)*2^pn -3^(n-1) n=1の場合は
2*47 +3^3*2^2*x1 = k2*2^p1 => p1=1となって
47 +3^3*2*x1 = k2
n=2の場合は
3*(2*47 +3^3*2^2*x1) = k2*2^(p1+p2) -2^p2 => p2=1
2*71 +3^4*2*x1 = k2*2^p1 => p1=1となって
71 +3^4*x1 = k2
第一項は31から始まるコラッツ数列になること、
pnはそのときの2で割る回数になるところがポイントです。
一般化すると、以下になります。 CO31 は31から始まるコラッツ数列です。
CO31 +3^(n+2)*x1/2^(p1~p(n-2)) = k2 k2を固定します。ここではk2=71+2^7*x2とおいてみます。
CO31 +3^(n+2)*x1/2^(p1~p(n-2)) = 71+2^7*x2
2^(p1~p(n-2))*(CO31 -71) = 2^(7+p1~p(n-2))*x2 -3^(n+2)*x1
この式の形 c = 2^a * x1 - 3^b * x2 を考えることによって
何か言えるのではと思うわけです。 >>74の後半は間違っていました。
第一項が分数になることもあります。
コラッツ数列ぽいことはぽいのですが...... ここでちょっと内容を変えて、
コラッツ操作ですぐ小さくなる値とそうでない値をまとめます。
すぐ小さくなる値を「良い値」、そうでない値を「悪い値」と呼びましょう。
全ての数を2進数の下位ビットで場合分けして、良い/悪いを調べます。
(2進数は左が下位)
2進数 良い/悪い どう小さくなるか
0… 良い 2x → x
10… 良い 4x+1 → 3x+1
1100… 良い 16x+3 → 3^2x+2
1101…
11010… 良い 32x+11 → 3^3x+10
11011… ★悪い 27+2^5x 1110…
11101… 良い 32x+23 → 3^3x+20
11100…
111000…
1110000… 良い 2^7x+7 → 3^4x+5
1110001… ★悪い 71+2^7x
111001…
1110010…
11100101… ★悪い 167+2^8x
11100100… 良い 2^8x+39 → 3^5x+38
1110011… ★悪い 103+2^7x
1111…
11110…
111101… ★悪い 47+2^6x
111100…
1111000… 良い 2^7x+15 → 3^4x+10
1111001…
11110010… 良い 2^8x+79 → 3^5x+76
11110011… ★悪い 207+2^8x
11111… ★悪い 31+2^5x 「11011…」「1110001…」「11100101…」「1110011…」
「111101…」「11110011…」「11111…」が悪い値ですが、
「1110001…」と「11100101…」は、次ステップで「11011…」になるので
考えなくて良いです。
よって、「11011…」「1110011…」
「111101…」「11110011…」「11111…」
の五つの場合を考えれば良い事になります。 一つ定理が出来たので書きます。
コラッツ操作でxがsステップで小さくなれば、
3^s < 2^lを満たすx+2^l*yもsステップで小さくなる。
コラッツ操作で奇数→奇数までを1ステップと数えます。
証明は、まず、xがsステップで小さくなれば、その時の2で割った合計をl0と置くとき、
3^s < 2^l0が成り立つ事を言います。―――@
sステップ後の数は、それぞれのステップで2で割った回数をpnとすると、
(3^s/2^(p1~ps))*x + 3^(s-1)/2^(p1~ps) + 3^(s-2)/2^(p2~ps) + ... + 1/2^ps < x
(3^s/2^(p1~ps))*x < x
3^s < 2^(p1~ps) = 2^l0 よって@は成り立つ。 次に、3^s < 2^lを条件(A)としたx+2^l*yもsステップで小さくなる事を証明する。
@とAを重ねると次の三つの場合がある。
2^l0 < 2^l, 2^l0 = 2^l, 2^l0 > 2^l
2^l0 < 2^lの場合、xのsステップ後をx1とおいて、x+2^l*y―(sステップ後)→x1+3^s*2^(l-l0)y
x > x1, 2^(l-(l-l0))*y > 3^s*yだから、x+2^l*y > x1+3^s*2^(l-l0)yが成り立つ。
2^l0 = 2^lの場合、x+2^l*y―(sステップ後)→x1+3^s*y
x > x1, 2^l*y > 3^s*yだから、x+2^l*y > x1+3^s*yが成り立つ。
2^l0 > 2^lの場合、x+2^l*y―(sステップ後)→2^(l0-l)*x1+3^s*y
2^l*y > 3^s*y。x > 2^(l0-l)*x1を言いたいので、次の補題を考える。
3^s < 2^l が成り立てば、xはsステップ後、計l回2で割った時点で小さくなる。―――B Bを証明する。コラッツパターンを使う。
http://cdn-ak.f.st-hatena.com/images/fotolife/r/righ1113/20130603/20130603020241.jpg
コラッツパターンより、
log[2]x > log[2]x -(l0-s) + s*log[2](3/2)―――C
log[2]x > log[2]x+1 -(l0-s) + s*log[2](3/2)―――D
が言えればよい。
3^s < 2^l0 -> s*log3 < l0*log2 -> log[2]3 < l0/s とlog[2]3 -1 = log[2](3/2)から、
l0/s -1 > log[2](3/2) -> l0-s > s*log[2](3/2)
log[2]x > log[2]x -(l0-s) + s*log[2](3/2) Cが言えた。
Cが言えたから条件3^s < 2^lより、log[2]x > log[2]x -(l-s) + s*log[2](3/2)が言える。
これとl0-1 ≧ lより、log[2]x > log[2]x+1 -(l0-s) + s*log[2](3/2) Dが言えた。
CDが証明できたので、Bも成り立ち、
2^l0 > 2^lの場合も x+2^l*y > 2^(l0-l)*x1+3^s*yが成り立つ。
以上です。 __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/
. | \ ∠イ ,イイ| ,`-' |
| l^,人| ` `-' ゝ | このスレは馬と鹿と豚さんばかりね。
| ` -'\ ー' 人
| /(l __/ ヽ、
| (:::::`‐-、__ |::::`、 ヒニニヽ、
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/ __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/
. | \ ∠イ ,イイ| ,`-' |
| l^,人| ` `-' ゝ | このスレは馬と鹿と豚さんばかりね。
| ` -'\ ー' 人
| /(l __/ ヽ、
| (:::::`‐-、__ |::::`、 ヒニニヽ、
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/ Bの証明に不備があったので修正します、Bを少し弱めます。
3^s < 2^l < 2^l0が成り立てば、xはsステップ後、
計l回2で割った時点で同じか小さくなる。―――E
これを証明します。
logの底は2です。
sステップ後のコラッツ値をxsとおいて対数を取ると
以下が成り立ちます。
log(xs) = log(x) -(l-s) +s*log(3/2) +log(1+1/3x)…(1+1/3x_s-1)
>>83より
log(x) > log(x) -(l-s) + s*log(3/2)―――C
log(x) > log(x)+1 -(l-s) + s*log(3/2)―――D
が成り立ちます。切り上げて
[log(x)] ≧ [log(x) -(l-s) + s*log(3/2)]―――F
[log(x)] ≧ [log(x)+1 -(l-s) + s*log(3/2)]―――G
コラッツパターンより
[log(x) -(l-s) + s*log(3/2)] = [log(x) -(l-s) +s*log(3/2) +log(1+1/3x)…(1+1/3x_s-1)]
[log(x) -(l-s) + s*log(3/2)] +1 = [log(x) -(l-s) +s*log(3/2) +log(1+1/3x)…(1+1/3x_s-1)]
FGに代入
[log(x)] ≧ [log(x) -(l-s) +s*log(3/2) +log(1+1/3x)…(1+1/3x_s-1)]
切り上げを外して
log(x) ≧ log(x) -(l-s) +s*log(3/2) +log(1+1/3x)…(1+1/3x_s-1)
以上でEが証明できました。 話題がコロコロ変わってすみません。おさらいです。
コラッツ予想を2進数で考えます。
コラッツ数列の奇数のみを並べると以下のようなパターンができます。
これをコラッツパターンと名付けます。
(下位ビットが左)
111 7
1101 11
10001 17
01011 13
000101 5
0000001 1
コラッツパターンは以下のルールで下へ伸びていきます。
(1)「1」の塊は、次ステップで両端が離れる
「11」は「1001」に、「111」は「10101」になります。
(2)単独の「1」は、次ステップで「11」になる
(3)「11011」のような、次ステップで左「1」と右「1」が
重なる場合は、右(上位)へ繰り上がる
「11011」は次ステップで「1000101」になります。
(4)最後に、左端に+1する
sステップ後値の初期値0位置からの距離をLnとおきましょう。
例の5ステップ目はLn=7となります。 次に、ルール(4)を削除したパターンを考えてみます。
左端がえんえんと左へ伸びていきます。
00000111
000010101
000111111
0010111101
01110110001
10100101011
左端を伸ばすパターンと名付けます。
sステップ後値の初期値0位置からの距離をLlとおきましょう。
例の5ステップ目はLl=6となります。 例からも分かるように、Ln=Llの時とLn=Ll+1の時があります。
これ以外はないことを証明します。
コラッツパターンのルールより、1ステップ後の右端は+0 or +1です。
左端に+1しているから、Ln≧Llです。
なので、Ln=Llから1ステップ後Ln=Ll+1になるところを考えてみます。
http://cdn-ak.f.st-hatena.com/images/fotolife/r/righ1113/20130713/20130713165031.jpg
図より、Ln=Ll→Ln=Ll+1になることはありえるが、その次のステップで
Ln=Ll+1→Ln=Llになるので、2以上ずれることはありません。
Ln=Ll or Ln=Ll+1です。 sステップ後値の初期値0位置からの距離Lnは、
コラッツパターンを2進数で書いているのでlog[2]の対数目盛と見なして、
sステップ後コラッツ値のlog[2]を取れば良いことになります。
コラッツ操作27→41を変形すると
(27*3+1)/2 = 41 = (27+1/3)*3/2 = 27*(1+1/(3*27))*3/2
logをとって
log41 = log27 +log(1+1/(3*27)) +log(3/2)
コラッツ操作41→31を変形すると
(41*3+1)/4 = 31 = (41+1/3)*3/4 = 41*(1+1/(3*41))*3/4
logをとって
log31 = log41 +log(1+1/(3*41)) +log(3/2) -log2
= log27 + log(1+1/(3*27))(1+1/(3*41)) +2*log(3/2) -log2
よって一般化するとLnは以下になります。
引き算の部分はコラッツパターンでは右によせているので消えます。
Ln = [log(x) +s*log(3/2) +log(1+1/3x)…(1+1/3x_s-1)]
左端を伸ばすパターンの式は、初期値に次々と3/2をかければ良いので
log( x*(3/2)^n ) = log(x) +s*log(3/2)
となります。切り上げてLl = [log(x) +s*log(3/2)]です。 よって、>>89より最大でもLn=Ll+1なので、
[log(x) +s*log(3/2) +log(1+1/3x)…(1+1/3x_s-1)] = [log(x) +s*log(3/2)] +1
切り上げを外して
log(1+1/3x)…(1+1/3x_s-1) < 2
logをとって
(1+1/3x)…(1+1/3x_s-1) < 4
となります。 もしコラッツ予想で4-2-1以外のループがあったら
(1+1/3x)…(1+1/3x_s-1)
の中のループ1周期の積をXとおいて
X*X*X*…
となりますが、X>1なので、いずれ
X*X*X*… > 4
となって
(1+1/3x)…(1+1/3x_s-1) < 4
と矛盾します。
よって
コラッツ予想で4-2-1以外のループは存在しない
ことが証明できました。 >>89の画像の上から2番目の図で、
コラッツパターンは11、左端を伸ばすパターンは01
となることはないか? 一通り検証したけど、そこ以外は間違いはなさそう
本質的に難しいのはここなのかも
直接修正できなくても、Ln-Llが上から抑えられさえすればおk >>93
>>95
ありがとうございます。
指摘の部分ですが、すぐにできそうにないです。
>>89の画像の上から2番目の図で、
コラッツパターンが0011、左端を伸ばすパターンは**01の時は、
同じように次々ステップでずれはなくなります。
コラッツパターンが0111、1011、1111の時はどうしよう…… 修正できました。流れは以下です。
初めてコラッツパターンと左端を伸ばすパターンがずれる所を考える
ずれるステップをsとおく
↓
s-1,s-2,s-3のずれはない
↓
特定のパターン(2つ)しかあらわれない
↓
その特定のパターンはsでずれて、s+1,s+2,s+3ではずれない
↓
次にずれる時s2も、s2-1,s2-2,s2-3のずれはない 特定のパターン1つ目です。
コラッツパターン 左端を伸ばすパターン
s-3 **1 ***1
s-2 *11 **11
s-1 0101 **101
s 0000[1] *1111
s+1 **011 101101
s+2 **1001 ***0001
s+3 *11011 *****11
特定のパターン2つ目です。s+2でまたずれるのでs'と置きなおしています。
コラッツパターン 左端を伸ばすパターン
s-3 **1 ***1
s-2 *11 **11
s-1 0101 *1001
s 0000[1] 11011
s+1 **011 ***101
s+2 -> s' **100[1] **1111
s+3 -> s'+1 *11011 *101101
s+4 -> s'+2 **00101 *******1
s+5 -> s'+3 ***1111 ******11
Ln=Ll or Ln=Ll+1が言えます。 わかったよ
証明できるかも
学校の先生に聞いてみる 無限大に発散するほう、できました。
コラッツ値xsが無限大に発散するとします。
xs = x0 *3^s/2^l *(1+1/3x0)…(1+1/3x_s-1)
xs < x0 *(3/2)^s s<lなので
かっこの部分を考えます。
(1+1/3x0)…(1+1/3x_s-1)… > (1+1/3x0)…(1+1/(3x0*(3/2)^(s-1)))…
> 1 +1/3x0 +1/3x0(3/2) +…+1/3x0(3/2)^(s-1) +… 等比数列の和
1+1/x0 < (1+1/3x0)…(1+1/3x_s-1)…
左辺第二項を大きくして、イコールになるところをα0とおく
1+α0/x0 = (1+1/3x0)…(1+1/3x_s-1)… @
同様にx1からスタートして
1+α1/x1 = (1+1/3x1)…(1+1/3x_s-1)… A Aを@に代入
(1+1/3x0)(1+α1/x1) = 1+α0/x0
きれいにして
(3α0-1)x1 = α1(3x0+1)
x1=(3x0+1)/2^qを代入して
(3α0-1)(3x0+1) = 2^q * α1(3x0+1)
x0の部分が消えて
α1 = α0 * 3/2^q * (1-1/3α0)
xsが発散する
→ q=1が多い、αsが大きくなるとかっこの効果も弱まる
→ αsも発散する 一方、無限大に発散するコラッツ列でx0を最小値にとれば、
x0からx∞まで等比数列で下から押えられる
と仮定する。 xs > x0*a^s B
(1+1/3x0)…(1+1/3x_s-1)… < (1+1/3x0)…(1+1/(3x0*a^(s-1)))…
≒ 1 +1/3x0 +1/3x0a +…+1/3x0a^(s-1) +…
不等号が成り立つようにaを少し小さくする
(1+1/3x0)…(1+1/3x_s-1)… = 1+α0/x0 < 1+1/x0 *a/3(a-1)
コラッツ列をグラフにした時に、下に凸な点を考える。
x0より後でx0の次に小さいxm1で
1+αm1/xm1 < 1+1/xm1 *a/3(a-1)
xm1より後でxm1の次に小さいxm2で
1+αm2/xm2 < 1+1/xm2 *a/3(a-1)
このプロセスはいくらでも続けられるので、
αmは発散するが、a/3(a-1)は一定なので矛盾する。 あとはBを証明すれば良い。
傾きaは、x0 *a^s < xsを満たすので、
log(a) < log(xs/x0)/s = log(x0 *3^s/2^l *(1+1/3x0)…(1+1/3x_s-1) /x0)/s
= log3 -l/s +logA/s (1+1/3x0)…(1+1/3x_s-1) = Aとおく
コラッツパターンより l-s < log(xs)なので、
l/s < log(xs)/s +1 = log(x0)/s +log3 -l/s +logA/s +1
l/s < log(x0)/2s +log(3)/2 +logA/2s +1/2
l/sはsが大きくなると小さくなるので、傾きaはsが大きくなると大きくなる。
(直線x0-xm1の傾きより、x0-xm2、x0-xm3…の傾きのほうが大きい。
aを直線x0-xm1の傾きにとれば、コラッツ値はそれより上にある。)
以上で
コラッツ予想で無限大に発散する数はない
ことが証明できました。 >>106の
l-s < log(xs)
は自明じゃなかったです。
修正します。 修正できました。証明したい補題は以下です。
無限大に発散するコラッツ列でx0を最小値にとれば、
x0からx∞まで等比数列で下から押えられる
xs > x0*a^s B
コラッツパターンにおいて、左端の傾きをd1、
右端の傾きをd2(=log1.5)とおきます。
sステップ後の左端までの距離l-sは
l-s = s*d1
で、左端から右端までの距離log(xs)は
log(xs) = log(x0) +s*d2 -s*d1
です。
s*d1≦log(x0)の区間では
s*d1≦log(x0) +sd1 -sd1
< log(x0) +sd2 -sd1 ∵ d1 < d2
l-s < log(xs)
が成り立ちます。 s0 < s < sgまでxs > x0*a^sが成り立つ事がわかりました。
あとはこれをs∞まで広げれば良いわけです。
s0からsgの間に傾きaを上回る二点xf,xf+1が存在する
事が言えます。もしなかったらコラッツ値のグラフが傾きa直線とぶつかって
矛盾するからです。
xf,xf+1でも同様に
xs > xf * b^t s < sh が言えます。変形して
> x0 * a^f * b^t
> x0 * a^(f+t) ∵ a<b
成り立つ区間がs < sgからs < sg < shにのびました。
このプロセスを繰り返せばs∞までxs > x0*a^sが言えます。
Bが証明できました。 >>109の
s0からsgの間に傾きaを上回る二点xf,xf+1が存在する
をちゃんと説明すると、
http://cdn-ak.f.st-hatena.com/images/fotolife/r/righ1113/20131006/20131006025445.jpg
図のように
s0からsgの間に、コラッツ値x0,x1,x2,x3をとる
x1,x2,x3とx0との傾きは、sが大きくなるに従って大きくなるので、
x0-x1傾き < x0-x2傾き < x0-x3傾き
⇒ x0-x1傾き < x2-x3傾き
よって
s0 < s < sgまでxs > x0*a^s
s < sh xs > xf * b^t
において
a < b
が言えます。 >>115
コラッツ操作で9232を通過する数がどうして多いか、ということですか。
自分は偶数を省いてやってたので気づきませんでした。
調べてみます。 xを最大値に持つ数の個数をコンピュータで調べました。
500000くらいまで調べました。以下の事が分かりました。
・ほとんど0個
・1/5ぐらいで5個とか
・1/3000ぐらいで50個とか
・225988を最大値に持つ数は386個
・250504を最大値に持つ数は1759個
・560356を最大値に持つ数は500個
・575728を最大値に持つ数は550個
・695464を最大値に持つ数は612個
9232の1579個を超える数も見つかりました。
ごくまれに大きい個数が出てくるみたいです。
なぜこんなに偏っているのかは謎です…… ソースコードです。Haskellです。
Prelude> :l tree
*CTree> map colmaxcnt [1..100]
のように使います。
-- tree.hs start
module CTree where
data CTree = Leaf Int | Node CTree Int CTree deriving (Eq,Show)
collatz :: Int -> Int
collatz 1 = 1
collatz x | odd x = x * 3 + 1
| otherwise = x `div` 2
-- 木を引数まで成長させる
growm :: Int -> CTree -> CTree
growm _ (Leaf 0) = Leaf 0
growm y (Leaf x) | x > y = Leaf 0
| even(x)&&((mod (x-1) 3)==0)
= (Node (Leaf $ div (x-1) 3) x (Leaf $ x*2))
| otherwise = (Node (Leaf 0) x (Leaf $ x*2))
growm y (Node t1 x t2) = (Node (growm y t1) x (growm y t2)) flatten :: CTree -> [Int]
flatten (Leaf x) = [x]
flatten (Node t1 x t2) = flatten(t1) ++ [x] ++ flatten(t2)
-- 空でないリストから収束した値を返す
conver :: Eq a => [a] -> a
conver [x] = x
conver (x1:x2:xs) = if x1==x2 then x1 else conver (x2:xs)
-- 最終結果
colmaxcnt :: Int -> Int
colmaxcnt 4 = 2
colmaxcnt x = if (any (x<) col) then 0 else chk
where col = takeWhile (1/=) (iterate collatz x)
chk = length $ filter (\x->x/=0) $ flatten $ conver $ iterate (growm x) (Leaf x) 9232 が目立ってみえるのは、単に小さい初期値でしか調べてないから 9232未満の6分の1程度が9232に恋をして散ってしまう、というのは特筆すべきことだと思うけど。 無限大の証明ですが、間違っていました(>_<)
αは有限値をとるみたいです。
>>103-110は無しでお願いします。
新しい証明を考え中です。 あ、でも>>87-99の
4-2-1以外のループは存在しない証明は自信あります。 【検証】コラッツの予想(1-1000)
http://r-2ch.com/t/math/1240289175/
(>>12と同じ)にあった割数列というのを調べている。
これで全ての3の倍数の奇数を表わせないかなと。
気になるレスを抜き出してみる。 106
4 年前
ざっと計算機を回してみた感じでは、
任意の3の倍数でない奇数xに対して3の倍数yが存在して、
x∈collatz_set(y)
が成り立ちそうに見える。
80 ID: 2009/05/15 20:59 108
4 年前
もし>>106が成り立てば、コラッツの予想は3の倍数だけ調べればいいってことになって、
コラッツ素数の概念にもそれなりに意味が出てくる。
個人的には、そうであって欲しいところだ。
80 ID: 2009/05/15 21:25 110
4 年前
3で割り切れない数を9で割った余りは、1,2,4,5,7,8のどれかだけど、これは
1*2^6≡1
2*2^5≡1
4*2^4≡1
5*2^1≡1
7*2^2≡1
8*2^3≡1 (mod 9)
のように、どれも2を適当な回数掛けることで、9で割ると1余る偶数にできる。
ここから1を引いて3で割れば3の倍数である奇数になる。
>>106の予想は正しい。
132人目の素数さん ID: 2009/05/16 00:38 285
4 年前
>>283
ありがとう!ここから何か出てこないかな・・
一つ、完全割数列→完全割数列に関しての操作を見つけた。
長さnの完全割数列→長さn+1の完全割数列
まず、長さnの完全割数列を、初項に0をつけたn+1型で表す。
長さnの完全割数列でできる最終値を9で割ったあまりが・・
3 ・・ [4,+2]or[1,-2]をつける
6 ・・ [2,+2]or[3,-2]をつける
0 ・・ [6,+2]or[5,-2]をつける
分かりづらいと思うので例を。
21≡3(mod 9) 21=[0,6]
このとき、[4,6+2]と[1,6-2]が存在する。
ちなみに、[0,1,…,]みたいに、2項目(本来の初項)が1か2のときは2で引けない。
このときは本来の初項に6を足した[0,7,…,]から考える。本来の初項に6の倍数を加減してもOKなので。
170 ID: 2009/07/22 22:04 289
4 年前
全ての完全割数列を列挙できるかはゴメン、証明してないや。
でも、ちょっとやればできる気がする。今度時間ができたとき確信を得てみるよ。
>どの数から始めても、コラッツ数列は一意に定まるからね。
確かにそうだね。これ書いた時は、一意でないものがあればそいつは1421以外のループをもつのかと
なんとなく思っていたけど、割数列を基に1スタートで逆にたどっていくならば
どこかでループしてしまうような値にはたどり着かないもんね。
ループしてしまうならば1にたどり着かないのだから。
「完全割数列で全ての3の倍数の奇数を表せる」だけ分かれば良いか。
170 ID: 2009/07/22 23:40 この問題が長年解かれないのは解こうとするのがアマばかりなのも一因だと思うよ フェルマー・ワイルズの定理みたいに、これが解けたら重要な予想が証明できるってことがあるといいんだけど。何かあるんだったっけ? >>135
違うよ。もうアマしか残ってないだけだよ。
かつて簡単に解けるだろうとコラッツ予想に手を出して時間を浪費した、
数多の研究者の屍で山が築かれたから。 __ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/
. | \ ∠イ ,イイ| ,`-' |
| l^,人| ` `-' ゝ |
| ` -'\ ー' 人 私は死なないわよ。
| /(l __/ ヽ、 でも最近一寸太ったかしら。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 Windows ver.10 で
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ 元の痩せた姿にしてよね。
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/ まず、>>133の各変換に名前をつけ、式であらわす。
A:[4,2] B:[1,-2]
C:[2,2] D:[3,-2]
E:[6,2] F:[5,-2]
そしてG:[+6] H:[-6]
981[7,1...]⇒15[1,1...]⇒81[2,3,1...]のように、
まずHをおこなってC(A,E)をおこなう変換は頭にHをつけて
HA,HC,HEであらわす。
変換前のコラッツ値をxとおくと変換後は、
HA:[4,2] x/3-2 B:[1,-2] x/3/2-1/2
HC:[2,2] x/3/4-3/4 D:[3,-2] 2x/3-1
HE:[6,2] 4x/3-7 F:[5,-2] 8x/3-3
G:[+6] 64x+21
となる。
◆注意点1
HC:117[5,1...]⇒ナシ[-1,1...]⇒9[2,1...]のように、
H後にマイナスになる場合がある。
◆注意点2
HC:981[7,1...]⇒15[1,1...]⇒C:⇒81[2,3,1...]のように、
A,C,EはHA,HC,HEとしてもあらわれる。 各変換でどのような数があらわれるか見ていく。
B:[1,-2] x/3/2-1/2は21+72xを【3+12x】にうつす。
(例 21/3/2-1/2=3)
HC:[2,2] x/3/4-3/4は117+288xを【9+24x】にうつす。
D:[3,-2] 2x/3-1は69+72xを【45+48x】にうつす。
HA:[4,2] x/3-2は213+288xを【69+96x】にうつす。
F:[5,-2] 8x/3-3は45+72xを【117+192x】にうつす。
HE:[6,2] 4x/3-7は309+288xを【405+384x】にうつす。
G:[+6] 64x+21は3+6xを【213+384x】にうつす。
【3+12x】【9+24x】【45+48x】【69+96x】【117+192x】【405+384x】【213+384x】
と割数列1項[6]であらわされる【21】を加えて、
全ての3の倍数の奇数は完全割数列で表わされる。 変換でマイナス値を経由するとか、あやしいところもあるので
>>133を書き換えます。
長さnの完全割数列→長さn+1の完全割数列
まず、長さnの完全割数列を、初項に0をつけたn+1型で表す。
長さnの完全割数列でできる最終値を9で割ったあまりが・・
3 ・・ A:[6,-4]orB:[1,-2]をつける
6 ・・ C:[4,-4]orD:[3,-2]をつける
0 ・・ E:[2,-4]orF:[5,-2]をつける
元の初項が負になる場合はあらかじめG:[+6]をおこなう。 >>141を証明します。
A〜FとGの各変換で[3の倍数の奇数]を[3の倍数の奇数]に写す
事を証明します。
A:[6,-4]
3 mod 9かつ奇数から変換前の数xは 18t+3
さらに割数列の初項が4以下は変換できないから
(18t+3)*3+1= 54t+10 tが奇数の場合を除外、
さらに3=[1,…]だからt=0も除いて、
x=36t+3、t=1,2,3,… これが変換前の数。
A[6,-4]の変換関数は
(((3x+1)*2^-4-1)/3*2^6-1)/3 = 4x/3-7。
変換後の数は4x/3-7 にx=36t+3 を代入して
48t-3= 45,93,… は3の倍数の奇数である。 A書き直します。
A:[6,-4]
3 mod 9かつ奇数から変換前の数xは 18t+3
さらに3=[1,4]だからt=0も除いて、
x=18t+3、t=1,2,3,… これが変換前の数。
A[6,-4]の変換関数は
(((3x+1)*2^-4-1)/3*2^6-1)/3 = 4x/3-7。
変換後の数は4x/3-7 にx=18t+3 を代入して
24t-3= 21,45,69,… は3の倍数の奇数である。 B:[1,-2]
3 mod 9かつ奇数から変換前の数xは 18t+3
さらに割数列の初項が4以下は変換できないから
(18t+3)*3+1= 54t+10⇒27t+5 tが偶数の場合を除外、
x=18(2t+1)+3、t=0,1,2,3,… これが変換前の数。
B[1,-2]の変換関数は
(((3x+1)*2^-2-1)/3*2^1-1)/3 = x/6-1/2。
変換後の数はx/6-1/2 にx=18(2t+1)+3 を代入して
6t+3= 3,9,15,… は3の倍数の奇数である。 C:[4,-4]
6 mod 9かつ奇数から変換前の数xは x=9(2t+1)+6、t≧0
C[4,-4]の変換関数は
(((3x+1)*2^-4-1)/3*2^4-1)/3 = x/3-2。
変換後の数はx/3-2 にx=9(2t+1)+6 を代入して
3(2t+1)+0= 3,9,15,… は3の倍数の奇数である。 D:[3,-2]
6 mod 9かつ奇数から変換前の数xは x=9(2t+1)+6、t≧0
D[3,-2]の変換関数は
(((3x+1)*2^-2-1)/3*2^3-1)/3 = 2x/3-1。
変換後の数は2x/3-1 にx=9(2t+1)+6 を代入して
3*2(2t+1)+3= 9,21,33,… は3の倍数の奇数である。 E:[2,-4]
0 mod 9かつ奇数から変換前の数xは 9(2t+1)
さらに割数列の初項が4以下は変換できないから
9(2t+1)*3+1= 54t+28⇒27t+14 tが奇数の場合を除外、
9(4t+1)*3+1= 108t+28⇒27t+7 tが偶数の場合を除外、
x=9(4(2t+1)+1)、t=0,1,2,3,… これが変換前の数。
E[2,-4]の変換関数は
(((3x+1)*2^-4-1)/3*2^2-1)/3 = x/12-3/4。
変換後の数はx/12-3/4 にx=9(4(2t+1)+1) を代入して
6t+3= 3,9,15,… は3の倍数の奇数である。 F:[5,-2]
0 mod 9かつ奇数から変換前の数xは x=9(2t+1)、t≧0
F:[5,-2]の変換関数は
(((3x+1)*2^-2-1)/3*2^5-1)/3 = 8x/3-3。
変換後の数は8x/3-3 にx=9(2t+1) を代入して
48t+21= 21,69,117,… は3の倍数の奇数である。 G:[+6]
3の倍数の奇数から変換前の数xは x=3(2t+1)、t≧0
G:[+6]の変換関数は
((3x+1)*2^6-1)/3 = 64x+21。
変換後の数は64x+21 にx=3(2t+1) を代入して
384t+213= 213,597,981,… は3の倍数の奇数である。
A~G全ての変換で[3の倍数の奇数]から[3の倍数の奇数]に写る事がわかったので
>>141が証明できました。 各変換でどのような数があらわれるか見ていく。
B:[1,-2] x/3/2-1/2はx=21+72tを【3+12t】にうつす。
E:[2,-4] x/3/4-3/4はx=117+288tを【9+24t】にうつす。
D:[3,-2] 2x/3-1はx=69+72tを【45+48t】にうつす。
C:[4,-4] x/3-2はx=213+288tを【69+96t】にうつす。
F:[5,-2] 8x/3-3はx=45+72tを【117+192t】にうつす。
A:[6,-4] 4x/3-7はx=309+288tを【405+384t】にうつす。
G:[+6] 64x+21はx=3+6tを【213+384t】にうつす。
【3+12t】【9+24t】【45+48t】【69+96t】【117+192t】【405+384t】【213+384t】
と割数列[6]であらわされる【21】を加えて、
全ての3の倍数の奇数は、>>141変換後の完全割数列で表わされる。 全ての3の倍数の奇数は、完全割数列で表わされる事はわかったが、
それが無限の長さの完全割数列かもしれない。
というわけで、命題
「全ての完全割数列は、[6]に初項への6の加減と>>141を有限回行うことで得られる」
⇒「無限の長さの完全割数列は存在しない]
の証明が必要……だと思う。 狸
>6 名前:KingMathematician ◆LoZDre77j4i1 :2014/07/15(火) 20:00:03.07
> [>>1]の親は強制的に[>>1]を集団から隔離するべし.
>
>660 名前:KingMathematician ◆LoZDre77j4i1 :2014/07/15(火) 20:02:50.12
> Re:>>658 (10+a)(10+b)=100+10(a+b)+ab.
> うーん、思ってる証明をしても、無限の長さの完全割数列を排除できない気がしてきた…… できました。 あんまり自信ないけど。
いくつか補題を証明します。
<補題1>
3の倍数の奇数から始まるコラッツ列で無限に大きくなるものはない
→すべてのコラッツ列で無限に大きくなるものはない
<証明>
>>132で、コラッツ列を逆にたどれば3の倍数の奇数にぶつかるから、
あるコラッツ列で無限に大きくなるものがある
→3の倍数の奇数から始まるコラッツ列で無限に大きくなるものがある
これの対偶を取って証明できる。 <補題2>
無限に大きくなるコラッツ列の割数列で、項が繰り返しになるものはない
<証明>
割数列の繰り返し部分をa1,...,anとおいて、その時のコラッツ値を一周期毎にx,y,z,wとおくと
3^n*x +3^(n-1) +3^(n-2)*2^a1 +... +2^a1~a_(n-1) = 2^a1~an*y
3^n*y +3^(n-1) +3^(n-2)*2^a1 +... +2^a1~a_(n-1) = 2^a1~an*z
3^n*z +3^(n-1) +3^(n-2)*2^a1 +... +2^a1~a_(n-1) = 2^a1~an*w
から
3^n*(y-x) = 2^a1~an*(z-y)
3^n*(z-y) = 2^a1~an*(w-z)
n≧1だから、z=yとなる。これはループするコラッツ列なので、無限に大きくなならない。 <補題3>
すべての3の倍数の奇数は、>>141変換後の割数列であらわされる
<証明>
>>150です。 <定理1>
長さnの割数列から長さn+1の割数列への変換 >>141
<証明>
>>143-149です。 無限に大きくなるコラッツ列が存在すると仮定する。
このときの割数列は無限に長いものとなる。
これは、<定理1>に無限に適用でき、無限に逆適用できる。
変換Gであらわされる割数列は同一視して、
図であらわすと、上にも下にも無限に長い二分木(二分木A)となる。
<補題2>より、割数列の項は繰り返しにならないから、二分木の要素はそれぞれ異なるものとなる。
また、有限の長さの割数列では、[6]を根とする下に無限に長い二分木(二分木B)となる。
この二つを比べると、二分木Aのほうが個数が多い。
対応する点を子から親へ変えても、さらに親が存在するから、とりつくせない部分が存在し、
二つの集合は一対一対応がつかない。
二分木Bは可算集合だから、二分木Aは非可算集合である。
<補題3>より、すべての3の倍数の奇数は、<定理1>変換後の割数列であらわされるが、
すべての3の倍数の奇数は可算集合だから、二分木Aと対応がつかないので矛盾する。
よって、無限に大きくなるコラッツ列は存在しない。 コラッツの問題で、4->2->1以外のループが存在しないことって、示されてないよね。調べても出てこなかった アマだと論文を発表する機会がほとんどないからアレだよな >>160
上にも下にも無限に長い二分木は
16
4 17
1 5 18 19
2 3 6 7 20 21 22 23
8 9101112131415 2425262728293031
32...
このように番号をふれば、可算集合と一対一対応がつく。
証明、ダメでしたー。 >>162
示されてないですねー
でも僕は>>87-99で
4-2-1以外のループは存在しない事をいったつもりです。 別のやりかたを考えました。
>>141変換再掲
A:[6,-4] 4x/3-7 B:[1,-2] x/3/2-1/2
C:[4,-4] x/3-2 D:[3,-2] 2x/3-1
E:[2,-4] x/3/4-3/4 F:[5,-2] 8x/3-3
G:[+6] 64x+21
無限に大きくなるコラッツ値のうち最小値をxとおく。
xから>>141変換をさかのぼることを考える。
割数列は無限に長いので、いくらでもさかのぼれる。
各変換のどれがあてはまるかを考える。
>>141変換の遷移をw→z→y→x,uとおく。 @まずさかのぼる変換のうちでGはない。
さかのぼった値がxより小さくなるから。
Ay→x、y→u変換で割数列の初項を-2、-4しているから、
yの割数列の初項は5以上。よってz→yはA or F。
BAより、y→xはE or F、Fはy < xとなるからない。
Cz→yがAの場合、w→zがB or Cとなって-2、-4できなくなるからない。
Dz→yがFの場合、w→zはA or F、AはCと同じ。
Fはその手前もFになって、さかのぼる事をくりかえすと
コラッツ値がxより小さくなるからない。
よってどの変換も当てはまらないので、無限に大きくなるコラッツ列はない。
以上です。 >>92 では、4-2-1以外のループについて考察しているが、
同様の考察を4-2-1のループで行えば、やはり
X*X*X*…
が登場して、しかもX>1なので、いずれ
X*X*X*… > 4
となって
(1+1/3x)…(1+1/3x_s-1) < 4
と矛盾することになる。
つまり、4-2-1というループさえも矛盾していることになる。
つまり、証明のどこかが間違ってる。 と思ったらx_iは奇数しか出てこないのか。
じゃあ4-2-1の場合はX=1になるのか。
スマソ。 >>97-99はおかしいと思う。次のような状況は起きないのか?
・sステップ目で最初のずれが生じて、Ln−Ll=1 となる。
・以下、2014ステップの間はずれが生じない。つまり、Ln−Ll=1 がずっと維持される。
・s2ステップ目で次のずれが生じて、Ln−Ll=2 となる。
・以下、2014ステップの間はずれが生じない。つまり、Ln−Ll=2 がずっと維持される。
・s3ステップ目で次のずれが生じて、Ln−Ll=3 となる。
:
:
:
この場合、ずれはどんどん大きくなる。 >>99の図をよく見たら、ずれが「解消」されてた。
「s+1,s+2,s+3ではずれない」=「新しいずれが生じない(Ln−Ll=1 が維持される)」
だと思ってた。
スマソ。 ちょっと待てよ、そもそも>>87の例は何を表してるんだ?
下位ビットが左なのであれば、
>01011 13
これは10進法では26であって、13にならない。左端の0は何なのか?
>000101 5
これは10進法では40であって、5にならない。左端の000は何なのか?
>0000001 1
これは10進法では64であって、1にならない。左端の000000は何なのか?
勝手に左端に0を補完してもいいなら、Lnは好きなように変更できてしまうぞ。 指摘ありがとうございます。
コラッツパターンは>>87の(1)(2)(3)(4)ルールに合うように、
左端に0を付け足しています。
コラッツ操作で<2で割った回数-1>を蓄積している、とも言えます。
17→52→26→13 <2で割った回数-1>:1
01011 13*2^1
13→40→20→10→5 <2で割った回数-1>:1+2
000101 5*2^3
5→16→8→4→2→1 <2で割った回数-1>:1+2+3
0000001 1*2^6
Lnは好きなように変更できてしまうことはないです。 >>173
0の個数のルールは分かった。だがLnが何なのか分からんw
>sステップ後値の初期値0位置からの距離をLlとおきましょう。
>例の5ステップ目はLl=6となります。
「後値」とは何なのか?
「初期値0位置」とはどこなのか?
「初期値0位置からの距離」とは何なのか?――たとえば、a000b という
文字列があったとして、「文字aから文字bまでの距離」とは、
距離の測定の仕方によって「距離は4」とも言えるし「距離は5」とも言える。
つまり、単に「距離」と書いただけでは意味が定まらない。
あと、「例の5ステップ目」とあるが、ステップのカウントの仕方が
書いてないから意味が定まらない。具体的に言えば、一番最初の
「 111 7 」を「0ステップ目」とカウントしているのか
「1ステップ目」とカウントしているのか全く不明。
ついでに、>>88も意味がわからんw
>00000111
>000010101
>000111111
>0010111101
>01110110001
>10100101011
なぜ一番最初に00000が補完してあるのか?なぜ2行目に0000が補完してあるのか?
補完する個数のルールは何なのか?LlもLnと全く同様に意味がわからん。 >>175
把握した。
このルールだと、コラッツ値が 1 に到達してから先のステップでは、
Ln(s)−Ll(s) はどんどん大きくなって+∞に発散してしまうわけだが、
ということは、コラッツ値が 1 になるまでの s だけを考えるということか?
あと、>>175をよく見ると、>>99のリンク先には無いパターンがあり、>>99は不完全ということになる。
まず、>>99のリンク先では、ずれが生じているステップ(赤い「1」が存在する行)が3箇所あり、それは
s …00001 …1111 (←「特定のパターン1つ目」のもの。「ずれパターン1」と名づける)
s …00001 …11011 (←「特定のパターン2つ目」のもの。「ずれパターン2」と名づける)
s ' …1001 …1111 (←「特定のパターン2つ目」のもの。「ずれパターン3」と名づける)
となっている(>>99の図で空白のマスになっている部分は、ここでは「…」で表現した)。
一方で、>>175では、s = 2 のときに最初のずれが生じ、そのときのパターンは、上の表記法に合わせると
s …10001 …1111
となっている。「10001」の部分は、上記の「ずれパターン1,2,3」のいずれでもない。
同じく、>>175では、s = 5 のときに2回目のずれが生じ、そのときのパターンは
s …00001 …01011
となっている。「01011」の部分は、上記の「ずれパターン1,2,3」のいずれでもない。
また、>>99では、「ずれパターン1」の場合は、一度ずれたら、その後の3ステップは ずれないことになっている。
「ずれパターン2」の場合は、直後の1ステップは ずれなくて、その後のステップで再び ずれることになっている。
しかし、>>175では、s = 2 が「ずれ」, s = 3, 4 が「ずれなし」, s = 5 が「ずれ」 ということなので、
ずれないステップ数が2ステップであり、>>99のどのパターンにも合致しない。 そうです。コラッツ値が1になるまでのsを考えます。
「10001」の部分は少し考えさせてください。
s=5のときはコラッツ値が1になっているので考えないです。 >>177
追い討ちをかける形になってしまうが、
多倍長整数を使ってプログラムを組んで実験したら、さらにマズイ例が見つかった。
初期値が 27 のとき、コラッツ値が 1 になるまでの範囲でずれが生じるステップは s = 14, 26, 31, 38, 41 の5回のみ。
s = 41 でコラッツ値が 1 になるので、s = 41 は無視することにする。問題は s = 31 のときであり、s = 31 のときは
コラッツ値 = 110000000001 (2進法, 左が下位バイト, 10進法では2051)
伸ばすやつ = 100100010100110000001000110011110111001111111100110111 (2進法, 左が下位バイト, 10進法では 27 * 3^31)
となっている。すなわち、
s …00001 …10111 (☆)
となっている。「10111」の部分は、「ずれパターン1,2,3」のいずれでもない。なお、このときのコラッツ値は10進法で2051であり、
まだ 1 に到達してないので、無視できない。[続く] [続き]
さらに、実は直前の s = 30 のときも問題が起きている。s = 30 のときは
コラッツ値 = 11101010101 (2進法, 左が下位バイト, 10進法では1367)
伸ばすやつ = 11000001110111010101101001100101111101111111110111001 (2進法, 左が下位バイト, 10進法では 27 * 3^30)
となっている。すなわち、s = 31 と置けば
s - 1 …0101 …1001 (★)
となっている。s = 31 では ずれが起きていたから、そのことと上記の(★)を>>99に照らし合わせると、
上記の(★)は「特定のパターン2つ目」「ずれパターン2の直前(青いマスに「10」が書いてある行)」に該当するはず。
そうなると、s = 31 のときは、>>99によれば
s …00001 …11011
でなければならないが、実際には >>178の(☆) だったから合ってない。すなわち、やっぱり>>99はおかしい。
ついでに言うと、(★)が「特定のパターン2つ目」「ずれパターン2の直前(青いマスに「10」が書いてある行)」であるのなら、
s = 31 及び s ' = 33 において ずれが生じることになるが、s = 31 はともかく、「33」の方では実際には ずれが生じなくて、
s = 38 にならないと ずれない。
なお、上記のデータはプログラム以外にも「 手作業 & wolfram alpha 」でも
チマチマ計算して確認したから間違いないはず。 一応、補足しておくと、s = 30, 31 のときの、「コラッツ値」に補正する0の個数は「12個」になっている。
「伸ばすやつ」は、左端からs個だけ切り捨てるから、結局、
s = 30
00000000000011101010101 ( コラッツ値(補正版) )
01111101111111110111001 ( 伸ばすやつ(補正版) )
s = 31
000000000000110000000001 ( コラッツ値(補正版) )
10111001111111100110111 ( 伸ばすやつ(補正版) )
となり、s = 31 で ずれていることが分かる。
また、s = 30 は、>>99における「特定のパターン2つ目」「ずれパターン2の直前(青いマスに「10」が書いてある行)」
であるはず(しかし、s >= 31 の領域で結果が合わない)。 あっ、既に>>130にコメントがあった (´・ω・`) スマソ >>130じゃなくて>>180だったw (´・ω・`) スマソ ひとまず考えた事は、指摘2パターンも特定のパターンに加える事です。
そうすれば>>97も有効のままで問題も解消されるはず。 >>184
ただ単に「特定パターンに加えました」っていうだけだと、何も問題は解消されない。
なぜなら、まだパターンの抜けがあるかもしれないから。
それらの「特定のパターン」によって全てのパターンがちゃんと網羅できているのかを、
数学的に厳密に証明しなくちゃいけない。
もちろん、新しく加えた「特定のパターン」が>>97 の構造を壊すようなら失敗だ。
まあ、その前に、「特定のパターン」を全て列挙し直すところから出発かな。 証明を戻して、>>89に改良を加えたものにします。
2つのパターンがずれるステップをsとおきます。
s-1でコラッツパターンが01、左端を伸ばすパターンが01の時は、
>>89の図の通り、s+1ステップでずれはなくなります。 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を補足すれば事足りると思われます。 ↑名前入れ忘れたので132人目の素数になってしまいました 91と17が同一のループ状にあるのは、きっとこのループの中に
v∈G'(x)とv''∈G'(x)が同居しているからだと思われます(G'は(3x-1)問題における(3x+1)問題でのG集合に相当する集合)
なので精査してみます。 なんか進んでるー
こっちはarXivに投稿できねえええ
endorserなんてシステムがあるんですね。 g(h(a,q),c)またはi(a,q)の qという変数は 0または1の値をとるとしているが、
これを -1 か 1 に組み替えれば どうも(3x+1)問題と (3x-1)問題の
全体で可換群を成すような予感が・・・・ どうも(3x-1)問題における正体は G’の逆関数 2^n×i(a,q)+1 , 特に
i(a,q)=1がその鍵を握っているようですね。(3x+1)問題では補足に書いた
2^n×i(a,q)-1がこれに当たります。 【誤】(3x-1)問題における正体は→【正】(3x-1)問題におけるループの正体は >>270
ほんとにすばらしいアドバイスを頂いて有難うございます。
(3x+1)問題と (3x-1)問題の 比較をやってみるとほんとに何から何まで
正反対の性質をもっていることに驚愕します。おかげで眼前がパッと開けた感じです。
中央西線が姥捨でら善光寺平の上に出てきたような。北陸自動車が関東平野を見下ろす位置に
あるいは飛騨高山→富山ルートが富山平野の上に出てきたような感じです。
城崎と宇宙に近いかも!? 3x-1問題は、結局の所3x+1のマイナス領域ってだけだからな
3x+1問題、3x-1問題の両者が証明できれば、
3x+1問題が正負全ての整数で証明されることになる {(2^n-1)*3-1} - [{(2^(n+1)-1)*3-1}/2] = -1
{(2^n+1)*3+1} - [{(2^(n+1)+1)*3+1}/2] = 1
これらの問題が増大部分で形づくる渦のような図形(これをフィボナッチ
数列による渦といって、ヒマワリの種の並びや巻貝に現れているらしい)
この渦の内側の線と一つ外側の線の間の幅が3x-1と3x+1では2の差がある
つまり内外の間隔が両者では前者が小さい。曲率も小さい?つまり縮小版? 現象部分では÷(2^2)なので両者は等しい。
奇数間の ≫+(増大)が継続する部分を1単位として考えこの間の
奇数の集合をZ(n)とすると、全奇数で、
∃Z(n)∩∃Z(n')={}で、ループすればループ内にこのZ(n)が何個以内
でなくてはならないのかはハジける。 =IF(MOD(○,2)=1,○*3-1,○/2)
EXCEL、 ○ は直前のセルへの参照 これは調査ツールとして便利 297>>
∃Z(n)∩∃Z(n')={} (互いに素) だけではダメで
互いに 同一のG(x)のメンバー を含まない((3x-1)の場合 g(x,y)は
g: 初項x、漸化式a(n+1)=a(n)×4-1 の第 y項 )
、 が言えれば
ループが存在しないことが言える。が実際に(3x-1)の場合はこれが存在する。
多分計算で導ける。 2^n + 1≫2^(n-1)/・3 + 1≫2^(n-2)/・3^2 + 1
・・・ 2・3^n + 1 ループ1からループ2が導けて加群を成すことを証明してくれ。
健闘を祈る。 2^n + 1が減少に転じたその先をxとする、2^(n+1) + 1 はもう一回
≫+となる、でその先は 4X-1だから 同じG'のメンバーだ。
だんだん熱くなってきた 汗; 気温は低いのにったくご苦労さんな奴がいるよなあ!(自分) ↑今のとこの調査では これは減少時2^2で割り切れて奇数となった場合
例えば2^4で割り切れた場合はランデブーもっと先伸ばしになる。 例えば17≫♯91の例で言えば途中に出てくる41という数が
ループの外側から91に向かう途中に出てくる一例である163という数が
41×4-1=163だから やはり 41×4-1=163で、41と163は同一G'のメンバー同志だ。
この理由も同じだろう。♪(^^)v 同一のG(X)が存在しないことを明示的に表するために、
J(g(h(a,q)),c)の代わりに、J(x):={G(a,q)|…}を使おう。 【誤】2^n + 1≫2^(n-1)/・3 + 1≫2^(n-2)/・3^2 + 1
・・・ 2・3^n + 1
↓
【正】 2^n + 1≫2^(n-1)・3 + 1≫2^(n-2)・3^2 + 1
・・・ 2・3^n + 1 (3x+1)でも扱いが一番難しかった“≫+と≫-の境目に位置する”という
カテゴリーの奇数を表す式が(3x-1)ではg(h(a,q),c)の第二項以降を表す
式と一致してる。 命題1の同一のGのメンバー同志は同一のJの中で同居できないというのは
(3x+1)では正解である可能性が出てきた。 k[i(a,q)]-1=G(h(a,q)) ( -1は反対写像を表す)だからです。
Cola(g(h(a,0),1))が実行された後にはじめてほかのGメンバーとJ(i(a,q))
で同居します。(3x+1)で“≫+と≫-の境目に位置する”という
カテゴリーの奇数はを g(h(2a,0),1)で、これはG数列 g(h(a,q),c)(C>1)
の範疇の数ではないからです (3x-1)ではこの“≫+と≫-の境目に位置する”という 数が(h(a,q),c)の第二項以降を表す
式と一致してる。
なので 5≫7≫5のようなことが起こり得る(ループの外からタイミングをずらして5に合流してくる7×4-1)という数がある
というわけです。(3x+1)には例えば 3≫5 13≫5 の時 13≫3 は存在し得ないのです。
これがループ問題における(3x-1)と(3x-1)の違いです。 渦巻きを伴ったツリーというのはグラフに書くとどうなるのかな?
2.5のフラクタル次元かな? 合流する位置が一つ下方へずれてるせいか?あるいはまたループ自体が加群を成しているために
合流してもその先に1以外のループが存在しないからなのか?おそらくその両方が原因だろう。 (2×3^n±1)×4●1 (●は±の上下反転)
(3x+1)問題だけ考えていたときはループをもっとずうとお気楽に考えていた。
何度でも言うけどホントに非常に興味深い命題を与えてくれて感謝します。
奇数間増大シークェンスがピークアウトした数がnが一つ下のシークエンスに
合流する位置がその後最初に減少する時に2で何回割れるかによるため(3x+1)
では比較的近くに現れるのに、(3X+1)はnが大きくなるとだんだん≫回数が
増えていくこれは増加率の問題だろう。 ところでフェルマーの定理を解決したワイルズは燃え尽きちゃったんだろうか?
大学は栄養士とエクササイズのインストラクターをつけて体調管理して
もう一働きしてもらえばいいのに。彼ならリーマンゼータの零点問題を
解決できると思うが。 へっ!コラッツの問題は結局は同一のGのメンバーがどこにあるのかと言う命題だったんだ 317>>
独白につぐ独白、つぶやきにつぐつぶやきで自分の考えを纏めていく
癖をお許し下さい。 3x-1問題では 2^n・y+1 が奇数間増大の開始点(yは3で割り切れない奇数)で
、これが n-1 回奇数間増大を繰り返し、2・3^(2-1)+1でピークアウトする。
で、yが4a+1 ならばピークアウト後3倍して1を引くと2回2で割り切れる。
2割り切れた数をzとすれば、
2^(2n)・y+1におけるzは 2^(2n+1)・y+1がピークアウトした数の
G数列(漸化式 b(n+1)=b(n)・4-1 で表される数列)の一つ項番が少ない
数である。つまりこの二つの奇数間増大シークェンスはピークアウト後必ず合流する
。(3x+1)問題においては開始点が 2^n・y-1、 漸化式 b(n+1)=b(n)・4+1であって
この辺の様相が全く異なる。 拡大していくエントロピー(情報の不確実性と同義)を必死こいて低く押しとどめようとする姿は
麻雀の摸打と同じだな。 ご指摘のとおり、3x-1問題との違いについて考えてみました。
3x-1では、奇数間増大がピークアウトした直後の奇数がまた別の奇数間増大の始まりとなっている
これが 5→7→5 でも 17が55でピークアウトした直後の41が 91でピークアウトする
奇数間増大の開始にあたっていて、奇数間増大、ピークアウト、一回減少、別の奇数間増大
を繰り返しこの5→7→5または 17→91→17へ入ってくるのです。これは単純計算で求まります。 3x-1では奇数間増大は{(4a+1)×3-1}÷2=6a+1 です
4(4a)+1 は更に増大します。これは 8b+1→12b+1でピークアウトする
のですが、12b+1=4(3b)+1でまた増大の始まりとなります。 41→61→91(ピーク)→17(55までの増大開始)→55(ピーク)→41(増大開始)
となっています。5(増大開始)→7(ピーク)→5(増大開始) この問題は心底、戦慄を覚える、ほんとうに恐ろしい問題です。
しかし拙論も途轍もなく恐ろしいものを含んでいますよ。ぜひご一読を。 結果は
1、予想どおり1に収束する
2、無限大に発散する
3、ある数でループする、あるいは、ある複数の数たちでループする
ほかにはどんな場合が…? 3x+1も3x-1も本質的に同じだというのはご指摘の通りだと思います。
その証拠に3x+1も1→1でループするのは同じです。
ただ、奇数間増大のピークを奇数間増大のピーク以外を解決済みに
しておいてから、奇数間増大のピークを小さい方から調べていけば自分より
小さいピークは解決済みとできるのが3x+1問題なのであって、すべて1→1
のループに至るというのが結論です。3x-1問題では1から逆に辿っていくと、
5も7も17も到達できないことが解り、アレッ?と思うでしょう。(もっとも全数をチェックできるわけは
ないが) もっとも全数をチェックできるわけは ないが→コラッツ予想とその類題は
1から逆に辿ることによって増加分は或る範囲に限定されるので積み重ねに
よって無限に至るまでチェックできます。 323>>
拙論に出てくるg(h(a,q),c)は具体的に書くと、初項が4a+3または8a+1
、漸化式がX(n+1)=X(n)×4+1 の奇数列で、さらに具体的に書くと
4a+3,16a+13,64a+53,256a+213.... および8a+1,32a+5,128a+21,512a+85...
となるので、貴論でいうbit pattern of left edge は拙論の 2^n・aの部分が
それですね。 3x+1問題では 2a+1→.....2c+1 が存在すれば 2^n・b+2a+1 →.....2・3^m・b+2c+1
が必ず存在します(nは 2a+1→.....2b+1 の間で2で割り切れた回数の通算、mは3倍して1を足した回数)
(逆も真)。しかしながら 2^n・b+2a+1=2・3^m・b+2c+1としても2^2n・b+2a+1≠2・3^2m・b+2c+1だからループできないので
b=0しかループできない。しかも2a+1≠2c+1でもあるからこれもループできない。
それでは一体b=0で表せる範囲とは一体何なんだ。ここを追及していくと拙論のような
ものになるのです。畏れ多くもフェルマー大先生の無限降下法の逆で無限上昇方とでもいうべき
考え方を含んでいます。 b=0でしか表せない範囲というのはコラッツ予想の題意のとおりの演算
によってどんどん狭まっていきます。コラッツ予想の題意の反対の演算
によってどんどん拡大していきます。この範囲というのが単純な大小関係では
表せないだけで抽象的な大小関係を想定すればいくら拡大しても無限上昇法
でループが存在しないことが言える。2^n・b+2a+1>2a+1が単純な大小関係では
なくこの抽象的な大小関係も表すようにこの抽象的大小関係というものを規定して
やることが必要です。 V2,V3,……Vn-1,Vnを奇数とした時
V1→V2→V3……→Vn-1 とループせずに来れば、Vn-1の次に来るVnが
V2,V3,……Vn-1の何れでもあり得ないことは簡単に言えます。
(これらはいずれもVn-1の次ではないから)
ただ問題はVn=V1 ではないかという疑いだけです。拙論では
V1=∞という状況を作り出した上でそれでもVnは今まで出てきた奇数では
あり得ないということを論旨の中心に据えました 空舟さんへのお返事です。
> DD++さんへのお返事です。
>
以下省略
http://koubeichizoku.doujin.so/collatz/collatz3.htm
大幅改定いたしました。
i(a,q)がどのL(a',q')に含まれるかという事を考えるのはやめました。かわりに
相異なるCola(a,q)を実行することは、相異なるG(h(a,q))をi(a,q)を含むL(a',q')に、下から
積み重ねていく、まるで南部俵積唄みたいな作業なんだと考えることとしました。
これでも任意のL(a,q)は相異なるG(h(a',q'))の直和集合であり、全正奇数の真部分集合である。
任意のL(a,q)は重複元を持たない。
また任意のL(a,q)とL(a',q')は互いに素である。以上が成立することに変りはありません。
http://koubeichizoku.doujin.so/collatz/collatz3.htm g(h(a,0),1)=4a+3, g(h(a,0),2)=16a+13, g(h(a,0),3)=64a+53 g(h(a,0),4)=256a+213 ....
g(h(a,1),1)=8a+1, g(h(a,1),2)=32a+5, g(h(a,1),3)=128a+21 g(h(a,1),4)=512a+85 ....
で、 g(x,n+1)=4・g(x,n)+1
i(a,1)=6a+1 i(a,0)=6a+5
j(g(h(a,q),c)→i(a,q) は全射であるが、単射ではない、
G(h(a,q)):={g(h(a,q),c|c=1,2,3,...∞}
j(v∈G(h(a,q)))=i(a,q) j-1[i(a,q)]=G(h(a,q)) i(a,q)→G(h(a,q))全単射
添字集合G(h(a,q))を1個の数のように扱ってしまえばこれら剰余類の間のせめぎ合いも
かなり抽象化されて量子化のカオスのような状態から抜け出せるような気がしてなりません。
個々の特性は一切無視して、とにかく任意のG(h(a,q))は全正奇数の真部分集合であり、
i(a,q)を媒介として直和された相異なるG(h(a,q))の直和集合もまた全正奇数の真部分集合で、
互いに素であると言うところだを強烈にガン見するわけです。 今日こたつを出しました。
って去年も書いた気がするな。 反証を見つけた方が早そうだ。
反証が見つかると思うんだけどなぁ。無限に大きくなるようなものは見つからないだろうけど
ループする奴はどこかにあるような? 例えば1,2,4のループ以外でループがあるとして、
そのループはこれこれの条件を満たさなければいけない
みたいな結果はどれくらいあるの? 1,2,4のループ以外では、ループする場合の最小の奇数は、
4m+3型の奇数であることは言える。 >>346
http://deweger.xs4all.nl/papers/%5B35%5DSidW-3n+1-ActaArith%5B2005%5D.pdf
結果だけ言うと
整数で、3倍して1足したすぐ後に2回以上2で割れる操作が68回以下のものはない
って論文で、
2回以上2で割れると元の数よりは小さくなので、割って減少する回数は少なくとも69回以上あるってことだ
しかも、この論文古いからもっと回数は増えてるかもな いまさらこたつとかおそいよもっと早くしまえ。
それからコラッツのほうは進展あったのか? http://taibuturi.fuma-kotaro.com/
の一番した
test12.pdf
がコラッツ予想の
の半分の証明です
上のほうは
リーマン予想の証明だったりする
自分では考えまくった
と思います
間違っている可能性もあります >>350
僕のほうは>>323でコラッツ予想の証明を完成しています。
他に、別の方が、>>352で、コラッツ予想がLoopしない証明を載せています。 >>353
英語8ページか…意外と短い
余力があれば日本語版もオナシャス 例えば、>>323の証明をCoqで検証するとかいうのはやってみる気ない?
素人の俺には証明に穴がないか検証するのは難しいが、
Coqで証明が検証されたとなれば信頼度がだいぶ変わってくる。
Coq
https://ja.wikipedia.org/wiki/Coq すごいことになってる。
しばらく考えさせて下さい。 いえ、Coqで検証なんて、
思い付きもしなかったもんで。 Coqはめちゃくちゃ難しいぞ
まあ数板にスレがあるから行ってみれ
寂れてるけど スレ違いですが
奇数の完全数がないことまで
同様の手法で示せました
http://taibuturi.fuma-kotaro.com/ 手始めにコラッツ数列を計算する関数。
Require Import Coq.Program.Wf.
Require Import Omega.
Program Fixpoint collatz03 (x y : nat) {measure y} : list nat :=
match y with
| 0 => 0::nil
| _ => match x with
| 0 => 0::nil
| 1 => 1::nil
| _ => if Nat.odd x then (3*x+1) :: collatz03 (3*x+1) (y-1)
else (x/2) :: collatz03 (x/2) (y-1)
end
end.
Next Obligation.
omega.
Qed.
Next Obligation.
omega.
Qed.
ここまでで3日かかりました。www クエリで
Eval compute in collatz03 9 20
→
Result for command Eval compute in collatz03 9 20 . :
= (28
:: 14
:: 7
:: 22
:: 11
:: 34
:: 17
:: 52
:: 26
:: 13
:: 40
::
20
::
10
::
5
::
16
::
8
::
4
::
2 :: 1 :: 1 :: nil)%list
: list nat 頑張れ〜
もしCoqで証明が成功したらマジですごい。
Coqスレの1である片山博文MZも仲間に引き入れられれば
色々教えてもらえるかもね。 >>360
ところどころ何が言いたいかよくわからんが、とりあえず明確な間違いが一つ。
mod p^2 で
1 + p = n(l + kp)
より
nl = 1(mod p), nk = 1(mod p)
というところ。
nl = 1(mod p) は言えるが nk = 1(mod p) とは限らない。
例えば nl = p+1 の場合とか。 流れぶったぎってすまんが
・ある自然数が100以下の素因数を持っていれば全て削る
・持ってなければ3n+1の操作を施す
みたいな問題から考えてくアプローチを思いついたんだけどこれって既出? ¥
>性犯罪者の増田哲也(50歳・東京都足立区千住寿町)が
>8月4日にJR牟岐線の列車内で、午後4時20分ごろから約50分にわたり、
>徳島県内の女性(21歳・専門学校生)の胸や太ももなどを触った疑いで、
>8月5日未明、県迷惑行為防止条例違反(痴漢行為)容疑で徳島県警阿南署に
>逮捕されました。
>
>性犯罪者 増田哲也の供述
>「夏休み期間に、講演活動を兼ねて旅行していた。好みの女性だったのでムラムラした」
> >>377
多分初めてだとおもうが、なにか成果が出そうなのか? >>376
ありがとう
気づかなかった
間違いですね ¥
>性犯罪者の増田哲也(50歳・東京都足立区千住寿町)が
>8月4日にJR牟岐線の列車内で、午後4時20分ごろから約50分にわたり、
>徳島県内の女性(21歳・専門学校生)の胸や太ももなどを触った疑いで、
>8月5日未明、県迷惑行為防止条例違反(痴漢行為)容疑で徳島県警阿南署に
>逮捕されました。
>
>性犯罪者 増田哲也の供述
>「夏休み期間に、講演活動を兼ねて旅行していた。好みの女性だったのでムラムラした」
> >>379
や、まだ全然。多分簡単な問題から始めたら解決の糸口見つかるかなーと思ったけど
コラッツ問題の闇の深さを垣間見ることになっただけだった…
もし興味ある人いたら考えてみてくれ ¥
>性犯罪者の増田哲也(50歳・東京都足立区千住寿町)が
>8月4日にJR牟岐線の列車内で、午後4時20分ごろから約50分にわたり、
>徳島県内の女性(21歳・専門学校生)の胸や太ももなどを触った疑いで、
>8月5日未明、県迷惑行為防止条例違反(痴漢行為)容疑で徳島県警阿南署に
>逮捕されました。
>
>性犯罪者 増田哲也の供述
>「夏休み期間に、講演活動を兼ねて旅行していた。好みの女性だったのでムラムラした」
> ¥
>性犯罪者の増田哲也(50歳・東京都足立区千住寿町)が
>8月4日にJR牟岐線の列車内で、午後4時20分ごろから約50分にわたり、
>徳島県内の女性(21歳・専門学校生)の胸や太ももなどを触った疑いで、
>8月5日未明、県迷惑行為防止条例違反(痴漢行為)容疑で徳島県警阿南署に
>逮捕されました。
>
>性犯罪者 増田哲也の供述
>「夏休み期間に、講演活動を兼ねて旅行していた。好みの女性だったのでムラムラした」
> ¥
>性犯罪者の増田哲也(50歳・東京都足立区千住寿町)が
>8月4日にJR牟岐線の列車内で、午後4時20分ごろから約50分にわたり、
>徳島県内の女性(21歳・専門学校生)の胸や太ももなどを触った疑いで、
>8月5日未明、県迷惑行為防止条例違反(痴漢行為)容疑で徳島県警阿南署に
>逮捕されました。
>
>性犯罪者 増田哲也の供述
>「夏休み期間に、講演活動を兼ねて旅行していた。好みの女性だったのでムラムラした」
> ¥
>性犯罪者の増田哲也(50歳・東京都足立区千住寿町)が
>8月4日にJR牟岐線の列車内で、午後4時20分ごろから約50分にわたり、
>徳島県内の女性(21歳・専門学校生)の胸や太ももなどを触った疑いで、
>8月5日未明、県迷惑行為防止条例違反(痴漢行為)容疑で徳島県警阿南署に
>逮捕されました。
>
>性犯罪者 増田哲也の供述
>「夏休み期間に、講演活動を兼ねて旅行していた。好みの女性だったのでムラムラした」
> ¥
>性犯罪者の増田哲也(50歳・東京都足立区千住寿町)が
>8月4日にJR牟岐線の列車内で、午後4時20分ごろから約50分にわたり、
>徳島県内の女性(21歳・専門学校生)の胸や太ももなどを触った疑いで、
>8月5日未明、県迷惑行為防止条例違反(痴漢行為)容疑で徳島県警阿南署に
>逮捕されました。
>
>性犯罪者 増田哲也の供述
>「夏休み期間に、講演活動を兼ねて旅行していた。好みの女性だったのでムラムラした」
> ¥
>性犯罪者の増田哲也(50歳・東京都足立区千住寿町)が
>8月4日にJR牟岐線の列車内で、午後4時20分ごろから約50分にわたり、
>徳島県内の女性(21歳・専門学校生)の胸や太ももなどを触った疑いで、
>8月5日未明、県迷惑行為防止条例違反(痴漢行為)容疑で徳島県警阿南署に
>逮捕されました。
>
>性犯罪者 増田哲也の供述
>「夏休み期間に、講演活動を兼ねて旅行していた。好みの女性だったのでムラムラした」
> ¥
>性犯罪者の増田哲也(50歳・東京都足立区千住寿町)が
>8月4日にJR牟岐線の列車内で、午後4時20分ごろから約50分にわたり、
>徳島県内の女性(21歳・専門学校生)の胸や太ももなどを触った疑いで、
>8月5日未明、県迷惑行為防止条例違反(痴漢行為)容疑で徳島県警阿南署に
>逮捕されました。
>
>性犯罪者 増田哲也の供述
>「夏休み期間に、講演活動を兼ねて旅行していた。好みの女性だったのでムラムラした」
> ¥
>性犯罪者の増田哲也(50歳・東京都足立区千住寿町)が
>8月4日にJR牟岐線の列車内で、午後4時20分ごろから約50分にわたり、
>徳島県内の女性(21歳・専門学校生)の胸や太ももなどを触った疑いで、
>8月5日未明、県迷惑行為防止条例違反(痴漢行為)容疑で徳島県警阿南署に
>逮捕されました。
>
>性犯罪者 増田哲也の供述
>「夏休み期間に、講演活動を兼ねて旅行していた。好みの女性だったのでムラムラした」
> 一応直しておきました
まだ途中ですので
まちがっているかもしれません ¥
>性犯罪者の増田哲也(50歳・東京都足立区千住寿町)が
>8月4日にJR牟岐線の列車内で、午後4時20分ごろから約50分にわたり、
>徳島県内の女性(21歳・専門学校生)の胸や太ももなどを触った疑いで、
>8月5日未明、県迷惑行為防止条例違反(痴漢行為)容疑で徳島県警阿南署に
>逮捕されました。
>
>性犯罪者 増田哲也の供述
>「夏休み期間に、講演活動を兼ねて旅行していた。好みの女性だったのでムラムラした」
> ¥
>性犯罪者の増田哲也(50歳・東京都足立区千住寿町)が
>8月4日にJR牟岐線の列車内で、午後4時20分ごろから約50分にわたり、
>徳島県内の女性(21歳・専門学校生)の胸や太ももなどを触った疑いで、
>8月5日未明、県迷惑行為防止条例違反(痴漢行為)容疑で徳島県警阿南署に
>逮捕されました。
>
>性犯罪者 増田哲也の供述
>「夏休み期間に、講演活動を兼ねて旅行していた。好みの女性だったのでムラムラした」
> ¥
>性犯罪者の増田哲也(50歳・東京都足立区千住寿町)が
>8月4日にJR牟岐線の列車内で、午後4時20分ごろから約50分にわたり、
>徳島県内の女性(21歳・専門学校生)の胸や太ももなどを触った疑いで、
>8月5日未明、県迷惑行為防止条例違反(痴漢行為)容疑で徳島県警阿南署に
>逮捕されました。
>
>性犯罪者 増田哲也の供述
>「夏休み期間に、講演活動を兼ねて旅行していた。好みの女性だったのでムラムラした」
> まだCoq練習フェーズです。
Theorem m11_isnot_prime01:
forall (P Q R :Prop), (P->Q) -> (Q->R) -> (~R->~Q).
(* proof. *)
intros.
cbv.
intro.
cbv in H1.
apply H0 in H2.
apply H1 in H2.
apply H2.
Qed.
Theorem m11_isnot_prime01':
forall (P Q R :Prop), (P->Q) -> (Q->R) -> (~R->~Q).
(* proof. *)
intro.
intro.
intro.
intro.
auto.
Qed.
Theorem m11_isnot_prime02:
forall (Q R :Prop), (Q->R) -> (~R->~Q).
(* proof. *)
auto.
Qed.
Theorem m11_isnot_prime03:
forall (P Q R :Prop), (P=Q) -> (P->R) -> (Q->R).
(* proof. *)
intros.
rewrite H in H0.
apply H0 in H1.
apply H1.
Qed. やったーカリーのパラドックスが解けたよー
Lemma l1:
forall (X Y Z:Prop), (X->X->Y) -> X=(X->Y) -> X.
Proof.
intros.
rewrite H0.
intro.
apply H in H1.
apply H1.
apply H1.
Qed.
Theorem curry's_paradox:
forall (X Y:Prop), X=(X->Y) -> Y.
Proof.
intros.
assert(X->X).
auto.
pattern X at 2 in H0.
rewrite H in H0.
apply (l1 X Y) in H0.
pose H0.
rewrite H in x.
apply x in H0.
apply H0.
apply X.
apply H.
Qed. Zいらないっすね。
Lemma l1:
forall (X Y:Prop), (X->X->Y) -> X=(X->Y) -> X.
Proof.
intros.
rewrite H0.
intro.
apply H in H1.
apply H1.
apply H1.
Qed.
Theorem curry's_paradox:
forall (X Y:Prop), X=(X->Y) -> Y.
Proof.
intros.
assert(X->X).
auto.
pattern X at 2 in H0.
rewrite H in H0.
apply (l1 X Y) in H0.
pose H0.
rewrite H in x.
apply x in H0.
apply H0.
apply H.
Qed. なかなか頑張ってますな。
正直すぐ投げ出すんじゃないかと侮っていたよ。 証明で詰まると苦しいけど、
Coqで証明できると楽しいです。 のんびりと、Coqでのコラッツ予想検証に取り掛かりたいと思います。
>>323の僕の証明の流れは、次のようになっています。
1.イントロダクション
2.コラッツパターンXsの定義
3.左端を伸ばすパターンYsの定義
4-1.コラッツパターンと左端を伸ばすパターンのずれを定義する
4-2.シミュレーションA−xsAを定義する
4-3.シミュレーションB−ysBを定義する
4-4.[log Xs] - [log Ys] <= [log(xsA * 2^pxs)] - [log(ysB * 2^pys)]
を証明する (この式の右辺が有限値なら、コラッツパターンと左端を伸ばすパターンのずれも有限値となる。)
5.ずれが有限という仮定で、コラッツ予想で4-2-1以外のLoopがない事を証明する
6.ずれが有限という仮定で、コラッツ予想で無限大に発散する数がない事を証明する
7. 4-4の右辺が有限値であることを、Haskellで証明する
「繰り上がりがあったりなかったりするから」とか、図から補題を証明していたりするので、
全てをCoqで検証・証明するのは難しいと考えています。
まずは4-4からやっていこうと思います。 4-4その1
前提として、コラッツパターンXsよりシミュレーションAが大きい、というのがあります。
理由は、コラッツパターンの下位からの繰り上がりがあったりなかったりするのに対して、
シミュレーションAは、常に下位からの繰り上がりがあるからです。
なので、pxs=log Xs - bit + aが成り立つのですが、前述の理由によりa>=0です。
(これは>>323には書いてないです。Coqで証明するために変えました。)
という訳でCoqでの証明です。
Require Import Omega.
Theorem Xs_ge_xsA:
forall (Xs a bit pxs xsA: nat), 0<xsA -> 0<=pxs
-> Nat.log2 Xs +1 <= Nat.log2 Xs +1 +a
-> pxs = Nat.log2 Xs +1 -bit +a
-> bit = Nat.log2 xsA +1
-> Nat.log2 Xs +1 <= Nat.log2 (xsA*(2^pxs)) +1.
Proof.
intros.
rewrite (Nat.log2_mul_pow2 xsA pxs).
all: cycle 1.
apply H.
apply H0.
rewrite H2.
rewrite H3.
omega.
Qed.
これで、コラッツパターンよりシミュレーションAが大きいという事実のもとで、
[log Xs] <= [log xsA*(2^pxs)]が示せました。 4-4その2
前提として、シミュレーションBより左端を伸ばすパターンが大きい、というのがあります。
理由は、左端を伸ばすパターンの下位からの繰り上がりがあったりなかったりするのに対して、
シミュレーションBは、常に下位からの繰り上がりがないからです。
なので、pys=log Ys - bit - aが成り立つのですが、前述の理由によりa>=0です。
(これは>>323には書いてないです。Coqで証明するために変えました。)
という訳でCoqでの証明です。こちらはZ_scopeで証明しています。
Require Import Omega.
Open Scope Z_scope.
Theorem ysB_ge_Ys:
forall (Ys a bit pys ysB:Z), 0<ysB -> 0<=pys
-> Z.log2 Ys +1 -a <= Z.log2 Ys +1
-> pys = Z.log2 Ys +1 -bit -a
-> bit = Z.log2 ysB +1
-> Z.log2 (ysB*(2^pys)) +1 <= Z.log2 Ys +1.
Proof.
intros.
rewrite (Z.log2_mul_pow2 ysB pys).
all: cycle 1.
apply H.
apply H0.
rewrite H2.
rewrite H3.
omega.
Qed.
Open Scope nat_scope.
これで、シミュレーションBより左端を伸ばすパターンが大きいという事実のもとで、
[log ysB*(2^pys)] <= [log Ys]が示せました。
Ys<=Xsは自明なので、
よって[log Xs] - [log Ys] <= [log(xsA * 2^pxs)] - [log(ysB * 2^pys)]となります。
4-4は以上になります。 次に7.をやろうと思います。>>232-241あたりです。
ビット数はbit=10です。
xsAの0ステップ目を1111111111、ysBの0ステップ目を0000000001として
(ずれが0で一番差が開いている数)ステップを重ねると、
xsAは115ステップ目が3ステップ目と一致して以後繰り返しになります。
xsBは93ステップ目が3ステップ目と一致して以後繰り返しになります。
その区間の最上位繰り上がりの可否を、大きい繰り返しになるまで調べます。
Haskellでやった時は、ずれの最大値は2でした。
Coqはこれからやります。 微妙にステップ数が違ってました。
xsAの0ステップ目を1111111111、ysBの0ステップ目を0000000001として
(ずれが0で一番差が開いている数)ステップを重ねると、
xsAは113ステップ目が2ステップ目と一致して以後繰り返しになります。
xsBは91ステップ目が2ステップ目と一致して以後繰り返しになります。
colPattAの第二要素でHaskellとCoqでdiffを取ったので大丈夫だと思います。 Coqですが、関数定義は省略します。Haskellのとそんなに変わらないです。
Theorem colPattA_2_eq_113:
last (iterate 2 colPattA ((1::1::1::1::1::1::1::1::1::1::nil),0))
= last (iterate 113 colPattA ((1::1::1::1::1::1::1::1::1::1::nil),0)).
Proof.
compute.
reflexivity.
Qed.
Theorem colPattB_2_eq_91:
last (iterate 2 colPattB ((0::0::0::0::0::0::0::0::0::1::nil),0))
= last (iterate 91 colPattB ((0::0::0::0::0::0::0::0::0::1::nil),0)).
Proof.
compute.
reflexivity.
Qed.
これで小さい繰り返しはクリアできました。 なんかうまくいきません。
ずれが際限なく増えていきます。 なんとかできました。
colPattAは繰り返しの項数が111、colPattBは繰り返しの項数が89です。
colPattA*89=9879項、colPattB*111=9879項にして大きい繰り返しにします。
倍の19758項も用意しておきます。
これを初期ずれx=1、x+colPattA-colPattB < 定数 かを9879項、19758項調べるのですが、
途中colPattBが勝ってxが負になる可能性があるので、初期ずれx=2とします。
Definition colPattA2nd_1 : list nat :=
cycle 89 nil
(tail (tail (tail (map snd (iterate 113 colPattA ((1::1::1::1::1::1::1::1::1::1::nil),0)))))).
Definition colPattA2nd_2 : list nat :=
cycle (89*2) nil
(tail (tail (tail (map snd (iterate 113 colPattA ((1::1::1::1::1::1::1::1::1::1::nil),0)))))).
Definition colPattB2nd_1 : list nat :=
cycle 111 nil
(tail (tail (tail (map snd (iterate 91 colPattB ((0::0::0::0::0::0::0::0::0::1::nil),0)))))).
Definition colPattB2nd_2 : list nat :=
cycle (111*2) nil
(tail (tail (tail (map snd (iterate 91 colPattB ((0::0::0::0::0::0::0::0::0::1::nil),0)))))). 逆に証明を突き詰めていったら反例がみつかったなんてこともあるかもね。
それならそれで面白いが。 >>232-241の通り、手計算ではうまくいくんです。
それをCoqに落とし込むのに手間取っています。 >>411は無しでお願いします。
>>237-238を見て、colPattA*5=555項、colPattB*6=534項にして大きい繰り返しにします。
この区間のずれの最大値が2、末項が1になったので、大きい繰り返しを何度繰り返しても、ずれは2以下です。
Definition colPattA2nd : list nat :=
cycle 5 nil
(tail (tail (tail (map snd (iterate 113 colPattA ((1::1::1::1::1::1::1::1::1::1::nil),0)))))).
Definition colPattB2nd_1 : list nat :=
cycle 1 nil
(tail (tail (tail (map snd (iterate 91 colPattB ((0::0::0::0::0::0::0::0::0::1::nil),0)))))).
Definition colPattB2nd_2 : list nat :=
cycle 6 nil
(tail (tail (tail (map snd (iterate 91 colPattB ((0::0::0::0::0::0::0::0::0::1::nil),0)))))).
Theorem p_misalignment_first:
misalignment_max_last 1 1 colPattA2nd colPattB2nd_1 = (2, 1).
Proof.
compute.
reflexivity.
Qed.
Theorem p_misalignment_second:
misalignment_max_last 1 1 colPattA2nd colPattB2nd_2 = (2, 1).
Proof.
compute.
reflexivity.
Qed.
7.もできました。 やっぱりうまくいってないみたいです。
>>237-238の手計算も間違っていました。
ビット数を増やすという切り札があるので、それをやってみます。
Coqはウソつかないんですねー 俺は>>1が>>1証明のほころびからコラッツ予想の反例を見つけるというストーリーを期待しているw ブールピタゴラス問題も真っ青の反例ループのサイズが200TB超えとかを希望w ビット数を増やしても、ずれが際限なく増えていく〜〜 ずれの計算では上手く行くわけがないって、ずっと前に指摘されてたじゃん。
何をいまさら。こんなやり方でコラッツの予想が解けるわけがない。 仮にずれの計算でうまくいかなかったとしても>>1は修正してくるだろう。
Coqがあれば間違った証明は通らないだろうしいくらでも頑張れる環境がある。
コラッツの予想が解けるのは時間の問題だな。 まだ思いつきのレベルなんであれですが……
5bitで考えて、さらに命題を一つ考えます。
(★)「下位からの繰り上がりは、2ステップ連続では起こらない」
これでcollatzPatternA2とBを計算すると、Loopが両方とも7項で4繰り上がりになって、
いくら繰り返してもずれは増大しません。
*CollatzPatt> collatzPatternA2 繰り上がりなし、あり、なし、あり、……
[([1,1,1,1,1],0,0),([1,1,1,0,1],1,1),([1,0,0,0,1],1,0),([1,0,0,1,1],0,1),([1,1,0,0,1],1,0),([0,0,1,1,1],0,1),([1,0,1,0,1],1,0),([1,1,1,1,1],0,1)]
*CollatzPatt> map snd3 collatzPatternA2
[0,#1,1,0,1,0,1,0]
*CollatzPatt> collatzPatternB
[([0,0,0,0,1],0),([0,0,0,1,1],0),([0,1,0,0,1],1),([1,1,0,1,1],0),([0,0,1,0,1],1),([0,1,1,1,1],0),([0,1,1,0,1],1),([0,0,0,0,1],1)]
*CollatzPatt> map snd collatzPatternB
[0,#0,1,0,1,0,1,1]
まだHaskellなのはご容赦を。 CoqよりHaskellのほうが書きやすいのか。
どっちも難しそうだが。 単純に僕のCoq歴が3週間、Haskell歴が5年くらいだからだと思います。 Haskell 5年もやってんのか凄いな。
5年間で何行くらいHaskellでコード書いたの? Haskellはコード量が短くすむこともあって、
5年間で2000〜3000行ぐらいじゃないでしょうか。 100行のプログラム20〜30本書いてるってことか
なかなか大したもんだ。 大幅に証明を変えます。
左端を伸ばすパターンYs=x0(3/2)^sに対して、Zs=2^p(3/2)^sを考えます。
ここで2^pは、x0と右端を揃えるものです。
例えば、2進数でx0=11001なら、2^p=00001となります。
2^p < x0なので、Zs < Ysが言えます。
Ys <= コラッツパターンXsは自明です。
x0=11001なら、y0B=11111で、pysはx0と右端を揃えるものです。
X0とy0Bは1ずれた状態からスタートします。
ysBの繰り返しは8bitでおこなって[1,1,#0,1,0,1,1,0,1,0,1,0,1,1]です。12ステップ中7個が1です。
Xsの先頭2ステップは最大で1,1ですから、2ステップ目でX2とy2Bのずれは1以上です。
次に、Xsを12ステップで区切った時、8個以上1が入る事はありません。(※)
よってXsはysB*2^(pys+1)を超えないので、Xs < ysB*2^(pys+1)です。
(初期値11111) < (初期値000001)
ysB*2^(pys+1) < 2^(p+2)(3/2)^sが言えます。図参照。
http://cdn-ak.f.st-hatena.com/images/fotolife/r/righ1113/20160613/20160613021641.jpg
2^(p+2)(3/2)^s < 2*2^(p+2)(3/2)^sなので、ysB*2^(pys+2) < 8Zsです。
まとめると、Zs < Ys <= Xs < ysB*2^(pys+1) < 8Zsとなります。
Zsと8Zsのずれは3で、これがずっと変わらないです。
よって、YsとXsのずれも3以下に押さえられる事になります。
(※)は後で書きます。 × (初期値11111) < (初期値000001)
○ (初期値011111) < (初期値0000001) Xsを12ステップで区切った時、8個以上1が入る事はありません。(※)
まずは補題から。
・2連続の0は無い。 0.585+0.585=1.135より、必ず1繰り上がるから
・3連続の1は無い。
・1,1,0,1,1パターンは無い。
1つ前 1, 1, 0, 1, 1
.415~.999 .000~584
.000~414は脱落
.830~.999 .415~584 .000~.169 .585~.754 .170~.339 全部脱落
(↑3連続の1は無い事も分かる) 次に、8個1/12ステップの[0,0,0,0,1,1,1,1,1,1,1,1]の全ての順列に対して、上3つを除外します。
またもやHaskellですwww
import Data.List (permutations, nub)
cycleN :: Int -> [Int] -> [Int] -> [Int]
cycleN 0 la _ = la
cycleN x la lb = cycleN (x-1) (la++lb) lb
remove_0_0 :: [Int] -> Bool
remove_0_0 [_] = True
remove_0_0 (0:0:xs) = False
remove_0_0 (_:x1:xs) = remove_0_0 (x1:xs)
remove_1_1_1 :: [Int] -> Bool
remove_1_1_1 [_,_] = True
remove_1_1_1 (1:1:1:xs) = False
remove_1_1_1 (_:x1:x2:xs) = remove_1_1_1 (x1:x2:xs)
remove_1_1_0_1_1 :: [Int] -> Bool
remove_1_1_0_1_1 [_,_,_,_] = True
remove_1_1_0_1_1 (1:1:0:1:1:xs) = False
remove_1_1_0_1_1 (_:x1:x2:x3:x4:xs) = remove_1_1_0_1_1 (x1:x2:x3:x4:xs)
*CollatzPatt> let multi=filter remove_1_1_1 $ filter remove_0_0 $
nub $ permutations [0,0,0,0,1,1,1,1,1,1,1,1] ←1時間ぐらいかかる
*CollatzPatt> filter remove_1_1_0_1_1 $ filter remove_1_1_1 $ map (cycleN 2 []) multi
[]
空リストになったので、(※)が証明できました。 Xsを12ステップで区切った時、8個以上1が入る事はありません。(※)
Coq版できました。
ただnub permutationsの部分がCoqでは12時間計算しても終わらなかったので、
そこだけHaskellで495行出力して(それでも1時間かかる)、permu.vに書いています。
permu.v
Require Import List.
Definition nub_permu: list (list nat) :=
((0::0::0::0::1::1::1::1::1::1::1::1::nil)::
(1::0::0::0::0::1::1::1::1::1::1::1::nil)::
---略---
(1::1::1::1::1::0::1::0::0::1::1::0::nil)::
(1::1::1::1::1::1::0::0::0::1::1::0::nil)::nil). collatz06.v
Require Import Omega.
Require Import List.
Require Import Coq.Program.Wf.
Require Import permu.
Fixpoint cycle{A} (n:nat) (la:list A) (lb:list A) :list A :=
match n with
| 0 => la
| S m => cycle m (app la lb) lb
end.
Fixpoint remove_0_0 (l:list nat): bool :=
match l with
| nil => true
| _::nil => true
| 0::0::_ => false
| l1::ls => remove_0_0 ls
end.
Fixpoint remove_1_1_1 (l:list nat): bool :=
match l with
| nil => true
| _::nil => true
| _::_::nil => true
| 1::1::1::_ => false
| l1::ls => remove_1_1_1 ls
end.
Fixpoint remove_1_1_0_1_1 (l:list nat): bool :=
match l with
| nil => true
| _::nil => true
| _::_::nil => true
| _::_::_::nil => true
| _::_::_::_::nil => true
| 1::1::0::1::1::_ => false
| l1::ls => remove_1_1_0_1_1 ls
end. Fixpoint beq_list (l:list nat) (m:list nat): bool :=
match l,m with
| nil, nil => true
| nil, _ => false
| _, nil => false
| l1::ls, m1::ms => if beq_nat l1 m1 then beq_list ls ms else false
end.
Fixpoint elem (x:list nat) (l:list (list nat)): bool :=
match l with
| nil => false
| l1::ls => if beq_list x l1 then true else elem x ls
end.
Fixpoint nub (l:list (list nat)): list (list nat) :=
match l with
| nil => nil
| l1::ls => (if elem l1 ls then nil else (l1::nil)) ++ (nub ls)
end.
Definition bnt_nat (x:nat) (y:nat): bool :=
if beq_nat x y then false else true.
Fixpoint concatMap (f:nat->list (list nat)) (l:list nat): list (list nat) :=
match l with
| nil => nil
| l1::ls => (f l1) ++ concatMap f ls
end.
Fixpoint replace (x y:nat) (l m:list nat): list nat :=
match m with
| nil => l
| m1::ms => if beq_nat x m1 then replace x y (y::l) ms else replace x y (m1::l) ms
end.
Program Fixpoint permutations (l:list nat) (cnt:nat) {measure cnt}: (list (list nat)) :=
match cnt with
| 0 => ((nil)::nil)
| _ =>
match l with
| nil => ((nil)::nil)
| ls => concatMap (fun x => (map (fun y => x::y) (permutations (filter (bnt_nat x) ls) (cnt-1)))) ls
end
end.
Next Obligation.
omega.
Qed. Definition multi1: list (list nat) :=
filter remove_1_1_1
(filter remove_0_0
(* (nub (map (replace 2 0 nil)
(map (replace 3 0 nil)
(map (replace 4 0 nil)
(map (replace 5 1 nil)
(map (replace 6 1 nil)
(map (replace 7 1 nil)
(map (replace 8 1 nil)
(map (replace 9 1 nil)
(map (replace 10 1 nil)
(map (replace 11 1 nil)
(permutations (0::1::2::3::4::5::6::7::8::9::10::11::nil) 12)))))))))))) *)
nub_permu).
Definition multi2: list (list nat) :=
filter remove_1_1_0_1_1 (filter remove_1_1_1 (map (cycle 2 (nil)) multi1)).
Theorem multi2_is_nil:
multi2 = nil.
Proof.
compute.
reflexivity.
Qed.
やっぱQed.が通ると気持ちが良いですね。 俺じゃ理解できないけどどうやら進んでるようで、おめ ちょっとは読みやすくなったと思います。
https://drive.google.com/file/d/0B_FTpAj7C52FZGNTSXBTWkw3cGc/view?usp=sharing
-----
「ライトエッジパターン」というものを定義する。
これは、右端が繰り上がった時は1、そうでない時は0を置くものである。
x=319のライトエッジパターンは、[-,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,1]である。
----- >>1
コラッツパターンとかライトエッジパターンとかよくわからん。
もし余力があればideoneにプログラム上げてくれんか?
好きな数を入力してそれに対してそのパターンを出力してほしい。
http://ideone.com/
haskellも選べるからたぶんもうすでに書いたものがあるだろ? Excelマクロでも良いですか?
https://drive.google.com/file/d/0B_FTpAj7C52FVHlFNWt4UU1Vb3M/view?usp=sharing
A列に10進数で数を入れて、「計算」ボタンを押すと、
B列にライトエッジパターンが、
C列からにコラッツパターンが表示されます。
ideoneはよく分かりませんでした。 エクセルマクロはうごきました。
サンクス。
左端がどう決まってるのかいまいち分かってないんだけど
2で割れた回数とかだよね?
>>439のは英語だったからいまいち自信がもてない。 コラッツパターンの左側は、
コラッツ操作で<2で割った回数-1>を蓄積しているものです。
>>173にもあります。
(マクロやpdfでは0を書いてないけど) 左端を伸ばすパターンの説明で
3. Becomes the next x from the left end of the 1 to 1 on the right.
てのがあるんだけど、どう訳せばいいのかよくわからんw
教えて〜 「次のxとして、左端の1から右端の1までを取る」という意味です。
_111111001 =x0が
1011110111 =x1になった時、
x1は左端の1から右端の1までを取るね、という事です。
実は英語は苦手で、いつも赤点でしたwww まだ理解できてないが左端を伸ばすパターンもエクセルマクロあるの?
あるならオクレ。 左端を伸ばすパターンは数が左に伸びるのと、
ステップが無限に続くので、作れてないです。すみません。 んー左に伸ばすパターンって出力のサイズを制限したらプログラム書ける?
制限しても難しい? https://drive.google.com/file/d/0B_FTpAj7C52FVHlFNWt4UU1Vb3M/view?usp=sharing
A列に10進数で数を入れて、「計算」ボタンを押すと、
B列にコラッツパターンのライトエッジパターンが、
C列に左端を伸ばすパターンのライトエッジパターンが、
D列からにコラッツパターンと左端を伸ばすパターンが表示されます。
B,C列で色が変わっている所は、コラッツパターンと左端を伸ばすパターンの右端がずれている所です。
大きい数を入れると「列が足りない」エラーが出るかもしれませんが、
Excel2007以降を使っているならば、Officeボタンから「変換」を選んで開きなおすと、
最大列が256列から16384列になります。 以前より進化しました。
諸兄におかれましては何卒よろしくご査収の上ご批評賜りたくよろしくお願い申し上げます。
http://koubeichizoku.ix-web.tk/collatz/ >>455
おおう、乙カレ。やるね。
左端を伸ばすパターンの正体がいまいちわかってないんだけどどういう思想で出来たものなの?
説明できるなら説明クレクレ。 333入れたら結果が出てこなかったんだが?
なんか制限とかあるんだっけ?
よくわかってなくてスマン。 コラッツ予想を2進数で考える、というのは前々からあって、
コラッツパターンを見出した時に、最後のルール
「最後に、左端に+1する」
を外したら面白いんじゃね、と思って左端を伸ばすパターンが出来ました。
まあ、偶然の産物ですね。 >>458
自分の環境では出てきます。
・マクロを有効にする
・数字を入れた後一回Enterを押して、カーソルを合わせ直して実行する
あたりを試してみてください。 >>460
でました。
カーソル合わせてなかったのかな?多分。 ライトエッジを12個づつに区切ったとき8個以上1が入らないことが言えると
なぜコラッツ予想が証明されたことになるの?
今はそこで悩んでる。 左端パターンとコラッツパターンのずれが有限だとコラッツの予想が証明されたことになるの?
やっぱまだよくわからん。 >>463
X0とy0B*2^(py0+1)は右端が1ずれた(y0Bが大きい)状態からスタートします。
y0Bの12区切りのライトエッジパターンは1が7個はいっていて、
もしX0の12区切りのライトエッジパターンに1が8個以上入らなければ、初期値の1ずれがずっと維持されるので、
X0 < y0B*2^(py0+1)が言えるわけです。
これ自体でコラッツ予想は証明されないです。 >>464
>左端パターンとコラッツパターンのずれが有限だとコラッツの予想が証明されたことになるの?
次のセクションで、ずれが有限であることを利用して、
「5 there is no loop other than 4-2-1 in Collatz conjecture」
「6 Collatz conjecture is not the number that diverges to infinity」
で、「コラッツ予想に4-2-1以外のLoopがない」「コラッツ予想で無限大に発散する数はない」
事を個別に証明しています。 >>465
2個目のX0 < y0B*2^(py0+1)は間違いで
Xs < ysB*2^(pys+1)
です。 >>1
頑張ってもらってるのにスマンが俺の頭じゃいまいち理解が追いつかない。
面白そうではあるんだけど。
まあ、ボチボチ読んでみます。 5章の(14)(15)の式なんだけど
By the product of the loop 1 cycle X
X x X x X ...
It will be but , X > 1 so, either
X x X x X x ... > 2 ^ 3
てのがよくわからないんだけど、つまりXって何なの? スレでは>>92ですが、
実際は違いますが、9→7→11→17→9とループしたとすると、
X=(1+1/(3*9))*(1+1/(3*7))*(1+1/(3*11))*(1+1/(3*17))となります。
これは明らかに1より大きいので、
X*X*X*... > 2^3となって、
(1+1/(3*x0))...(1+1/(3*x_s-1)) < 2^3と矛盾します。 よくわからん。
1→1のループは
X=(1+1/(3*1))=4/3>1
となって
X * X * X * >2^3となって
(1+1/(3*x0))...(1+1/(3*x_s-1)) < 2^3と矛盾しないの? 1→1のループは除外します。
全体的にこの論文は、コラッツ操作で1にたどり着く直前までを考えます。
1になった後のコラッツパターンを考えると、左端を伸ばすパターンとのずれは際限なく大きくなりますから。
http://cdn-ak.f.st-hatena.com/images/fotolife/r/righ1113/20160624/20160624002528.jpg つまり、コラッツ操作で1にたどり着いた後は、
(1+1/(3*x0))...(1+1/(3*x_s-1)) < 2^3
が成り立たなくなります。 とりあえず、色々コンピュータで検証してます。
4.1 Xsを12ステップで区切ったときライトエッジパターンに8個以上1が入ることはない、についてだけど
2連続の0はない
3連続の1はない
11011のパターンはない
で計算したところ以下のパターンが出てきたんだが。
110101101011
これは問題になる? 110101101011は、二回繰り返すと
110101101011110101101011となって、
3連続の1が出てくるので、除外されます。
Coqでは、>>468のpdfで、25ページの下の方の
(filter remove_1_1_1 (map (cycle 2 nil) remove_8_12’)で、
cycle 2でパターンを二回繰り返して、filter remove_1_1_1で3連続の1を除外しています。 どゆこと?
ライトエッジパターンは必ず周期12のループになるの? そっかー、ならないですね。
二周期目を調べる時は、
12ステップで除外しきれなかったパターンの直積を取って、filterをかけないとダメですね。
……と思ったら「12ステップで除外しきれなかったパターン」って上の110101101011しかないんですね。
だったらcycle 2も直積も同じことで、110101101011110101101011となって、やはり除外されます。
これでどうでしょうか? いや、なんか怪しいです。
もうちょっと考え直してみます。 他スレのご指摘により数式だけでなく日本語の説明を加えました。
諸兄におかれましては何卒よろしくご査収の上ご批評賜りたくよろしくお願い申し上げます。
http://koubeichizoku.ix-web.tk/collatz/ ここで論じられているビットパターンは拙論では
2^p×3^m×g±1 (gは 6a±1) として捉えており、これらは素因数分解の一意性
からユニークな数であることに着目しています。
コラッツ予想の題意に従った奇数から奇数への変化のうち奇数間で増大するものを
≫+で表せば 2・2^p・g−1 ≫+ 2・2^(p-1)・3^1・g−1≫+ 2・2^(p-2)・3^2・g−1 ...
≫+ 2・2^1・3^(p-1)・g−1 ≫+ 2・3^p・g−1 となって
L(p,g):={2・2^p・g−1,2・2^(p-1)・3^1・g−1, 2・2^(p-2)・3^2・g−1 ...
,+ 2・2^1・3^(p-1)・g−1 ,2・3^p・g−1} となって 相異なる(p,g)のL集合同士は互いに素
また同じく相異なるLの和集合同士も互いに素となります。(L(p,g)∪ L(p',g')=φ)(p≠p’)∨(g≠g’) ここで論じられているビットパターンは拙論では
2^p×3^m×g±1 (gは 6a±1) として捉えており、これらは素因数分解の一意性
からユニークな数であることに着目しています。
コラッツ予想の題意に従った奇数から奇数への変化のうち奇数間で増大するものを
≫+で表せば 2・2^p・g−1 ≫+ 2・2^(p-1)・3^1・g−1≫+ 2・2^(p-2)・3^2・g−1 ...
≫+ 2・2^1・3^(p-1)・g−1 ≫+ 2・3^p・g−1 となって
L(p,g):={2・2^p・g−1,2・2^(p-1)・3^1・g−1, 2・2^(p-2)・3^2・g−1 ...
,+ 2・2^1・3^(p-1)・g−1 ,2・3^p・g−1} とすれば、 相異なる(p,g)のL集合同士は互いに素
また同じく相異なるLの和集合同士も互いに素となります。(L(p,g)∪ L(p',g')=φ)(p≠p’)∨(g≠g’) >>479
coqが通ったのに何が怪しいの?
なんのためのcoqなの?
coqは通ったけど、通った命題そのものがトンチンカンな主張だったってこと? >coqは通ったけど、通った命題そのものがトンチンカンな主張だったってこと?
まあ、そういう事です。
Coqに通すまでの論証に穴があったという事です。 そうならないように始めの命題からCoqで一気通貫で証明を通すことが望ましいね。
実際には難しいだろうけど。 110101101011は除外出来ない事が分かりました。
そこで証明を次のように修正します。
12区切りのライトエッジパターンに110101101011が現れたとする。
末尾は1なので、次の12区切りは先頭が0である。
「先頭が1」「2連続の0」「3連続の1」「1,1,0,1,1」を除外した、12区切りで1が7個入るパターンは、
次の6つしかない。(Haskellで確認済み)
[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,1,0,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,0,1,1,0,1]
[0,1,0,1,1,0,1,0,1,1,0,1]
1~3個目は11で終わっているため、次の12区切りも0始まりとなってループする。
再び110101101011が来る余地は無い。
4~6個目は、次の12区切りで1始まりが可能なので、さらに調べる。 「先頭が10」で、「2連続の0」「3連続の1」「1,1,0,1,1」を除外した、12区切りで1が7個入るパターンは、
次の8つしかない。(Haskellで確認済み)
[1,0,1,0,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,1,0,1,0,1,0,1]
[1,0,1,1,0,1,0,1,0,1,0,1]
[1,0,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,0,1,1,0]
[1,0,1,0,1,1,0,1,0,1,1,0]
1個目は11で終わっているため、次の12区切りも0始まりとなってループする。
2~5個目は1で終わっているため、次の12区切りも1or0始まりとなってループする。
6,7個目は、連続して並べると、
110101101011 [0,1,*,*,*,*,*,*,*,1,0,1] [1,0,1,1,0,1,0,1,1,0,1,0]
110101101011 [0,1,*,*,*,*,*,*,*,1,0,1] [1,0,1,1,0,1,0,1,0,1,1,0]
となって「1,1,0,1,1」が現れるので除外される。
8個目は、連続して並べると、
110101101011 [0,1,*,*,*,*,*,*,*,1,0,1] [1,0,1,0,1,1,0,1,0,1,1,0] 110101101011
となって「1,1,0,1,1」が現れるので110101101011にはならない。
よって、二回以上110101101011が現れることはない。
初期値をX0 とy0B * 2^(py0+2)(1ずらし→2ずらし)から始めれば、
Xs はysB * 2^(pys+2) を超えないので、Xs < ysB * 2^(pys+2) である。
さて、これをCoqでどうやってやろう…… どうせその論証にも穴がある。
都合の悪い並びはいつまで経ってもなくならない。
穴を埋めようとすると
>「先頭が10」で、「2連続の0」「3連続の1」「1,1,0,1,1」を除外した
こんな感じの細かい条件がさらに追加される。
それでもなお、都合の悪い並びはなくならない。
キリがないどころか、そもそもこのやり方では本質的に不可能。
0と1の並び方の規則を探求すること自体が全くの無駄。
こいつらは基本的にランダム列に近づきたがっている。
途中で不完全燃焼を起こしてループに陥るだけで、
それまでの間はランダム列に近づきたがっている。
そうやって規則がない方向に行こうとしている対象について
規則を探求しても、うまく行くわけないだろ。
それよりも、「ランダム列に近づきたがってる」ことを
実際に証明した方が早い(もちろん現状では未解決)。 >>489
これ検証すんの結構つらいわw
Coqでなんとかならんか?
1が7個のパターンだけ考えてるみたいだけど
1が6個以下のパターンを除外していい理由がよくわからん。 Coqは考え中です。
(ちゃんとやってないですけど)
1が6個のパターンは、0,0が除外されるので
[0,1,0,1,0,1,0,1,0,1,0,1]
[1,0,1,0,1,0,1,0,1,0,1,0]
しかないんんですけど、こんなパターンは無いかなあと。
(どこかで1,1,が現れるはず)
1が5個以下のパターンは、必ず0,0が含まれるので、
全て除外されます。 >>こんなパターンは無いかなあと。
数学の証明しようってのにずいぶんずぼらだなw
まあ気持ちはわかるが。 ポエムのうちは読む気はないけど証明されたら眺めてみようかくらいに思ってる人はそれなりにいると思うからがんばってね。 12区切りで1が6個入るパターンは除外される証明ができました。
>>468の7ページを見ながらご覧下さい。
http://cdn-ak.f.st-hatena.com/images/fotolife/r/righ1113/20160628/20160628023431.jpg
ライトエッジパターンでは「2連続の0」「3連続の1」「1,1,0,1,1」に加えて「0,1,0,1,0,1,0」
も除外されるという事です。 >>468
発散する初期値がないことの証明も間違ってるように見える。
実際に (log_2 x_s)/s の挙動を計算してみると、
発散する初期値があろうがなかろうが、無条件で有界であることが分かる。
まず、9ページ目の(3)式はコラッツの軌道のsステップ目を表現しただけだから、
何の条件もなしに成り立っている。以下、(3)式から出発して
x_s = x_0(3^s/2^t)(1+1/(3x_0))・・・(1+1/(3x_{s−1}))
≦ x_0(3^s/2^t)(1+1/3)・・・(1+1/3)
= x_0(3^s/2^t)(1+1/3)^s
= x_0(3^s/2^t)(4/3)^s
≦ x_0(3^s)(4/3)^s
= x_0 4^s
となるので、log_2 x_s ≦ log_2 x_0+slog_2 4 となって、
(log_2 x_s)/s ≦(log_2 x0)/s + 2 となる。よって、
発散する初期値があろうがなかろうが、無条件で有界になっている。
このことから、pdfの10ページ目にある
「 Here, from Fig.3 (傾きが垂直に近づくので) 」
のところは自動的に間違いとなる。 こういうのはどうでしょうか。
xは発散するとする。
(1+1/3x_0)…(1+1/3x_{s-1}) < 2^4 だから (1+1/3x_1)…(1+1/3x_s) < 2^4 も成り立つ。
t=saと置き、(1+3/t)^t < (1+1/3x_1)…(1+1/3x_s)が成り立つようにaを定める。
s→∞でt→∞だから、
lim[t→∞](1+3/t)^t = e^3 ≒ 20 > 16 だから、
無限大に辿り着く前に16を超える。越えた所をs'と置くと、
(1+1/3x_1)…(1+1/3x_s') > 16 となって、(1+1/3x_1)…(1+1/3x_s') < 2^4 と矛盾する。 >>499
>t=saと置き、(1+3/t)^t < (1+1/3x_1)…(1+1/3x_s)が成り立つようにaを定める。
問題外。x_sの発散スピードが大きいとき、そのようなaは取れない。
コラッツの問題を舐めるな。 t=e^sとか、t=s!とかにしてもダメなんでしょうか? >>501
どうも君は不等式に対する感覚がイカれてるね。
パッと見てすぐに分かる間違いに全く気づいてない。
tが大きければ大きいほど、(1+3/t)^t は e^3 に近づくのだから、余計に
(1+3/t)^t < (1+1/3x_1)…(1+1/3x_s)
が成り立ちにくくなるだけだろ。
ていうか、x_1からx_sまでが物凄い勢いで大きければ、
(1+1/3x_1)…(1+1/3x_s) はほとんど 1 に等しいのだから、もはや
(1+3/t)^t < (1+1/3x_1)…(1+1/3x_s)
なんて成り立たないでしょ。 >>503
より詳しく説明しよう。
もし発散する初期値が存在するならば、次が成り立つことが証明できる。
∀ε>0, ∃x_0 s.t.
x_0は発散する初期値であり、かつ (1+1/3x_1)…(1+1/3x_s) < 1+ε (s∈N).
このことから、(1+1/3x_1)…(1+1/3x_s) を統一的に下から押さえることができる定数は
「 1 」しかないことが分かる。つまり、x_0が発散する初期値ならば、
1 < (1+1/3x_1)…(1+1/3x_s) (s∈N)
が成り立つということ。しかし、この不等式は自明なので、何の役にも立たない。
結局、この方針では原理的に不可能。 ん〜識者乱入か?
俺じゃよくわからんし勘違いを防ぐためにも
なるべくCoqで証明を通してほしいよね。 もしちゃんとZs < Ys <= Xs < ysB * 2^(pys+2) < 8Zs
が言えたら、
Zsと8Zsのずれは3で、これがずっと変わらない
って無限大までいっても変わらないって事だから
xsが発散してもずれは3以下なんだと、今気づかせてもらった。
という訳で、無限大に発散する方はあきらめます。
4-2-1以外のLoopがない方に注力します。 >>1はいまどうしてるの?
まだ頑張ってんの?
それとも休憩中? >>489の状態遷移図の穴が埋められないんです。
ちょっと休憩中です。 >>>489の状態遷移図の穴が埋められないんです。
穴は埋まらないよ。この方針じゃ原理的に不可能。
なんで分からないのかなあ。>>506のときみたいに
「これじゃ本質的にダメなんだ」って心の底から悟れよ。
ダメなんだよこれじゃ。ダメなの。このやり方じゃ解けないの。 本質的に解けないことちゃんと数学的に証明をしてあげないと。
頭ごなしに否定するだけじゃ納得するはずないでしょ。 >>511
数学的に証明するのはムリ。
しかし、ほぼ確実な状況証拠はある。
3n+1版ではなく、an+1版のコラッツ予想を考える(ただしaは7以上の奇数)。
この場合、ほとんどの初期値でコラッツの軌道が発散することが予想されている。
軌道上に出現する各々の値の偶奇を0,1で横一列に並べると、
どうもその列は、ほとんどの初期値で2進正規になっているように見える。
もし2進正規になってることが証明できたならば、コラッツ予想でおなじみの
「軌道上では偶数と奇数が1/2ずつの確率で出現しそう」というヒューリティクスが
実際に正しいことが分かり、「ほとんどの初期値で発散する」という予想も正しいことが確定する。
おそらく、コラッツの軌道は本質的にランダムになりたがってる。
もともとの3n+1版でも同じことで、やはりランダムになりたがってる。
しかし、こちらの場合は掛ける数が「3」であるがゆえに、十分大きな数になれず、
それゆえに自由度が低下し、途中で不完全燃焼を起こしてループに陥る。
が、それまでの間はランダム列に近づきたがっている。初期値を大きく取れば取るほど、
ランダム列に近づきたがる期間も長くなるので、その間で幾らでも抜け穴となるパターンが生じうる。
だから本質的にムリなのだ。(続く) (続き)
ライトエッジの「抜け穴」と似たような現象は、以下の箇所にも見られる。
英語版のコラッツ予想の記事を見ると、
>In particular, Krasikov and Lagarias showed that the number of integers in the interval [1,x]
>that eventually reach one is at least proportional to x^0.84.[19]
という記述がある。区間[1,x]に属する自然数のうち、コラッツの変換によって1になる数の比率は、
少なくとも x^{0.84} はある、という驚くべき文章である。
文献[19]をかいつまんで説明すると、「コラッツの変換によって1になる自然数の集合」を、
ある種のパラメータで分割して、いくつかの集合に分けるところから始まる。
それらの集合の間に定まる漸化式を使って、x^{0.84}という評価を得ている。
この漸化式が完全に制御できれば、もっといい結果が出るわけだが、
漸化式がイジワルな形をしており、漸化式を展開するたびにランダム性が増してしまって制御できなくなる。
そこで、途中で評価を落として不等式の形にすることで、不等式の左辺と右辺に何とかパターン性を
出現させ、それによって問題を対処する。その結果、x^{0.84} という中途半端な数字になってしまう。
ライトエッジの抜け穴は、この「評価を落としてパターン性を出現させる」ところに
どことなく対応しているように見える。ライトエッジを完全に解析すると、まず間違いなく、
そのパターンは有限通りには収まらず、複雑な形の漸化式で記述されることになる。
その漸化式を展開するたびにランダム性が増してしまい、結局は制御できなくなる。
逆に、もしライトエッジが有限通りに収まったら、文献[19]の漸化式も実際には
上手くパターンに落とし込めることになると予想される。が、今のところそういう話は見てないし、
[19]を読んで漸化式を触ってみても、もう本能的に「こりゃムリだわ」っていう感想しか出てこない。
そんなわけで、ライトエッジの方針もムリに決まってるのだ。 (補足)
結局、>>512の話でも、>>513の話でも、
コラッツの変換を深く深く弄れば弄るほど、
ランダム性が増していく感触が確かな手ごたえとして観測される。
どこまでいっても、パターンに収まってくれる気配が全く出てこない。
「本質的にランダムになりたがっている」としか思えないのだ。
また、コラッツ予想の難しさはまさにこの部分にあるはずだ。
>>488にも書いたが、コラッツ予想に取り組むなら、
「ランダムになりたがってる」という感触を
どうやって解析したらいいかを真正面から考えるしかないだろう。
そして、そのこと自体が既に難しく、だからこその未解決問題なのだろう。 コラッツ予想で毎回思うんだけど
プログラムでいうif文を扱える数学って存在すんのかなあ ifを扱える数学というか、プログラムの停止問題は解けないでそ。 Coqでコラッツの予想を厳密に定義するとどんな感じになるの? 有限回繰り返したときってCoqでどうやって表現すりゃいいんだ? >>518-519
Coqでは止まらない再帰関数は書けないので、
>>373では、再帰を有限回で0終了させる引数yを入れてあります。
で、どんなxに対してもlast collatz03が0にならないyが存在する、という事で、
Require Import List.して
Theorem collatz_is_true:
forall (x:nat), x<>0 -> (exists y:nat, 1=(last (collatz03 x y) 0)).
ってとこじゃないでしょうか。 うーんyで適用回数制限してんの?
止まらない再帰かけないってのも不便だな。
本質的には問題に成らんのかな Coqの仕様なんでなんとも……
>>520でコラッツの定義としては問題ないと思います。 http://koubeichizoku.ix-web.tk/collatz/
修正いたしました。当板の諸兄におかれましては何卒よろしくご査収の上
ご批評賜りたく、よろしくお願い申し上げます。 まず、x0の範囲を8bit以上から15bit以上に変更します。
これで、Xsが1ステップ進むごとに約0.585プラスされます。
禁止パターンは以下です。
・00
・111
・11011
・0101010
・11 01011 01011 01011 以下のシミュレーションをおこないます。
【シミュレーションA】
1.7ビットの初期値x0A=1111111を用意する。
2.x0Aを下位へ1ビットシフトして(末尾は捨てる)、x0Aに加える。
3.最下位ビットに1加える。(下位からの繰り上がりが常に有る事を想定)
4.n+1ビットになっていたら、最下位ビットを捨ててnビットにする。
5.2~4を繰り返す。
得られる値をxsAとする。
xsAのライトエッジパターンは17区切りで以下になりますが、
[0,#1,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0]
1個左にずらして01101011010110101の繰り返しとします。
それに合わせて、X0のライトエッジパターンも0と定義して、0ステップ目から17区切りにします。
(もしX1が0なら従来通り1ステップ目から始めます。) https://drive.google.com/file/d/0B_FTpAj7C52FLWI5TWMtMi1tVms/view?usp=sharing
xsAは17区切りで1が10個入ります。
17区切りで1が11個入るパターンは禁止パターンなので除外します。
17区切りで1が10個入るパターンは、全部で21個あるのですが、先のライトエッジパターンの操作により、
0始まりのもの8個だけを考えれば良いです。
A1からA8の状態遷移を考えます。どれも0につながるので、この8個で閉じています。
薄い灰色は禁止パターンになるので、遷移できない箇所です。
濃い灰色はXsに0.585を足していって脱落した所です。
これを元に樹形図を描くと、最長が
A4-A2-A2-A3-A3-A1-A8-A8-A7-A7-A6-脱落 の17*12ステップですが、
A2-A2-A3-A3 と A8-A8-A7-A7は脱落するので、
A4-A2-A2-A3-A1-A8-A8-A7-A6-脱落 の17*10ステップが最長となります。
これは、170ステップ以内で、17区切りで1が9個入るパターンが現れる事を意味しています。 xsAのライトエッジパターンに手を加えます。
170ステップごとに0を挿入します。
これをおこなっても先の議論より、
Xs < xsA*2^pxs (2^pxsはXsより十分右へ離す定数)が言えます。
170ステップごとに0を挿入した事により、xsAの傾きが変わります。
挿入する前は10/17=0.58823… > log(3/2)ですが、
挿入後は100/171=0.58479… < log(3/2)です。
グラフでは、「左端を伸ばすパターン」<「コラッツパターン」<「xsA」と並んでいますが、
xsAの傾きがlog(3/2)より小さい為、順序が逆転し、矛盾します。
この矛盾を回避するには、順序が逆転する前に、コラッツ値が1になるしかありません。 書いてみて分かったんですが
ちょっとダメみたいです。お騒がせしました。 状態遷移図を修正しました。
before:A1\after:A1で結果がA8になっているのは、
A1からA1に遷移させるつもりだったけど、実際に計算してみるとA8に遷移してた、ということです。
あと、A4-A2-A2の遷移はA4-A2-A3になってしまうので、
A4-A2-A3-A1-A8-A8-A7-A6-D1 の17*9ステップが最長となります。
実はもう一つ問題があるのですが、それは後で書きます。 A6-D1-A1-A8と遷移したとします。
D1の末尾は0なので、A1〜A8に繋げる事ができません。
そこで11を挿入します。(1じゃないのは0101010回避のため)
次にA1を普通にやって、A8の先頭で、コラッツパターンの右端を2つ左にずらします。
これで11と相殺されます。
このときのA8のライトエッジパターンは[-2,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1]
と書いても良いかもしれません。
これで「左端を伸ばすパターン」<「コラッツパターン」<「xsA」の関係も維持されます。 2bitで計算して
coqで確認
というのは
どちらかというと
ありそうな証明です
頑張ってください 全てのnに対して2^n-1がコラッツの予想成り立つことは示せないかな。 >>535
まじで。
>>1の言うようにビットパターンをセルオートマトンとみなすと
無限大に発散する数というのは自己複製型みたいになるのかな? >>531
ちょっと変えます。
A6-D1-A1と遷移したとします。
D1の末尾は0なので、A1〜A8に繋げる事ができません。
そこで、適当な後方から11を借りてきます(1じゃないのは0101010回避のため)。
貸した部分まで来たら、また後方から11を借ります。
D1が現れるごとに借りる個数は増えていきますが、コラッツパターンは無限に続くという仮定の元でおこなっているので、問題ないです。
また、11を前方へ移動させているだけなので、ライトエッジパターンの総量はかわらず、
「左端を伸ばすパターン」<「コラッツパターン」<「xsA」の関係も維持されます。 まだナントカパターンでやってるのか。頭の悪い奴だな。
左端を延ばすパターンでも、ライトエッジパターンでも、
2進法で表された何らかの数の、左端と右端の数桁だか数十桁だかの
固定された桁数しか見ていない。そのような固定された桁数では、
絶対にパターンに嵌まらないイレギュラーなパターンが出てくる。
それらのパターンまで取り込むと、既存の桁数では足りず、
確認すべき桁数を拡張しなければならない。
>そこで、適当な後方から11を借りてきます(1じゃないのは0101010回避のため)。
この部分は、まさに桁数を拡張していることに対応する。
そして、この作業は終わらない。すなわち、有限個のパターンでは収まらない。
一般的に記述すると、漸化式の形で延々と続くような記述になってしまう。
その漸化式は、次の項に進むごとに、2進法で表された数の中心に向かって、
左端と右端から どんどんと桁数が侵食されていくような形式になるはず。
>D1が現れるごとに借りる個数は増えていきますが、コラッツパターンは無限に続くという仮定の元でおこなっているので、問題ないです。
この部分は、まさにこのことを示唆している。
そして、一般的に記述した漸化式を解析することは、もともとのコラッツの問題と
同程度もしくはそれ以上に難しい。よって、この方法では無理。
righ1113 ◆OPKWA8uhcY は、桁の計算をいつもいつも概算で済ませて「問題ないはず」と発言し、
そのたびに、後になって修正するのを繰り返しているが、要するに、
桁の計算は概算で済ませてはいけないのである。いい加減にコイツは気づくべきである。
概算で済ませず、厳密に計算してみろ。
有限個のパターンでは収まらず、漸化式の形で延々と続くような記述にしかならないはずだ。
そして、その漸化式は複雑すぎて手に負えず、この方針では解けないのだ。 仮に全ての奇数で成立することが証明できれば全ての整数で成り立ちますか? >>1さんよ
とりあえず目標を>>534まで落としてみないか?
これでも十分難しいぞ?
Coqスレの147あんたじゃろ?
あの時は目標を落としたことで前に進んだじゃろ?
ちなみにCoqスレの148は俺じゃから。
まあ考えてみてくれ。 調べた所、1000000009151が241ステップと長めだったので、計算してみました。
https://drive.google.com/file/d/0B_FTpAj7C52FRXJHeFhFbGJRZUE/view?usp=sharing
状態遷移は上手くいっているみたいです。
11の貸し借りも出来ているんですけど、、貸す所と借りる所がかぶらなかったので、あまり参考になりませんでした…… 11の貸し借りでかぶるとどうなるかを見るために、
100ステップずつ11を借りる例を考えてみます。
借りる先は2乗ステップ目です。
・100ステップ目で10000ステップ目から11を借りる
・200ステップ目で40000ステップ目から11を借りる
……
・10000ステップ目で貸した11の穴埋めと、新たな11を10^8ステップ目から借りる
・40000ステップ目で貸した11の穴埋めと、新たな11を16*10^8ステップ目から借りる
……
・10^8ステップ目で計111111を、10^16ステップ目から借りる
・16*10^8ステップ目で計111111を、16^2*10^16ステップ目から借りる
……
貸す所が010101…になっている場合もあるので、実際は倍の長さが必要ですが、
それでも、「借りる11…が次のゾーンにひっかかる」というような事は起きません。
この作業に終わりはないのですが、この作業の途中で、
傾きの影響で、左端を伸ばすパターンとxsAの順序が逆転して矛盾します。 式で書くと、
100^(2^n-1)ステップで"11"*n*2を100^(2^n)ステップから借りる時、
次のゾーンまでは少なくとも200*100^(2^n-1)空いているから、
2*n*2 < 200*100^(2^n-1)が言えて、次のゾーンにはかからない。です。 修正します。
式で書くと、
100nステップで"11"*(log(4√n)+1)*2を(100n)^2ステップから借りる時、
次のゾーンまでは少なくとも200*100(n-1)空いているから、
2*(log(4√n)+1)*2 < 200*100(n-1)が言えて、次のゾーンにはかからない。です。 再修正します。
式で書くと、
100nステップで"11"*[(log(4√n)+1)]*2を(100n)^2ステップから借りる時、
(100(n+1))^2 -(100n)^2
=(10000(n+1)^2) -10000n^2
=10000n^2 +20000n +10000 -10000n^2
次のゾーンまでは少なくとも20000n空いているから、
2*[(log(4√n)+1)]*2 < 20000nが言えて、次のゾーンにはかからない。です。 >>540
全ての偶数は、2で割る事を繰り返せば奇数にたどり着くから、
全ての奇数で成立することが証明できれば、全ての自然数で成り立ちます。
全ての整数で成り立つかどうかは分からない。 >>541
2^n-1は、2進数で表すと1111…ですね。
試しに3(11)でおこなうと、次ステップは5(101)になります。
7(111)でおこなうと、次ステップは11(1101)になります。
5と11の関係は、101を右シフトして+1しているので、5*2+1=11です。
そこで、次の命題1を考えます。
・x以下で1にたどり着けば、2x+1以下も1にたどり着く 次に、次の命題2を考えます。
・x以下で1にたどり着けば、4x+2以下も1にたどり着く
まず、これをすべての偶数で証明します。
・2以下の偶数で1にたどり着けば、4*2+2=10以下の偶数も1にたどり着く は真です。
・x以下の偶数で1にたどり着けば、4*x+2以下の偶数も1にたどり着く を真としたとき、
x+2は2で割れるので、(x+2)/2 < x、
4*(x+2)+2も2で割れるので、2*(x+2)+1 < 4*x+2、よって
・x+2以下の偶数で1にたどり着けば、4*(x+2)+2以下の偶数も1にたどり着く も真で、数学的帰納法で証明されました。 次に、命題2を奇数で証明したいので、2倍した偶数を考えます。
xを例にとると、xを2倍して、
・2x以下の偶数で1にたどり着けば、4*2x+2以下の偶数も1にたどり着く
2で割って
・x以下の数で1にたどり着けば、4*x+1以下の数も1にたどり着く
4*x+1 > 2*x+1なので、命題1
・x以下で1にたどり着けば、2x+1以下も1にたどり着く
も証明されました。
これで、5(101)->11(1101)->23(11101)->……が1にたどり着くことが証明できたので、
2^n-1も1にたどり着くことが証明できました。
>>534さん、これどうですかね。 、、、 , , _
,. -┬i^i、._ ィ`,、,、,、,、,.、'、
. / | | .|=ゞ=、 __l/\ v~/!|
l. l l l \\{f‖ミゞ, ,ィ≪:lf^i もういい…!
/ヽ. ノ「,ト、「.lヘ‐iヾ|rー~r〉〉,こlレ'
/ `ヽ//| ト、ヽlイ| |/|{王王王王}ト、
| レニ| lニゝ冫! l!L_, , ,ー, , , ,_」シ’、 もう…
ヽ __|ーL|┴^ーヽ>'^ヾ二三シ´\\
,ゝ,/ .}二二二二二二二二二lヽ. ヽ \ 休めっ…!
l/ |ト、./´\ ||. レ'´ ̄`ヽ
|| ! 、\ ||. / :|
|| |.l l゙!.|i |ヽ) |l/ / 休めっ…!
|| `ヘ)U'J /-─ ,イ.|
|| _ /-─ / ヽ| 太郎っ…!
|| r‐-゙=っ`ヽ,.--r-─ ''"´ ̄`ヽ / }
||. {三二 | │ / /
||. ヾ=--一'`ーゝ _,. く ノ| 再開ではないですが、気になっている事があります。
x0から始まるコラッツ列が無限大に発散するとき、以下の式は成り立つのでしょうか。
lim[s->∞](1+1/3x_1)…(1+1/3x_s) > lim[y->∞](1+1/y)^y ≒ 2.718
自分としては、各x_sが定数な分だけ、左辺が大きいと思うのですが……
成り立つとすると、>>504と矛盾するのではないかという気がします。
(ε=0.1とおいて、有限積では1.1を越えないのに、無限積にすると2.718を超える)
自信がないので、ご意見お待ちしています。 各x_sが定数ってどういうこと?
x_sはsが増えるにしたがって大きくなるじゃねーの? 左辺はsが増えても、それ以前の項のx_sは変わらないという意味で定数と書きました。
一方右辺はyが増えると、初項から全てのyが増加します。 よくわからんが無限和が有限になることもあるように無限積も有限になる可能性がある? 無限積も有限になる可能性があるというのは、
lim[y->∞](1+1/y)^y ≒ 2.718
からも明らかです。
問題はこれより左辺
lim[s->∞](1+1/3x_1)…(1+1/3x_s)
が大きいと思われる事です。 定数だからって理由だけでは大小は決められないでしょ。
積の形だから惑わされるんじゃない?
おれもあんまり自信ないが
両辺logとって和の形にすればx_sになんらかの制限がなければ
大小は論じられないという結論になりそうな気がする。 定数だから単純に
1/100 > 1/∞
だと思ったんですけどねえ。 まずΣ[n->∞] (1/2)^n = 1でしょ?
この式が両辺log取った結果の式だとすれば元の式は
Π[n->∞] e^((1/2)^n) = e
みたいな感じになるんじゃないのかな?(微妙に自信ないが)
要するにx_sが非常に急速に大きくなるなら
lim[s->∞](1+1/3x_1)…(1+1/3x_s)
はそんなに大きくならない可能性も十分あると思うが。 e^(1/2)*e^(1/4)*e^(1/8)*…
と
(1+1/3x_1)*(1+1/3x_2)*(1+1/3x_3)*…
を比べて(1+1/3x_s)の減少スピードが速ければ
lim[s->∞](1+1/3x_1)…(1+1/3x_s)
はeに届かないって事ですか…… あと一つだけネタがあるので、しばしお待ちください。
ループする方です。 + +
∧_∧ +
(0゜・∀・) ワクワクテカテカ
(0゜∪ ∪ +
と__)__) + ・前準備1
例えばx_sが7,11,17,13,5,17,13,5……とループするなら、先頭2項は外して,17,13,5,17,13,5……にします。
例ではx_3=x_0になります。
・前準備2
x_0~x_s-1がループ1周期として(x_0=x_s)、コラッツパターンXsと左端を伸ばすパターンYsのビット長は
[logYs] = [log(x_0*(3/2)^s)]
[logXs] = [log(x_0*(3/2)^s)+log(1+1/3x_0)…(1+1/3x_s-1)]
です。このときの[logYs]と[logXs]のずれが1とすると、周期を重ねるごとに[logXs]と[logYs]の差は
2log(1+1/3x_0)…(1+1/3x_s-1)、3log(1+1/3x_0)…(1+1/3x_s-1)、……と増大するので、
ずれも際限なく増大していきます。 ・ループして、コラッツパターンXsと左端を伸ばすパターンYsのずれがずっと0の場合
[]は切り上げです。 logはlog_2です。
[logXs] - [logYs] = 0 から始めて
[log(x_0*(3/2)^s)+log(1+1/3x_0)…(1+1/3x_s-1)] - [log(x_0*(3/2)^s)] = 0
切り上げを外して
-1 < log(1+1/3x_0)…(1+1/3x_s-1) < 1
logを外して
1/2 < (1+1/3x_0)…(1+1/3x_s-1) < 2
ループ1周期の(1+1/3x_0)…(1+1/3x_s-1)をXとおくと、X>1なので、
X*X*X*……はいずれ2を超えて、上の式と矛盾します。 ・ずれがあってループした場合
ずれは増大していくので、ずれが3になったところをsとします。
そして、Xsを3ビット下位へシフトしてずれを消します。これをXs'とおきます。
Xs'=x_0*(3/2)^s*(1+1/3x_0)…(1+1/3x_s-1)/8 です。
[logXs'] - [logYs] = 0 から始めて
[log(x_0*(3/2)^s)+log(1+1/3x_0)…(1+1/3x_s-1)/8] - [log(x_0*(3/2)^s)] = 0
切り上げを外して
-1 < log(1+1/3x_0)…(1+1/3x_s-1)/8 < 1
logを外して
1/2 < (1+1/3x_0)…(1+1/3x_s-1)/8 < 2
ここで、
x_0からx_s-1のうちで最小のものをx_mとおいて、
(1+1/3x_0)…(1+1/3x_s-1) < ((1+1/3x_m)^3x_m)^(s/3x_m) < (1+1/3x_m)^3x_m < e
なので、
(1+1/3x_0)…(1+1/3x_s-1)/8 < e/8 ≒ 0.339
となって1/2を下回って矛盾します。
よって、4-2-1ループを除いて、ループする数はない
と言えるのではないかと思うのですが、どうでしょうか。 と思ったら
s > 3x_m の時はループの可能性が残りますね。
妥協策としては、
(これも証明がいるけど)ループ1周期でずれ1をs、ループ3周期でずれ3を3sとしたら、
s > x_mでループの可能性があります。
コラッツは5*2^60までは反例がないので、
ループがあるとしたら、ループ周期は5*2^60(≒500京!)より大きい
が言えると思います。 ループに関してはそうだと思います。
そして無限大に発散する方もコンピュータではしにくい(できない?)でしょうから…… もしかして1からnまでの範囲にコラッツ問題の反例がなければ
周期n以下のループがないというのはもし本当に言えれば相当の成果じゃないの? 求めすぎかもしれないが多分俺じゃ証明の検証できないから
可能ならCoqでの証明つけてほしい。 >>571
切り上げを外してってところがわからない。
なぜこのような式変形になるのだろう? >>578
Coqきびしいですねー
やるとしてもずっと後になると思います。
>>579
[a+b]-[a]=0
から
-1 < b < 1
が言えると思うんですけど間違ってますかね? ずれが3になったところをsとする
s<=3x_mだと矛盾する
よってs>3x_mである
ループを何回か繰り返した物を大ループと名付けて
1〜nまででコラッツ予想の反例がなければ周期n以下の大ループはない
で
sはループ何周目か
で苦戦しております。 奇数×奇数+1=偶数
偶数÷偶数=偶数
必ず以下の手順を通る
1 2 4 8 16 5 10 20 40 80 160
これは 1+1=2予想を解けと言ってるようなもんだwww
小学生にも解り易く説明するとww 若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。
でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。
コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。
¥ 若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。
でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。
コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。
¥ 若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。
でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。
コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。
¥ 若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。
でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。
コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。
¥ 若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。
でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。
コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。
¥ 若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。
でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。
コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。
¥ 若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。
でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。
コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。
¥ 若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。
でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。
コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。
¥ 若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。
でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。
コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。
¥ 若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。
でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。
コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。
¥ ↑ お〜いしっかりしろww戻ってこ〜いよ〜(^^♪ 若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。
でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。
コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。
¥ 若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。
でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。
コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。
¥ 若い奴を相手にして、『人前ではメッキで遣り過ごせ!』と教える芳雄が、
何と「研究者としての基本的態度」を申し述べ、毎晩の様に連呼して、そ
の重要性を訴えてた。所が芳雄は一向に「何をどうスル事なのか」を説明
せず、子供の私は日々頭を悩ませた。普通に考えれば、ソレは:
★★★「研究対象に向かう時にどういう風に頭を使って考えて創造的になるか」★★★
であろう。そして試行錯誤を繰り返しながら失敗を重ね、その度毎に芳雄
に罵倒され、そして「釜ヶ崎へ行け!」と恐喝された。
でも芳雄を良く観察し、そして:
★★★『芳雄と一緒になって母親を無根拠に罵倒したら「芳雄は大喜び」した!』★★★
ので、やっと理解した。芳雄が言う「研究者としての基本的態度」とは:
1.その場の自分の損得を考える。
2.何も考えずに「芳雄に同調」スル。
3.発言の中身を空虚にして、表現にだけ注意して敬語を使う。
という様な事であり、要は『顔色を窺って、その場を繕え』という事だ。
コレを理解した時はホンマに嬉しかった。芳雄のオツムが『サル並である』
という定理を証明した瞬間だった。
¥ >>573を証明するわけですが、途中経過です。
x_s=x_0でループするとすると、
x_s=x_0*3^s/2^t*(1+1/3x_0)…(1+1/3x_s-1) なので
1<(1+1/3x_0)…(1+1/3x_s-1)=2^t/3^s
3^s < 2^t です。
ここから
2^t > 3^s
tlog2 > slog3
t/s > log3 = log(3/2)+log2
(t-s)/s > log(3/2)
です。 ここからは図を使います。
(t-s)/sはコラッツパターンの左端傾きで、log(3/2)は左端を伸ばすパターンの右端傾きです。
https://drive.google.com/file/d/0B_FTpAj7C52FUVFicGpUUnlWSzQ/view?usp=sharing
図1よりsステップでずれがz1あるのですが、ひとまずz1=1とおいてみます。(※)
2sステップでz2>z1、3sステップでz3>z2>z1なので、少なくとも3>2>1が成り立って、
3sステップでずれ3になりました。 さて(※)の部分ですが、実はz1が1より小さい可能性もあるわけです。
そこで、図2のように、sの左端を伸ばすパターンの右端傾きが真にlog(3/2)より小さいなら、
ずれz1は1より大きい事が言えます。
よって現状は、
左端を伸ばすパターンの右端局所的傾きがlog(3/2)より小さいならば、
1〜nでコラッツの反例がなければ、周期n以下のループがない
が言えると思います。 俺の頭じゃいまいちついていけないが、頑張ってるようで何よりです。 ありがとうございます。
疑問点とかあったら遠慮なく質問してくださいねー
今までも穴だらけだったのでw >>600
正確には
左端を伸ばすパターンのn+1ステップ(以上?)の右端局所的傾きがlog(3/2)より小さいならば、
1〜nでコラッツの反例がなければ、周期n以下のループがない
が言えると思います。
「以上?」の部分がはっきりしないので、まだ詰めないといけないです。 微妙に変わっていますが、以下がまとめです。
周期sでループすると仮定する
->左端を伸ばすパターンのsステップ目の右端局所的傾きがlog(3/2)より小さいと仮定する
->sステップ目でずれは1以上になる
->3sステップ目でずれは3以上になる
->ループで一番小さい数をx_mとおいて、3s <= 3x_mだと矛盾する
->よってs > x_mである
1〜nでコラッツの反例がなければ、n < x_m < sである。
->周期n+1以下のループは存在しない
よって、
左端を伸ばすパターンのn+2ステップの右端局所的傾きがlog(3/2)より小さいならば、
1〜nでコラッツの反例がなければ、周期n+1以下のループは存在しない
が言えると思います。 やべえ。
大域的傾きより局所的傾きが常に大きい気がしてきた。 >>605を手直しするのですが、その前に大域的傾きと局所的傾きについて説明します。
大域的傾きは、左端を伸ばすパターンの式Y_s=x_0*(3/2)^sに対して
2の対数目盛をとってlogY_s=logx_0+slog(3/2)となるので、log(3/2)です。
局所的傾きは、初期値x_0のsステップ目で
([logx_0+slog(3/2)]-[logx_0]+1)/(s+1)
になります。
log(3/2)=0.58496250072115619 をふまえて
局所的傾きdを少しだけ計算すると
x_0 s d
1 3 0.5
3 100000までlog(3/2)より大きい
5 6 0.571
7 100000までlog(3/2)より大きい
9 11 0.583
で、3と7だけlog(3/2)より小さいのが見当たらないのは(全てのsで大きいかは分かりません)、
2^n-1だからだと思います。
2^nに近づく程、logx_0の小数部分が大きくなって、繰り上がりが起こりやすいのだと思います。 >>605を手直しすると、
初期値x_0で周期sでループすると仮定する、x_0がループ内最小となるように調整する
->左端を伸ばすパターンのsステップ目の右端局所的傾きがlog(3/2)より小さいと仮定する
->sステップ目でずれは1以上になる
->3sステップ目でずれは3以上になる
->ループで一番小さい数はx_0で、3s <= 3x_0だと矛盾する
->よってs > x_0である
1〜nでコラッツの反例がなければ、n < x_0 < sである。
->周期n+1以下のループは存在しない
よって、
左端を伸ばすパターンのn < x_0 < sステップの右端局所的傾きがlog(3/2)より小さいならば、
1〜nでコラッツの反例がなければ、周期n+1以下のループは存在しない
が言えると思います。 5*2^60に適用すると、
n < x_0 < sにおいて
n=5*2^60、x_0=5*2^60+1、s=5*2^60+2とおいて、
([logx_0+slog(3/2)]-[logx_0]+1)/(s+1) は、
≒([62.535 +2.9248*2^60+1.169]-62)/(5*2^60+3)
≒3372064816674106002/5764607523034235003
≒0.584959 となってlog(3/2)より小さくなりました。
よって、現状、周期5*2^60+1以下のループは存在しない
事が言えました。 ほほう?俺じゃ検証できないけどこれは世間的にも新しい成果じゃないの?
専門家の判定が欲しいですね。 >>609
> よって、現状、周期5*2^60+1以下のループは存在しない
> 事が言えました。
610さんも書いてるけど、これが本当ならばとても面白い結果だね。
新規性があるのか既に知られていた結果なのか知りたいところ。
以前、このスレだったと思うけど、紹介されてたアメリカ数学会から出てるコラッツ予想の現状に関する論文集とかには何か載ってない?
この結果を研究レポートの形に纏めて日本の大学の数学科で関連ありそうな先生とかに郵便で送って意見を求めるなり
より適切な先生を紹介して読んで意見をもらうのが良いんじゃない? The Ultimate Challenge: The 3x+1 Problem
今さらポチりました。届くまで一ヶ月かかるみたいです。
別の大学に移られた、高専時代にお世話になった教授に、レポートとして送ってみようかな、
どうしようかなと思っているところです。 コラッツの問題. 浦田敏夫著. (愛知教育大学ブックレット, . 数学/数理科学セレクト|| スウガク スウリカガク セレクト ; 1)
定義を明確にして何を前提に何を示したのかはっきりわかるように書けばコラッツ本を出してる先生なら比較的受け入れてくれやすいかもよ。 情報ありがとうございます。
Web上にpdfがあったので読んでみます。 >>614の本を読むと、
(奇数)周期12500以下のループは存在しない
事は初等的に証明できるみたいですね。
あと、(1+1/3x_0)の形の式もありました。 問題発生です。
n < x_0 < sにおいて、x_0が1にたどり着いたらどうなるでしょう。
x_0はループする仮定なので、x_0<sが言えなくなってしまいます。
5*2^60+1は1にたどり着く事を確認したので、
>>609の計算は無意味になってしまいました。
『ループするx_0』の左端を伸ばすパターンのsステップ目の右端局所的傾きがlog(3/2)より小さい(※)
事を言わないといけないので、具体的な数を当てはめて計算することは出来ないように思います。
(x_0をものすごい大きい値にしても、そのコラッツ遷移が1にたどり着いた時点で無効です)
よって、>>608までは言えても、具体的な数の周期以下のループは存在しない、とは言えないです。
全ての自然数で(※)が言えれば良いのですが…… ごちゃごちゃしてすみません。
いけるかもしれないので、しばらくお待ちください。 今までのレスはなかったことにして、まっさらな気持ちでご覧ください。
・前準備1
例えばx_sが7,11,17,13,5,17,13,5……とループするなら、先頭2項は外して、
さらに最小値をx_0とおいて、5,17,13,5,17,13……にします。
例ではx_3=x_0になります。
・前準備2
x_0~x_s-1がループ1周期として(x_0=x_s)、コラッツパターンX_sと左端を伸ばすパターンY_sのビット長は
[logY_s] = [log(x_0*(3/2)^s)]
[logX_s] = [log(x_0*(3/2)^s)+log(1+1/3x_0)…(1+1/3x_s-1)]
です。このときの[logY_s]と[logX_s]のずれがあってもなくても、周期を重ねるごとに[logX_s]と[logY_s]の差は
2log(1+1/3x_0)…(1+1/3x_s-1)、3log(1+1/3x_0)…(1+1/3x_s-1)、……と増大するので、
ずれも際限なく増大していきます。 x_s=x_0でループするとすると、
x_s=x_0*3^s/2^t*(1+1/3x_0)…(1+1/3x_s-1) なので
1<(1+1/3x_0)…(1+1/3x_s-1)=2^t/3^s
3^s < 2^t です。
ここから
2^t > 3^s
tlog2 > slog3
t/s > log3 = log(3/2)+log2
(t-s)/s > log(3/2)
です。 ここで図を使います。
(t-s)/sはコラッツパターンの左端傾きで、log(3/2)は左端を伸ばすパターンの右端傾きです。
https://drive.google.com/file/d/0B_FTpAj7C52FUVFicGpUUnlWSzQ/view?usp=sharing
(t-s)/sとlog(3/2)の交点をs'とおくと、
0=logx_0+s'log(3/2)-(t-s)/s*s' より
[s']=[logx_0/(t/s-log3)] < 3x_0 ……(1)
です。
左端を伸ばすパターンの
大域的傾きは、左端を伸ばすパターンの式Y_s=x_0*(3/2)^sに対して
2の対数目盛をとってlogY_s=logx_0+slog(3/2)となるので、log(3/2)です。
局所的傾きは、初期値x_0のsステップ目で
([logx_0+slog(3/2)]-[logx_0]+1)/(s+1)
になります。 局所的傾きが大域的傾きより大きいとすると、
[logx_0+slog(3/2)]-[logx_0]+1 > (s+1)log(3/2) で、
左辺が最大になるのは
[logx_0]+[slog(3/2)]-[logx_0]+1 > (s+1)log(3/2)
[slog(3/2)]+1 > (s+1)log(3/2) ……(2)
です。
例えばslog(3/2)=1.9とすると
(2)は 3 > 2.485 となります。
slog(3/2)=1.1とすると
(2)は 3 > 1.685 となります。
よって最大2の差が生まれます。
従ってlogx_0を5bit以上にとれば、
ずれは3以上になります。 [s']のところを考えます。
X_[s']を3ビット(以上)下位へシフトしてずれを消します。これをXX_[s']とおきます。
XX_[s']=x_0*(3/2)^[s']*(1+1/3x_0)…(1+1/3x_[s']-1)/k とします。
[logXX_[s']] - [logY_[s']] = 0 から始めて
[log(x_0*(3/2)^[s'])+log(1+1/3x_0)…(1+1/3x_[s']-1)/k] - [log(x_0*(3/2)^[s'])] = 0
切り上げを外して
-1 < log(1+1/3x_0)…(1+1/3x_[s']-1)/k < 1
logを外して
1/2 < (1+1/3x_0)…(1+1/3x_[s']-1)/k < 2
ここで、
x_0からx_s-1のうちで最小はx_0かつ、(1)より
(1+1/3x_0)…(1+1/3x_[s']-1) < ((1+1/3x_0)^3x_0)^([s']/3x_0) < (1+1/3x_0)^3x_0 < e
なので、
(1+1/3x_0)…(1+1/3x_[s']-1)/k < e/8 ≒ 0.339
となって1/2を下回って矛盾します。
よって、4-2-1ループを除いて、ループする数はない
と言えるのではないかと思うのですが、どうでしょうか。 >>623を差し替えます。
局所的傾きが大域的傾きより大きいとすると、
[logx_0+slog(3/2)]-[logx_0]+1 > (s+1)log(3/2) で、
天井関数の定義から
logx_0+slog(3/2)+1 -logx_0-1 +1 > [logx_0+slog(3/2)]-[logx_0]+1 > (s+1)log(3/2)
slog(3/2)+1 > (s+1)log(3/2)
1 > log(3/2)
となって、最大で約0.415大きい事になります。
従ってlogx_0を4bit以上にとれば、
ずれは3以上になります。 >>621
このイコールが成り立つ理由がよくわからないです。
(1+1/3x_0)…(1+1/3x_s-1)=2^t/3^s >局所的傾きが大域的傾きより大きいとすると
現状ここは真偽不明なんでしょうか? https://drive.google.com/file/d/0B_FTpAj7C52FUVFicGpUUnlWSzQ/view?usp=sharing
局所的傾きが大域的傾きより大きくても小さくても問題ないという事です。
局所的傾き<大域的傾きの場合は、
ずれがlogx_0になって、これが3以上なら問題ないです。
局所的傾き>大域的傾きの場合は、
ずれがlogx_0より小さくなるので、検討が必要です。
これでも問題ない事を言ったのが、>>625です。 すまん。
やっぱ俺にはついていけないorz orz orz.
だれか頭の良い奴が来てくれればいいんだが。 アルティメットチャレンジ届きました。
思ってたより薄くて良い感じです。
パラパラとめくったところ、
自分の考察やコラッツパターンに似たものは無いですねえ。 アルティメットチャレンジとやらに載ってる現状出ている成果ってどんな感じ? >>632
こんなところですかね。
(W1)5*2^60までは反例がない
(W2)非自明なループがあればその周期は10439860591以上、奇数周期では6586818670以上
(W3)無限に多くの正の整数nは、コラッツ操作で1にたどり着くまでに、少なくとも6.143lognステップかかる((3x+1)/2でやる)
(W4)The positive integer n with the largest currently known value of C,
such that it takes Clogn iterations of the 3x+1 function T(x)((3x+1)/2でやる) to reach 1,
is n=7219136416377236271195 with C ≒ 36.7169. わかんねえ
(W5) >>513
後は細かい成果がつらつらと載っているんですが、僕の頭じゃ追えないです。 これからやること
1.>>620-625の細切れCoq証明とpdf化
2.無限大に発散する方をぼんやり考える
2.だけど>>504を考えています。
(これを書いてくれた事はとてもありがたいです。自分ではとても思いつかなかった)
詳細は書けませんが、>>504から、
無限大に発散する初期値があれば、それは無限個存在するのか?などと思っております。
あと、「ランダムになりたがってる」の方のレスを読み返したりしています。 グッドスタインの定理というのがあって
これはペアノ算術では証明も否定もできないらしいんだが
コラッツの予想もペアノ算術では証明も否定もできないとかあり得るんだろうか 当然あるけど、そっちの方向で成果があるのかどうかは知らない。 ペアノ算術で否定できなかったら
ループの反例はないと言えるかな >>640
すまんw。俺も全然詳しくはないんだが
ループの反例があれば、それを具体的に示せばいいだけだからペアノ算術の範疇かなと思った。
然詳しくはないんだが ・ループがある→ペアノ算術で証明できる
・ペアノ算術で証明できない→ループはない
ですか。 俺は全然詳しくないのであれだが、
ペアノ算術で証明できないと一口に言っても肯定が証明できないのか否定が証明できないのかで微妙に違うのかもしれん。
正直よくわからん。
誰か詳しい人help Af(xs)を、無限リストを引数に取り、コラッツ遷移が発散したら停止し、
そうでなければ走り続ける関数とします。
このとき、以下の関数Hは存在しません。
・Af(xs)の実行は停止する ⇒ H(Af,xs)はTrueを出力する。
・Af(xs)の実行は停止しない ⇒ H(Af,xs)はFalseを出力する。
Hが存在すると仮定して、
M(B(fix B))を、H(M,B(fix B))=TrueならM(B(fix B))自身は停止せず(無限リストを吐く)、
H(M,B(fix B))=Falseなら[1]を出力してM(B(fix B))を停止するプログラムとする。
・M(M(fix M))が停止したとすると、Mの定義よりH(M,M(fix M))=False。
Hの定義より H(M,M(fix M))=FalseとなるのはM(M(fix M))が停止しないときのみなので、矛盾。
・M(M(fix M))が停止しないとすると、Mの定義よりH(M,M(fix M))=True。
Hの定義より、H(M,M(fix M))=TrueとなるのはM(M(fix M))が停止するときのみなので、矛盾。
よってHは存在しない。⇒コラッツ遷移を上から押さえる関数を決定するプログラムは存在しない。
いかがでしょうか。 ・ソース
module Collatz08 where
import Control.Monad.Fix
col :: Integer -> Integer
col 1 = 1
col x = if odd x then 3*x+1 else x `div` 2
af :: [Integer] -> [Integer]
af xs = concat $ map af' xs
af' :: Integer -> [Integer]
af' x = (\z -> z ++ [1])
$ takeWhile (1/=)
-- x*100を任意の関数にする
$ takeWhile (\y -> if x*100 > y then True else error "over!")
$ iterate col x
-- この関数が定義できない
h :: ([Integer] -> [Integer]) -> [Integer] -> Bool
h _ _ = False
m :: [Integer] -> [Integer]
m xs = if h m xs then [1..] else [1] ・実行結果
*Collatz08> af [1..]
[1,2,1,3,…,2158,1079*** Exception: over!
*Collatz08> h af [1..]
False
*Collatz08> m (m (fix m))
[1]
実際の挙動とは異なりますが、型が合っている事は確認できます。 どこに「Hがコラッツ予想である」ことが使われてるのかさっぱりわからん。
これじゃコラッツの予想に関しては何も言えないはずと思うが??? コラッツ遷移を表したAfの停止性を求めるHが存在しないのだから、
コラッツ予想について言えると思うのですが…… >>646のどこに偶数なら2で割り奇数なら3掛けて1足すというコラッツの要素が出てくるんだよ
Af(xs)で仮定してるのは「発散したら停止し、そうでなければ走り続ける関数」だけだろ?
発散するかどうかだけが問題でコラッツの特性は全く使われてないじゃん? 実際に>>647の(colの)ように実装したら
コラッツを使っていると言えるのではないでしょうか。 col x = if odd x then 3*x+1 else x `div` 2
この部分をほかの式にしても同様の議論が成り立っちゃうんじゃないの?ってこと
同様の議論が成り立つなら特にコラッツの予想について特別なことが言えてるんじゃなくて
もっと一般的なことしか言えてないってことになると思った。 Afにはコラッツも例えばゴールドバッハもフェルマーの最終定理も含める事ができて、
フェルマーは停止しないからH(フェルマー)は定義できる。
一般のHが存在しないからといって、個別のH(コラッツ)やH(ゴールドバッハ)が存在しないとは言えないのですね。
ダメということで、ありがとうございました。 馬鹿の考え休むに似たり
個別の知識を振り回しても正しい議論はできない
「この議論にはコラッツ由来の性質が使われてないから何かがおかしい」
という嗅覚が働かない人間はスタートラインにも立てない
コラッツ予想に限らんがね
永遠に低レベルな領域をぐるぐる回り続けて間違え続けるだけ
時間の無駄だな >>656
人生は死ぬまでの暇潰しだからいいんだよ。そんなもんで。 でもちょっとした指摘で間違いを修正できたんなら>>1は見込みあるんじゃないか >>620-625の細切れCoq証明を書きます。
Require Import Arith.
Require Import Omega.
Require Import Rbase.
は共通です。 >>621の前段
(** 1<(1+1/3x_0)…(1+1/3x_s-1)=2^t/3^s -> 3^s<2^t *)
Theorem t1:
forall (x_0 x_s multi s t :nat),
x_0=x_s -> x_s<>0 -> 3^s<>0 ->
3^s*multi > 1 ->
multi > 1 ->
2^t * x_s = x_0 * (3^s * multi) -> 2^t/3^s > 1.
Proof.
intros.
rewrite H in H4.
apply Nat.div_unique_exact in H4.
rewrite Nat.div_mul in H4.
assert(forall (a b:nat), a=b -> b=a).
intros.
omega.
apply H5 in H4.
apply Nat.div_unique_exact in H4.
rewrite H4 in H3.
auto.
auto.
auto.
auto.
Qed. >>621の後段
(** tlog2>slog3 -> (t-s)/s>log(3/2) *)
Variable log2 : nat -> nat.
Theorem t2:
forall (s t:nat),
s<>0 -> log2 2=1 -> t*log2 2 >= s*log2 3 -> t/s-1 >= log2 3 -1.
Proof.
intros.
rewrite H0 in H1.
ring_simplify in H1.
apply Nat.div_le_lower_bound in H1.
apply (Nat.sub_le_mono_r (log2 3) (t/s) 1) in H1.
auto.
auto.
Qed. >>622
(** 0=logx_0+s'log(3/2)-(t-s)/s*s' -> s'=logx_0/(t/s-log3) *)
Variable log2Z : Z -> Z.
Open Scope Z.
Theorem t3:
forall (x0 s t s':Z),
s <> 0 ->
t/s -log2Z 3 <> 0 ->
0=log2Z x0+s'*(log2Z 3 -1)-(t+(-1)*s)/s*s' -> s'=log2Z x0/(t/s-log2Z 3).
Proof.
intros.
rewrite (Z.div_add t (-1) s) in H1.
ring_simplify in H1.
apply (Zplus_minus_eq) in H1.
ring_simplify in H1.
apply (Zplus_minus_eq) in H1.
assert(forall (a b c:Z), -a=-b-c -> a=b+c).
intros.
omega.
assert(forall (a b:Z), -a*b = -(a*b)).
intros.
ring_simplify.
auto.
rewrite H3 in H1.
apply (H2 (log2Z x0) (s'*(t/s)) (-s'*log2Z 3)) in H1.
ring_simplify in H1.
rewrite <- (Zmult_minus_distr_l (t/s) (log2Z 3) s') in H1.
assert(forall (a b:Z), a*b=b*a).
intros.
ring_simplify.
auto.
rewrite H4 in H1.
apply Z.div_unique_exact in H1.
auto.
auto.
auto.
Qed.
Close Scope Z. >>625
(** [logx_0+slog(3/2)]-[logx_0]+1 > (s+1)log(3/2) -> 1 > log(3/2) *)
Variable up : nat -> nat.
Theorem t4:
forall (x0 s:nat),
(forall (x y z:nat), up(x)-up(y)+1>z -> x-y+1>z ) ->
up(log2 x0 + s*(log2 3 -1)) -up(log2 x0) +1 > (s+1)*(log2 3 -1) ->
1 > (log2 3 -1).
Proof.
intros.
apply (H (log2 x0 +s*(log2 3 -1)) (log2 x0) ((s+1)*(log2 3 -1))) in H0.
assert(forall (a b c:nat), a+b-a+1>c -> b+1>c).
intros.
omega.
apply H1 in H0.
ring_simplify in H0.
omega.
Qed. >>624の前段
(** [logXX_[s']]-[logY_[s']]=0 -> 1/2<(1+1/3x_0)…(1+1/3x_[s']-1)/k *)
Theorem t5:
forall (XX A multi k:nat),
(forall (x y z:nat), up(x+(log2 y)/z)-up((log2 y)/z)=0 -> 1<2*y/z ) ->
XX=A+(log2 multi)/k ->
up(XX)-up((log2 multi)/k)=0 -> 1<2*multi/k.
Proof.
intros.
rewrite H0 in H1.
apply H in H1.
auto.
Qed. >>624の後段
(** k<2*multi -> multi*100<271 -> k>=8 -> False *)
Theorem t6:
forall (k multi:nat),
k<2*multi ->
multi*100<271 ->
k>=8 -> False.
Proof.
intros.
omega.
Qed.
以上になります。 sとtの関係ってコラッツの式から出てくるんじゃなかったっけ?
コラッツの式はどこにあるんだろう >>660の8行目の
2^t * x_s = x_0 * (3^s * multi) -> 2^t/3^s > 1.
なのですが、左の式を変形すると
x_s = x_0 * 3^s / 2^t * (1+1/3x_0)…(1+1/3x_s-1)
です。 (1+1/3x_0)…(1+1/3x_s-1)=multiです。
このようなこすい変形が随所に出てきます。
(そうしないと解けなかった) 仮定の一番初めのx_0=x_sというのはどこから来るんだっけ?
スマンなよく分かってなくて もしループがあったら、という背理法を使っているので、
x_0=x_sです。 マリオメーカーはチューリング完全
http://www.ni covideo.jp/watch/sm30573682
110ルールというのが面白い コラッツパターンもチューリング完全、とか分かったら面白いのかなあ。 まあ望み薄だろうな。
チューリング完全なら計算が停止しないパターンがあるはず? 左端を伸ばすパターンはチューリング完全と言えるかもだけど、
それをコラッツパターンにどう繋げたら良いか分からないです。
現状なんにも出来てないです。 チューリング完全、ムリでした……
ループのほうのpdfはゆっくりと書いています。 作成途中ですが、上げておきます。
今は別の事を考えているので中断します。
やる気がなくてすみません。
4-2-1以外のループが無い事の証明
https://drive.google.com/open?id=0B_FTpAj7C52FczVBdmNNZWYwR1k
おつ
俺の実力じゃ読み解けないけど読みやすさを意識して書いたんだろなてのは伝わってくるよ。 結局この証明の胆ってどこなんだろうな。よくわからん。
ごちゃごちゃ式変形してるけど一見、そこからは特別な情報は出てこなさそうに見えるんだよなぁ
俺にもうちょっと実力があれば付き合ってやれるんだが、すまんな。 >>679
胆は5ページ目の
(1+1/3x_0)...(1+1/3x_{[s']-1})がeより小さい
ところかな、と思います。 あと、ループする仮定のもとで、
コラッツパターンの左端傾き(t-s)/sと、 左端を伸ばすパターンの右端傾きlog(3/2)
が交差する事も重要だと思います。 コラッツパターンの左端とか左端を伸ばすパターンの右端ってのは直線なの? ループするてことは一周して増えもしないし減りもしないってことだけど
この証明は一周する度に何が減るって議論してるような?
何が減ってるんだろう? >>684
>>620の前準備2より、ループを重ねるたびに、
コラッツパターンと左端を伸ばすパターンのずれが「増える」のです。
で、コラッツパターンの左端と、左端を伸ばすパターンの右端が交差する所で
ずれが3以上になって、
その場所で矛盾するのです。 >[logY_s]と[logX_s]
すまん、この記号[ ]の意味はなんだっけ?切り上げ? >>687
[ ]はガウスの記号、つまり端数を丸めて(絶対値で見た時に切り捨てて)整数にする演算のことじゃないの? >>688訂正
すまん、ガウスの記号の意味は正負どちらでもそれ以下の最大の整数にする演算、つまりfloorと同じ意味だった
ともかく[ ]はガウスの記号だと思うよ
(なぜかガウスの記号には高校数学だと[ ]を使うのに対して、大学以上の数学だと下だけに爪が出てる記号(つまり」とその左右反転形)を使うよね) コラッツパターンは、コラッツの操作によって得られるもともとの情報群。
複雑すぎて手に負えない。
左端を伸ばすパターンは、コラッツパターンから
情報を落とすことで得られるポンコツな指標。
操作を進めるごとに情報が落ちていくので、どんどん精度が悪くなる。
こんなものがコラッツパターンの実態を捉えているなんてあり得ないので、
コラッツパターンと比較したところで大して得るものは無い。
「左端傾き」「右端傾き」といった考え方もゴミである。
離散的な対象に対して、大域的にであれ局所的にであれ「傾き」に相当する量を
定義したところで、それは極めて大雑把な荒い指標にしかならない。
そんな頼りない道具だけでコラッツ予想が制御できるわけがない。 ・・・と、御託はこのあたりにして、具体的に間違いを指摘する。
>>677の(17)の不等式が完全に間違っている。(17)では
[s']=[(log_2 x_0)/(t/s−log_2 3)] < 3x_0
となっているが、分母の (t/s−log_2 3) が非常にゼロに近い場合、
[s']
= [(log_2 x_0)/(t/s−log_2 3)]
= [(log_2 x_0)/(ほぼゼロ)]
= [(log_2 x_0) * (1/ほぼゼロ)]
= [(log_2 x_0) * 滅茶苦茶デカイ係数 ]
> 3x_0
となり得るので、この場合、不等号が逆転することになる。
「このような可能性は実際には起こらず、確実に [s'] < 3x_0 が成り立つ」
と言うのであれば、そのことを証明しなければならない。
しかし、末尾の coq では証明されていない。
「図を使って傾きを比較することで [s'] < 3x_0 が成り立つ」
と言っているようにも見えるが、図が無い上に、それぞれのパターンを
どのように配置してどこを原点としてどのようにして直線の傾きを
比較するのか文章からは読み取れないので判断のしようがない。 なお、きちんと精査はしていないが、
(1)〜(23)のうち、(17),(22),(23)を除く全ての式は
おそらく正しいと思われる。なぜなら、これらの式では
・ 記号の定義
・ 単なる等式の変形
・ 自明な評価による自明な不等式の導出
のいずれかの行為しか行っていないからだ。
パターンのずれとか傾きの違いがどうこうなどと
御託を並べているものの、その実態は上記の3項目のみである。
ちなみに、(22),(23)で間違っている箇所は、途中で(17)を使っているところであり、
それゆえに間違いとなる。従って、実質的には(17)のみが間違いとなる。
そして、それ以外の個所では上記の3項目による自明な行為しか行っていないので、
結局、>>677ではコラッツ予想の難しさを(17)に責任転嫁しているだけということになり、
コラッツ予想について何も言えていないことになる。 指摘ありがとうございます。見直したところ、
(t/s−log_2 3) > 0 のところを、
(t/s−log_2 3) > 1 と勘違いしていました。
またしてもダメでした……
お騒がせしました。 乙。
頭の良い奴が来てくれたか。
俺も力になれればいいんだが、なかなか難しい。 ☆☆☆馬鹿板は数学徒の脳を腐らせる悪い板であり、そやし廃止してナシにすべき。☆☆☆
¥ ¥さんが数学板に極めて批判的であるのは良く承知していますが、このスレは荒らさないであげて下さいよ
珍しく自分なりに数学をやっている人がその研究経過について報告してくれているのですから
数学板のすべてのスレが腐っているわけではありません
他の板でも腐っているスレもあれば数学板でもこのスレのように「数学」という言葉本来の目的で使用されているスレもあるのですから
また数学板の全てのスレで各スレの投稿者や読者の集合が一致しているわけでもありません
(もしそうだと主張なさるならば数学の証明として通用するレベルの論理的な証明か又は2ちゃんねる数学板のログのような客観的で確実な証拠でもご提示ください)
板で腐っているかいないか決めつけるのは人の知性の有無を国籍や肌の色で判断するのと同じ乱雑で反知性的な判断であって
数学や知性を愛する¥さんに相応しい行動とは思えません
スレ主さんや他の住人の方々、スレ違いの投稿失礼しました 昔からあるスレ攪拌のためのスクリプトかなんかじゃないのかね ☆☆☆馬鹿板は数学徒の脳を腐らせる悪い板であり、そやし廃止してナシにすべき。☆☆☆
¥ >>706
現代数学の系譜スレでは¥氏はちゃんと会話をなさってるので
こちらが適切に発言すれば言葉は通じると思ったわけです メルセンヌ素数 2^110503 - 1 って
止まらないことないですか? 計算機でまわしたのか?
単にデカいから時間かかってるだけじゃないのか? 2^110503-1が大体30000桁で、
10時間程走らせて、今45000桁ぐらいなのです。
また止まったら報告します。 2^n-1をコラッツの操作かけると3^n-1になるんだろ?30000桁が45000桁になってもさほど特別とは思わんな >>725で指摘されてるが、2^n-1から始めたいなら、
バカ正直に2^n-1からスタートさせるのではなく、
3^n-1からスタートさせないと無駄にも程があるな ちなみに>>1の計算機だと30000万桁の数値に対して何コラッツステップ/secくらいのスピードで計算できんの? 奇数→奇数を1ステップとして、
2361コラッツ奇数ステップ/sec ぐらいですかね。 すまん、聞いてはみたものの速いのか遅いのかよくわからんw
プログラム言語は何使ってんの? 僕もよく分からないですw
言語はHaskellを使っています。多倍長整数が標準搭載されているので。 Haskellか〜
プロトタイプ作るのには良いかもしれんが計算ぶん回すのにはどうなんだろ?
C++とまではいかなくても速度高めの言語も試してみるといいかもね。 そうですね、考えてみます。
そういえば今年の始め頃にこんなことをやっていました。
Go,C++,F#,Haskellでコラッツを計算してみた
http://d.hatena.ne.jp/righ1113/20170209#1486589174 ん〜haskell最速ってホンマかいなw
どんな理屈でそういう結果になるのか想像つかないw haskellだけ多倍長になってないとかかなぁ
うーん。なんか違和感あることはある。 多分、多倍長整数と並列計算の組み合わせが
低コストで上手くいっているのがHaskellだと思います。
自信は無いですがw >>726
3^110503-1で再チャレンジしました。
一日かかって40000桁まで下がったのですが、これ以上続けるのはしんどいです。
グダグダですみません。 停止するかどうかを 3^110503-1 のときに
確かめようとしてる時点で既にグダグダだけどな。
なぜなら、どうせ停止するに決まってるからだw
それが 1 になるかは分からないが、少なくとも
停止することは確実だと予想してよいだろう。
無論それ自体も未解決ではあるのだが、
停止「しない」ことが期待されるような良い根拠はどこにも無く、
逆に必ず停止すると思しき良い根拠はいくつもあるわけで。 例えばループする自然数があったとして、ループの周期が非常に長く履歴がメモリに納まらないようなことが想定される場合、
ループを検出するアルゴリズムとしてどのようなものが考えられるだろうか? >>739
1ステップずつ移動するのと2ステップずつ移動するのを用意して
同時に走らせて、両者の値が一致するかどうかを毎回チェックする。
一致したらループに入ってるし、逆にループに入ってたら
必ず一致するタイミングが訪れる。 〔問題〕
自然数nを1つ選び、2nを元に3倍して2を足す操作をk回繰り返す。
k を 1,2,3,… とすると、いつかは 2の累乗になる?
一般項 (3^k)(2n+1)- 1
http://rio2016.5ch.net/test/read.cgi/math/1502032053/171-179
面白スレ24 ABC予想が解かれたとかなんとか
コラッツも解けるといいですね >>754
そうですね〜
成果は出ていないのですが、もう少しだけ頑張ってみます。 >>570-576を再掲します。
・前準備1
例えばx_sが7,11,17,13,5,17,13,5……とループするなら、先頭2項は外して、
さらに最小値をx_0とおいて、5,17,13,5,17,13……にします。
例ではx_3=x_0になります。
・前準備2
x_0~x_s-1がループ1周期として(x_0=x_s)、コラッツパターンX_sと左端を伸ばすパターンY_sのビット長は
[logY_s] = [log(x_0*(3/2)^s)]
[logX_s] = [log(x_0*(3/2)^s)+log(1+1/3x_0)…(1+1/3x_s-1)]
です。このときの[logY_s]と[logX_s]のずれがあってもなくても、周期を重ねるごとに[logX_s]と[logY_s]の差は
2log(1+1/3x_0)…(1+1/3x_s-1)、3log(1+1/3x_0)…(1+1/3x_s-1)、……と増大するので、
ずれも際限なく増大していきます。 ループ1周期sで、コラッツパターンと左端を伸ばすパターンのずれが1、3周期でずれが3と仮定します。
X_3sを3ビット下位へシフトしてずれを消します。これをX_3s'とおきます。
X_3s'=x_0*(3/2)^3s*(1+1/3x_0)…(1+1/3x_3s-1)/8 です。
[logX_3s'] - [logY_3s] = 0 から始めて
[log(x_0*(3/2)^3s)+log(1+1/3x_0)…(1+1/3x_3s-1)/8] - [log(x_0*(3/2)^3s)] = 0
切り上げを外して
-1 < log(1+1/3x_0)…(1+1/3x_3s-1)/8 < 1
logを外して
1/2 < (1+1/3x_0)…(1+1/3x_3s-1)/8 < 2
ここで、x_0がループ中最小で、s<=x_0ならば、
(1+1/3x_0)…(1+1/3x_3s-1) < ((1+1/3x_0)^3x_0)^(3s/3x_0) <= (1+1/3x_0)^3x_0 < e
なので、
(1+1/3x_0)…(1+1/3x_3s-1)/8 < e/8 ≒ 0.339
となって1/2を下回って矛盾します。よってs>x_0です。 まとめると、
ループ1周期sで、コラッツパターンと左端を伸ばすパターンのずれが1、3周期でずれが3としたとき、
s > x_0(ループ中の最小値) です。
あるいは同じことですが、
ループ1周期でずれが1、3周期でずれが3としたとき、
1〜nまででコラッツの反例がなければ、
n周期以下のループは存在しない です。 新しい証明を考えました。
https://github.com/righ1113/collatzProof
ポイントは、「最下位からの連続するビット1の個数」の帰納法で考えることです。 >>761
すみませんが、よく分からないです。
1回でも小さくなることを証明すれば、十分じゃないでしょうか。
nの全ての値がコラッツ操作で小さくなる→n+1の全ての値がコラッツ操作で小さくなる
が言えるので、帰納法により、全ての値がコラッツ操作で小さくなる
ことが言えると思います。 8x+3(n=2)→12x+5(n=1)→18x+8(n=0)→9x+4(n=?)
補題1-2がn=1の場合に偽じゃねえかな 【補題1-2】を次のように変更します。
旧:¬smaller(n+1)ならば、¬smaller(n)である。
新:¬smaller(k+2)ならば、¬smaller(k+1)である。
これにより、この命題でのsmallerの引数が2以上に制限されます。
>>763の例は
8x+3(n=2)→12x+5(n=1)→ここで打ち止め
となり問題を回避できます。
GitHubも更新しました。 問題は「最初の数より小さくなる」かどうかだから次は16x+7で同じことになるね
・2x→x
・4x+1→3x+1
では小さくなっているが
n>2では「最初の数より小さくなる」ことが保証できんのだ
2x→xによって整数全体に移るせいで問題がフラクタル構造持ってる
再帰的な解決はここを回避しないと封じられてしまう気がする >>765
すみませんよく分からないです……
じっくり考えてみます。 8x+3(n=2)→12x+5(n=1)=4(3x+1)+1→3(3x+1)+1
^^^^^^^^^^^^^^^^^^^^
ここでは小さくなっているが、
^^^^^^^^^^
この最初の数より小さくなっていない、でしょうか。
理解しました。 ◆◆◆■■■■ 15→127
□◆◆■■■□■ 23→95
□□◆■■□□□■ 35→71
□□□■□■□■■ 53
□□□□□□□■□■ 5
□□□□□□□□□□■ 1
新しいコラッツパターンを考えました。
◆を追加します。
すると、nの大小=x_sの大小が言えるので、
smaller(n+1)ならば、smaller(n+2)
が言えると思うのですが、どうでしょうか。 2x+1→6x+4→3x+2
2x+0→1x+0
をセットの操作として考える
xの係数は奇数なのでxの偶奇で次の偶奇が定まる
xを2x+1、2x+0で置換してもう1セット操作する
xの係数は奇数(というか3の冪)となるのでやはり次の偶奇はxの偶奇で定まる
あとは帰納法で「下位nビットがnセット操作分の変化を定める」のがわかる
下位ビット固定は固定した分しか定まらないのでうまくいかない印象 コラッツパターン2にしたら、
4x+1が小さくならなくなってしまいました。無念。 構成を大幅に変えました。
コラッツパターン2も変えました。 コラッツ問題の解決の役に立つかどうかはわからんが、思いついたので投下。
f:N→N
f(x)=x/2 (x:even)
f(x)=(3x+1)/2 (x:odd)
g:N×N→Z
g(x, n)=#{0<=i<n| f^i(x):odd}
とする。
このとき、0<k<=n に対し、
f^nは{x∈N|g(x, n)=k}上、広義単調増加である。
(i.e. x<y ⇒f^n(x)<=f^n(y))
例1. g(x, 3)=1
2→1→2→1
4→2→1→2
5→8→4→2
10→5→8→4
例2. g(x, 3)=2
1→2→1→2
3→5→8→4
6→3→5→8
9→14→7→11 以下、超略証。
(n=1)
f(2x+1)=3x+2
f(2x+0)=1x+0
(n=2)
f^2(4x+1)=3x+1
f^2(4x+2)=3x+2
(n>2)
k<=n に対し{x∈N|g(x, n)=k}は周期2^nを持ち、
f^n(x+2^n)=f^n(x)+3^k を満たす。
ここから異なる周期間の単調性が、
n=2からは周期の中での単調性が示せる。
(格子状の道の最短経路の曲がり方を一つづつ変えて行くように) >>774
>(格子状の道の最短経路の曲がり方を一つづつ変えて行くように)
ここがだめ(全順序にならん)なので不成立。
一定の条件のもとで、近い数は近くなる、くらいしか言えてないか。 1つ予想を立ててみた。
自然数全体の集合を N とする。
まず木を定義する。
定義
自然数 a に対し、集合 T(a) を
T(a) = {b∈N | a と b はコラッツ操作によって同じ数に到達する}
と定める。
T(a) の形の集合を木と呼ぶ。
コラッツ予想が真であることは、自然数全体が1つの木をなすことと同値である。
で、次のように予想した。
予想
T を木とし、n, k を自然数とする。
このとき、ある a∈T が存在して a≡k (mod n) が成り立つ。
コラッツ予想が正しければ、T は N に一致するので、明らかにこの予想は成り立つ。
逆にいえば、予想が成り立たないような T, n, k が存在する場合、コラッツ予想も偽であることになる。 基本的な操作を補題としてまとめておく。
補題
T を木とする。このとき以下が成り立つ。
(1) a∈T かつ a が偶数 ⇒ a/2∈T
(2) a∈T かつ a が奇数 ⇒ 3a+1∈T
(3) a∈T ⇒ 2a∈T
(4) a∈T かつ a が偶数かつ a≡1 (mod 3) ⇒ (a-1)/3 ∈ T
2つの自然数 a,b が同じ木に属することは、(1)〜(4) の繰り返しによって
一方から他方に移ることができることと同値。
さて、例えば n=1,2 の場合は予想は明らか。
n=3, k=1 or 2 の場合も難しくはないが、証明を述べておく。
命題
T を木とし、k=1 or 2 とする。
このとき、ある a∈T が存在して a≡k (mod 3) となる。
証明
任意に b∈T をとる。
b が 3 の倍数でない場合、b, 2b のいずれかが mod 3 で k に等しくなる。
2b∈T なのでOK。
b が 3 の倍数の場合、b=2^i*c (c は奇数) となるように非負整数 i, 自然数 c をとれば、
c∈T, c は奇数かつ 3 の倍数となる。
さらに 3c+1∈T であり、3c+1≡1 (mod 3) となる。
よって、上の場合に帰着されてOK。□
まだいろいろと書けることはあるけど、反応を見ながらということで。 考え方として、
いくつもの木を考えるのですか?
それとも1を含む木T1のみに注目するのですか? 全ての木を考えます。
それが1つなのか複数なのかは分かりませんが。 これを書こうと思って忘れていた。
コラッツ予想は初期値が奇数の場合だけ調べればいい、というのは明らかだが
>>786の予想が正しければそれを一般化できる。
すなわち、ある n, k について予想が正しければ、
「コラッツ予想は a≡k (mod n) を満たす自然数 a が初期値の場合だけ調べればいい」
と言える。
>>791>>792
よろしくお願いします。 modに関しては2と3には何かあるかもしれないが例えば5はどうか?といわれるとちょと疑問
今の時点ではね グラフ理論に「木」があるから名前は変えた方がいいかもね
グラフ理論といえば、コラッツ操作による有向グラフとしてなんかできないかなー、
と昔考えたけど、グラフ理論で扱われるのは有限頂点のグラフだった…… いや、まさにグラフ理論の木のつもりで書いたんじゃないか? というか「木」は数学では同値類になるか。
自分が書くならこんな感じ。
関数 f:N→N を
f(x)=x/2 (x:偶数) f(x)=3x+1 (x:奇数)とする
x,y∈Nに対し, x〜y⇔∃i,j∈N, f^i(x)=f^j(y)
は同値関係となる。 イメージは1を根とする木かな。
わからなくもないけど
・頂点が無限
・1→4→2→1のループがある
なのでなおさら木とは呼びづらい。 確かに「木」だと誤解を招いてしまうかもしれませんね。
「束」のように複数の意味で使われる例もありますが…
良い名称を思いついたら変えようと思います。 うーん、やっぱり木が一番しっくりくる。
もうしばらく様子を見ます。
同値類を用いた定義も承知していますが、
一応高校数学の範囲で理解できるよう上のように定義しました。
あと、グラフ理論では無限個の頂点や辺を持つグラフも扱っていたと思います。
予想についての結果をひとつ追加。
命題
任意の木は 3 の倍数を含む。
証明
T を木とし、任意に b∈T をとる。
b が 3 の倍数の場合、示すことはない。
b が 3 の倍数でない場合、
b は mod 9 で 1,2,4,5,7,8 のいずれか。
ここで、Z/9Z において 2 は原始根であるので、
b*2^d≡1 (mod 9)
を満たす d∈N が存在する。
b*2^d∈T かつ b*2^d は偶数で b*2^d≡1 (mod 3) なので、
c=(b*2^d-1)/3
とおくと c∈T である。
さらに b*2^d-1≡0 (mod 9) より c=(b*2^d-1)/3≡0 (mod 3) なので、T は 3 の倍数を含む。 □ ふーむ。
例えば同様の議論で他の倍数も通用したりするの? >>801
n=3^e, e∈N の形のときは同様に議論できます。これから書きます。
それ以外の場合、Z/3nZ において 2 が原始根になりえないので、全く同じ議論でというわけにはいきません。
n=4,8,16,… の場合は議論するまでもなく成り立ちますが…
ちなみに、ある n に対して n の倍数が木に含まれるかという問題は>>786の予想において k=0 の場合ですが、
n が奇数のとき、これは k が他の値の場合よりも難しいと思います。
n=3 の場合もそうでしたが、n=5 あたりを考えてみても分かります。
これもそのうち書こうと思います。
n=3^e, e∈N の場合を考える。
補題
任意の 2 以上の整数 e に対して 4^(3^(e-2)) ≡ 1+3^(e-1) (mod 3^e)
証明
e=2 のときは (左辺)=(右辺)=4 よりOK。
ある e で成り立つとすると、
4^(3^(e-2)) = 1+3^(e-1)+3^e*m, m∈Z
と表せる。このとき、
4^(3^(e-1)) = (1+3^(e-1)+3^e*m))^3 ≡ 1+3^e (mod 3^(e+1))
より、e+1 でも成り立つ。□
(続く) 補題
e を 2 以上の整数とする。
このとき、Z/(3^e)Z において 2 は原始根である。
証明
2 の位数を d とおく。
2^d≡1 (mod 3^e) より 2^d≡1 (mod 3)
したがって、d は偶数である。
また、d は φ(3^e)=2*3^(e-1) の約数である。
ここで、前補題より
2^(2*3^(e-2)) = 4^(3^(e-2)) ≡ 1+3^(e-1) ≠ 1 (mod 3^e)
(≠は「≡でない」を表すとする)
なので、d=2*3^(e-1) となるしかない。
したがって、2 は原始根である。□
定理
T を木、e を 2 以上の整数、k を 任意の自然数とする。
このとき、ある a∈T が存在して a≡k (mod 3^e) が成り立つ。
証明
・ k が 3 の倍数でない場合
3 の倍数でない b∈T を任意に取る。
2 が Z/(3^e)Z の原始根であることから、
b*2^d≡k (mod 3^e)
を満たす d∈N が存在する。
a=b*2^d とすればよい。
・ k が 3 の倍数である場合
3 の倍数でない b∈T を任意に取る。
2 が Z/(3^(e+1))Z の原始根であることから、
b*2^d≡3k+1 (mod 3^(e+1))
を満たす d∈N が存在する。
このとき、a=(b*2^d-1)/3 とおくと、
a∈T かつ a≡k (mod 3^e) となる。□ mod 5とか mod 7について何か出すのは難しいかもしれないけど
3^n-1についてとかなら何か出せるんだろうか? >>804
「何か出す」の意味がよく分かりませんが
mod 5, mod 7 の場合は任意の k について予想が成り立つことが分かっています。
3^n-1 の場合は特に考えたことはないんですが、何かアイデアがあれば教えてください。
やはり先に分かっていることについて一通り書いた方がいいですね。
以下、0≦k≦n-1 とします。
次の場合は予想が成り立つことが分かっています。
・n=1,k=0
・n=3^e, e∈N, k は任意
・n が 5 以上の素数、Z/nZ において 2 が原始根、k≠0
・n が 5 以上の素数、Z/nZ において 2 が原始根、n≡2 (mod 3), k=0
・n=7, 13, 17, k は任意
また、次が分かっています。
・m∈N とする。もし n=3m の場合に任意の k で予想が正しければ、n=2m の場合も任意の k で予想は正しい。
これにより、n が偶数の場合は n が奇数の場合に帰着されます。 偶数から奇数への帰着について先に書いておきます。
定理
m∈N とする。もし n=3m の場合に任意の k で予想が正しければ、n=2m の場合も任意の k で予想は正しい。
証明
T を木とし、n=2m とする。
k が奇数の場合に証明できれば、奇数に 2 をかけていくことで k が偶数の場合も証明できる。
k を奇数とする。
仮定より、ある b∈T が存在して
b≡(3k+1)/2 (mod 3m)
となる。このとき、
2b≡3k+1 (mod 6m)
であり、2b∈T, 2b は偶数かつ 2b≡1 (mod 3)。
よって a=(2b-1)/3 とおくと a∈T かつ a≡k (mod 2m) □
>>803 の結果と合わせれば、
n=2^d*3^e の形の場合、任意の k で予想が正しいことになります。
また、私見ですが、n が偶数の場合はこの定理によって奇数の場合に帰着させる以外の手はなさそうに思います。
他の方法がありそうならご一報ください。
そういうわけで、今後は n が奇数の場合のみ考えようと思います。 >>1に聞いてみたいが>>786の実力はどれくらい期待できる? >>808
いえ、それほどでも
個別の n, k について考えるだけならそれほどハードルは高くないと思いますので、
一緒に考えてくれる方がいたら嬉しいなと思います。
さしあたって次の目標は n=15, 19 あたりです。 予想
T を木とし、n, k を自然数とする。
このとき、ある a∈T が存在して a≡k (mod n) が成り立つ。
↑まだこれのイメージがわいてない段階だから一緒に考えるっつってもあんま期待すんなよw まあ問題のとらえ方というか予想の立て方が、普通の人より高いところに目線があるんだろなって雰囲気は感じる。 予想がなかなかイメージ湧かないな〜
プロローグでプログラムを組もうとしたときのような困難さを感じるorz. とりあえず、プログラム組んで虱潰しで潰していけばn=15とかもなにがしかの結果が出るのだろうか?
そんな甘くない? 例えば>>1なら>>786の予想を理解して、しらみつぶしで探索するようなプログラムを、書けそう?書けなさそう? プログラムでやろうと思ったら結局、原始根である必要があるんだろうか?
うーん。わからん。 x(2^n)-1→x(3^n)-1 (x,nは自然数)
がわかってるから、2か3が原始根ならどうとでもなる気が >>818
プログラムはド素人です。
上で言ったのは、「イメージがわかない」というのをどうにかできないかなーということです。 この予想に至った経緯を図を交えて述べてみます。
そんな大層なものではないですが。
まず、木のイメージは次の図のような感じです。
https://i.imgur.com/iwwClSE.jpg
ここで、「3倍して1を足す」は斜めの線、「2で割る」は縦線で表しています。
縦の並びは
(a)全て3の倍数
(b)3n+1, 3n+2 の形の数が交互に現れる
の2通りに分類されます。
(a)の場合はこれ以上分岐しません。
(b)の場合は 3n+1 の形の偶数から分岐があります。
図のようなイメージです。
https://i.imgur.com/EWvMJyK.jpg
そして、これは経験的に知っていたんですが、
3n+1 の形の偶数から分岐した先は3回に1回だけ3の倍数になります。
https://i.imgur.com/sg3KFl2.jpg
(これをちゃんと証明したのが>>800です)
このことから、
「どんな数からでも上手くさかのぼれば3の倍数に到達する」
⇒「コラッツ予想は初期値が3の倍数の場合だけ調べれば十分」
ということを考えたことがありました。 それとは別に
・初期値が奇数の場合だけ調べれば十分
・初期値が 4n+3 の形の場合だけ調べれば十分
とかはよく見る話だと思います。
それで、この間ふと「これって一般化できないかな」と思ったのです。
すなわち「コラッツ予想は、初期値が n で割って k 余る数場合だけ調べれば十分」は成り立つのかと。
で、これを証明するにはどうすればいいかを考えた結果、
>>786の予想に落ち着きました。 「コラッツ予想は初期値が3の倍数の場合だけ調べれば十分」
これはこのスレでも>>132で言及されているね 「コラッツ予想は、初期値が n で割って k 余る数場合だけ調べれば十分」
こっちのほうがアイディアはわかりやすいな ん、「コラッツ予想は、初期値が n で割って k 余る数場合だけ調べれば十分」と>>786の予想が頭の中で微妙にすっきり繋がらないな
もうちょっと時間くれ てことは例えば「コラッツの予想は5の倍数だけ調べれば十分」も証明済みってことか
へ〜〜 個別のnやkに対してどういう戦略で証明を進めていくのか説明してくれたらもしかしたらプログラムでしらみつぶし探索できるかもしれないな。
やや楽観的すぎるかもしれないが。
多分、>>1が実装してくれるww >>819
確かに使えそうですが…いまいち使い方が思いつきません。
もし具体的なアイデアがあればお願いします。
>>825
ではお言葉に甘えて。
余談ですが、コラッツ予想の証明の方針として、
「1以外のどんな自然数もコラッツ操作によって自身より小さい数になる」
を示すというのが(多分)よく取られます。
例えば偶数や 4n+1 の形の奇数は自身より小さい数になることがすぐに分かるので、
「初期値が 4n+3 の形の場合に調べれば十分」
ということがわかります。
そして、この方針は>>786の予想とは全く別物だと私は思っています。
上の論法では任意の木に 4n+3 の形の数が含まれることは(多分)説明できていませんし、
逆に「任意の木に○○が含まれる」ということから「○○以外の数は自身より小さくなる」という話に繋げることもできないと思います。
このように、
「初期値が n で割って k 余る数の場合だけ調べれば十分」
を証明する方法は1つとは限りません。
>>786の予想はあくまでそのうちの一つの手段です。
たとえ>>786の予想の証明を諦めたとしても
「初期値が n で割って k 余る数の場合だけ調べれば十分」を諦めたことにはなりませんので、
そこらへん混同しないようお願いします。
次は n=5 の場合の証明を書こうと思います。 ・n=5, k=1,2,3,4 の場合
定理
T を木とし、k を 1,2,3,4 のいずれかとする。
このとき、ある a∈T が存在して a≡k (mod 5) となる。
証明
b∈T を任意にとる。
b が 5 の倍数でなければ、
Z/5Z において 2 が原始根であることから、
b*2^d≡k (mod 5)
となる d∈N が存在する。b*2^d∈T なのでOK。
b が 5 の倍数のときは、
奇数になるまで b を 2 で割って得られる奇数を b' とする。
b' も 5 の倍数で、b'∈T である。
さらに b' は奇数だから 3b'+1∈T
3b'+1≡1 (mod 5) なので、上の場合に帰着される。□ ・n=5, k=0 の場合
まずは証明を書きますが、ちょっと天下り的なのであとで補足を書きます。
定理
任意の木は 5 の倍数を含む。
証明
3 の倍数でない b∈T を任意に取る。
(>>787の命題によってこのような仮定が許される)
(1) b が 5 の倍数の場合
この場合は示すことはない。
(2) b≡1,2,4,8 (mod 15) の場合
Z/15Z において 1 に 2 をかけていくと
1→2→4→8→1→…
となって循環する。したがって、
b*2^d≡1 (mod 15)
を満たす d∈N が存在する。b*2^d は>>787の補題(4)の仮定を満たすので、
(b*2^d-1)/3∈T であり、さらに (b*2^d-1)/3≡0 (mod 5) なので
T が 5 の倍数を含むことが示された。
(3) それ以外の場合
0 から 14 のうち 3 の倍数, 5 の倍数, 1,2,4,8 を除くので、残りは
b≡7,11,13,14 (mod 15)
の場合である。
b は mod 45 では
7,11,13,14,22,26,28,29,37,41,43,44
のいずれか。ここで、7 に 2 をかけていくと
7→14→28→11→22→44→43→41→37→29→13→26→7→…
となり、上記の全ての数を通って循環する。(群論の知識があれば直接計算しなくても分かります)
したがって、
b*2^d≡7 (mod 45)
を満たす d∈N が存在する。b*2^d は>>787の補題(4)の仮定を満たすので、
(b*2^d-1)/3∈T であり、さらに (b*2^d-1)/3≡2 (mod 15) なので、(2) の場合に帰着される。□ ・3 の倍数でない b をとったことについて
あとで>>787補題(4)(以下、単に(4)と書く)を使うためです。
5 の倍数を構成するには (2) か (4) を使う必要がありますが、
(2) を使って構成するのは難しそうでした。
・≡7 (mod 45) を選んだことについて
(4)によって直接 5 の倍数を作ることができないので、
一旦 mod 15 で 1,2,4,8 のいずれかとなるような数を作ることを目指しています。
そのために、7,11,…,44 のそれぞれから 1 を引いて 3 で割ってみて
1,2,4,8 のいずれかになるかどうかを確かめました。
その結果 (7-1)/3=2 が見つかったので、7 としました。
他にも (13-1)/3=4 なので ≡13 (mod 45) に変えても証明できます。 むむう。
この感じだとプログラム化はかなり難易度高いかなぁ ふと思ったのですけど、プログラムとして
・T(1)を列挙
・a∈T(1)がa≡k mod nかを調べる
(kとnには具体的な数を入れる)
とかやっても意味ないですよね…… プログラム化は難しいと思うけど、
奇数kについて
R_1(k)={奇数m|ある整数r≧0について3m+1=k・2^r}
R_n+1(k)=∪_[m∈R_n(k)] R_1(m)
という操作でできる集合R_n(k)を考えると、
n→∞におけるR_n(1)の極限R(1)がすべての奇数の集合と一致するかどうか、という問題はコラッツ予想と同じにならないかな? 証明が完成するまでmodに何回3をかけたかに注目したら何か出てくるかな? >>837
うーん、そうですね…
k が既に 1 に到達することが分かっている数の場合、
a=k と取れてしまうわけですから調べる意味がなくなります。
wikipediaによると、5*2^60 までは 1 に到達することが分かっているそうなので、
k を 5*2^60 より大きくしないといけないことになりますが…
>>838
今のところそうですね。
まあ、やってみたら自然とそうなったという感じです。 プログラム組めるとデータ量が圧倒的に違うからなんとかしたいなあ >>786がプログラム組めないのが痛いなあ
可能な限りシステマチックな手順に証明手順を落とし込めないですか? n が素数の場合に限りましたが、なんとか手順をまとめてみました。
以下の操作が終了すれば、n=p の場合に任意の k で予想が成り立つことになるはずです。
プログラムに関しては素人なので、おかしいところ、実装が難しいところ等あるかもしれません。
例を併記して述べますが、あとで操作だけをまとめたものも書きます。
p を 5 以上の素数とする。
以下の例は、p=7 の場合である。
(1) Z/pZ において、2 を何回かかけることによって移りあう元を同じグループとして A1,A2,… とグループ分けする。
例
Z/7Z において
A1={0}
A2={1,2,4}
A3={3,5,6}
(2) Z/3pZ において、3 の倍数でも p の倍数でもない数について同様に B1,B2,… とグループ分けする。
例
Z/21Z において
B1={1,2,4,8,11,16}
B2={5,10,13,17,19,20}
(3) Z/pZ の各元 a に対し、a がどの Ai に属すか、3a+1 がどの Bj に属すかを見る。(どの Bj にも属さないこともある)
各 a に対して得られた組 (Ai,Bj) を記録していく。組が被った場合、改めて記録しなくてもよい。
例
a=0 に対しては 0∈A1,3*0+1=1∈B1 なので、組 (A1,B1) を得る。
全て調べると、(A1,B1),(A2,B1),(A2,B2),(A3,B1),(A3,B2) を得る。 (4) A1,A2,… のうち、全ての Bj との組が得られていないものがあれば、それをひとつ選び、A'とする。
以下の操作を全て終えた後、まだ選んでない A' の候補があれば A' を取り換えてまたここからやり直す。
A' の候補が残っていなければ操作を終了する。
例
得られていない組は (A1,B2) だけなので、A'=A1 とする。
(5) Z/9pZ において、条件
「mod 3p で見た時、組 (A',Bj) が得られていないような Bj に属する」
を満たす数全体を考え、この数たちを (1), (2) と同様にグループ分けし、C1,C2,… とする。
例
組 (A',Bj) が得られていないような Bj は B2 しかない。
mod 21 で B2 に属するような Z/63Z の元を列挙すると
{5,10,13,17,19,20,26,31,34,38,40,41,47,52,55,59,61,62}
となり、これをグループ分けすると
C1={5,10,17,20,34,40}
C2={13,19,26,38,41,52}
C3={31,47,55,59,61,62}
を得る。
(6) 組 (A',Bj) が得られているような Bj 全てと、C1,C2,… に対して (3) と同じことを行う。
例
組 (A',Bj) が得られているような Bj は B1 のみ。
B1 の元 a に対し、3a+1 が C1,C2,C3 に属するかを見ていく。
(B1,C1),(B1,C2) を得る。 (7) (4) の「A1,A2,…」を「組 (A',Bj) が得られているような Bj 全て」に、
Bj を Cj に、A' を B' に取り換えて同じことをする。
さらに (5),(6) の A,B,C をそれぞれ B,C,D に、p を 3p に取り換えて同じことをする。
例
組 (B1, C3) のみ得られていないので、B'=B1 とする。
組 (B',Cj) が得られていないような Cj は C3 しかない。
mod 63 で C3 に属するような Z/189Z の元を列挙すると
{31,47,55,59,61,62,94,110,118,122,124,125,157,173,181,185,187,188}
となり、これをグループ分けすると
D1={31,47,55,59,61,62,94,110,118,122,124,125,157,173,181,185,187,188}
という一つのみのグループを得る。
組 (B',Cj) が得られているような Cj は C1, C2 の二つ。
(3) と同様に調べると、組 (C1,D1),(C2,D1) を得る。
(8) (7) と同様に、さらに再帰的に繰り返す。
例
C' の候補がないので、(8)を終了する。
(7)に戻るが、B' の候補が残っていないので(7)を終了する。
(4)に戻るが、A' の候補が残っていないので全ての操作を終了する。 操作だけをまとめます
p を 5 以上の素数とする。
(1) Z/pZ において、2 を何回かかけることによって移りあう元を同じグループとして A1,A2,… とグループ分けする。
(2) Z/3pZ において、3 の倍数でも p の倍数でもない数について同様に B1,B2,… とグループ分けする。
(3) Z/pZ の各元 a に対し、a がどの Ai に属すか、3a+1 がどの Bj に属すかを見る。(どの Bj にも属さないこともある)
各 a に対して得られた組 (Ai,Bj) を記録していく。組が被った場合、改めて記録しなくてもよい。
(4) A1,A2,… のうち、全ての Bj との組が得られていないものがあれば、それをひとつ選び、A'とする。
以下の操作を全て終えた後、まだ選んでない A' の候補があれば A' を取り換えてまたここからやり直す。
A' の候補が残っていなければ操作を終了する。
(5) Z/9pZ において、条件
「mod 3p で見た時、組 (A',Bj) が得られていないような Bj に属する」
を満たす数全体を考え、この数たちを (1), (2) と同様にグループ分けし、C1,C2,… とする。
(6) 組 (A',Bj) が得られているような Bj 全てと、C1,C2,… に対して (3) と同じことを行う。
(7) (4) の「A1,A2,…」を「組 (A',Bj) が得られているような Bj 全て」に、
Bj を Cj に、A' を B' に取り換えて同じことをする。
さらに (5),(6) の A,B,C をそれぞれ B,C,D に、p を 3p に取り換えて同じことをする。
(8) (7) と同様に、さらに再帰的に繰り返す。 おおお凄い
あんたプログラムの才能あるよ
まあ数学できる人はプログラムできても不思議じゃないけど
あとは>>1に任せたっwww すいません、(7) 以降に無駄があったので次のように修正します。
(7) (6) で得られた組に全ての Ci が現れれば操作を終了する((4)に戻る)。
一度も現れなかった Ci があれば、
Z/27pZ において、条件
「mod 9p で見た時、(6)の組に一度も現れなかった Ci に属する」
を満たす数全体を考え、この数たちを (1), (2) と同様にグループ分けし、D1,D2,… とする。
(8) (6)の組に現れた Cj 全てと D1,D2,… に対して (3) と同じことを行う。
(9) (7)(8) の C,D をそれぞれ D,E に、p を 3p に、(6) を (8) に変えて同じこと行う。
以降、同様に繰り返す。
例に変化はありません。
(7) 以降は再帰ではなく単なる繰り返しになります。 いくつか補足をば。
このアルゴリズムの正当性を説明するには、次の補題が必要です。
補題
p を 5 以上の素数とする。
任意の木には、3 の倍数でも p の倍数でもない数が含まれる。
証明
T を木とし、3 の倍数でない数 b∈T を任意に取る。
b が p の倍数でなければ示すことはない。
b が p の倍数であるとき、
奇数になるまで b を 2 で割って得られる奇数を b' とおくと
3b'+1∈T であり、3b'+1 は 3 の倍数でも p の倍数でもない。□
上で書いた例を元に、
n=7 でどのように証明ができるのかをざっと説明します。
T を木とし、3 の倍数でも 7 の倍数でもない b∈T を任意に取る。
b は mod 21 で B1,B2 のいずれかに含まれる。
B1 であれば Z/7Z の全ての数を構成できる。
B2 であれば Z/7Z の 0 以外の全ての数を構成できる。
b∈B2 のときは、b は mod 63 で C1,C2,C3 のいずれかに含まれる。
C1,C2 であれば、B1 に含まれる数を構成できる。
b∈C3 のときは、b は mod 189 で D1 に含まれる。
よって C1 または C2 に含まれる数を構成できる。
大体こんな流れです。
あと、特定の k のみについて検証したければ
(1)の出力を k が含まれるグループのみにして下さい。 >>1なら実装出来そう?
>>1が無理ならプログラム板にでもいって助っ人を探してくるけど おっさすが
頑張れー
工数はどれくらいかな
1週間位? できればプログラムは計算過程を出力して
>>786が検証できるようにして欲しいな ちなみにこのアルゴリズム素数限定らしいですが
合成数を入力したらどうなるんですかね
無限ループ? >>1も>>852もありがとうございます。
>>857
素数に限ったのは>>851の補題があるから…と思っていたのですが、
よく考えたらこれ p が素数じゃなくても奇数なら成り立ちますね。
アルゴリズムの方も、素数に限らず奇数なら大丈夫な気がしてきました。
偶数を入れてしまうと、2倍写像が可逆にならないことにより
仮にプログラムがうまく動いたとしても証明になりません。 今日は(3)までできました。Haskellでやっています。
*CollatzMod> main
素数pを入力してください
7
Z/pZ : [0,1,2,3,4,5,6]
A : [[0],[1,2,4],[3,5,6]]
Z/3pZ : [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
B : [[1,2,4,8,11,16],[5,10,13,17,19,20]]
(3) tuple : [([0],Just [1,2,4,8,11,16]),([1,2,4],Just [1,2,4,8,11,16]),([1,2,4],Nothing),([3,5,6],Just [5,10,13,17,19,20]),([1,2,4],Just [5,10,13,17,19,20]),([3,5,6],Just [1,2,4,8,11,16])]
*CollatzMod> n=19を手計算でやろうとしたら結構大変で中断w
根性なくてすまん しかし>>786もプログラム覚えたらいいのに
メキメキ上達すると思いますよ?
便利だし >>859
おお、なんか感動した。
ありがとう、続きもなにとぞよろしく頼みます。
>>862
いや、難しさを共有できるだけでもありがたいです。
n=19 の場合は 2 が原始根になるので A は
A1={0}, A2={0以外}
の2つ、B も2つで得られない組は1つのみ、
それから C が3つ、という感じになるはずですがどうだったでしょうか。
2 が原始根かつ p≡1 (mod 3) のときは必ずこうなります。
ですが、この後それぞれの C を含む組が得られるか、という部分について一般的な理論がまだできていません。
プログラムを通じてその辺のヒントが得られればいいなと思っています。
>>863
いや、やろうとしたことはあるんですが、
プログラミングができる環境を得る方法がよく分からなくて断念した経験がありまして。
また試してみようかな PCが一台あれば、無償アプリのどれかを使ってなんとかなりそうに思う >>1のプログラム作成の進捗具合はどうですかね?
そろそろ本格的に難しい部分に差し掛かって手が止まってもおかしくないですが
>>1をみくびりすぎかな? >>866
今日は(5)まで作りました。
明日あたりやばそうですw >>867
乙です。
重ね重ねありがとうございます。
>>805で挙げたものの証明が終わってないので
ちょっと進めときます。
・n が 5 以上の素数、Z/nZ において 2 が原始根、k≠0 の場合
まず、k=1,2,…,n-1 の場合は n=5 の場合と同様。
定理
T を木とする。p を 5 以上の素数とし、Z/pZ において 2 が原始根であると仮定する。
k を 1,2,…,n-1 のいずれかとする。このとき、ある a∈T が存在して a≡k (mod p) となる。
証明
n=5 の場合(>>833) と全く同様なので省略。□
これで>>805の残りは4つめと5つめですが、5つめはプログラムで確認できることなので
あとは4つめだけを書いていくことにします。
今日はちょっと時間がないので明日にでも。 新参です
コラッツ予想が解ける一歩手前でしたが一瞬寝落ちして表が消えた状態で上書き保存されて泣きそうです
証明はきわめてシンプルになります 昨日の続き。
群論を使います。
Z/nZ の乗法群を (Z/nZ)* と書きます。
・n が 5 以上の素数、Z/nZ において 2 が原始根、k=0 の場合
素数であることを強調するために、n=p とおく。
概ね>>848,>>850のアルゴリズムに沿って進める。
まず (Z/3pZ)* における 2 の位数を求める。
(Z/3pZ)* は (Z/3Z)*×(Z/pZ)* に同型である。
(Z/3Z)*, (Z/pZ)* それぞれにおいて 2 の位数は 2, p-1 であるから、
(Z/3pZ)* における 2 の位数はそれらの最小公倍数 p-1 である。
(Z/3pZ)* の位数は 2(p-1) であるから、2 で生成される部分群 B1 の指数は 2 である。
(Z/3pZ)* の B1 による剰余類を {B1, B2} とおく。
さて、T を木とし、3 の倍数でも p の倍数でもない b∈T を任意に取る。
b を mod 3p で見た時に b∈B1 であれば、ある d∈N で
b*2^d≡1 (mod 3p)
とできるので、あとは>>787補題(4)によって p の倍数を得る。
以下、b∈B2 とする。
射影 Z/9pZ→Z/3pZ による B2 の引き戻しを C とおく。
b を mod 9p で見ると b∈C である。
もし上と同様に>>787補題(4)を用いて B1 の元を得られれば、予想の証明が完了する。
式で表すと、
b*2^d≡1 (mod 3) かつ (b*2^d-1)/3≡2^e (mod 3p)
を満たす d,e∈N が存在すればよいことになる。
これはまとめて一つの式で
b*2^d-1≡3*2^e (mod 9p) …@
と表せる。
@を満たす d,e が存在するかどうかを考える
ここから p≡1 (mod 3) か p≡2 (mod 3) かで状況が変わる。 定理
上の状況で p≡2 (mod 3) のとき、@を満たす d,e が存在する。
したがって、この場合>>786の予想が成り立つ。
証明
(Z/9pZ)* における 2 の位数を調べる。
(Z/9pZ)* は (Z/9Z)*×(Z/pZ)* に同型である。
(Z/9Z)*, (Z/pZ)* それぞれにおいて 2 の位数は 6, p-1 であるから
(Z/3pZ)* における 2 の位数はそれらの最小公倍数 3(p-1) である。
一方 C の要素の個数を考えると、
Z/9pZ→Z/3pZ の核が {0,3p,6p} であることから
|C|=3*|B2|=3(p-1)
となり、これは 2 の位数と一致する。
C が 2 倍写像で閉じていることから、
C のどの2元も 2 を何回かかけることで互いに移りあう。
ここで、整数 c を
c≡1 (mod 9) かつ c≡2 (mod p)
を満たすようにとる。
c が mod 9p で C に属することを確かめる。
そのためには、c が mod 3p で 2 の累乗で表せないことを示せばよい。
c≡2^m (mod 3p) と仮定すると
2^m≡c≡1 (mod 3) かつ 2^m≡c≡2 (mod p)
であるが、第1式より m は偶数、第2式より m は奇数なので矛盾。
したがって、c が mod 9p で C に属する。 C の2元は 2 を何回かかけることで互いに移りあうので、
方程式@の b を c に変えても解の有無は変わらない。そこで方程式
c*2^d-1≡3*2^e (mod 9p)
を考える。この式が成り立つことは、mod 9, mod p で両辺が等しいことと同値。
c の取り方から、
2^d-1≡3*2^e (mod 9) …A
2^(d+1)-1≡3*2^e (mod p) …B
の共通解を探せばよいことになる。
Aを解くと、
「d≡2 (mod 6) かつ e が偶数」または「d≡4 (mod 6) かつ e が奇数」
を得る。
前者の場合、d=6d'+2, e=2e' とおいてBに代入すると
2^(6d'+3)-1≡3*2^(2e') (mod p) …C
となる。ここで、Z/pZ において 2 が原始根であることから、
2 の偶数乗であることと 0 でない平方数であることは同値。
さらに、2 の位数 p-1 は 3 の倍数でないから、2^3=8 も原始根である。
したがって、2^(6d') は 0 でない全ての平方数をとり得る。
2^(6d'+2) も0 でない全ての平方数をとり得る。
このことから、Cは方程式
2x^2-1≡3y^2 (mod p) …D
と同値である。同様にして、Aの解が後者であった場合は
2x^2-1≡6y^2 (mod p) …E
に同値である。
2 が原始根であるから、3,6 のいずれかは平方数である。
よって、D,Eのいずれかは方程式
2x^2-1≡y^2 (mod p)
に同値。これは x=y=1 を解に持つ。したがって元の@も解を持つ。□ p≡1 (mod 3) の場合も同様に考えると、
C が 3 つのグループに分かれてしまうため、考えるべき方程式が増える。。
計算は省略するが、この場合は次のようになる。
F 3x^2+1≡8y^6 (mod p)
G 6x^2+1≡32y^6 (mod p)
H 3x^2+1≡32y^6 (mod p)
I 6x^2+1≡4y^6 (mod p)
J 3x^2+1≡2y^6 (mod p)
K 6x^2+1≡8y^6 (mod p)
について
「FとGの少なくとも一つが解を持つ」かつ
「HとIの少なくとも一つが解を持つ」かつ
「JとKの少なくとも一つが解を持つ」
が成り立てば、@は解を持つ。
なお、解が見つからなかったとしても
上で書いたアルゴリズムのように次は Z/27pZ で考えて D を構成して…と進めることができる。 今日は(7)まで作りました。残りは繰り返し処理です。
*CollatzMod> main
素数pを入力してください
7
Z/pZ : [0,1,2,3,4,5,6]
A : [[0],[1,2,4],[3,5,6]]
Z/3pZ : [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
B : [[1,2,4,8,11,16],[5,10,13,17,19,20]]
(3) tuple : [(0,Just 0),(1,Just 0),(1,Nothing),(2,Just 1),(1,Just 1),(2,Just 0)]
(4) A' No. : [0]
C : [[5,10,17,20,34,40],[13,19,26,38,41,52],[31,47,55,59,61,62]]
(6) tuple : [(0,Nothing),(0,Just 1),(0,Just 0)]
(7) B' No. : [0]
*CollatzMod> 現状のソースも貼っておきます。
import Data.List (nub, sort, findIndex, (\\), intersect)
import Data.Maybe (fromJust)
twoTimes :: Int -> Int -> [Int]
twoTimes x p = take p $ iterate (\y -> y*2 `mod` p) x
makeA :: Int -> [[Int]]
makeA p = nub $ map sort [nub $ twoTimes x p | x <- [0..p-1]]
makeB :: Int -> [[Int]]
makeB p = nub $ map sort [nub $ twoTimes x (3*p) | x <- [0..(3*p)-1], x `mod` 3 /= 0, x `mod` p /= 0]
findA :: Int -> Int -> Int
findA x p = fromJust $ findIndex (elem x) (makeA p)
findB :: Int -> Int -> Maybe Int
findB x p = findIndex (elem x) (makeB p)
findX :: Int -> [(Int, Maybe Int)]
findX p = nub [(findA x p, findB (3*x+1 `mod` p) p) | x <- [0..p-1]]
-- (4)A1,A2,…のうち、全てのBjとの組が得られていないもの を調査
makeFour' :: Int -> Int -> Bool
makeFour' x p = [Just y | y <- [0..((length $ makeB p) -1)]] /= sort [v | (k, v) <- findX p, v /= Nothing, k==x]
makeFour :: Int -> [Int]
makeFour p = filter (\x -> makeFour' x p) [0..((length $ makeA p) -1)]
-- 組(A',Bj)が得られていないようなBj を見つける
makeCBefore :: Int -> Int -> [Int]
makeCBefore x p = [0..((length $ makeB p) -1)] \\ [fromJust v | (k, v) <- findX p, v /= Nothing, k==x]
-- Bjの元
makeCBefore2 :: Int -> Int -> [Int]
makeCBefore2 x p = concat [(makeB p) !! y | y <- makeCBefore x p]
makeC :: Int -> Int -> [[Int]]
makeC x p = nub $ map sort [nub $ twoTimes y (9*p) | y <- [0..(9*p)-1], elem (y `mod` (3*p)) (makeCBefore2 x p)] makeCAfter :: Int -> Int -> [Int]
makeCAfter x p
= concat [(makeB p) !! y | y <- intersect [0..((length $ makeB p) -1)] [fromJust v | (k, v) <- findX p, v /= Nothing, k==x]]
findC :: Int -> Int -> Int -> Maybe Int
findC x y p = findIndex (elem x) (makeC y p)
findY :: Int -> Int -> [(Int, Maybe Int)]
findY x p = nub [(fromJust $ findB y p, findC (3*y+1 `mod` p) x p) | y <- makeCAfter x p]
-- (7)B1,B2,…のうち、全てのCjとの組が得られていないもの を調査
makeSeven' :: Int -> Int -> Int -> Bool
makeSeven' x y p = [Just z | z <- [0..((length $ makeC y p) -1)]] /= sort [v | (k, v) <- findY y p, v /= Nothing, k==x]
makeSeven :: Int -> Int -> [Int]
makeSeven y p
= nub $ intersect [k | (k, _) <- findY y p] (filter (\x -> makeSeven' x y p) [0..((length $ makeB p) -1)])
main = do
putStrLn ("素数pを入力してください")
pStr <- getLine
let p = read pStr :: Int
putStrLn ("Z/pZ : " ++ show([0..p-1]))
putStrLn ("A : " ++ show(makeA p))
putStrLn ("Z/3pZ : " ++ show([0..(3*p)-1]))
putStrLn ("B : " ++ show(makeB p))
putStrLn ("(3) tuple : " ++ show(findX p))
putStrLn ("(4) A' No. : " ++ show(makeFour p))
let q1 = 0 -- A' No.
putStrLn ("C : " ++ show(makeC q1 p))
putStrLn ("(6) tuple : " ++ show(findY q1 p))
putStrLn ("(7) B' No. : " ++ show(makeSeven q1 p))
-- 上記3行を繰り返し処理すれば良い
-- let q2 = 0 -- B' No. >>876
乙です。
もうプログラムも完成間近か
予定を前倒ししそうな勢いですな。
素晴らしいことです。 意外と行数がすくないですがこれがHaskellのパワーなんですかね? >>880
そうですHaskellのチカラです。
1行で5コぐらい事をおこなっていて、高密度に圧縮されています。 >>876
乙です。
あれ、もしかして修正前のもので作ってる?
もしよければ>>850の修正バージョンでお願いしたいなーと おおっとw 修正依頼来ましたかw
>>1ガンバ!w >>882
あれ、修正前で作ってますかね?!
(7)が違うのかな〜 >(7)B1,B2,…のうち、全てのCjとの組が得られていないもの を調査
修正後ではこの操作が不要で B' というものがそもそも現れないはずなので…
すみませんがよろしくお願いします。 まあ開発にハプニングは付き物ですねw
それ込みで予定通りくらいですかね? >>1って前、グーグルドライブでファイル公開してたよね?
今回のファイルもグーグルドライブとかで公開してくれないですか?
インデントが消えてるのかなんなのか>>877-878コピペじゃ上手く動かないみたい。 UTF-8がどうとかいわれたので日本語けしてインデントつけたら動いたみたいです。
19を入力してみました。
$ ./collatz.exe
19
input num
Z/pZ : [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]
A : [[0],[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]]
Z/3pZ : [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56]
B : [[1,2,4,7,8,14,16,25,28,29,32,41,43,49,50,53,55,56],[5,10,11,13,17,20,22,23,26,31,34,35,37,40,44,46,47,52]]
(3) tuple : [(0,Just 0),(1,Just 0),(1,Just 1),(1,Nothing)]
(4) A' No. : [0]
C : [[5,10,11,20,22,40,44,80,83,88,91,127,131,149,151,160,161,166],[13,23,26,37,46,52,67,74,79,92,97,104,119,125,134,145,148,158],[17,31,34,35,47,62,68,70,77,94,101,103,109,124,136,137,140,154]]
(6) tuple : [(0,Nothing),(0,Just 1),(0,Just 0),(0,Just 2)]
(7) B' No. : [] まあ、なんにしても>>786がこのプログラムを自分のマシンで動かせるところまではなんとか持っていきたいですねぇ 一応酉
コラッツ数列について綺麗な法則性を見つけました
簡単な計算規則の適用で4→2→1ループまでの計算回数を半分以下にできます
早く完成させねば >>786のPCってOSは何ですか?
Haskell動かせるようになってほしいんですが。 >>891 >>893
私としては今は証明を考えるのが楽しいので
プログラムはそのうち気が向いたら…ぐらいに思ってたのですが
一応OSはメインのPCが windows8.1, 他に windows10 も使える環境にあります。
あ、よく見たら>>890で n=19 が証明できてますね。 >>1のhaskell環境ってどうなってますか?
合わせられるならなるべくあわせたほうがいいよね? できればこれを機にプログラムに目覚めてほしいw
まあ自分でプログラム書くところまでいかなくても
せっかく>>1がここまで頑張ったので
プログラム動かすだけでも試してほしいな >>895
自分の環境はWindows10で、
Haskell Platform 8.0.2-a
GHC 8.0.2
です。
最新版のHaskell Platformでも問題ないと思います。 >>907
乙です。
>>890は>>1が書きかけのプログラムに19を食わせただけなのでちゃんと証明になってるかわかんないです。
証明になってるんですかね?
>>786はせっかく才能あるんだから食わず嫌いは勿体ないですよ! >>908
嫌ってるわけじゃありません。興味もあります。
ただ、そもそも私はそういう話をしに来たんじゃなく、
もっとこう、ここまでの証明がいいとか悪いとか、
全く別のアイデアがあるだとか、この予想から何が分かるかとか、
そういう数学の話をしたくてここに来たんです。
その辺ノってくれる方はいないっぽいですかね…
>>890では B' の候補が無いと出力されているので、この時点でアルゴリズムが終了します。
アルゴリズムが終了する⇒その n で予想が成り立つ
です。 まあ>>786がそういうなら無理強いはできませんね。
あと>>786が期待しているようなレベルの人は今はこのスレにはいないかもしれませんが、
スレが盛り上がってもっと人の目に留まるようになればあるいは凄い人が来てくれるかもしれません。
頑張って盛り上げていきましょう! とりあえず、いまは>>1のプログラムが仕上がるのを待つ、ですかね。
データがそろったら新事実が見つかるかもしれないし。 一日遅延ですがp=7が出来ました。
繰り返し処理は明日以降考えます。
*CollatzMod> main
素数pを入力してください
7
Z/pZ : [0,1,2,3,4,5,6]
A : [[0],[1,2,4],[3,5,6]]
Z/3pZ : [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
B : [[1,2,4,8,11,16],[5,10,13,17,19,20]]
(3) tuple : [(0,Just 0),(1,Just 0),(1,Nothing),(2,Just 1),(1,Just 1),(2,Just 0)]
(4) A' No. : [0]
C : [[5,10,17,20,34,40],[13,19,26,38,41,52],[31,47,55,59,61,62]]
(6) tuple : [(0,Nothing),(0,Just 1),(0,Just 0)]
一度も現れなかったCi : [2]
D : [[31,47,55,59,61,62,94,110,118,122,124,125,157,173,181,185,187,188]]
(8) tuple : [(0,Nothing),(0,Just 0),(1,Nothing),(1,Just 0)]
一度も現れなかったDi : []
*CollatzMod> ノってくれる方がいない、は言い過ぎでした。
>>801や>>837などで、これまでも数学的な話はできています。
こういう意見を頂けるのは非常にうれしいし、返信を考えるのは楽しいです。
ついカッとなってしまってああいう言い方になってしまいました。
>>921
待つしかないなんてことはありません。
私は私でまた証明の続きを考えます。
>>922
おお、例と同じ結果になってる
乙です。 >>1が>>758で
1〜nまででコラッツの反例がなければ、
n周期以下のループは存在しない です。
ていうアイディアを出してたんだけど>>786の予想から繋げて何か言えないかなーと妄想中 仮に1を含まない木が存在したとして、さらにその木がループを含むと仮定し、
かつコラッツの予想がnの倍数だけ調べればいいとすれば何か言えそうな気がするが
いまのところ気がするだけw いちおう出来ましたが、あやしいです。
p=21で止まってしまうのです。
ログをつけましたので、見ていただけないでしょうか。
https://github.com/righ1113/CollatzMod 見たところ48行目までは正常に動いてるっぽい。
確かに49行目が怪しいですね。
46行目で 0,1,2,3 番目の C に対して組が得られているので、
本来なら (0,Just 0) などが出力されるところだと思います。
例えば33行目でDを扱った後に何かがリセットされてない…とか? >>940,941
ありがとうございます。
ペアが空っぽというのは無いのですね。
明日は午後が空くので、そこで見ようと思います。 >>938
直したと思います。
昨日の場所にログを置きました。
と思ったらp=73でまたしてもバグが!
配列のインデックスをオーバーとかこうとか……
プログラム、普通には動くと思いますので、 僕はマイペースでバグ取りしたいと思います。 ちなみに73と言うのはどこから来たの?
100くらいまで全部計算まわしたの? >>945
7以上の奇数を順番に見ていって、
73でバグに当たりました。 おれもバグ取り協力したいけどアルゴリズムも十分理解してないしhaskellも十分理解してないからダブルで難しいorz それにしてもまだバグがあるかもしれないけど5以上71以下の奇数で全部>>786予想が成り立つってこと?
けっこう凄くね? >>943
バグ直ったかも。
でも家のPCのネットワーク系がダメになってしまったので、
GitHubは更新できません。 >>950
家のネットが一時的に直ったのでGitHub更新しました。
これにて完了?かな? >>1乙です
手間じゃなければ例えば100以下の奇数に対してとかの実行結果もGitHubに上げてほしいです。
そうすれば>>786とか他の人も参照できるだろうし。 まあそれよりも>>786のOKをもらうのが先ですかね? いやー手計算でn=19とかでひーこら言ってるところにあっさり73とか言われると
さすがにプログラムの力を思い知らされますねえ。
>>1乙です。
p=21 は大丈夫そうですね。p=73 はあとでじっくり見てみます。
>>949
証明できたことは凄いですけど、
「予想が成り立つのが凄い」という意味で言ってるんであれば、
それは全然不思議ではありません。
というのも、>>786で書いた通り
この予想が成り立たない⇒コラッツ予想が成り立たない
なので、簡単に反例が見つかる方がおかしいのです。 >>955
ところで、「全てのn,kでa≡k (mod n)が成り立つ→コラッツ予想は真」
って証明あるのですか?
あるなら見てみたいです。 >>956
うーん、ないですね。
それは成り立たないんじゃないかと思っています。
もし成り立つなら、>>786はコラッツ予想と同値になるので一気に>>786の重要度が増すんですがw
逆であれば、>>786に書いた通り成り立ちます。 「コラッツ予想は、初期値が n で割って k 余る数場合だけ調べれば十分」
というのは、初期値が1になるまで調べるのか、
初期値が自身より小さくなればOKなのか、
どちらだろう? nは奇数に限るのかな?
8m+5と2m+1は同じ数に移るから8m+5(n=8,k=5)は調べなくて良い、のような例はあるんじゃないかな n=pとn=qで予想が成り立つ => n=pqで予想が成り立つ
が言えたら面白そう >>959
1になるまで調べる、ですね。
実際に一つずつ調べるんであれば、もちろん「既に調べた数が得られるまで」とするのが自然かと思います。
>>960
奇数だけ扱っているのは、>>806によって偶数は奇数に帰着されるからです。
8m+5 と 2m+1 は両方とも 3m+2 に移るから 3m+2 を調べれば十分、という具合です。
>>961
これが言えれば素数だけ示せばよくなるのでだいぶ楽になりますね。
n=p, n=q と n=pq の間に何かしら繋がりがありそうな感じはしますが、まだよく分かりません。 プログラムの実行結果からn=p,n=q,n=pqの関係を考察できそう? やっぱプログラムの実行結果公開してほしいなぁ。
>>1頼んます。 >>965
そうですね。とりあえずそれで。
頼んます。 おお、仕事速いすな。
乙です。
さてここから何か見つかるか… うーん。
パッと見では法則は見えないですな。
まあそりゃそうか。 >>805によれば
2が原始根かどうかとmod 3 の値がなにか
あたりがミソになるのかなぁ 100以下の素数に対して2が原始根か?とmod 3の値、一覧
3 true 0
5 true 2
7 false 1
11 true 2
13 true 1
17 false 2
19 true 1
23 false 2
29 true 2
31 false 1
37 true 1
41 false 2
43 false 1
47 false 2
53 true 2
59 true 2
61 true 1
67 true 1
71 false 2
73 false 1
79 false 1
83 true 2
89 false 2
97 false 1 10000くらいまでデータ欲しいかもw
でも計算量的に厳しいですよね? >>967
ありがとうございます!
いろいろ見てみます!
ID:vsrY1r+A もいろいろと意見をありがとう。
3 の倍数に限らず、合成数なら比較的長くなると思われます。
また、素数でも 31 なんかはかなり長くなっています。
これは、2 の累乗がすぐに 1 になってしまう (2^5≡1 (mod 31)) ということに起因していると思われます。
127 なんかはどうなることやら。 …ところで、プログラムにまだ無駄があって、改良版を考えたので実装してほしい、って言ったら怒る? >>973
実はこっそりp=999をやっていたのですが、7時間ぐらいかかったもので。
>>975
またまたご冗談をw あ、無駄があるのはプログラムではなくアルゴリズムですね。
>>1のプログラムではなく私の理論に問題があったということです。 まあ修正がどれだけ手間かかるか、感触確かめるだけでもやってもらったらどうですかね?
あんまり大変な様なら諦めるとか >>980
乙
とりあえず置いときます。
現行のものをちょっと並び変えて縮めた感じです。
n を 5 以上の奇数とする。
(1) Z/nZ において、2 を何回かかけることによって移りあう元を同じグループとして A1,A2,… とグループ分けする。
(2) A1,A2,… のうち一つを選び A' とする。
以下の操作を全て終えた後、まだ選んでない A' の候補があれば A' を取り換えてまたここからやり直す。
A' の候補が残っていなければ操作を終了する。
(3) Z/3nZ において、
「3 の倍数でも n の倍数でもなく、mod n で見た時 A' に属さない」
という条件を満たす数について、(1) と同様に B1,B2,… とグループ分けする。
(4) A' の各元 a に対し、3a+1 がどの Bi に属すかを見る。(どの Bi にも属さないこともある)
現れた Bi を記録していく。被った場合、改めて記録しなくてもよい。
(5) (4) で全ての Bi が現れれば操作を終了する((2)に戻る)。
一度も現れなかった Bi があれば、
Z/9nZ において、条件
「mod 3n で見た時、(4)で現れていない Bi に属する」
を満たす数全体を考え、この数たちを (1) と同様にグループ分けし、C1,C2,… とする。
(6) (4) の A' を「(4) で得られた Bi」に、Bi を Cj に変えて同じことをする。
(7) (5)(6) の B,C をそれぞれ C,D に、n を 3n に、(4) を (6) に変えて同じことする。
以降、同様に繰り返す。 >>982
ありがとうございます。
とりあえず、じっくり見てみます。 >>982
前みたいに、n=7での例が欲しいです。 >>984
分かりました。しばしお待ちを。
ちなみに、(3)(4) と (5)(6) でやることはほぼ同じなので、
うまくやれば
(1)→(2)→[(3)(4)の繰り返し]→(2)→[(3)(4)の繰り返し]→…
で済むかもしれません。 >>982のアルゴリズムに n=7 の例を併記する。
(1) Z/nZ において、2 を何回かかけることによって移りあう元を同じグループとして A1,A2,… とグループ分けする。
例
Z/7Z において
A1={0}
A2={1,2,4}
A3={3,5,6}
(2) A1,A2,… のうち一つを選び A' とする。
以下の操作を全て終えた後、まだ選んでない A' の候補があれば A' を取り換えてまたここからやり直す。
A' の候補が残っていなければ操作を終了する。
例
まずは A'=A1 とする。(以降、(2) に戻るまでほぼ前回の例と同じ)
(3) Z/3nZ において、条件
「3 の倍数でも n の倍数でもなく、mod n で見た時 A' に属さない」
という条件を満たす数について、(1) と同様に B1,B2,… とグループ分けする。
例
Z/21Z の元で、3 の倍数でも 7 の倍数でもなく、mod 7 で 0 でない数を列挙すると
{1,2,4,5,8,10,11,13,16,17,19,20}
となり、これをグループ分けすると
B1={1,2,4,8,11,16}
B2={5,10,13,17,19,20}
を得る。 (4) A' の各元 a に対し、3a+1 がどの Bi に属すかを見る。(どの Bi にも属さないこともある)
現れた Bi を記録していく。被った場合、改めて記録しなくてもよい。
例
A1 の元は 0 のみ。
3*0+1=1∈B1 なので、B1 のみ記録する。
(5) (4) で全ての Bi が現れれば操作を終了する((2)に戻る)。
一度も現れなかった Bi があれば、
Z/9nZ において、条件
「mod 3n で見た時、(4)で現れていない Bi に属する」
を満たす数全体を考え、この数たちを (1) と同様にグループ分けし、C1,C2,… とする。
例
(4) で B2 のみ現れていない。
Z/63Z の元で、mod 21 で B2 に属するような元を列挙すると
{5,10,13,17,19,20,26,31,34,38,40,41,47,52,55,59,61,62}
となり、これをグループ分けすると
C1={5,10,17,20,34,40}
C2={13,19,26,38,41,52}
C3={31,47,55,59,61,62}
を得る。
(6) (4) の A' を「(4) で得られた Bi」に、Bi を Cj に変えて同じことをする。
例
B1 の元 a に対し、3a+1 が C1,C2,C3 に属するかを見ていく。
C1,C2 が記録される。 (7) (5)(6) の B,C をそれぞれ C,D に、n を 3n に、(4) を (6) に変えて同じことする。
以降、同様に繰り返す。
例
(6) で C3 のみ現れていない。
Z/189Z の元で、mod 63 で C3 に属するような元を列挙すると
{31,47,55,59,61,62,94,110,118,122,124,125,157,173,181,185,187,188}
となり、これをグループ分けすると
D1={31,47,55,59,61,62,94,110,118,122,124,125,157,173,181,185,187,188}
という一つのみのグループを得る。
C1,C2 の元 a に対し、3a+1 が D1 に属するかを見ていく。
C1 の 10 に対して 3*10+1=31∈D1 なので、D1 が記録される。
全ての Di が現れたので、(2) に戻る。 (2)
例
A'=A2={1,2,4} とする。
(3)
例
Z/21Z の元で、3 の倍数でも 7 の倍数でもなく、mod 7 で 1,2,4 でない数を列挙すると
{5,10,13,17,19,20}
となり、これをグループ分けすると
B1={5,10,13,17,19,20}
という一つのグループのみを得る。
(4)
例
4∈A2 で、3*4+1=13∈B1 なので、B1 が記録される。
全ての Bi が現れたので、(2) に戻る。
(2)
例
A'=A3={3,5,6} とする。
(3)
例
Z/21Z の元で、3 の倍数でも 7 の倍数でもなく、mod 7 で 3,5,6 でない数を列挙すると
{1,2,4,8,11,16}
となり、これをグループ分けすると
B1={1,2,4,8,11,16}
という一つのグループのみを得る。
(4)
例
5∈A2 で、3*5+1=16∈B1 なので、B1 が記録される。
全ての Bi が現れたので、(2) に戻る。
A' の候補が残っていないので、操作を終了する。 例は長くなりましたが、全体の計算量は減っている…はずです。 あ、すいません。
(3) に以下を追加でお願いします。
もし条件に当てはまる数が無ければ操作を終了する((2)に戻る)。 PCの電源が突然切れる病気にかかって、大変ですよ。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 2035日 10時間 5分 13秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。