- •Предмет исследования искусственного интеллекта.
- •Исторический обзор работ в области ии.
- •Доказательство теорем.
- •Распознавание изображений.
- •Экспертные системы.
- •Исчисления предикатов
- •Системы продукций
- •Семантические сети
- •Нечеткая логика
- •Методы поиска решений в пространстве
- •Алгоритмы эвристического поиска
- •Алгоритм наискорейшего спуска по дереву решений
- •Алгоритм оценочных (штрафных) функций
- •Алгоритм минимакса
- •Альфа-бета-процедура
- •Методы поиска решений на основе исчисления предикатов
- •Задачи планирования последовательности действий
- •Поиск решений в системах продукций
- •Общая характеристика задач распознавания образов и их типы.
- •Основы теории анализа и распознавания изображений.
- •Распознавание по методу аналогий.
- •Актуальные задачи распознавания.
- •Проблемы понимания естественного языка
- •Семантическая интерпретация
- •Проблемный анализ
- •Системы речевого общения
- •Экспертные системы: Определения и классификация
- •Трудности при разработке экспертных систем
- •Методология построения экспертных систем
- •Примеры экспертных систем
- •Постановка задачи.
Задачи планирования последовательности действий
Многие результаты в области ИИ достигнуты при решении " задач для робота ". Одной из таких простых в постановке и интуитивно понятных задач является задача планирования последовательности действий, или задача построения планов.
В наших рассуждениях будут использованы примеры традиционной робототехники (современная робототехника во многом основывается на реактивном управлении, а не на планировании). Пункты плана определяют атомарные действия для робота. Однако при описании плана нет необходимости опускаться до микроуровня и говорить о датчиках, шаговых двигателях и т. п. Рассмотрим ряд предикатов, необходимых для работы планировщика из мира блоков. Имеется некоторый робот, являющийся подвижной рукой, способной брать и перемещать кубики. Рука робота может выполнять следующие задания (U,V,W,X,Y,Z- переменные).
goto(X,Y,Z)перейти в местоположениеX,Y,Z
pickup(W)взять блокWи держать его
putdown(W)опустить блокWв некоторой точке
stack(U,V)поместить блокUна верхнюю грань блокаV
unstuck(U,V)убрать блокUс верхней грани блокаV
Состояния мира описываются следующим множеством предикатов и отношений между ними.
on(X,Y)блокXнаходится на верхней грани блокаY
clear(X)верхняя грань блокаХпуста
gripping(X)захват робота удерживает блокХ
gripping()захват робота пуст
ontable(W)блокWнаходится на столе
Рис. 3.8.Начальное и целевое состояния задачи из мира кубиков
Предметная область из мира кубиков представлена на рис. 3.8в виде начального и целевого состояния для решения задачипланирования. Требуется построитьпоследовательность действий робота, ведущую (при ее реализации) к достижению целевого состояния.
Состояния мира кубиков представим в виде предикатов. Начальное состояние можно описать следующим образом:
start = [handempty, ontable(b),
ontable(c), on(a,b), clear(c),
clear(a)]
где: handemptyозначает, что рука робота Робби пуста.
Целевое состояние записывается так:
goal = [handempty, ontable(a),
ontable(b), on(c,b), clear(a),
clear(c)]
Теперь запишем правила, воздействующие на состояния и приводящие к новым состояниям.
(X) (pickup(X) (gripping(X) ←
(gripping() clear(X) ontable(X))))
(X) (putdown(X) ((gripping()
ontable(X) clear(X)) ← gripping(X)))
(X) (Y) (stack(X,Y)
((on(X,Y) gripping() clear(X)) ←
(clear(Y) gripping(X))))
(X) (Y) (unstack(X,Y)
((clear(Y) gripping(X)) ←
(on(X,Y) clear(X) gripping()))
Прежде чем использовать эти правила, необходимо упомянуть о проблеме границ. При выполнении некоторого действия могут изменяться другие предикаты и для этого могут использоваться аксиомы границ - правила, определяющие инвариантные предикаты. Одно из решений этой проблемы предложено в системе STRIPS.
В начале 1970-х годов в Стэнфордском исследовательском институте (Stanford Research Institute Planning System) была создана система STRIPS для управления роботом. В STRIPS четыре оператора pickup,putdown,stack,unstuckописываются тройками элементов. Первый элемент тройки - множество предусловий (П), которым удовлетворяет мир до применения оператора. Второй элемент тройки - список дополнений (Д), которые являются результатом применения оператора. Третий элемент тройки - список вычеркиваний (В), состоящий из выражений, которые удаляются из описания состояния после применения оператора.
Ведя рассуждения для рассматриваемого примера от начального состояния, мы приходим к поиску в пространстве состояний. Требуемая последовательность действий (план достижения цели) будет следующей:
unstuck(A,B), putdown(A), pickup(C), stack(C,B)
Для больших графов (сотни состояний) поиск следует проводить с использованием оценочных функций. Более подробно о работах по планированию, в том числе современные публикации по адаптивномупланированию, можно прочитать в литературе[7],[47],[48],[49],[50].
В качестве заключения по данному разделу лекции следует сказать, что планирование достижения цели можно рассматривать как поиск в пространстве состояний. Для нахождения пути из начального состояния к целевому (плана последовательности действий робота) могут применяться методыпоиска в пространстве состоянийс использованием исчисления предикатов.