Следующая проблема - упражнение по экзамену, которое я нашел на курсе искусственного интеллекта.Правильный эвристический механизм для поднятия холма
«Подсказать эвристический механизм, который позволяет эту проблему можно решить, используя алгоритм пониженную. (S = Начальная точка, F = Конечная точка/цель). Ни один диагональное движение не допускается.»
Поскольку очевидно, что расстояние Manhattan Distance или Euclidean Distance отправит робота в (3,4) и не будет возврата назад, каково возможное решение (эвристический механизм) для этой проблемы?
EDIT: Для того, чтобы сделать эту проблему более ясной, я пометил некоторые из расстояний Манхэттена на борту:
Было бы очевидно, что, используя Манхэттен расстояние, следующий шаг робота будет на (3,4), так как он имеет эвристическое значение 2 - HC выберет это и застрянет навсегда. Цель состоит в том, чтобы попытаться и никогда не идти этим путем, найдя правильный эвристический алгоритм.
Непонятно, что вы просите. Должны ли вы использовать «восхождение на холм», чтобы «оптимизировать» положение или путь? В последнем случае вы можете начать с пути, идущего прямо от начала до цели, и «подняться на вершину», чтобы пройти через все меньше и меньше препятствий, пока не найдете путь, который не пропускает никаких препятствий. –
Спасибо за ваш ответ! «Робот», назовем объект, начинающийся с S, будет использовать алгоритм HC для перемещения. Он не будет использоваться для оптимизации - единственная цель - заставить его перейти в поле F с помощью эвристического механизма. Нам нужно найти тот механизм, который не собирается зацикливаться на коробке под символом S. – GengisKhan
Я думаю, что проблема все еще недоказана. Я понимаю восхождение по холму как локальный поиск, что подразумевает, что в эвристической функции можно учитывать только локальную информацию (например, соседние «состояния»). В этом случае, используя позицию как состояние (а не путь в целом), я не думаю, что это возможно.Но если нет никаких других ограничений на вашу эвристическую функцию, вы можете просто сказать: «Перейдите к квадрату adjacnet, который имеет самое низкое расстояние до F, используя алгоритм поиска A *» (т. Е. Используя полный поиск A * как эвристический для жадных поиск). –