2016-09-21 4 views
0

迷路で単一のゴールへの最短経路を見つけるためにA *アルゴリズムを実装した場合(私は現在のヒューマニス私のアルゴリズムが迷路で複数の目標をサポートするように(目標までのマンハッタン距離+これまでの走行コスト)。基本的には、私は迷路内のすべての目標を通過する最短経路を見つけたいと思っています。パスが最適であることを確認するためには、問題の一貫性を無視して、ヒューリスティック関数を許容する必要があります。迷路内の複数の目標を検索するための星アルゴリズムを改善する

これは旅行のセールスマンの問題のようなものですが、今は比較的少量のデータしか扱っていないので、私はA開始アルゴリズムを使いたいと思います。

ご迷惑をおかけしておりません。ありがとう!

答えて

2

A *はあるポイントから別のポイントへの最短パスを検出します。

許容パスに制約を追加することはできません(途中でこれらすべてのノードをA @に移動する必要があります)。また、最短パスを生成することはできません。

A *を使用して目的地間の距離(および経路)を見つけ、目的間の移動セールスマン問題(その距離を使用して)を解決し、最短経路。

+0

あなたはもっと具体的になりますか?私は、星を使用してゴール間の距離を計算し、最小スパニングツリーを適用することを考えています。しかし、私は迷路を持っています。ここにグラフはありません。これは、ゴール間に星を適用する可能性のあるパスが複数存在することを意味します。ゴールを訪問する順序を決める前にあまりにも多くの事前作業が必要です... – Deidara

+0

'' a''、 '' b''、 '' c''、 'd'のような目的を持っていれば、A *を使って'(a、b) '、'(a、c) '、'(a 、(d、d) '、'(b、c) '、'(b、d) '、'(c、d) ' これは、旅行セールスマンの問題を解決できるグラフです。少数しか持っていないならば、すべての順列を試みるだけで十分に速くなります。 –

0

まだ訪問していない最も近い目標までの距離を使用できます。最後のゴールが訪れたときには0になるだけです。

関連する問題