バードの配列表記(バードのはいれつひょうき)とは、クリス・バード(英:Chris Bird)によって考案された巨大数の表記法である。これはBEAFの拡張配列表記の拡張で、歴史的にも定義的にもBEAFと同族である。[1]
線形配列では、バードの配列表記はBEAFと同じである。
Rule 1-1.
Rule 1-2.
Rule 2.
Rule 3.
Rule 4.
Rule 5.
ただし は配列の変わらない部分を指す。
線形配列では、急増加関数で と近似される。[2]
多次元配列では、配列の一部を と表記する。線形配列と同様、BEAFと同じである。
Rule A1.
Rule A2.
Rule A3.
Rule M1.
Rule M2. (これは上記のRule 2も含む)
Rule M3.
Rule M4.
Rule M5.
Rule M6.
Rule M7.
この配列は を次元セパレータとして用いている。
超次元配列では、括弧が のようになる。Rule M1~M7は、 を に置き換えること以外は同じで、Rule A3はRule A5となり、新しいRule A3とRule A4が追加される。
Rule A3.
Rule A4.
AnとBは配列で、Ai-1 は Ai の最初の引数から1を引いて、残りは等しい配列である。
Rule A3とRule M2はよく似ているため、どのセパレーターがより高いランクなのか決定する必要がある。最初に、配列が何重にネストされたかを表す関数を と表記する。例えば、 とすると、 となる。つまり は にネストされていて、それも にネストされている。もう一つの関数、 を、配列 中のセパレータ の個数と定義する。例えば、 なら、 。
と のどちらが優位なのかを決定する方法は、次のように表現される。
- Step 1. とする。
- Step 2.もし なら、 、 なら、 とする。 もし なら、Step 3へ、それ以外はStep 6へ。
- Step 3. と をそれぞれ配列 と の最高位のセパレータとする。 もし なら 、 なら 、それ以外は としStep 4へ。
- Step 4.もし なら、 、 なら、 、それ以外はStep 5へ。
- Step 5. 文字列 と から、 のセパレータとその前の引数を削除する。
- Step 6.これまでのルールで、 と は と ( と は単一の整数)の形になっているはずである。 もし なら 、 なら 、 それ以外はStep 7へ。
- Step 7. と の最後の引数とその前のセパレータをすべて消去する。もし と がどちらも空ならば 、 それ以外はStep 2に戻る。[2]