Я использую алгоритм поиска A * для двух разных эвристик.Я уже сделал один из них, и теперь мне нужно внедрить и использовать другой.Я хочу использовать Манхэттенское расстояние, и у меня есть для него определение, так как следует рассчитывать эвристику для него, но я не уверен, правильно ли это.Все прекрасно компилируется без ошибок и т.д.
Мой код:
function dist = distance(x1, y1, x2, y2)
dist = abs((x1 - x2) + (y1 - y2));
Мне кажется, это правильно, но я просто хотел бы убедиться.
Когда я его запускаю, эвристическое значение начинается с большого, и чем больше узлов исследуется, и чем ближе оно к целевому местоположению, тем меньше эвристика, пока не достигнет 0, что, как я предполагаю, и должно быть.