MENU
278,054

スレッドNo.134

奇遇のバランス

異なる正の整数a,b(a<b)を準備する。
これから次の規則で次々と数列を構成していくものとする。

aが第1項
bが第2項
a+bが第3項
第4項はそれまで構成した2つの数でただ一通りの和で作られる第3項を越える
最小の整数とする。
第5項はそれまで構成した2つの数でただ一通りの和で作られる第4項を越える
最小の整数とする。
以下同様にしていくものとする。

<例>
a=1;b=2ならその列U(a,b)は
1,2,3,4,6,8,11,13,16,・・・
なぜなら
4=1+3
5=1+4=2+3と2通りの和で構成されてしまうので5はこの数列には入らない。
6=2+4のみ
7=1+6=3+4
8=2+6のみ
9=1+8=3+6
10=2+8=4+6
11=3+8のみ
12=1+11=4+8
13=2+11のみ
・・・・


そこで、
U(2,3)の列を1000個並べたとすると、この中に偶数は何個含まれることになるでしょう?
また
U(2,5)ではどうなるか?




引用して返信編集・削除(未編集)

U(2,3)に関しては管理人さんが調べられた1000個中、偶数は492個(約半数)
が発生しますが、これがU(2,5)になると1000個中僅かに2,12のみの2個しか発生しないそうです。
実は、この先どこまでも進んでもこの2個しか現れないという。
しかもU(2,3)に関しては何ら規則が見当たらないが、U(2,5)に関してはこれで発生する数列を{a(n)}(n=1,2,3,・・・)
で表すと(A007300参照のこと)

a(n+32)-a(n)=126 (n=7,8,9,・・・)の関係式が生まれてくるという。
同じく
U(2,7)では
a(n+26)-a(n)=126 (n=8,9,10,・・・・)
U(2,9)では
a(n+444)-a(n)=1778 (n=9,10,11,・・・・)
U(2,11)では
a(n+1628)-a(n)=6510 (n=10,11,12,・・・・)
U(2,13)では
a(n+5906)-a(n)=23622 (n=11,12,13,・・・・)
U(2,15)では
a(n+80)-a(n)=510 (n=12,13,14,・・・・)
・・・・・・・・・・
以下
A100729; A100730; 等参照

この様に一般に
U(2,2*n+1)型での数列発生からは
n=1では奇数、偶数が大体平等に発生するも
n>=2では偶数は僅かに2個のみしか現れず、しかも2個目の偶数発生から以降での数列では
その階差は長いスパンで一定の規則で繰り返す現象になるという。
ルールは同じでも、初期値の設定条件でこんなにもその後の数の発生が異なってくることにビックリしました。
OEISのサイトでのリンクを辿って行ってみて思ったことでした。

何方か
U(4,4*n+1) (n=1,2,3,・・・)
での数列{a(n)}について、上記A100729; A100730;
に相当する数列を計算してもらえないですか?
たぶんこれはOEISには掲載されていないと思います。 
(一応n=1~5では調べてみましたが・・・・)

引用して返信編集・削除(未編集)

とりあえず50個
U(4,5): a[n+32]-a[n]=192 (n≧10)
U(4,9): a[n+88]-a[n]=640 (n≧14)
U(4,13): a[n+104]-a[n]=896 (n≧17)
U(4,17): a[n+248]-a[n]=2304 (n≧21)
U(4,21): a[n+280]-a[n]=2816 (n≧24)
U(4,25): a[n+304]-a[n]=3328 (n≧28)
U(4,29): a[n+320]-a[n]=3840 (n≧31)
U(4,33): a[n+712]-a[n]=8704 (n≧35)
U(4,37): a[n+776]-a[n]=9728 (n≧38)
U(4,41): a[n+824]-a[n]=10752 (n≧42)
U(4,45): a[n+856]-a[n]=11776 (n≧45)
U(4,49): a[n+896]-a[n]=12800 (n≧49)
U(4,53): a[n+928]-a[n]=13824 (n≧52)
U(4,57): a[n+952]-a[n]=14848 (n≧56)
U(4,61): a[n+968]-a[n]=15872 (n≧59)
U(4,65): a[n+2072]-a[n]=33792 (n≧63)
U(4,69): a[n+2200]-a[n]=35840 (n≧66)
U(4,73): a[n+2296]-a[n]=37888 (n≧70)
U(4,77): a[n+2360]-a[n]=39936 (n≧73)
U(4,81): a[n+2440]-a[n]=41984 (n≧77)
U(4,85): a[n+2504]-a[n]=44032 (n≧80)
U(4,89): a[n+2552]-a[n]=46080 (n≧84)
U(4,93): a[n+2584]-a[n]=48128 (n≧87)
U(4,97): a[n+2656]-a[n]=50176 (n≧91)
U(4,101): a[n+2720]-a[n]=52224 (n≧94)
U(4,105): a[n+2768]-a[n]=54272 (n≧98)
U(4,109): a[n+2800]-a[n]=56320 (n≧101)
U(4,113): a[n+2840]-a[n]=58368 (n≧105)
U(4,117): a[n+2872]-a[n]=60416 (n≧108)
U(4,121): a[n+2896]-a[n]=62464 (n≧112)
U(4,125): a[n+2912]-a[n]=64512 (n≧115)
U(4,129): a[n+6088]-a[n]=133120 (n≧119)
U(4,133): a[n+6344]-a[n]=137216 (n≧122)
U(4,137): a[n+6536]-a[n]=141312 (n≧126)
U(4,141): a[n+6664]-a[n]=145408 (n≧129)
U(4,145): a[n+6824]-a[n]=149504 (n≧133)
U(4,149): a[n+6952]-a[n]=153600 (n≧136)
U(4,153): a[n+7048]-a[n]=157696 (n≧140)
U(4,157): a[n+7112]-a[n]=161792 (n≧143)
U(4,161): a[n+7256]-a[n]=165888 (n≧147)
U(4,165): a[n+7384]-a[n]=169984 (n≧150)
U(4,169): a[n+7480]-a[n]=174080 (n≧154)
U(4,173): a[n+7544]-a[n]=178176 (n≧157)
U(4,177): a[n+7624]-a[n]=182272 (n≧161)
U(4,181): a[n+7688]-a[n]=186368 (n≧164)
U(4,185): a[n+7736]-a[n]=190464 (n≧168)
U(4,189): a[n+7768]-a[n]=194560 (n≧171)
U(4,193): a[n+7904]-a[n]=198656 (n≧175)
U(4,197): a[n+8032]-a[n]=202752 (n≧178)
U(4,201): a[n+8128]-a[n]=206848 (n≧182)

引用して返信編集・削除(未編集)

私が5個分の結果を知るために行った作業時間はたぶん2時間以上
これに対しらすかるさんは50個分の結果(数が大きくなるとそれだけ時間はかかると思うが・・・)
を難なく(最後のスパンは8128というと長さまで)示されていた。
これで私の2時間の作業も無駄ではなかった事が確認できてよかったです。
この結果は是非OEISへ登録してください。

このサイクル探しをプログラム的にやろうと試みていたのですが、どうしてもアルゴリズムが
難しく、その作業はほとんど手作業状態でした。

引用して返信編集・削除(未編集)

> 数が大きくなるとそれだけ時間はかかると思うが・・・

そうですね。U(4,201)は3秒程ですが、U(4,401)になると1分程かかります。
(U(4,5)~U(4,201)全部では50秒程)
(ちなみにU(4,401)はa[n+24320]-a[n]=823296 (n≧357)です)

> このサイクル探しをプログラム的にやろうと試みていたのですが、どうしてもアルゴリズムが
> 難しく、その作業はほとんど手作業状態でした。

サイクル探しは少し悩みましたが、うまい方法を思いつきました。
a[3],a[4],a[5],…を順次求めていくと同時に1つ前との差分
(a[3]-a[2],a[4]-a[3],a[5]-a[4],…)を計算します。
そして「今までの差分と比較して最大かどうか」
(最大の更新時だけでなく最大値との一致も含む)
を調べて、最大値の場合は「今までの最大値」を更新する
(変わらない場合もある)とともに、そのときの
インデックス(a[n]-a[n-1]のn)を記憶します。
そのうえで「前回記憶したインデックスとの差」を
覚えておき、この差が同じ値で連続して何回か(例えば5回)
続いたら、それを仮に周期とします。
そして今まで求めた数列に対してa[n+k]-a[n]=dがしばらく
一定で続いているかどうかをうしろから順に調べて、
OKならばそれが周期に確定します。
この方法では、もし一周期の中に差分が最大値になるものが
複数個あると周期が正しく求まらないという問題はありますが、
とりあえずU(4,201)まででそのような問題は発生しませんでした。

> この結果は是非OEISへ登録してください。

英語が苦手で登録には一苦労しますので、もしよろしければ
GAIさんの方で(GAIさんの名前で)登録して頂ければと思います。

引用して返信編集・削除(編集済: 2022年07月11日 08:54)

このスレッドに返信

このスレッドへの返信は締め切られています。

ロケットBBS

Page Top