Краткий ответ
@ хаос ответ вводит в заблуждение ИМО (может быть выделен)
Переоценка не делает алгоритм «неправильным»; это означает, что у вас больше нет допустимой эвристики, которая является условием для обеспечения оптимального поведения A *. При недопустимой эвристике алгоритм может завершить выполнение тонны лишней работы
как @AlbertoPL намекает
Вы можете найти ответ быстрее, переоценив, но вы не можете найти кратчайший путь.
В конце (помимо математического оптимума) оптимальное решение сильно зависит от того, учитываете ли вы вычислительные ресурсы, время выполнения, специальные типы «карт» / состояний пространства и т. Д.
Длинный ответ
В качестве примера я мог бы подумать о приложении реального времени, в котором робот быстрее достигает цели, используя переоценочную эвристику, потому что преимущество во времени при старте раньше больше, чем преимущество во времени по кратчайшему пути, но дольше ожидает вычисления решение. * * тысяча двадцать-один
Чтобы дать вам лучшее впечатление, я поделюсь некоторыми примерными результатами, которые я быстро создал с помощью Python. Результаты основаны на том же алгоритме A *, только эвристика отличается. Каждый узел (ячейка сетки) имеет ребра для всех восьми соседей, кроме стен. Диагональные ребра стоимость sqrt (2) = 1,41
На первом рисунке показаны возвращенные пути алгоритма для простого примера. Вы можете увидеть некоторые неоптимальные пути из переоценки эвристики (красный и голубой). С другой стороны, существует несколько оптимальных путей (синий, желтый, зеленый), и в зависимости от эвристики, какой из них будет найден первым.
На разных изображениях показаны все развернутые узлы при достижении цели. Цвет показывает приблизительную стоимость пути с использованием этого узла (учитывая также «уже пройденный» путь от начала до этого узла; математически это пока стоимость плюс эвристика для этого узла). В любое время алгоритм расширяет узел с наименьшей оценочной общей стоимостью (описанной ранее).
![Paths](https://i.stack.imgur.com/Gu3MS.png)
1. Ноль (синий)
- Соответствует алгоритму Дейкстры
- Узлы расширены: 2685
- Длина пути: 89,669
![Zero](https://i.stack.imgur.com/5yMTF.png)
2. Как летит ворона (желтый)
3. Идеал (зеленый)
- Кратчайший путь без препятствий (если следовать восьми направлениям)
- Максимально возможная оценка без завышения (отсюда и "идеал")
- Узлы расширены: 854
- Длина пути: 89,669
- https://i.stack.imgur.com/VqMtF.png
4. Манхэттен (красный)
- Кратчайший путь без препятствий (если вы не двигаетесь по диагонали; другими словами: стоимость «движения по диагонали» оценивается в 2)
- переоценивает
- Узлы расширены: 562
- Длина пути: 92,840
- https://i.stack.imgur.com/gD9t4.png
5. Как ворона летит раз десять (голубой)