2

簡単なアリのコロニー シミュレーションを構築しようとしています。世界は正方形のグリッドです。それらのそれぞれは、あるレベルのフェロモンと任意の数のアリで構成できます。フェロモンには、食物フェロモンと巣フェロモンの2種類があります。アリは環境について何も知りませんが、巣に戻ったアリは巣のフェロモンに従い (ほとんどの場合、近くのすべてのセルの中でフェロモン レベルが最大のセルに移動することを選択するという意味で)、食物フェロモンを残します。

時折、アリは最大のフェロモンの方向ではなくランダムな動きをします。シミュレーションの各ティックで、アリは 8 つの近くのセルのフェロモンのレベルをチェックし、現在のセルのフェロモン レベルがすべての近くのセルのフェロモン レベルの最大値よりも低い場合、いくつかのフェロモンを追加します。

現在のシミュレーションはうまく機能していますが、見つかったパスは最適なものではありません。解決方法がわからない2つの問題があります。

  1. 対角線の移動が非対角線の移動よりも長いという事実をシミュレートするにはどうすればよいですか (上、下、左、または右)?

現在の状況では、黒いパスと青いパスの長さは同じです。 ただし、実際には、青いパスの方が短いです。

  1. フェロモンの拡散をどのようにシミュレートすればよいですか? 現在、フェロモンは時間の経過とともに蒸発しますが、拡散はありません。シミュレーションの各ティックごとに、各セルから一定量のフェロモンを近くの 8 つのセルに転送しようとしましたが、結果は完全に混乱しました。環境全体がフェロモンでいっぱいでした。メカニズムが原因だったと思います。アリはフェロモンレベルを調整するために使用します。
4

1 に答える 1

2

正方形のグリッドでは、アリが常にティックごとに 1 つの正方形を移動する (またはまったく移動しない) と仮定すると、斜めの移動が水平および垂直の移動よりも長いことをシミュレートするのはおそらく難しいでしょう。対角距離が長くなるため、アリは水平/垂直移動よりも事実上「速く走らなければならない」ことになります。これはおそらくあなたが望むものではありません。

したがって、正方形のグリッドの代わりに、すべてが等距離のグリッドまたはノードのネットワーク、つまり六角形のグリッドを検討することをお勧めします。これにより、隣接するセルの数も変更されますが、それがポイントです。

拡散について: これは、パラメータを正しく設定することの問題です。ティックごとの拡散が高すぎたようです。また、アリが生産するフェロモンに対して適切な比率である必要があります。グリッドのタイプも拡散に影響することに注意してください。

于 2013-01-31T11:01:00.190 に答える