Согласно ao этот принятый ответ , Алгоритм Дейкстры является частным случаем A * алгоритма .
Особый случай
В логике, особенно в применении к математике, концепция A является частным случаем или специализацией концепции B именно в том случае, если каждый экземпляр A также является экземпляромB, но не наоборот, или эквивалентно, если B является обобщением A.
Однако существуют случаи, которые дают разные результаты для A * с эвристикой с постоянным нулем по сравнению с алгоритмом Дийктры.
Одним из них является их поведение, когда граф содержит отрицательные циклы: в то время как обработка закрытого множества * 10 * * A * полностью избегает таких циклов, Дейкстра бесконечно повторяет отрицательные циклы перед продолжением.
Другой крайний случай, когда их результаты могут отличаться, на этот раз даже с допустимой эвристикой , - это когда A * недооценивает стоимость финальногоребро в графе.Учитывая график, подобный следующему:
Большинство реализаций A *, включая пример псевдокода в Википедии, неверно предположили бы, что ABD является кратчайшим путем, если эвристическая функция для скоростейB до D ниже 2, в то время как Дейкстра корректно выдает ACD.
Может ли алгоритм Дейкстры все еще рассматриваться как особый случай для A *, учитывая вышеизложенное?