「ウルフラム・コード」の版間の差分
m 解消済み仮リンクルール184を内部リンクに置き換えます (今回のBot作業のうち19.4%が完了しました) |
m Cewbot: ウィキ文法修正 99: Superscript tag without correct end |
||
9行目: | 9行目: | ||
* ''k'' = S<sup>2''n'' + 1</sup> は近傍の状態の総数 {{efn|近傍は自身を含めて 2''n'' + 1 セル分。各セルは ''S'' 通りの状態があるので、近傍の状態の総数は ''S'' 種類の中から2''n'' + 1 個選ぶ[[重複順列]]の総数になる}}、 |
* ''k'' = S<sup>2''n'' + 1</sup> は近傍の状態の総数 {{efn|近傍は自身を含めて 2''n'' + 1 セル分。各セルは ''S'' 通りの状態があるので、近傍の状態の総数は ''S'' 種類の中から2''n'' + 1 個選ぶ[[重複順列]]の総数になる}}、 |
||
* ''n''は近傍の半径 |
* ''n''は近傍の半径 |
||
とする。従って、特定のルールのウルフラム・コードは、0 から ''S''<sup>''S''<sup>{{nowrap|2''n'' + 1}}</sup></sup> − 1, の範囲 {{Efn|セル・オートマトンの遷移規則は、 2''n'' + 1 セル分の状態を入力とし、1セル分の状態を返す関数である。この関数は、''k'' 通りの入力に対して、''S'' 個の状態のいずれかを対応させるものである。このような関数は、''S'' 種類の中から(重複を許して) ''k'' 回選ぶ重複順列と対応しているので、''S''<sup>''k'' 通りのパターンがあり得る}} であり、''S''-ary から[[10進数]] 表記に変換される。その計算は以下の通り: |
とする。従って、特定のルールのウルフラム・コードは、0 から ''S''<sup>''S''<sup>{{nowrap|2''n'' + 1}}</sup></sup> − 1, の範囲 {{Efn|セル・オートマトンの遷移規則は、 2''n'' + 1 セル分の状態を入力とし、1セル分の状態を返す関数である。この関数は、''k'' 通りの入力に対して、''S'' 個の状態のいずれかを対応させるものである。このような関数は、''S'' 種類の中から(重複を許して) ''k'' 回選ぶ重複順列と対応しているので、''S''<sup>''k'' 通りのパターンがあり得る</sup>}} であり、''S''-ary から[[10進数]] 表記に変換される。その計算は以下の通り: |
||
# セルの近傍 2''n'' + 1 セル分の状態は、全部で ''S''<sup>2''n'' + 1</sup> 通りある。これをすべてリストする。 |
# セルの近傍 2''n'' + 1 セル分の状態は、全部で ''S''<sup>2''n'' + 1</sup> 通りある。これをすべてリストする。 |
2023年5月11日 (木) 01:18時点における版
この項目「ウルフラム・コード」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文:10:39, 9 February 2023) 修正、加筆に協力し、現在の表現をより自然な表現にして下さる方を求めています。ノートページや履歴も参照してください。(2023年4月) |
ウルフラム・コード (英: Wolfram code) は、広く使用されている[1] 1次元のセル・オートマトン 規則の番号付けルールである。 この番号付けは、1983年の スティーブン・ウルフラム の論 [2] で導入され、彼の著書 A New Kind of Science.[3]で一般化された。
定義
このコードは、オートマトンの各セルの新しい状態をその近傍の状態の関数として指定するテーブルが、S-進数[訳語疑問点] の k-桁の数字として解釈できるという観察に基づいている。 ここで、
- S はオートマトンの各セルが持つことのできる状態の数、
- k = S2n + 1 は近傍の状態の総数 [注釈 1]、
- nは近傍の半径
とする。従って、特定のルールのウルフラム・コードは、0 から SS2n + 1 − 1, の範囲 [注釈 2] であり、S-ary から10進数 表記に変換される。その計算は以下の通り:
- セルの近傍 2n + 1 セル分の状態は、全部で S2n + 1 通りある。これをすべてリストする。
- 各状態 S 進数との数値として解釈し、数値の降順に並べ替える。
- 各状態について、繊維ルールに基づいて、次のイテレーションにおけるセルの状態を計算し、リストする。
- 得られた状態のリストを再び S 進数の数値として解釈し、この数を 10進数に変換する。この結果の10進数がウルフラム・コードである。
ウルフラム・コードは、近傍のサイズ・形状も、状態の数も指定していない。これらは、文脈から既知であると仮定されている。 そのような文脈なしに使われて場合は、コードは基本的なセル・オートマトン を指すものと想定されることが多い。すなわち、2状態 1次元 3近傍セル・オートマトンである。ウルフラムは彼の著書で広範囲に調査している。 このクラスの注目すべきルール番号は、ルール30, ルール110, および ルール184 が含まれる。 ルール90 も 2 を法とするパスカルの三角形 を形成するため興味深い。 "ルール 37R"のように末尾に "R" が付いたこのタイプのコードは、同じ近傍構造を持つ二次セルオートマトン を示す。
厳密には、有効範囲内のすべてのウルフラム・コードは異なる規則を定義しているが、これらの規則のいくつかは同型であり、通常は同値なものと見做される。たとえば、上記のルール 110 は、124、137、193 と同型であり、これらは元のルールから、左右反転と、状態の再番号付けによって取得できる。慣例では、そのような各同型クラスは、コード番号が最も小さいルールによって表される。ウルフラム表記、特に10進表記の欠点は、同型が他の表記法に比べて分かりにくくなることである。それにもかかわらず、ウルフラム・コードは、1次元セル・オートマトンを参照するデファクトスタンダードになっている。
例
ここでは 1 次元 2 状態 3 近傍 セルオートマトンの例を示す。
計算手順のステップ 1 | 現在の状態 | 111 | 110 | 101 | 100 | 011 | 010 | 001 | 000 |
---|---|---|---|---|---|---|---|---|---|
ステップ 2 | 二進数として解釈 (ソート順) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
ステップ 3 | 中央のセルの次の状態 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
この表を二段目の「二進数として解釈 (ソート順)」に記載の数字が降順になるように各列を並び替える(この表ではすでに降順に並んでいるので、そのままでよい)。 並び替えた後の表で、三段目の「中央のセルの次の状態」のデータを並べた 0,0,0,1,1,1,1,0 を 2進数 と解釈し、10進数に変換すると、30 である。従って、この規則はルール30と呼ばれる。
一般化セル・オートマトン
一般化して、D-次元空間で、近傍サイズが nであり、各セルの状態数が S でるようなセルオートマトンを考える。この時、可能なルールの総数は、
- R=SS(2n+1)D
で与えられる。
もっとも一般的な例では S = 2, n = 1, D = 1 の場合で、ルールの総数は R = 256 となる。 可能なルールの総数は、系の次元に大きく依存する。 例えば、空間の次元 (D) を 1 から2 に増加させると、ルールの総数は、256 から 2512 に増加する (これはおよそ ~1.341×10154 である) 。
脚注
注釈
参考文献
- ^ Ceccherini-Silberstein, Tullio; Coornaert, Michel (2010). Cellular Automata and Groups. Springer. p. 28. doi:10.1007/978-3-642-14034-1. ISBN 978-3-642-14034-1 22 October 2022閲覧。
- ^ Wolfram, Stephen (July 1983). “Statistical Mechanics of Cellular Automata”. Reviews of Modern Physics 55 (3): 601–644. Bibcode: 1983RvMP...55..601W. doi:10.1103/RevModPhys.55.601.
- ^ Wolfram, Stephen (May 14, 2002). A New Kind of Science. Wolfram Media, Inc.. ISBN 1-57955-008-8