Для 16-Puzzle , скажем, у меня есть 3 эвристики: h1, h2, h3
h1 возвращает количество неуместных плиток
h2 возвращает сумму расстояний на Манхэттене
h3 возвращает сумму инвертированных пар
Стоимость каждого действия установлена так, что все они недопустимы (это не тот случай, когда для всех n, h (n) <= h * (n)).Я хотел бы знать, как их ранжировать на основе скорости для любого узла / состояния.</p>
Я пытался проверить свой код.Мои результаты были (как и ожидалось): h3> h2> h1
Поскольку они не являются оптимальными, скорость, кажется, зависит от убывания размера возвращаемых значений h.Тем не менее, я не могу знать наверняка, что этот шаблон действует для ВСЕХ узлов / состояний.Я хотел бы знать, если кто-то может помочь мне знать навернякаЯ пытался найти ресурсы в поисках общего правила для этого типа шаблона, но ничего не смог найти.
Я также хотел бы знать, как сравнивать характеристики допустимой и недопустимой эвристики.