|
3.2.2.
Анализ метода представления и управления в STRIPS
Для того чтобы
яснее представить себе достоинства метода представления, использованного в системе
STRIPS, рассмотрим альтернативный метод. Предположим, что текущее состояние
окружающего мира представлено в виде двумерного массива с элементами разного
размера (в таком массиве элементы верхнего уровня — ячейки — представляют различные
помещения, а элементы второго уровня — объекты в этих помещениях). Такой вариант
представления компактнее описательного, но он не позволяет выполнять операции
сопоставления, описанные в предыдущем разделе. Можно, конечно, придумать какой-нибудь
способ описания целей и операций на языке, ориентированном на работу с массивами,
но тогда будут утеряны некоторые из главных достоинств рассмотренной методики.
- В качестве операторов
придется использовать процедуры манипуляции с элементами массивов, которые
с большим трудом воспринимаются человеком, а значит, отлаживать и конструировать
операторы в такой форме значительно труднее, чем в форме таблиц операторов.
- Программу будет значительно
сложнее модифицировать и совершенствовать. Предположим, что усложнится размещение
помещений и связи между ними. В таком случае придется полностью пересмотреть
и вручную скорректировать все процедуры работы с массивами помещений и объектов,
поскольку изменится размерность массива и связи между его элементами. А в
системе STRIPS единственное, что нужно будет сделать в этом случае, — изменить
модель мира, что делается значительно проще, поскольку при этом меняется не
программный код, а только описания.
- Предположим теперь,
что в множество целей нужно включить, например, и такую: "перенести любые
три ящика в комнату А", т.е. цель задает не единственное состояние
мира, а множество состояний, удовлетворяющих сформулированному условию. При
такой постановке проблемы набор процедур, ориентированных на табличное представление,
придется пересмотреть коренным образом. Представление на базе конструкций
предикат-аргумент позволяет выразить целевое состояние, введя в выражение
переменные
at(X,
комнатаА), at(Y, комнатаА), at(Z, комнатаА).
После этого
можно использовать прежнюю методику поиска решения.
- Поиск решения проблемы
предполагает использование эвристик, поскольку, как правило, существует множество
вариантов, среди которых приходится выбирать.
- При единообразном представлении
проще находить те операторы, которые можно применить в конкретной ситуации,
и просмотреть, какой эффект даст их применение. Единообразное представление
также значительно упрощает программную реализацию процесса поиска.
- Часто удается достичь
заданной цели, применяя методику понижения уровня сложности проблемы (problem
reduction). При этом производится обратная трассировка проблемы — "отталкиваясь"
от цели, выясняем, какие предварительные условия требуется удовлетворить для
ее достижения, и формулируем на основе таких рассуждений более простые подцели.
Этот процесс рекурсивно продолжается до тех пор, пока не будут сформулированы
тривиальные подцели, достижимые с помощью простейших операций.
Язык представления,
подобный тому, что используется в STRIPS, с точки зрения программной реализации
является интерпретируемым языком, т.е. трансляция с этого языка выполняется
интерпретатором, программой, которая способна распознавать в операторах языка
формулы, подобные рush(ящик1, комнатаБ, комнатаА), и выразить заложенный в формулах
смысл в терминах выполняемых процедур. Так, смысл приведенной выше формулы интерпретируется
как необходимость достичь предварительных условий
at(робот,
комнатаБ), at(ящик1, комнатаБ),
а затем реализовать
действия, предписанные списками добавлений и исключений, т.е. добавить в модель
мира состояние
at(po6oт,
комнатаА), at(ящик1, комнатаА)
и исключить
из модели мира состояние
at(робот,
комнатаБ), at(ящик1, комнатаБ).
Такой подход
к интерпретации получил наименование проиедуральной семантики (procedural
semantics), поскольку все, что известно программе о смысле формулы, — какие
действия ей нужно выполнить для того, чтобы формула получила значение Истина.
Как отмечалось в главе 2, это не очень широкое толкование смысла, и такой
подход вряд ля продвинет нас далеко в развитии машинного "понимания".
Но, тем не менее, процедуральная семантика позволяет нам по крайней мере построить
связь между мыслью и действием.
|