Что такое таблица операторов? Можно
1. Что такое таблица операторов? Можно ли в таблице операторов представить любую операцию, выполнение которой хотелось бы потребовать от робота?
2. Что такое порождающее правило? Какое, на ваш взгляд, существует соответствие между набором порождающих правил и деревом решений?
3. Какая связь существует между таблицами операторов и набором порождающих правил? Эквивалентны ли они? Можно ли выразить одни в терминах других?
4. Представьте себе, что манипуляционный робот смонтирован над столиком с детскими игрушками. В таблице операторов имеется оператор move (В, L, М), который заставляет робот перенести блок В из положения L в положение М.
move (В, L, M)
Предварительные условия on (В, L), clear (В), clear (M)
Список удалений on (В, L), clear (M)
Список добавлений on (В, L), clear (L), clear (столик)
Здесь выражение on (В, L) означает, что блок В устанавливается на объект L, причем в качестве L может выступать или поверхность столика, или другой блок; непосредственно на один блок можно поставить только еще один блок, но на поверхность столика можно ставить сколько угодно блоков; выражение clear (L) означает, что на объекте L ничего не стоит.
I) Выразите сцену, представленную на рис. 3.5, в виде формул модели мира.
II) Пусть перед роботом поставлена цель перестроить башню, показанную на рис. 3.5, установив блоки в следующем порядке: синий— на красном, красный — на зеленом, а зеленый — на поверхности столика. Таким образом, перед роботом стоит цель преобразовать модель мира и привести ее к виду
on(зеленый, стол), on(красный, зеленый), on(синий, красный). Представьте план достижения этой цели.
III) Покажите, как будет изменяться база данных при выполнении плана в соответствии с таблицей операторов.
IV) Почему после каждой операции move нужно добавлять формулу clear (столик)?
V) Можно ли, используя представленный элемент move в таблице операторов, выразить "отрицательную" цель, например "зеленый блок не должен стоять
Рис. 3.5. Задача о перемещении блоков
1. Как вы понимаете термин "разрешение конфликтов"?
2. Пусть А — это алфавит {а, b} и пусть в этом алфавите существуют аксиомы ab, bа.
Какие строки будут сформированы следующими порождающими правилами:
(Р1) $a ->$ab
(Р2) $b -> $bа
3. Пусть А — это алфавит {а, b} и пусть в этом алфавите существуют аксиомы аа, bb.
Какой набор порождающих правил может сформировать строки вида аа, bb, aabb, bbaa, aabbaa, bbaabb, aabbaabb, bbaabbaa и т.д.
4. На языке CLIPS напишите программу, которая будет выполнять рассуждения на основании силлогизмов. Силлогизм — это множество правил, определяющих, какие умозаключения можно получить из множества суждений. Ниже приведен простой силлогизм
Все Аi являются Вi Все Вi являются Сi Все Аi являются Сi
Все Аi являются Еi Некоторые Аi являются С, Все Сi являются Вi
Все Аi являются Вi
Ни один из Сi не является Вi
Ни один из Сi не является Аi
Эти суждения несложно представить в виде диаграмм Венна. Смоделируйте их с помощью языка CLIPS в виде трех правил.
Вам понадобится единственный шаблон, в котором будет определено, что утверждение (statement) состоит из квантификатора (quantifier), который может принимать одно из трех значений: all (все), some (некоторые) или по (ни один) и двух множеств.
(deftemplate statement
(field quantifier (type SYMBOL))
(field setl (type SYMBOL))
(field set2 (type SYMBOL)) )
Так, выражение "Все А1 являются В" примет вид
(statement (quantifier all) (setl As) (set2 Bs))
Проверить, как работает программа, можно на таких фактах:
(deffacts the-facts
(statement (quantifier all) (setl puppies)
(set2 dogs)) (statement (quantifier all) (setl dogs)
(set2 mammals)) (statement (quantifier all) (setl mammals)
(set2 animals)) (statement (quantifier no) (setl sea-cretures)
(set2 dogs)) (statement (quantifier some) (setl sea-cretures)
(set2 mammals)) )
5. Проанализируйте программу диагностики болей в брюшной полости, представленную в листинге 5.5. (Предупреждаю ипохондриков: эти правила скопированы из первого попавшегося под руку справочника, поэтому не стоит пользоваться ими-для самодиагноза.)
Все публикации раздела