クラス名・変数名に迷ったら書き込むスレ。Part8
■ このスレッドは過去ログ倉庫に格納されています
0640デフォルトの名無しさん
2006/11/01(水) 11:34:00最短経路探索のアルゴリズムの定石は良く知られており、
今更私の下手な解説を要しないかと思い、
詳しくは書かなかったのですが割と大まかには定まっております。
というのも最短経路を探索するアルゴリズムというのは
概してグラフの幅優先探索を優先順位つきの幅優先探索
(即ち優先順位をつけて次に調査する候補ノードを
うまく選ぶことで探索範囲を狭めて探索を効率化する)
に改良したものでありまして
各アルゴリズを差別化し特徴づけるの改良というのは
専ら経路の候補として調査される
各ノードのコスト(あるいは優先順位値)の計算方法の工夫に
集約されるのであります。
殆どのアルゴリズムに共通する優先順位付き幅優先探索は
確かにiteratorで表現しやすいものでありまして、
実際当方も優先順位付きキューを内蔵する
RoutingIteratorというクラスを作って利用しております。
なので、問題はコスト(あるいは優先順位値)を計算する部分になってまいります。
中でも特にA*アルゴリズムの特徴は候補となるノードからゴールまでの
距離に「当たりをつけ」てその予想をコスト計算に組み込むことにありまして、
まさにその距離予測を計算するクラスの命名について迷っていたのでありました。
■ このスレッドは過去ログ倉庫に格納されています