巨大数研究 Wiki
Advertisement

\( \newcommand{\len}{ {\rm len}} \renewcommand{\value}{ {\rm value}} \newcommand{\ifu}{ {\rm if}} \newcommand{\gtone}{ {\rm gt1}} \newcommand{\parent}{ {\rm parent}} \newcommand{\diff}{ {\rm diff}} \newcommand{\ancestor}{ {\rm ancestor}} \newcommand{\bm}[1]{ {\boldsymbol  #1}} \newcommand{\w}{\omega} \newcommand{\e}{\varepsilon} \newcommand{\nat}{\mathbb{N}} \)

Y数列の展開ルールの説明

Y数列は足し算と引き算と大きさの比較くらいしか使わないので簡単です。小学生にも分かるように説明しようと思います。


親を探す

まず、( ) の中の全部の数字について、「親」というもの探します。その数字の左から順番に左に見ていって、初めて自分より小さな数が出てきたらそれが親です。例えば、下図の赤丸で囲まれた 3 の親を探します。

Koteitan explainy 00

となって、2 が親として見つかります。

1 には親がいません。


ヒドラ図を書く

すべての数字に対してそれぞれの親がどれかを調べて、それを下記のように線でつないで表します。これを Y 数列のヒドラ図と呼ぶことにしましょう。

Koteitan explainy 01

親の反対を子と呼びましょう。子を親の一段上に書くと書きやすいです。

1 には親がいないので、とりあえず左端の × につないでおきます。


Y数列の展開(\(\varepsilon_0\)まで)

親子の差が 1 である数列は下記の方法で展開することができます。

(1) まずブラケットを1つ増やします。
(2) 一番右の数字を消します。
(3) 消された数字の親に怒りのマークを付けます。(子が殺されたので怒るのです)
Koteitan explainy 02
(4) 怒った親を含む右部分は、「悪い部分(bad part)」と呼びます。親より左の部分は「良い部分(good part)」と呼びます。
Koteitan explainy 03
(5) 悪い部分をブラケットの数だけ右にコピーします。
Koteitan explainy 04

また、一番右の数字が 1 のときは、(1) でブラケットが 1 つ増えた後、1 の親がいないため、その 1 が単に消えて終わります。

ここまでの展開方法は、原始数列システムとほぼ同じです。親との差が 2 以上になるときは、また別のルールがあり、それを次で説明します。

Y数列の展開(\(\varepsilon_0\)~\(\varepsilon_{\omega+1}\))

下記で親子の差が 2 以上である数列の展開方法を説明します。例として (1,2,4)[2]を展開してみましょう。
Koteitan explainy 05
この数列では、親が 2、子が 4\ で、(4-2=2\) なので、親子の差が 2 の数列になります。この場合は、上記のように、(1,2,4) の階差数列である (1,2) という2つめの数列を作って、同じように枝を書いてやります。階差数列 (1,2) を (1,2,4) の対応する枝にの下に書いてやるのが分かりやすいです。この (1,2,4) を「1段目の数列」、その階差数列 (1,2) を「2段目の数列」と呼ぶことにします。
展開するには、まずは、この2段目の数列をいままでと同じルールで展開します。
Koteitan explainy 06
(1,2) → (1,1,1) となりますね。太字の 1 が bad root です。

そしてそれを使って次は1段目の数列を再構成してやることになります。その前に、1段目の数列も2段目の数列と同じように bad part をコピーする必要があります。

まず、1段目の数列の bad root がどこになるかと言うと、2つ目の数列の bad root に対応する枝の先、つまり、この場合は 2 が1段目の数列の bad root になります。bad root とそれから右が bad part です。この場合は 2 で終わりなので、bad part は 2 だけです。

コピーするときは2段目より少し特殊な方法が必要です。まず、最初の数列 (1,2,4)の枝の繋がり方を分析する必要があります。
Koteitan explainy 06

Advertisement