セル・オートマトン
セル・オートマトンを誤り訂正符号の設計に応用した例として、D. Roy Chowdhury、S. Basu、I. Sen Gupta、P. Pal Chaudhuri の論文 "Design of CAECC - Cellular Automata Based Error Correcting Code" がある。この論文ではセル・オートマトンを使って SEC-DED符号(1ビット誤り訂正-2ビット誤り検出符号)を構築する新たな手法が定義されており、その符号の高速ハードウェアデコーダも報告されている。
CAの概念は様々な拡張が可能である。
例えば、矩形の格子ではなく別の多角形を使うという拡張がある。例えば六角形を平面に敷き詰めたとき、個々の六角形をセルとして扱うことができる。多くの場合そのようなセル・オートマトンは、矩形格子で近傍と規則をうまく調整したものと等価である。他にもペンローズ・タイルのような平面充填で格子を形成することもできる。
また、規則を決定的なものではなく確率的なものにする拡張もある。そのようなCAを確率的セル・オートマトン(英語版)と呼ぶ。この場合、時刻 t のパターンから時刻 t+1 のとりうる各パターンの遷移確率が確率的規則により指定される。もっと単純な規則を使うこともあり、例えば「基本的にライフゲームの規則に従うが、毎回0.001%の確率で本来とは反対の色になる」といった規則を設定する。
時間や場所によって近傍の定義や規則を変化させるという拡張もある。例えば、最初の世代では水平方向の隣接したセルを近傍とするが、次の世代では垂直方向の隣接するセルを近傍とする、といった具合である。
一般に各セルは同じ状態から開始し、一部の有限個のセルだけがそれ以外の状態から開始する。これを「コンフィギュレーション」と呼ぶ。また、全体が周期的なパターンを形成し、一部がそのパターンから外れた状態で開始する場合もある。後者は1次元のセル・オートマトンでは一般的である。
多くのセル・オートマトンのシミュレーションでは有限の格子を使う。2次元の場合、無限の平面ではなく、有限の四角形で表される。有限の格子での明らかな問題は端のセルの扱いであり、端のセルの扱いが格子全体のセルの状態に影響を与えるため重要な問題である。1つの手法は、端のセルを全て変化しない定数を状態として持つとする手法である。別の手法は端のセルの近傍を一般のセルとは違う内容にする手法である。つまり、端のセルの近傍を通常より少なく定義できるが、その場合は規則も新たに定義する必要がある。別の手法として、2次元の場合に四角形の平面の端の上下と左右を繋げて、トーラス形にする手法もある。これは、ある意味で無限の平面が同じ四角形で平面充填されている状態に近い。1次元であれば、線の端を繋いでループにする空間に相当する。これは端の問題を回避するために行うが、モジュロ演算関数を使って容易にプログラム可能という利点もある。
ソリトンのようなふるまいを見せる、箱玉系と呼ばれているセル・オートマトンがある。
センサーネットワークやさらに微細な構造をネットワークとして設計し、分散処理を行わせることに関心が集まっている。分散システムを使い大域的なレベルで情報処理するという考え方から創発計算というアイデアが生まれた。ポートランド州立大学の教授でサンタフェ研究所にも所属しているメラニー・ミッチェル(英語版)は、そのために自己進化するセルの格子を使うアイデアに取り組んでいる。ミッチェルらはセル格子のプログラムに進化的アルゴリズムを採用している。分散型システムにおける計算は古典的なコンピュータとは大きく異なり、大域的および局所的なパターンの変化という形で情報処理がなされる。
この手法の発想の元になっているのは、社会性昆虫、神経系、経済システムといった自然界に見られる複雑なシステムである。研究の焦点は、進化する分散型システムでいかにして計算が発生するかを解明することである。モデルを構築しどのようにして創発計算が生じるかを解明するため、ミッチェルらはセル・オートマトン内のパターンを進化させるべく遺伝的アルゴリズム (GA) を適用した。既にGAによって洗練された創発計算戦略が生じる規則を発見している。ミッチェルらが採用したのは1次元2値で6個の近傍を持つセル・オートマトンである。先頭と末尾は繋がっているので、環状になっている。