Главная arrow книги arrow Копия Глава 12. arrow Условное планирование в полностью наблюдаемых вариантах среды
Условное планирование в полностью наблюдаемых вариантах среды

В недетерминированных проблемных областях часто возникает еще одна, последняя сложность: не всегда удается выполнить текущую операцию с первого раза, поэтому приходится предпринимать еще одну попытку. Например, рассмотрим пылесос в мире с "тройным законом Мэрфи", который (кроме ранее указанных его недостатков) иногда отказывается переходить туда, куда требует переданная ему команда, например, действие Left может иметь дизъюнктивный результат , как в уравнении 12.1. Теперь уже нельзя гарантировать, что план [Left, if CleanL then [ ] else Suck] будет работать. Часть нового графа поиска показана на рис. 12.7 ; очевидно, что больше нет каких-либо нециклических решений и алгоритм And-Or-Graph-Search выполняет возврат с индикатором неудачи. Тем не менее существует циклическое решение, которое заключается в том, что нужно продолжать попытки выполнять действие Left до тех пор, пока одна из попыток не достигнет успеха. Это решение можно выразить, введя метку для обозначения некоторой части плана и используя эту метку позднее, вместо повторения самого плана. Таким образом, соответствующее циклическое решение может выглядеть таким образом:

Рис. 12.7. Первый уровень графа поиска для мира пылесоса, подчиняющегося "тройному закону Мэрфи ", где циклы показаны явно. Все решения для данной задачи представляют собой циклические планы

(Более удобный синтаксис для циклической части этого плана мог бы предусматривать применение конструкции "while AtR do Left".) Изменения, необходимые для внесения в алгоритм And-Or-Graph-Search, рассматриваются в упр. 12.16. Из этого следует основной вывод, что цикл в пространстве состояний, ведущий в состояние L, преобразуется в цикл в плане, ведущий в ту точку, где выполнялся субплан для состояния L.

Теперь мы получили возможность синтезировать сложные планы, которые во многом выглядят как программы, с условными выражениями и циклами. К сожалению, эти циклы, в принципе, могут стать бесконечными. Например, в представлении действия для мира с "тройным законом Мэрфи" ничего не сказано, что действие Left в конечном итоге закончится успешно. Поэтому циклические планы не столь желательны, как ациклические, но вполне могут рассматриваться как решения, при условии, что каждый листовой узел представляет собой целевое состояние и любой листовой узел достижим из каждой точки в плане.