【文献】社会シミュレーションの技法-セルオートマトン

セルオートマトンの特徴は以下の通りです。

  1. セルオートマトンは、規則的なグリッド上に、同質のセルを多数配置したものである。セルは1列に配置することもできるし、2次元平面上や場合によっては3次元の立方体に配置することもできる。
  2. 各々のセルは、「オン」か「オフ」のように、いくつかある状態のうちの1つをとる。
  3. シミュレーションでは、全てのセルで歩調を合わせて時間が進行し、その各時間ステップにおいて、各々のセルの状態が変化する。
  4. セルの状態は、「自分の過去の状態と近傍にあるセルの状態への依存の仕方」が記述されたルール集合によって決定される。ルールは、セルの状態を変化させるために、グリッド上の全てのセルに共通して用いられる。つまり、モデルはルールに関して同質的であるということになる。
  5. セルの状態は、近傍にあるセルの状態だけを参照して変化するので、セルオートマトンは局所的な相互作用による現象をモデル化するのに最も適している。

以上をまとめましょう。

セルオートマトンは、一様なグリッドで表現された空間において、時間ステップごとに進行する世界を想定します。そして、その世界の「法則」は、各セルの状態が「自分自身の過去の状態と近傍のセルの状態によって計算される」という一様なルール集合によって表現されるということです。

以前に、セルオートマトンの基礎とそれを使ったライフゲームについて少し触れました。この本でも同じことが書かれているのでそこは省きます。http://pakkurikamitsukid.wordpress.com/2012/01/12/

一次元CAやライフゲームに見られるように、これまでの例では、セルオートマトンがきれいなパターンを生成できるということを見てきましたが、本来の私たちの関心は、セルオートマトンがどのような社会現象のモデル化に利用できるかということです。ここでは、以外な結論が導き出される簡単なモデルを2つ紹介しています。

ひとつは「うわさモデル」です。一般に、CAによって社会をモデル化する場合は、個人はセルでモデル化され、個人間の相互作用はセルの発展ルールによってモデル化されます。例えば、うわさ話が言い出した人から興味をもった人へ広がっていくということを思い浮かべてみます。ある人はそのうわさ話を知っている人から聞いて、それを他の人に伝えるかもしれません。ただし、その日に隣人と会わなければ、そのうわさ話を広める機会がないことになります。一度うわさ話を聞けば覚えるので、再びそれを聞く必要はありません。

以上のようなシナリオは、CAで表現することができます。このモデルでは、セルには2つの状態があります。ひとつは「うわさ話を知らない」(この状態を白で表す)であり、もうひとつは「うわさ話を知ってる」(この状態を黒で表す)です。セルの状態変化は、フォンノイマン近傍の4つのセルのうち、1つのセルが黒であればうわさが伝わり、白から黒へ変化するとします。白いセルは、周囲の黒いセルからうわさ話を聞いて黒いセルになる可能性が常にあります。一度うわさ話を聞いたセルは、それを忘れないことにするので、このモデルでは、黒いセルが白いセルへ変化することはありません。状態変化のルールをまとめると次のようになります。

これまで紹介してきたルールは、同じ状況が与えられたときにはいつも結果が同じになりました。それに対して、このモデルでは、近傍から必ずうわさ話を聞くわけではなく、単にその可能性があるにすぎないという確率論的なもになっています。このような確率的な要素は、乱数ジェネレータを用いてシミュレートすることができます。ここでは、乱数ジェネレータが0から99の間の整数の乱数列を生成すると仮定します。50%の確率でうわさ話が伝達されるという設定は、第一のルールを次のように実装することによってシミュレートできます。「セルが白い場合には、近傍にある黒いセルの分だけ、乱数ジェネレータから乱数を得る。得られた乱数が50未満の場合には、そのセルの状態を白から黒へ変化させる。」

上図の(a)は、うわさ話の伝達確率が50%の設定で、黒いセルが1つある状態から始めたシミュレーション結果です。うわさ話は、四方八方にほぼ均等に広がっています。うわさ話は、必ず伝達されるわけではないので、黒い領域は完全な円にはなりませんが、時間が経つにつれ、より滑らかな円形になっていきます。(b)は、うわさ話の伝達確率を5%にした場合のシミュレーション結果です。驚いたことにこのような変更をしても、シミュレーション結果にはほとんど差がありません。黒い領域が少しでこぼこになっていて、伝達の可能性が低いので、当然うわさ話はゆっくり広がっていきます。(c)は伝達確率1%の結果です。伝達確率が低いのにもかかわらず、前者2つと似たような形になっています。ただ、600ステップ後という状況ですが。このシミュレーションでわかることは、伝達確率が低いと伝播は遅くなりますが、どのような場合でも局所的な個人間相互作用の大きな妨げにはならないということです。このことは、うわさ話だけではなく、技術革新の「ニュース」や接触によって広まる伝染病などについても当てはまると考えられます。

このモデルでは、人々は一度うわさ話を耳にすれば、二度と忘れることはないと仮定しています。つまり、黒いセルはずっと黒いままなのです。うわさモデルとしては現実的とはいえません。それでは、「忘却」というものをモデルに組み込んでみましょう。「セルが黒い場合には、あらかじめ設定された低い確率で、白いセルへと変化する。」

上図は、うわさ話の伝達確率10%、忘却確率5%に設定した場合のシミュレーション結果です。ところどころにある小さな白い穴は、うわさ話を「忘れてしまった」セルを表しています。しかし、忘れてしまったセルも、伝達確率が高い黒いセルに囲まれているために、またすぐに黒に戻ってしまうので、白い領域が広がることはありません。つまり、伝達と忘却についての仮定を変更しても、全ての近傍からの伝達確率が忘却確率よりも高いのであれば、黒いセルでつくられる円形のパターンは安定的なのです。

うわさモデルは、近傍のうちの誰か1人からうわさ話を聞けば黒いセルになったので、個人対個人の相互作用をモデル化したものといえます。そこで今度は、全ての近傍の状態を合わせたものに応じて、セルの状態が変化するモデルを考えてみます。ある流行について、友人の大多数が取り入れている場合にだけ、自分もその流行を採用するという「多数派モデル」を例に挙げます。ルールはこうです。「新しいセルの状態は、ムーア近傍にあるセルの状態の数が多い方になり、同じ数であれば前回の状態を維持する。」ムーア近傍とは対象となるセルを8つのセルが囲むモデルでした。このルールは、そのセルの周囲に5個以上の白があれば白になり、5個以上の黒があれば黒になり、白と黒が4個ずつであれば前回の状態を維持するというものです。

白と黒のセルがランダムに分布した上図(a)の状態からシミュレーションを実行すると、(b)のような白と黒の小さなかたまりの寄せ集めになります。自分と違う色のセルに囲まれていたセルは、優勢な色に変化するため、周囲から孤立していたセルも一体化して、同じ色のかたまりを形成していきます。たまたま周囲に白と黒のセルが半々だったセルは変化しないままで、それらのかたまりとの安定的な境界を形成します。セルのパターンが斑点模様になると、そのパターンはそれ以上変化することはありません。

ところが、状態変化のルールに少し変更を加えると事情は一変します。ここでは、流行の影響を受けやすい人と受けにくい人がいるということを考えてみます。白いセルには、黒い近傍が4個以下しかなくても黒になるものもあれば、黒い近傍が6個ないと変化しないものもある、とするのです。黒のセルに関しても同様です。このモデルでは、流行に影響されやすいかどうかの度合いがランダムに設定されるので、全体としては各時間ステップで、自分と違う色の近傍が6個で変化するセルと4個で変化するセルの数は同じになります。このような修正によって、全てのセルがある程度の個人差をもつこともできます。

モデルに加えた修正は小さなものでしたが、その効果は劇的です。ひとたび形成されると「凍結」したままであった黒や白のかたまりも、ランダムに設定されたわずかな個人差によって、徐々にゆるめられ、同色の大きな領域へとなっていきます。その過程を表しているのが上図です。(a)は5ステップ後で(b)は19ステップ後です。19ステップ後には、かたまりができ始め、(c)の482ステップ後には、白と黒の大きなクラスターがそれぞれ形成されています。決定論的なモデルと少しランダム性を組み込んだモデルとの間で、マクロレベルの振舞いが異なるということは、セルオートマトンモデルではしばしば見られる特徴なのです。

うわさモデルは、少なくとも1つの近傍から「伝染」するというルールに基づいていて、多数派モデルは、近傍におけるそれぞれの色の数に依存するというルールに基づいていました。どちらの場合も、簡単なルールの働きによって、マクロレベルのパターンが創発することを見てきました。これらのマクロレベルにおけるパターン形成は、ミクロレベルにおけるルールを考察するだけでは、予測することはまず不可能です。どちらの例でも、グリッドを現実の地表を占める人々の配置だとみなすことができます。しかし、モデルと対象となる集団のアナロジーは、直接的に対応させるべきではないし、ふつう対応しているわけでもありません。グリッドは、地理的なもの以外にも、様々な種類の社会関係を表現することができます。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA