Главная arrow книги arrow Копия Глава 4. arrow Локальный поиск в оперативном режиме
Локальный поиск в оперативном режиме

Алгоритм агента, в котором реализована эта схема, получивший название поиска А* в реальном времени с обучением (Learning Real-Time A* — LRTA*), показан в листинге 4.6. Как и в алгоритме Online-DFS-Agent, в данном алгоритме составляется карта среды с использованием таблицы result. Этот алгоритм обновляет оценку стоимости для состояния, которое он только что оставил, а затем выбирает ход, "который представляется наилучшим" в соответствии с его текущими оценками стоимости. Следует отметить одну важную деталь, что действия, которые еще не были опробованы в состоянии s, всегда рассматриваются как ведущие непосредственно к цели с наименьшей возможной стоимостью, а именно h(s). Такой оптимизм в отношении неопределенности побуждает агента исследовать новые пути, которые могут действительно оказаться перспективными.

Листинг 4.6. Функция LRTA*-Agent выбирает действие в соответствии со значениями соседних состояний, которые обновляются по мере того, как агент передвигается в пространстве состояний

Гарантируется, что агент LRTA* найдет цель в любой конечной, безопасно исследуемой среде. Однако, в отличие от А*, в бесконечных пространствах состояний применяемый в этом агенте алгоритм становится неполным, поскольку в некоторых случаях этот алгоритм может вовлечь агента в бесконечные блуждания. В наихудшем случае данный алгоритм позволяет исследовать среду с п состояниями за этапов, но чаще всего действует намного лучше. Агент LRTA* представляет собой лишь один пример из большого семейства агентов, выполняющих поиск в оперативном режиме, которые могут быть определены путем задания правила выбора действия и правила обновления различными способами. Это семейство агентов, которое было первоначально разработано для стохастических вариантов среды, рассматривается в главе 21.