Главная arrow книги arrow Копия Глава 12. arrow Непрерывное планирование
Непрерывное планирование

•    Ненужные, существовавшие в прошлом цели. Если в плане нет открытых предусловий и нет действий (поэтому все причинные связи проходят непосредственно от состояния Start к состоянию Finish), то текущее множество целей достигнуто. Агент удаляет эти цели и связи, ведущие к ним, чтобы освободить место для новых целей.

Алгоритм Continuous-POP-Agent приведен в листинге 12.6. В нем имеется цикл "принять результаты восприятия, удалить дефекты, выполнить действие". Агент, действующий в соответствии с этим алгоритмом, хранит в своей базе знаний постоянно существующий план и в каждой операции удаляет из этого плана по одному дефекту. Затем он выполняет некоторое действие (хотя таким действием часто бывает пустая операция NoOp) и повторяет цикл. Этот агент способен преодолевать многие проблемы, перечисленные при обсуждении перепланирующего агента. В частности, он может действовать в реальном времени, пользуется удачным стечением обстоятельств, способен формулировать цели самостоятельно и справляется с непредвиденными ситуациями, которые влияют на выполнение плана в будущем.

Листинг 12.6. Алгоритм непрерывно планирующего агента с частичным упорядочением Continuous-POP-Agent. После получения очередных результатов восприятия агент удаляет один дефект из своего постоянно обновляемого плана, а затем возвращает действие. Агенту часто приходится выполнять много этапов планирования, связанных с удалением дефектов, в течение которых он возвращает пустую операцию NoOp, пока он не будет готов выполнить какое-то реальное действие