アリコロニーアルゴリズムを開発しました。現時点ではかなりうまく機能しています。
いくつかの論点では、最良のパスではなく、最良のパスに近いものを示すことがあります。
たとえば、次のグラフがあります。
マトリックスは次のとおりです。
1 2 3 4 5 6 7
1 0 6 5 0 0 2 0
2 6 0 3 2 1 5 0
3 5 3 0 2 5 0 0
4 0 2 2 0 3 0 0
5 0 1 5 3 0 6 0
6 2 5 0 0 6 0 2
7 0 0 0 0 0 2 0
最初の列と最初の行は頂点名です。
したがって、可能なパスは次のとおりです (パス - パスの長さ):
1. 1-2-5 with length 7
2. 1-6-2-5 with length 8
3. 1-6-5 with length 8
私のプログラムは、プログラムの 1/10 開始で 1 番目のパス、7/10 開始で 2 番目のパス、2/10 開始で 3 番目のパスを選択しています。
正しく動作していますか?
これについての説明は、アリには自分の目 (ビジョン、エッジの長さを見る) があり、フェロモン レベルを検出することもできます。自分の目で見ると、1-2 のエッジはかなり長く、1-6 のエッジよりも長いため、通常、1-2 を選択する代わりにエッジ 1-6 を選択します。6-5 と 6-2 も同様です。6-2 の方が短いので魅力的です。
私の仮定は正しいですか?