Если эвристическая функция недопустима, мы можем получить оценку, превышающую фактическую стоимость пути от некоторого узла к целевому узлу. Если эта более высокая оценка стоимости пути находится на пути с наименьшей стоимостью (которую мы ищем), алгоритм не будет ее изучать и может найти другой (не менее затратный) путь к цели.
Посмотрите на этот простой пример.
Пусть и G - соответственно начальный и целевой узлы. Пусть h ( N ) - оценка длины пути от узла N до G , ∀ N в графе. Кроме того, пусть c ( N , X i ) будет функцией стоимости шага от узла N до его соседа X i , ∀ N и i = 1 .. m , где mAGh(N)NG∀Nc(N,Xi)NXi∀Ni=1..mmэто число соседей (т. е. функция, которая возвращает стоимость ребра между узлом N и одним из его соседей).NN
Пусть эвристика будет
h(B)=3
h(C)=4
Эта эвристическая функция недопустима, поскольку h ( C ) = 4 > c ( C , G ) = 2H
h(C)=4>c(C,G)=2
A∗ABGA→B→G4A→C→G3