プロローグ
多変数の関数は、私の偏見からすると、左に大きい数があると強くなる、気がする。
アッカーマン関数とかBEAFとか。よくわからんけど。
#東方巨大数2 の開催期間中に気まぐれで作り始めたものです。新規投稿4秒前にぶち込んだものの、まともに修正が出来なかったので、大枠の方針を変えずに、微妙に強化しながら、改めて well-defined を目指そう……というやつです
(何でJGP関連の個人創作と一緒のwikiかって?知らん。)
計算例をふんだんに入れていこうと思います。文章での定義が出来ないなら仕方がない……(駄目です)
1章.「墨染関数」で使う用語(どうせ後で増えそうなものだが)
- (初期)メイン数列<A0>
初期状態としてメイン数列には1つ以上の自然数を入れた状態とする。 - 遷移数列<An>
メイン数列の内側の項を手順に従って入れかえる事によって生まれるものです。
nは経過ステップを示す自然数です。 - 入れ替え完了数列<AE>
これ以上メイン数列を入れ替える事の出来ない状況です。要素が昇順に並びます。 - (初期/遷移/入れ替え完了)サブ数列<NΔ(0/n/E)>
墨染関数では、2以上の項を持つ全ての数列(<N>とする)
をメイン数列にとる「空のサブ数列<NΔ0>」が定義されます。
これは、一つ前の添え字のものに、メイン数列の入れ替え操作によって最低1つの非負整数か、記号が加えられていきます。 - 遷移図G<A0>
<A0>を「展開ルール」に基づいて展開した結果生まれる、数列をつないだ図形です。 - 全図/部分図加算記号+g(Ⓐ)
遷移図内のⒶ以下のオーダーの非負整数、記号に「加算操作」を行う記号です。(mは自然数) - 数列の長さℓ・有効数列長ℓ1
ある数列に存在する非負整数と記号の総数です。有効数列長は、非負整数のみの要素数です。 - 記号オーダー
この図のことです。記号は如何なる整数より大きく、同じ次数なら添え字は大きい方が大きく、高次の方が大きいとされます。1次複製記号 2次複製記号 3次…記号 4次…… 5 6 7 …… m次 Sn
(スコア…「点」)Pn
(パワーのP)Fn
(フルパワーのアレ)Bn
(ボムね)Un
(エクステンド!!)UUn UUUn …… UUU…[(m-4)個のm]…Un
- 数列入れ替え計算法則
- 共通事項:計算結果は、サブ数列の右端に付け加える。
- RULE1.非負整数同士は「左項目-右項目」を行う
比較した2つの数の、左にあったものから、右にあったものを引きます。
進展のある比較だった場合は自然数が、そうでない場合は0や負の整数が生じます。- 負になったら爆発する
その解の絶対値と同じ数のS1を生み出す。おっかないね。
- 負になったら爆発する
- RULE2.記号を含んだらメンドクサイ
- 入れ替えがある(いい比較の時)
1.高い方の次数を採用し、添え字同士を足す(非負整数は、その数そのものが添え字で次数は0)
2.新たに生まれた記号を添え字の数だけ展開する。 - 入れ替えがない(悪い比較の時)
1.次数と添え字同士を足す(非負整数は、その数そのものが添え字で次数は0)
2.新たに生まれた記号を添え字の数だけ展開する。
- 入れ替えがある(いい比較の時)
2章.数列から「遷移図」を生み出す
例として最初の数列を<11,7,5,3,2>としておきます。
A.昇順に入れ替える方法
スローソートを用います。
スローソートで、ある数列が昇順に並び替えられるまでを1ラウンドとします。
スローソートの手順は次の通りです。
手順1.ℓ>1であるならその数列を2分割する。
1項目から(2/ℓ)項目[小数点以下切り上げ]を左部に、残りを右部に置く。
分かれた数列に対しても、適応できる限り手順1を行う。
EXAMPLE
数列A0:
<11,7,5,3,2>
<[11,7,5],[3,2]>
5]],3],[2<[[11,7],[>
<[[[11],[7]],[5]],[[3],[2]]>
A0サブ数列A0Δ: <>
手順2.その2.を最左項から
その1.ステップ数を1増やして、入れ替える数列と入れ替える数列をメイン数列にもつサブ数列をコピーして、それぞれを新しい数列とサブ数列として定義する。
その2.隣り合う2つ1組の部分列の最右項を比較して、「左部の最右項ー右部の最右項」を、数列入れ替え計算法則に沿って、サブ数列に記録し、大きい方が小さい方の右側に移動してから、左右を結合する。
メイン数列A1 |
A1サブ数列A1Δ <> |
メイン数列A1 <[7,11]],[5,3],[2> |
A1サブ数列A1Δ <4> |
コメント
最新を表示する
NG表示方式
NGID一覧