1. 特大のチェッカー盤のような碁盤の目を紙に描く。各正方形は一軒の住宅を表している。
2. その正方形のいくつかに、無作為に黒または白の標識をつけて、黒人と白人の家庭を表す。各家庭は人種が混合する地域に住むことを望んでいると仮定して、この碁盤の目の最初の状態は、その仮定を表しているとする。すなわち、白人の家庭も黒人の家庭も、碁盤の目全体に無作為に広がっている。
3. 各家庭は自分達と同じ人種の隣人を持ちたがっていて、同じ人種の隣人の割合が50%以下になると、その家庭は最も近くの空き地に引っ越す。
この三つのルールでThomas Schellingはシミュレーションを行い、結果、すべての白い標識は一つの地域に集合し、黒い標識もすべて別の地域に集まったらしい。彼の結論は「ときとして、ごくささいな動機やほんのわずかの差異が極端な分裂という結果につながるのである」というもの。
面白そうなので、javascriptでこのシミュレーション実験を行ってみました。下のStartというボタンを押すとシミュレーションが開始します。プルダウンメニューは碁盤の大きさやら空き地の比率やら人種の比率やらを設定します。Thomas Schellingは黒/白でシミュレーションしたそうなのですが、今回は空白と見分けがつかないので、赤/青でシミュレーションしました。
やっていただくと分かりますが、なかなか収束しません(;_;) シェリングの実験結果のような状態には滅多になりません。本を読んだ限り、もっと美しく収束するイメージだったのですが・・・。
Size=
空き地率=
青:赤=
5年ぶりくらいにjavascriptを書いたのですが、outputを見えるのは楽しいです。しかし、javascriptはwaitが無かったり、配列が参照渡しだったり、難しい点も多かった・・・。FC2特有の問題もあったりして混乱が多かったです。
Author:fuku
東京在住。
通勤中の読書が何よりのリラクゼーション。
小説・自己啓発・実用・ビジネス・雑学、、興味を持ったら何でも読みます。
お薦めの本があったら教えてくださいね。
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
- | - | - | - | - | 1 | 2 |
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | - | - |