複数の脳内小人(コロポックル)で構成された人混みシミュレーション (Step2)  〜JAVA プログラム
  〜〜 移動制限のある空間内での人の移動 〜〜

 前頁へ<<             >>次頁へ             (Up)


<概要:Step2>

   
 Step1では、「運動場の様な自由に移動できる空間で、人間が東西方向、南北方向に移動する」というモデルを作成してみました。
 このモデル内には、運動場を東西と南北に移動人が複数存在します。 これらの人々は、前方を横切る人や前から来る人を避けながら目的方向へ移動していきます。
 移動先に制限は無いので、人を避けながら移動すると、次第に人々の群れが広がっていきます。

 Step2のシミュレーションでは、壁で周りを囲まれた十字の交差通路を東西南北へ移動します。 人は直進だけではなく、それぞれ1/3の確率で東西南北通路の交差位置で右折/左折を行います。 人々は、壁を突き抜けてその先に移動する事はできません。 したがって、自由に広がれず、人を避ける場合にも、壁の存在を意識する必要がります。

  
           
 <シミュレーションモデル構造:Step2>
 
 図2−1に 本シミュレーションのモデル構造を示します。
 図1−1に「Block」、「Side」、「Route」が追加されています。 世界は、複数のブロック(凸型)に分割されます。これらの壁の境界で移動不可能な部分は「Side:壁」クラスで仕切ります。この壁が人の移動を制限します。
 人間は、世界に入ると、入る位置によって道順:「Route」クラスをもたせます。 (移動可能な道順は複数用意し、その何れかを一つもたせます。) 人は、持っている道順:「Route」に従って、移動します。


     
                   図.2−1  シミュレーションモデル構造


 人間の持つ、Korpokkurに、壁回避(KrpkkrWall)、道順方向決定(KrppkkrNextDirection) を追加します。

       
  
                図2−2  脳内小人(コロポックル)の種類とその派生関係           

 


 追加したコロポックルは 以下のと通りです。
 コロポックル種類 

役割 

 壁回避( KrpkkrWall )    壁からの距離が一定距離以内ならば、壁方向へは移動しない。
 道順方向決定( KrppkkrNextDirection )  最終目的位置へ移動するための道順(Route)を元に、中間目標を定める。その中間目標方向を設定する。
 「KrpkkrToGoal」は、この 「KrppkkrNextDirection」 が選択し、設定した方向を利用します。
 (注意:KrppkkrNextDirectionクラス内のプログラムはかなり複雑になっています。今後、内部を分割すなりの必要があります)


 その他の、論理は変更しません。
 

<シミュレーション:Step2>


 Step2 の実験として、図2−3に示すように十字の通路を準備します。
 西から出発した人は1/3の確率で 交差点で 左折(北へ方向転換)、直進(東へ直進)、右折(南へ方向転換)を行います。 北から出発した人、東から出発した人、西から出発した人も同様に、方向転換します。 
 尚、図中、白色の線は壁を示し、暗い緑色の先はブロックの境界線(通り抜け可能)を示しています。壁と境界線で囲まれた最小単位がブロックになります。

     (動画)
     

                       図2−3 シミュレーション実行の例

  登場する人物は大半が他人同士(東西方向から出発した通行人:灰色、南北方向から出発した通行人:青色)ですが、一定の割合で、恋人、家族、友人のグループが混じっています。 恋人(赤色)、家族(橙色)、友人(緑色)はそれぞれグループとして離れ離れにならないように行動します。

  Step1の場合と同様に、モニター人(水色で示す)脳内の行動確率計算結果(各コロポックルが算出した値を集計した値)をモニターしており、シミュレーション画面左上に*で示します。 赤は引力、青は斥力、長さはその力を示しています。つまり、人間は赤線分が長い方向に移動しやすくなります。

 人々は、Step1の場合とは異なり、壁に囲まれた空間であるため、相手を避けるために無制限には広がることができないので、限られた空間内でなんとかお互いに衝突しないように目的方向へ移動しています。 右左折する人は壁側を、直進する人は通路の真ん中を進行する傾向があるようです。

 

<参考文献> 

1.服部 桂著            人工生命の世界               オーム社
2.Ellen Thro著           人工生命                   カットシステム
3.佐倉 統著            動き始めた人工生命            同文書院
4.吉永 良正            複雑系とは何か              講談社
5.日本情報処理開発協会        人工生命の方法               工業調査会
6.スティーブン・レビー著      人工生命                   朝日新聞社
7.ルーディ・ラッカー著           人工生命研究室              ASCII 
8.M.A.アービブ著                『脳』  ューラルネットと脳理論      (株)サイエンス社(1992)  
9.Norman D. Cook著            ブレインコード                 紀伊國屋書店(1988)
10.本間三郎著          人間の脳−その未知なるもの−     朝倉書店(1989) 

キーワード: 混雑、人混み、マルチエージェント、モンテカルロ法、BOID、シミュレーション、Javaプログラム


(JAVAプログラム実行へ)             前頁へ<<            >>次頁へ                (Topへ)

 Javaソースプログラムは、上記(Javaプログラム実行へ)の頁からダウンロードできます(ウイルスチェック済み)。

初版:2014/08/11 |





蛇島伸吾