ヒューリスティック機能

ここでは、頂端部と、この経路のおおよその長さエンドポイント、すなわちユークリッド距離を有する頂点間の直線距離を推定することができる(注:直線経路長は、2つの概念間の距離であると)。私たちはプロの、それはヒューリスティック関数(ヒューリスティック関数)と呼ばれ、(私は頂点の数ことを示す)H(I)この距離は表記呼び出します。ユークリッド距離を計算するための式ので、平方根の計算は、時間がかかることを含むので、通常、マンハッタンから(マンハッタン距離)、であり、別のより単純な距離の式、によって。水平および垂直座標との距離の2点間のマンハッタン距離です。計算プロセスは符号ビットを反転のみ加減算することを含む、それはユークリッド距離よりも効率的です。

後ろ定義INT hManhattan(頂点V1、頂点V2){//頂点の頂点

  + Math.abs(v1.y - v2.y) - Math.abs(バージョン2.x V1.X)を返します。

}

頂点と原点との間のオリジナル単にGによるパスの長さ(i)は、頂端を推定する経路長が現在キューがあるべきである者を決定するために、我々は、(i)= G(fで両方を合計します最初のキューの頂点を決定するI)+ H(i)は、。総合二つの部分、私たちは言った「ずれ」を回避することができます ここで、f(I)は、プロの評価関数(評価関数)と呼ばれています。

おすすめ

転載: www.cnblogs.com/yuanjiangw/p/12038321.html