0

ノード-ノード-関連コストのコレクションであるセットデータがあります。このコストは、フィート単位の距離として表されます。

また、各ノードのxy座標もあります。ここで、A *アルゴリズムで、ノードからノードへのコスト+中間ノードから宛先へのヒューリスティックコストを追加する必要があります。ただし、これら2つの値は、同じメトリック/単位である必要があります。1つをフィートで、もう1つを座標距離にすることはできません。

これを行うには、最初にスケーリング係数を見つけて、コストをフィートからxy座標距離にスケーリングする必要があることを知っています。右?私が言えるのは、このコストはすべてスケーラブルであるということです。したがって、このベータ値は、ノードとノードのすべてのペアで同じになります。質問は、この値をどのように見つけるかです。

私が今やったことは、ノード間の座標距離を見つけ、それからフィート単位のコストと比較することです。したがって、ベータ版を見つけることができます。これは一定であり、すべてのノード-ノード-コスト(フィート)で機能するはずです...しかし、これが正しいかどうかはわかりません。私はここで魔法のトリックを探しているのではなく、これを解決するための簡単な方法/数学を探しています

4

1 に答える 1

0

通常、グリッドが物理的な世界を何らかのスケールファクターでモデル化していることがわかります。あなたはすでにそれを知らないのですか?

いずれにせよ、あなたの直感は正しいと思います。つまり、実際のコストがフィートでわかっている2点間の座標距離を計算し、一方を他方で割ると、それがスケール係数になります。もちろん、「コスト」が2つのノード間の直線距離であると仮定します。

つまり、node1とnode2の間の距離がたとえば3フィートで、ノードの座標がそれぞれ[0,0][0,9]ある場合、「スケーリング係数」は、必要な方法に応じて3/9...または9/3になります。変換を行います。

この場合、座標距離の1単位は1/3フィートです。または、片足は座標距離で3単位です。したがって、座標からフィートに移動するには、3で割ります。フィートから座標に移動するには、3を掛けます。

于 2011-03-05T01:51:31.403 に答える