ナーゲルとシュレンケンベルクの標準模型1
さて話を本題にに戻すとして,セル状オートマトンを用いて交通流を上手にモデル化したのはナーゲルとシュレッケンベルクというドイツの物理学者である。彼らの考えたのは、一車線の道路を行く運転者の振る舞いは基本的に次の二つからなっていると言う観察である。
|
1*運転者は特に理由がない限り車の速度を制限速度いっぱいまで上げる。
2*前に車がいるときはそれにぶつからないように速度を調整する。
|
(4.1a)
|
さらに彼らは運転における「偶然」の要素についても考慮する事にした。それは
|
3*運転者が稀に、様々な理由から、先行車が無くとも減速する事がある。
|
(4.1b)
|
という事実である。これは道路の曲がり、道幅の変化、道路脇の偶発事件、パトカーの影が見えた等の外発的要因や、iPodの曲の切り替え、同乗者との会話、突然の体調の変化や単なる気まぐれなどの内発的要因も含めて、いろいろな状況で起こり得る。
このような運転者の行動をセル状オートマトンに具体化するのに、彼らは
|
*車は前を塞ぐ別の車がない限り1ステップに1だけ速度を増やす 但し車には最高速度 U が設定されていてそれ以上加速しない
*現在の速度では前の車にぶつかる場合は、衝突を避ける速度まで減速する
*車はある決まった確率Rで特に理由無く減速する
|
(4.2)
|
という3つのルールに仕立て上げた。あとはこれを実際に交通流を表す配列の発展として実装すればよいことになる。
速度を決めた後、車の位置を進行させる4つ目の規則を加えて、各セルの一ステップの時間発展 ( X[i]→X'[i] 、V[i]→V'[i] ) は次のように書ける。
|
1) V[i] → V'[i] = min( U, V[i]+1 )
2) if ( X[i]+V[i] >= X[i+1] ) then V[i] → V'[i] = X[i+1]-X[i]-1
3) V[i] → V'[i] = max( 0, V[i]-1 ) with probability R
4) X[i] → X'[i] = X[i]+V'[i]
|
(4.3)
|
ただしここで max(A,B)、min(A,B) は A、B のうちのそれぞれ小さい方、大きい方を表すとする。この操作を車の番号 i について i = 1から M まで行えば交通流の1ステップの発展が記述される。これが世に名高いナーゲルとシュレッケンベルクの交通流標準モデルである。
|
|
|