- •Интеллектуальные информационные системы
- •230201 - Информационные системы и технологии
- •080801 - Прикладная информатика в экономике
- •Оглавление
- •1. Введение в интеллектуальные информационные системы
- •1.1. Предмет исследования искусственного интеллекта
- •1.2. Определение иис
- •1.3. Искусственный интеллект и интеллектуальное поведение
- •1.4. Определения, используемые в дисциплине иис
- •1.5. Исторический обзор работ в области ии
- •Доказательство теорем.
- •Распознавание изображений.
- •Экспертные системы.
- •Машинный перевод и понимание текстов на естественном языке.
- •Игровые программы.
- •Машинное творчество.
- •1.6. Кратко о развитии робототехники
- •1.7. Области коммерческого использования искусственного интеллекта
- •1.8. Иис других типов
- •1.9. Интеллектуальные агенты
- •1.10. Примеры иис
- •2. Системы представления знаний
- •2.1. Фреймы
- •2.2. Исчисления предикатов
- •2.3. Системы продукций
- •2.4. Семантические сети
- •2.5. Нечеткая логика
- •3. Методы поиска решений
- •3.1. Методы поиска решений в пространстве
- •3.2. Алгоритмы эвристического поиска
- •Алгоритм наискорейшего спуска по дереву решений
- •Алгоритм оценочных (штрафных) функций
- •Алгоритм минимакса
- •Альфа-бета-процедура
- •3.3. Методы поиска решений на основе исчисления предикатов
- •3.4. Задачи планирования последовательности действий
- •3.5. Поиск решений в системах продукций
- •4. Распознавание изображений
- •4.1. Общая характеристика задач распознавания образов и их типы.
- •4.2. Основы теории анализа и распознавания изображений.
- •4.2. Распознавание по методу аналогий.
- •4.3. Актуальные задачи распознавания
- •5. Общение с эвм на естественном языке. Системы речевого общения
- •5.1. Проблемы понимания естественного языка
- •5.2. Анализ текстов на естественном языке
- •Морфологический анализ
- •Синтаксический анализ
- •Семантическая интерпретация
- •Проблемный анализ
- •5.3. Системы речевого общения
- •6. Методология построения экспертных систем
- •6.1. Экспертные системы: Определения
- •6.2. Основные компоненты эс
- •6.3. Типы решаемых задач эс:
- •6.4. Ограничения и недостатки эс:
- •6.5. Обобщенная схема эс
- •6.6. Экспертные системы: классификация
- •6.7. Трудности при разработке экспертных систем
- •6.8. Методология построения экспертных систем
- •6.9. Примеры экспертных систем
- •7. Практическая разработка экспертных систем в среде clips
- •7.1 Постановка задачи
- •7.2. Основы программирования в системе clips
- •7.3. Программирование в clips экспертной системы управления технологическим процессом
3.4. Задачи планирования последовательности действий
Многие результаты в области ИИ достигнуты при решении " задач для робота ". Одной из таких простых в постановке и интуитивно понятных задач является задача планирования последовательности действий, или задача построения планов.
В наших рассуждениях будут использованы примеры традиционной робототехники (современная робототехника во многом основывается на реактивном управлении, а не на планировании). Пункты плана определяют атомарные действия для робота. Однако при описании плана нет необходимости опускаться до микроуровня и говорить о датчиках, шаговых двигателях и т. п. Рассмотрим ряд предикатов, необходимых для работы планировщика из мира блоков. Имеется некоторый робот, являющийся подвижной рукой, способной брать и перемещать кубики. Рука робота может выполнять следующие задания (U, V, W, X, Y, Z - переменные).
goto(X,Y,Z)перейти в местоположение X,Y,Z
pickup(W)взять блок W и держать его
putdown(W)опустить блок W в некоторой точке
stack(U,V)поместить блок U на верхнюю грань блока V
unstack(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,unstack описываются тройками элементов. Первый элемент тройки - множество предусловий (П), которым удовлетворяет мир до применения оператора. Второй элемент тройки - список дополнений (Д), которые являются результатом применения оператора. Третий элемент тройки - список вычеркиваний (В), состоящий из выражений, которые удаляются из описания состояния после применения оператора.
Ведя рассуждения для рассматриваемого примера от начального состояния, мы приходим к поиску в пространстве состояний. Требуемая последовательность действий (план достижения цели) будет следующей:
unstack(A,B), putdown(A), pickup(C), stack(C,B)
Для больших графов (сотни состояний) поиск следует проводить с использованием оценочных функций. Более подробно о работах по планированию, в том числе современные публикации по адаптивному планированию, можно прочитать в литературе [7], [47], [48], [49], [50].
В качестве заключения по данному разделу лекции следует сказать, что планирование достижения цели можно рассматривать как поиск в пространстве состояний. Для нахождения пути из начального состояния к целевому (плана последовательности действий робота) могут применяться методы поиска в пространстве состояний с использованием исчисления предикатов.
