Я рассматриваю определения алгоритма поиска пути A * и, по-видимому, несколько отличается в разных местах.
Разница заключается в действии, выполняемом при переходе между преемниками node и обнаружении, что преемник находится в закрытом списке.
- Один подход (предложенный Wikipedia и эта статья) говорит: если преемник находится в закрытом списке, просто игнорируйте его
- Другой подход (здесь здесь и здесь, для пример): если преемник находится в закрытом списке, проверьте его стоимость. Если он превышает текущий расчетный балл, удалите элемент из закрытого списка для дальнейшего изучения.
Я запутался - какой метод правильный? Интуитивно, первый имеет больше смысла для меня, но я задаюсь вопросом о различии в определении. Является ли одно из определений неправильным или они каким-то образом изоморфны?