Алгоритм поиска пути с частичным знанием графа - PullRequest
2 голосов
/ 21 октября 2011

Мне нужно запрограммировать алгоритм для навигации робота через «лабиринт» (прямоугольную сетку с отправной точкой, целью, пустыми пространствами и не проходимыми пространствами или «стенами»).Он может двигаться в любом кардинальном направлении (N, NW, W, SW, S, SE, E, NE) с постоянной стоимостью за ход.

Проблема в том, что робот не «знает» расположение карты.Он может только просматривать свои 8 окружающих пространств и сохранять их (он запоминает окружающие плитки каждого пространства, которое он посещает).Единственный другой вход - это основное направление, в котором цель находится на каждом шаге.

Есть ли какой-нибудь исследовательский алгоритм, который я мог бы реализовать, чтобы решить эту проблему?Типичные, такие как Dijkstra или A *, не просто адаптированы к задаче, так как я не могу вернуться к повторному посещению предыдущих узлов на графике без затрат (пересмотр шагов робота для перехода к лучшему пути будет стоить ходов).снова), и не могу придумать способ сделать разумную эвристику для A *.

Я, вероятно, мог бы придумать что-нибудь разумное, но я просто хотел знать, была ли это уже решенная проблема, иМне не нужно изобретать велосипед: P

Спасибо за любые советы!

1 Ответ

2 голосов
/ 28 ноября 2011

Проблема не решена, но, как и во многих задачах планирования, уже доступно большое количество исследований.

Большая часть работ в этой области основана на оригинальной работе Р. Э. Корфа в статье «Эвристический поиск в реальном времени». Эта статья, кажется, расплатилась, но предварительные результаты из статьи вместе с обсуждением алгоритма реального времени A * все еще доступны.

Лучшие недавние публикации по дискретному планированию со скрытым состоянием (поиск пути с частичным знанием графа) принадлежат Свену Кенигу . Это включает в себя значительную работу над алгоритмом A * обучения в реальном времени.

Работа Кенига также включает в себя некоторые демонстрации ряда алгоритмов теоретических экспериментов, которые намного сложнее, чем все, что может произойти в симуляции. См., В частности, «Простые и сложные тестовые стенды для алгоритмов поиска в реальном времени» , автор Koenig and Simmons.

...