初期座標の重なりを回避するプログラム
今回の目的
前回は、アリのシミュレーションにおいて排除体積効果、すなわちアリ同士が移動した際に重ならないようにした場合について考えようとした。しかし、初期条件においてアリの座標をランダムに振った際、アリ同士の座標が重なっていることが問題であった。そこで、今回はそれを解決するプログラムについて考えた。
方法
- 1,10×10のマスに100匹のアリを用意(完全にダブらないようにするため)
- 2,100匹に座標をランダムで振り分ける
- 3,各アリ同士の座標が重なっていないか調べる
- 4,重なっていた場合、片方のアリの座標をもう一度ランダムで振る
- 5,3,4をdo while文で繰り返し、すべてのアリが重ならなくなったらループを終わらせる
結果
以上のプログラムを組んだ後、実際に合っているかどうか確かめるためすべてのアリの座標を取り出し、gnuplotで確かめてみた。 すると確かにすべてのアリが重ならずにスタート位置についていた(図1から図2へと変化)。
今後について
改めて排除体積効果を考慮しシミュレーションを行う。