ちょっとテスト実行を繰り返していたら、最短が取れていないことに気がついた。
こんな感じのマップがあったとする。
白が通れる場所、黒が通れない場所を示している。
この時、右上の座標(0,0)がスタート地点で、中央の座標(2,2)がゴール地点と設定して、自分のプログラムで探索させてみた。
すると、まずはこんな感じで探索する。
青はそこを探索し終えたというフラグを立ててあるということを示しており、再度探索は行わない。
ゴール地点は探索しない。
次に、こんな感じで探索する。
どう見ても前のよりも短いのだが、探索が行われてしまうらしい。
このため、最短ルートはどうしても潰されてしまうようだ。
長いほうの道を探索してしまった場合、その方向の探索フラグを立て直せばいけるだろうか?
最短なんて取れてない
コメントはまだありません。