4

有理数が作る無限文字列についての考察

718
0

導入

0Nとする。また、数列や文字列のインデックスは0から始まるものとする。

rを正の実数とし、rごとに定まるX,A,Bの3文字からなる無限列Srを以下で定義する。

お気持ち

実際にはA,Bの2文字からなる列ですが、「Aであり同時にBである」項が発生することがあるため、そのような項を表す文字としてXが導入されています。

Sr

集合Ar,Br,Cを以下で定義する:

  • Ar={1nnN} (この集合はrに依存しない)
  • Br={rnnN}
  • C=ArBr

数列{an}nNCの元を小さい方から並べたものとする。とくに、任意のrに対してa0=0である。

X,A,Bの3文字からなる無限列Sr:={Srn}nNを以下で定義する:

任意のnNに対し、

  • anArかつanBrであれば、Srn=X
  • anArかつanBrであれば、Srn=A
  • anArかつanBrであれば、Srn=B

とする。

{an}の定義から明らかに任意のnNに対してanC=ArBrなので、anArかつanBrが成り立つことはない。

これは Sturmian word の一般化である。Sturmian wordはrが無理数であるときのみを対象にするのに対し、この記事では主にrが有理数であるときを扱うので、Sturmian wordに関する直接の車輪の再発明ではない。

r=ϕ=1+52のとき

Ar={0,1,2,3,},Br={0,ϕ,2ϕ,3ϕ,}となります。C=ArBrを小さい順に並べると、

0=0ϕ,1,ϕ,2,3,2ϕ,4,3ϕ,5,

と並びます。これらを記号に変換すると、

XABAABABA

となります。最初のXを除くと、 フィボナッチ列 と本質的に同じものになります。

!FORMULA[45][-1682032487][0] Sϕ

r=32のとき

Ar={0,1,2,3,},Br={0=02,32,3=62,92,}となります。C=ArBrを小さい順に並べると、

0=02,1,32,2,3=62,4,92,5,6=122,

と並びます。これらを記号に変換すると、

XABAXABAX

となります。

!FORMULA[51][-1561520343][0] S32

定義から明らかに、rが有理数の時は周期性があり、「rを既約分数で表した時の分子」に対応する位置が周期になります。

また、rを既約分数でpqと書くと、Srの1周期分にはXが最初に1回、Ap1回、Bq1回現れます。

以下では、1r2を満たす有理数rについてのみ考えます。

Srn

正の有理数rに対し、SrnSrのうちn+1番目のXより前の部分とする。

SrnSrn周期分に相当する。

性質

Srの周期の前の文字

r1より大きい非整数の有理数とする。このとき、先頭以外のXの前の文字はAである。

r>1から即座に従う。

任意の1r2を満たす有理数rに対し、r=1+1nを満たすnN存在しないことと、SrAAの並びを含むことは、同値である。

AAの並びを含む例
S53=XABAABAXABAABA
S75=XABABAABABAXABABAABABA

AAの並びを含まない例
S32=XABAXABA
S54=XABABABAXABABABA

r=2の場合、S2=XAXAXAであることから定理は成り立つ。

r2r=1+1nを満たすnN存在する場合、0<k<nを満たす任意のkNに対してk<rk<k+1が成り立つことから明らかである。

それ以外の場合、鳩ノ巣原理から即座に従う。

rを既約分数でp+qqとおき、qpで割った商をaとする。このとき、Sr1の末尾はAABABABAである。ただし、この部分にBa回現れる。

Sr1の末尾から考えることで、以下のことを示せばよいことがわかる:

任意の整数1<kaに対して、k<p+qqk<k+1が成り立つ。

これはaの定義から1k+1<pq<1kが成り立つことから即座にわかる。

AABABABASa+1a1の先頭にAを追加してXABに置き換えたものです。

このように、Srは後ろの部分を別の有理数から生成される列に「分離」できることがわかりました。

!FORMULA[120][4340762][0]から!FORMULA[121][1928374364][0]を分離する S851からS211を分離する

では、「分離」された残りの列はどうなるでしょう。次の定理が成り立ちます:

分離定理

rを既約分数でp+qqとおき、qpで割った商をa、余りをsとする。このとき、もしs=1,2ならば次が成り立つ:

Sr1=Tp+q(a+1)qagTa+1a1
ただし

  • gp+q(a+1)qaの最大公約数
  • Tp+q(a+1)qagSp+q(a+1)qagの最初以外ののXABに変えたもの
  • Ta+1a1Sa+1a1の最初のXABに変えたもの

次のことを証明すればよい:

0kqaとする。このとき、p+q(a+1)qakの整数部分とp+qqkの整数部分は等しい。

以下でこれを証明する。

p+qqp+q(a+1)qa=(p+q)(qa)q(p+q(a+1))q(qa)=ap+qq(qa)()

である。ところで、q=ap+sであるから、これを()に代入すると、

p+qqp+q(a+1)qa=sq(qa)

を得る。よって

p+q(a+1)qa+sq(qa)=p+qq

であるから、k(p+q(a+1))ksqを足した際に、qaの倍数を「踏むか越えない」ことを示せばよい。

(i) s=1のとき

0<ksq=kq<1であるから成り立つ。

(ii) s=2のとき

pqは互いに素なので少なくとも一方は奇数である。ところで、q=ap+s=ap+2であるからpが偶数ならばqも偶数であり、r=p+qqが既約分数であることに矛盾する。したがってpは奇数である。

ところで、

p+q(a+1)qa=p+(ap+s)(a+1)(ap+s)a=(ap+sa)+(p1)ap+sa=(a(p1)+2)+(p1)a(p1)+2(s=2)

である。さて、pが奇数であればこの分数は分母と分子がともに偶数であるため約分できる。したがって、この分数は任意の整数mに対して区間(m1(qa)/2,m)に入ることはない。

よって、ksq(qa)<2qa=1(qa)/2より題意が示された。

さらなる一般化

定理4で「s=1,2のとき」を強調していますが、これはs=3で反例が見つかったからです。

p+qの値が最小の反例はp=8,q=5のケースで、このとき

S1381=XABAABABAABAABABAABAT1171=XABAABABAABABAABAT211=ABA

となり、文字列が一致しないことがわかります。また、数値の上でも

1385=8+181175=7+67

となり、整数部分は一致しません。

おわりに

最初に立てた予想が一般には成り立たないことが分かって落胆しましたが、それでも一部は成り立つので記事にしました。

ところで、最小の反例はp+q=13ですが、某ゲームではp+q=12までしか出てきません。狙ったのでしょうか・・・?

投稿日:20241117
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

nayuta_ito
122
36567

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 導入
  2. r=ϕ=1+52のとき
  3. r=32のとき
  4. 性質
  5. さらなる一般化
  6. おわりに