Главная arrow книги arrow Копия Глава 11. Основы планирования arrow Пример планирования с частичным упорядочением
Пример планирования с частичным упорядочением

5.    Еще раз рассмотрим предусловиедействия PutOn(Spare, Axle). На этот раз выберем действие Remove (Flat, Axle).

6.    Снова возьмем предусловие At (Spare, Trunk) действия Remove(Spare, Trunk) и выберем действие Start, чтобы его достичь. На сей раз конфликты не возникают.

7.    Возьмем предусловие At (Flat, Axle) действия Remove (Flat, Axle) и выберем действие Start для его достижения. Это дает нам полный согласованный план (иными словами, решение), как показано на рис. 11.5.

Рис. 11.5. Окончательное решение задачи замены колеса. Обратите внимание на то, что действия Remove (Spare, Trunk; и Remove (Flat, Axle ) могут выполняться в любом порядке, при условии, что они завершаются перед действием PutOn (Spare, Axle,)

Хотя данный пример очень прост, он иллюстрирует некоторые преимущества планирования с частичным упорядочением. Во-первых, причинные связи способствуют заблаговременному отсечению тех частей пространства поиска, которые не содержат решений из-за неустранимых конфликтов. Во-вторых, решение, приведенное на рис. 11.5, представляет собой план с частичным упорядочением. В данном случае преимущества невелики, поскольку имеются только две возможные линеаризации; тем не менее повышенная гибкость выбора вариантов может пойти агенту на пользу, например, если ему придется менять колесо в середине шоссе с интенсивным движением.

Этот пример также указывает на некоторые возможные усовершенствования, которые вполне могут быть осуществлены. Например, в данном случае налицо дублирование усилий: действие Start соединяется связью с действием Remove (Spare, Trunk) до того, как конфликт вызывает возврат, а затем эта связь снова разрывается из-за возврата, даже несмотря на то, что она не участвует в конфликте. После этого в ходе продолжения поиска связь снова восстанавливается. Такое развитие событий является типичным для хронологических возвратов, и его последствия могут быть смягчены с помощью возвратов, управляемых с учетом зависимостей.