Является ли моя функция для вычисления Манхэттенского расстояния в MATLAB правильной? - PullRequest
0 голосов
/ 25 февраля 2019

Я использую алгоритм поиска A * для двух разных эвристик.Я уже сделал один из них, и теперь мне нужно внедрить и использовать другой.Я хочу использовать Манхэттенское расстояние, и у меня есть для него определение, так как следует рассчитывать эвристику для него, но я не уверен, правильно ли это.Все прекрасно компилируется без ошибок и т.д.

Мой код:

function dist = distance(x1, y1, x2, y2)
   dist = abs((x1 - x2) + (y1 - y2));

Мне кажется, это правильно, но я просто хотел бы убедиться.

Когда я его запускаю, эвристическое значение начинается с большого, и чем больше узлов исследуется, и чем ближе оно к целевому местоположению, тем меньше эвристика, пока не достигнет 0, что, как я предполагаю, и должно быть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...