MENU
917,203

スレッドNo.3365

文字列の規則を探せ

下記は長さが、 1100 の文字列です。お時間があれば、どのような規則で作られているか推測してみてください。

01001101101001001101001101101001101001001101101001101001001101101001001101001101101001001101001101101001101001001101101001001101001101101001101001001101101001101001001101101001001101001101101001101001001101101001001101001101101001001101001101101001101001001101101001101001001101101001001101001101101001101001001101101001001101001101101001001101001101101001101001001101101001101001001101101001001101001101101001001101001101101001101001001101101001001101001101101001101001001101101001101001001101101001001101001101101001001101001101101001101001001101101001001101001101101001101001001101101001101001001101101001001101001101101001101001001101101001001101001101101001001101001101101001101001001101101001101001001101101001001101001101101001001101001101101001101001001101101001001101001101101001101001001101101001101001001101101001001101001101101001101001001101101001001101001101101001001101001101101001101001001101101001101001001101101001001101001101101001101001001101101001001101001101101001001101001101101001101001001101101001101001001101101001001101001101101001001101001101101001101001001101101001001101

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

この質問の意味は文字列の素因数分解に相当するLyndon word に分解せよと解釈していいんでしょうか?
ならば1100個の長さの文字列は次の7個のものに分解される。

[[0, 1],

[0, 0, 1, 1, 0, 1, 1, 0, 1],

[0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1],

[0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1],

[0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1],

[0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1],

[0, 0, 1, 0, 0, 1, 1, 0, 1]]

引用して返信編集・削除(編集済: 2026年10月31日 19:39)

どうもしっくり行かなかったので、もう一度考え直してみました。

A=010,B=011
と置くと
X=AB=010011,Y=BA=011010で
XX=010011010011
なのでXを3ビット左にずらすと
011010=Yが出現
即ち
0->010011,1->011010
という変更で並べる規則で行くと
0->010011->(010011)(011010)(010011)(010011)(011010)(011010)=010011011010010011010011011010011010
となり頭書の1100桁の文字列の最初の36個が出現する。
従って最初の216個の配列が
010011 011010 010011 010011 011010 011010
010011 ; X1
010011 011010 011010 010011 011010 010011
011010 ; Y1
010011 011010 010011 010011 011010 011010
010011 ; X1
010011 011010 010011 010011 011010 011010
010011 ; X1
010011__011010__011010__010011__011010__010011
011010 ; Y1
010011__011010__011010__010011__011010__010011
011010 ; Y1
これは
X1Y1X1X1Y1Y1(010011に対応)

同じく続く216個の様子
010011011010010011010011011010011010=X1
010011011010011010010011011010010011=Y1
010011011010011010010011011010010011=Y1
010011011010010011010011011010011010=X1
010011011010011010010011011010010011=Y1
010011011010010011010011011010011010=X1
X1Y1Y1X1Y1X1(011010に対応)

同じく続く216個の様子
010011011010010011010011011010011010=X1
010011011010011010010011011010010011=Y1
010011011010010011010011011010011010=X1
010011011010010011010011011010011010=X1
010011011010011010010011011010010011=Y1
010011011010011010010011011010010011=Y1
X1Y1X1X1Y1Y1(010011に対応)

同じく続く216個の様子
010011011010010011010011011010011010=X1
010011011010011010010011011010010011=Y1
010011011010010011010011011010011010=X1
010011011010010011010011011010011010=X1
010011011010011010010011011010010011=Y1
010011011010011010010011011010010011=Y1
X1Y1X1X1Y1Y1(010011に対応)

同じく続く216個の様子
010011011010010011010011011010011010=X1
010011011010011010010011011010010011=Y1
010011011010011010010011011010010011=Y1
010011011010010011010011011010011010=X1
010011011010011010010011011010010011=Y1
010011011010010011010011011010011010=X1
X1Y1Y1X1Y1X1(011010に対応)

ここまでで216*5=1080個
残り20個が以下の配列
01001101101001001101
たぶん続きは0011011010011010となり
X1Y1Y1X1Y1X1(011010に対応)が現れるものと思われます。

このように兎に角0->010011,1->011010の変化を0からスタートさせ自己自身に繰り返し操作していって生み出されてた配列の様です。

引用して返信編集・削除(編集済: 2026年11月01日 09:27)

GAI さん、御明察です。

下記の置換ルールを数回繰り返したものでした。

"項目","与えられた設定"
"変数","0,1"
"定数","なし"
"初期状態","0"
"置換規則","0→010011, 1→011010"

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

1906年、ノルウェーの数学者アクセル・トゥエ(Axel Thue)は、
下記のような置換を世に出しました。
(下記は L-system の書き方の真似をしていますので、定数も記述しています)

"項目","与えられた設定"
"変数","0,1"
"定数","なし"
"初期状態","0"
"置換規則","0→01, 1→10"

♥♥♥

アルファベットの「A」と「B」の2文字だけで、どこまでも続く長い文字列を作ると想像してください。ただし、ひとつだけルールがあります。
​【ルール】
どんなに短いものでも、まったく同じかたまりが3回連続して続く並び(例:XYZXYZXYZ)を作ってはならない。

​これを満たす文字列を、数学の世界では「キューブフリー・ワード(立方因子を含まない語)」と呼びます。「キューブ(立方体)」というのは、数学で X・X・X = X^3(同じものが3つ並ぶこと)を意味するからです。
​試しに、適当に文字を並べてみましょう。
​A B A B A B → AB が3回繰り返されていますね。これはルール違反(キューブ含む)です。
​では、A B B A A B B A はどうでしょう?
​A (1)
​B B (2 - これは2回だからセーフ)
​A A (セーフ)
​B B (セーフ)
では、3回連続する部分はありますか? じっくり探してみてください。どこにもありません!

♥
先ほど紹介した
Thue が作った置換は
いかなる世代(置換により次世代を生成)でも
Cubefree word となっています。
♥

今回私がご紹介した下記の置換も、
どうやら Cubefree となっているようです。

項目","与えられた設定"
"変数","0,1"
"定数","なし"
"初期状態","0"
"置換規則","0→010011, 1→011010"

※ Thue による
"置換規則","0→01, 1→10"
をぐっと睨んで

"置換規則","0→??0??1, 1→??1??0"
と隙間をあけて
?? に 01 を当てはめたものが
今回私がご案内している
"置換規則","0→010011, 1→011010"
となります。

散歩中にこんなふうにしたらどうなるのかと思いついて
実際にやってみた、というわけです。

なお、管理人さんがまとめページで
繰り返しパターンのようにみえてそうでもない部分を
色付きで示していただきました。
有難う御座います。

※P.S. 私の置換における Cubefree word 性の証明には
すごく難しい定理を当てにしなければいけないようで
残念ですが割愛します

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

このスレッドに返信

ロケットBBS

Page Top