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

Контроль выполнения и перепланирование, вместе взятые, образуют общую стратегию, которая может применяться и в полностью наблюдаемых, и в частично наблюдаемых вариантах среды, а также может распространяться на самые различные представления, применяемые в планировании, включая планы в пространстве состояний, планы с частичным упорядочением и условные планы. Один из простых подходов к планированию в пространстве состояний показан в листинге 12.5. Планирующий агент начинает с цели и создает начальный план ее достижения. Затем агент приступает к последовательному выполнению действий. А перепланируюший агент, в отличие от других рассматриваемых нами планирующих агентов, следит за выполнением как оставшегося невыполненного сегмента плана plan, так и полного первоначального плана whole_plan. В нем используется контроль действий: прежде чем выполнить следующее действие плана plan, агент проверяет свои результаты восприятия для определения того, не оказались ли вдруг невыполненными какие-либо предусловия плана. Если они действительно являются таковыми, то агент пытается снова попасть в колею, перепланируя последовательность действий, которые должны помочь ему вернуться в некоторый пункт плана whole_plan.

Листинг 12.5. Алгоритм агента, который занимается контролем действий и перепланированием. В нем в качестве процедуры используется полный алгоритм планирования в пространстве состояний, называемый Planner. Если предусловия следующего действия не выполняются, агент проходит по циклу через возможные пункты ρ в плане whole__plan, пытаясь найти такой из них, путь к которому может быть запланирован с помощью алгоритма Planner. Этот путь называется repair (поправка). Если в алгоритме Planner удается найти такую поправку repair, агент соединяет repair и остаток плана после пункта р, чтобы создать новый план. Затем агент возвращается к первому этапу нового плана