コンピュータサイエンス、特に経路探索に関連するアルゴリズムでは、ヒューリスティック関数は、目標に到達するコストを過大評価しない、つまり、目標に到達するために推定されるコストが経路上の現在の地点からの最低コストよりも高くない場合に許容されると言われます。[ 1 ]言い換えれば、下限として機能する必要があります。
これは一貫性のあるヒューリスティクスの概念に関連しています。一貫性のあるヒューリスティクスはすべて許容可能ですが、許容可能なヒューリスティクスすべてが一貫性があるとは限らないのです。
情報探索アルゴリズムでは、許容可能なヒューリスティックを用いて目標状態に到達するコストを推定します。ヒューリスティックが探索問題に対して許容可能であるためには、推定コストは常に目標状態に到達する実際のコスト以下でなければなりません。探索アルゴリズムは、許容可能なヒューリスティックを用いて、現在のノードから目標状態への最適な経路を推定します。例えば、A*探索では、評価関数(ここで) 現在のノードは:
どこ
はヒューリスティック関数を使用して計算されます。許容できないヒューリスティックを使用すると、A* アルゴリズムは、の過大評価により、探索問題の最適解を見落とす可能性があります。。
許容可能なヒューリスティックは、問題の緩和版から、あるいは問題のサブ問題に対する正確な解を格納するパターンデータベースからの情報から、または帰納的学習法を用いることによって導き出すことができる。
15パズル問題には、許容されるヒューリスティックの2つの異なる例が適用される。
ハミング距離は、配置ミスしたタイルの総数です。タイルを正しく並べるために必要な移動回数は、配置ミスしたタイルの数以上であるため(配置されていないタイルはそれぞれ少なくとも1回は移動させる必要がある)、このヒューリスティックが妥当であることは明らかです。目標(正しい順序のパズル)に到達するまでのコスト(移動回数)は、パズルのハミング距離以上になります。
パズルのマンハッタン距離は次のように定義されます。
以下のパズルを考えてみましょう。プレイヤーは、数字が正しい順序になるように各タイルを移動させたいと考えています。この場合、マンハッタン距離は許容可能なヒューリスティックです。なぜなら、すべてのタイルは、自身と正しい位置との間の少なくともその数だけ移動させる必要があるからです。[ 2 ]
添え字は各タイルのマンハッタン距離を示しています。表示されているパズルの合計マンハッタン距離は次のとおりです。
許容可能なヒューリスティックが、反復ごとに複数の候補パスのうち評価値(現在のコスト+ヒューリスティック)が最も低いパスのみを進め、探索が目標に到達した時点で終了し、そして重要なことに、終了する前にすべての最適パスを閉じるアルゴリズムで使用される場合(特別な注意を払わなければ、A* 探索アルゴリズムでこのようなことが可能になる[ 3 ])、このアルゴリズムは最適パスでのみ終了できます。その理由を理解するために、次の背理法による証明を考えてみましょう。
このようなアルゴリズムが、真のコストがT trueであるパス T で終了し、真のコストがS trueである最適パス S よりも大きいパス Tで終了したと仮定します。これは、終了する前に、T の評価コストが S の評価コスト以下であったことを意味します (そうでなければ S が選択されていたはずです)。これらの評価コストをそれぞれT evalとS eval とします。上記は次のようにまとめられます。
ヒューリスティックが許容可能であれば、この最後から2番目のステップでT eval = T trueとなります。なぜなら、T に対するヒューリスティックによる真のコストの増加は許容不可能であり、ヒューリスティックは負の値をとることができないからです。一方、許容可能なヒューリスティックではS eval ≤ S trueが必要となりますが、これは上記の不等式と組み合わせるとT eval < T true、より具体的にはT eval ≠ T trueとなります。T evalとT trueは等しくもあり等しくもないということはあり得ないので、我々の仮定は誤りであったに違いありません。したがって、最適経路よりもコストの高い経路で終了することは不可能であるはずです。
例として、[ 4 ]次のようなコストがあるとしましょう(ノードの上/下のコストはヒューリスティック、エッジのコストは実際のコストです)。
0 10 0 100 0 スタート ---- O ----- ゴール | | 0| |100 | | O ------- O ------ O 100 1 100 1 100
したがって、予想総コストが、 はそうすれば、目標は候補者となり、等しいそうすれば、明らかに下位のノードを1つずつ選択し、その後更新された目標が続きます。なぜなら、それらはすべてより低い現在の目標、つまり彼らのはつまり、目標は候補の一つではあったものの、他にもっと良い経路が存在したため、それを選ぶことはできなかった。このように、許容可能なヒューリスティックを用いることで最適性を確保できる。
ただし、許容可能なヒューリスティックは最終的な最適性を保証できるものの、必ずしも効率的であるとは限らないことに注意が必要である。