2012-03-06 5 views
3

問題は、4次元の風(異なる高さの風と、旅行時に変化する風(叙述的風モデル))を通る平面の最適なルートを見つけることです。4次元データによる経路探索

私は伝統的なA *検索アルゴリズムを使用して、それを3次元および風ベクトルで動作させるためにハッキングしました。

これは多くのケースで動作しますが、非常に遅いです(膨大な量のデータノードを扱っています)。そして、いくつかのエッジケースではうまく動作しません。

私はそれが "うまく"動作しているように感じますが、その感触は非常にハッキングされています。

このようなデータ(おそらく遺伝的アルゴリズムやニューラルネットワーク)を使ってパスを見つける方法がより効率的になっていますか?多分流体力学?知りません?

編集:詳細。

データは風ベクトル(方向、大きさ)です。 データは25の異なる標高レベルで15x15kmの間隔を置いています。

"それはいつもうまくいく"とは、パスウェイトが別のパスと同じであるため、航空機にとって愚かなパスを選ぶということです。パス発見には最適ですが、飛行機には最適ではありません。

私は、各ノードの変化のために、アカウントに多くのものを取る:降順を超える標高の

  • コストを。
  • 耐風性。
  • 抵抗が大きすぎるノードを無視します。
  • 私は私のヒューリスティックまたはH値としてユークリッド距離を使用し

などストレート対対角線タヴェルのコスト。 私は体重やG値(上記のリスト)にさまざまな要素を使用します。

ありがとうございます!

+0

4Dアレイのサイズはどのくらいですか? –

答えて

1

いつでも、weighted A*を使用すると、時間の最適性とのトレードオフを得ることができます。

加重A * [またはA *ε]は、A *より速い経路を見つけると予想されますが、経路は最適ではありません[ただし、最適性には限界があります。イプシロン/重量]。

+0

これは私がやっていることなので、時には最適ではないパスが見つかって、うまく動作するのです。より良い方法があれば私はちょうど好奇心をそそられていた。 – jreid42

+0

@ jreid42:あなたのヒューリスティックによります。完璧なヒューリスティックを持っているなら - [greedy best first](http://ja.wikipedia.org/wiki/Best-first_search)が最も速く、また最適です。しかし、ヒューリスティックが完璧でない場合、最適ではありません。 – amit

1

A *は、最速の検索アルゴリズムであると宣伝されていません。それが見つけた最初の解決策が最高になることを保証します(あなたが認めるヒューリスティックを提供していると仮定します)。いくつかのケースでうまく動作しない場合は、実装のいくつかの面で何かが間違っているかもしれません(おそらくA *の仕組み、おそらくドメイン固有のもので、詳細を指定しなかった場合、それ以上)。

遅すぎる場合は、使用しているヒューリスティックを再検討してください。

最適な解決策が必要ない場合は、他の方法が適切かもしれません。もう一度、あなたが問題について何を提供していないかを考えれば、それ以上のことは言い難い。

+0

それは飛行機の視点からではなく、ちょうどヒューリスティックで遊ぶことでよりうまく動作させることができます。A *を使うのが良い選択だったら、もっと興味がありました。私はいくつかの詳細を追加しました。 – jreid42

0

オフラインまたはオンラインを計画していますか?

通常、これらの問題のために、あなたが実際にそれらを飛び越えるまで、風が何であるか分かりません。これが実際にオンライン上の問題であれば、最適に近いポリシーを構築することを検討することをお勧めします。この分野にはすでに多くの研究がありますが、最高のものは"強化学習による飛行機の自律制御" John Wharingtonです。

関連する問題