ノードとエッジを指定する2次元グリッドワールドのグラフから始めました。スタートとゴールを与えられました。私はA *を使って最短経路を見つけることができました。2次元グリッドワールド上のA-starでの時間ベース制約の扱い
時間の概念が導入され、現在のノードで待機することが許可されているという点で、問題は少し修正されました。与えられた問題は次のような例で考えることができます。
線形世界の中に配列a(1:6)の形でノードがあるとします。 エージェントは2から開始して6に進む必要があります。前述のように、私はA *を使用してこれを計画することができました。最適なパスは、2-> 3-> 4-> 5-> 6です。
今、時間が画像に入るとします。 3-> 4のような各遷移は、1時間単位が経過したことを意味する。エージェントは時刻t = 0で移動を開始し、時刻t = 3でノード5に行くことができないことを伝える。したがって、最適なパスは次のとおりです。2-> 3-> 4-> 4-> 5-> 6
しかし、私はA *を使ってこの計画を作成する方法を考えることができません。私の考えはこれでした:私は3次元=(x、y、t)ではなく、(x、y)で計画します。グラフ構造が保持されている限り、A *はどんな次元でも処理できます。
しかし、私は(2,0)どこで私は(ノード、時間)を使用するように開始を知っているので、私は混乱していた。しかし、目標は何ですか?私はそれが(6、t)のようなものであることを知っています。しかし、私は何を知りませんか?だから、現在のノードから目標までヒューリスティックを計算したいときはいつでも、目標が何であるかわからないので、私は困惑しています。 A *を使用してこの問題を処理する方法。この例は代表的なものであり、非常に単純化されています。私は2D世界で作業していますが、問題は例で説明したものと同じです。
このような問題が対処されている研究論文を引用すると非常に役に立ちますが、明らかにこの問題の過剰な研究であることを避けてください。誰かが最良の擬似コードを与えることができれば。
あなたの3Dアプローチは正しいと思っています。また、t> current t'という制限を持つノードを展開しないでください。時間はあなたのソリューションには関係していないと思います。特定の時間ではなく、ソリューションノードに到達するだけです。したがって、時間ではなく目標ノードであるかどうかを比較するだけです。 –