Правильная формулировка алгоритма A *

Я рассматриваю определения алгоритма поиска пути A * и, по-видимому, несколько отличается в разных местах.

Разница заключается в действии, выполняемом при переходе между преемниками node и обнаружении, что преемник находится в закрытом списке.

  • Один подход (предложенный Wikipedia и эта статья) говорит: если преемник находится в закрытом списке, просто игнорируйте его
  • Другой подход (здесь здесь и здесь, для пример): если преемник находится в закрытом списке, проверьте его стоимость. Если он превышает текущий расчетный балл, удалите элемент из закрытого списка для дальнейшего изучения.

Я запутался - какой метод правильный? Интуитивно, первый имеет больше смысла для меня, но я задаюсь вопросом о различии в определении. Является ли одно из определений неправильным или они каким-то образом изоморфны?

Ответы

Ответ 1

Первый подход является оптимальным только в том случае, если оптимальным путем для любого повторного состояния всегда является первым. Это свойство выполняется, если эвристическая функция имеет свойство согласованности (также называемой монотичность). Эвристическая функция согласована, если для каждого node n и каждого преемника n' of n сметная стоимость достижения цели из n не превышает начальную стоимость перехода на n' от n плюс расчетная стоимость достижения цели от n.

Второй подход является оптимальным, если эвристическая функция просто допустима, то есть никогда не переоценивает стоимость достижения цели.

Всякая последовательная эвристическая функция также допустима. Хотя согласованность является более строгим требованием, чем приемлемость, нужно работать достаточно сложно, чтобы придумать эвристические функции, допустимые, но не последовательные.

Таким образом, хотя второй подход более общий, поскольку он работает со строго большим подмножеством эвристических функций, первый подход обычно достаточно на практике.

Ссылка: подраздел A * поиск: минимизация общей оценочной стоимости решения в разделе 4.1. Информированные (эвристические) стратегии поиска книги "Искусственный интеллект: современный подход".