私は、2Dグリッドで最も近い(多くの)ゴールノードへのパスを見つける必要があるプロジェクトに取り組んでいます(任意のノードで8つの接続:N、S、W、E、NW、NE、SW、SE)。途中で壁が道を塞いでいる場合があります。1 つのゴール ノードへのパスを見つけることに関しては問題ありませんが、どのゴールが最も近いかを合理的な時間内に見つけるにはどうすればよいでしょうか? すべてのゴール ノードに対して A* を実行し、見つかったすべてのパスの長さを比較することは合理的な方法だとは思いません。
A* は何らかの形で最も近いノードへのパスを見つけることができますか、それとも最も近いゴールを別の方法で見つけてから、唯一のゴールとして A* に渡す必要がありますか?
伝説:
ホワイト - 歩きやすい
灰色 - 壁
青 - 自分
緑 - ゴール
赤 - 敵 (X SQM で敵との距離を保つ予定です)