
Алгоритм a*
На
? Как узнать, многообещает ли возможность?
- Через функцию f (x) = g (x) + h (x)
- Что является эвристической функцией
- g (x) - это стоимость от происхождения, достичь узел X
- H (x) является эвристической функцией для оценки стоимости следующего узла
- Мы всегда смотрим на возможности расширения дерева и рассчитываем значение f (x)
- Мы добавляем узел, который имеет наименьший f (x) среди тех, кого мы находим
- OA* является наиболее эффективным алгоритмом для минимальных способов графиков
- Однако это серьезные ограничения
- Необходимо определить H (x), который является допустимым: оно никогда не вернет значение, превышающее фактическое расстояние от x до y
- Если H (x) является допустимым, но слишком недооцененным фактическим расстоянием, алгоритм очень неэффективен. Если H (x) не является допустимым, алгоритм может не найти минимального способа
? Сложность
- Сложность напрямую зависит от используемой функции H (x).
- В худшем случае исследуемое количество узлов является экспоненциальным по размеру наименьшего пути, но имеет полиномиальную сложность, если h ∗ (x) −h (x) ≤o (logh ∗ (x)).
? Когда хорошо использовать?
- Графики, где можно недооценить расстояние между двумя вершинами, как на картах
- Кратчайшее расстояние между двумя точками - это линия, но, вероятно, фактическое расстояние будет больше, чем это
? Каков минимальный способ в этом случае?

Выполнить проект
Результат

Авторы
Лицензия
Этот проект находится под MIT. Смотрите здесь для получения дополнительной информации.