Cellular Automaton

ユヴァル・ノア・ハラリ氏の「ホモ・デウス」上・下読了。歴史学者が情報工学、生物学など様々な視点から人類の未来を語る話ですが、なかなか衝撃的な内容もあり、読みごたえがありました。生命はアルゴリズムにすぎないのか、心、意識はどこにあるのか?
こんな話に触発されて、プログラムで知的振る舞いをさせるセル・オートマトンの実験をしてみました。
参考: 「人工知能の創発」伊庭斉志 著

単純なルールに基づいて動作しているものでも、たくさん集まれば知能をもっているようみえることがあるという、このジャンルはとても興味深いです。

まず渋滞のシミュレーションをしてみます。これは一次元のセル・オートマトンと呼ばれているもので、時間の変化とともに状態をExcelのシートで表現します。
一行目はランダムで初期値を設定し、二行目から順番に状態が変化していく様子をシミュレーションします。

一行目またはA列
=IF(RAND()<0.5,0,1)
その他(例:B1の値)
=IF(OR(AND(A1=0,B1=0,C1=0),AND(A1=0,B1=0,C1=1),AND(A1=0,B1=1,C1=0),AND(A1=1,B1=1,C1=0)), 0, 1)

ANDの部分の条件が、ルールに番号になるようです。このケースは
000:0
001:0
010:0
011:1
100:1
101:1
110:0
111:1

で、二進数で10111000は、十進数で184。これをRule184と呼ぶようです。
これがたまたまた渋滞シミュレーションのような振るまいます。

下の1から8列のOPQの矩形の部分で説明すると、時間とともに右に移動(次の行に遷移した状態)する青いセルが、前が青の場合はとまり、白の場合は進んでいるように見えます。

次は、規則的でもなくランダムでもない、アートとして面白いRule110です。
一行目またはA列
=IF(RAND()<0.5,0,1)
その他(例:B1の値)
=IF(OR(AND(A1=0,B1=0,C1=0),AND(A1=1,B1=0,C1=0),AND(A1=1,B1=1,C1=1)), 0, 1)

こうやってみてみると、もっといろんなルールを試したくなってきます。

また二次元のセル・オートマトンで有名なライフゲームですが、以前Windows Store Appで開発したことがあります。(現在ダウンロード不可)
http://crossframe.iiv.jp/apps/
これは実験的要素としてセルを鍵盤み見立てて、ピアノを鳴らしています。

エクセルのセルのネットワークで実際の細胞(Cell)のネットワークをシミュレートし、さらに生命体もシミュレート、そして生命体同士のネットワークで社会もシミュレートなんてことができるとしたら、本当に世界はアルゴリズムで記述できる気がしてしまいます。

しかし私は「生命体はアルゴリズムではない」の方にかけます。