- •Введение
- •Глава 1. Ведение в системы искусственного интеллекта
- •1.1. Архитектура систем искусственного интеллекта
- •1.2. База знаний и данных
- •1.1.1 Понятие модели
- •1.1.2. Логические модели
- •1.1.3 Модели знаний на основе продукций
- •1.1.4 Фреймовая модель знаний
- •1.1.5 Семантические сети
- •1.3. Машина вывода
- •1.3.1. Понятие формальной системы
- •Примеры стратегии вывода
- •Как функционирует машина вывода
- •1.4. Извлечение знаний и обучение
- •1.4.1. Извлечение знаний от многих экспертов
- •1.4.2 Проблема непротиворечивости формализованной базы знаний
- •1.5. Обучение системы
- •1.6. Интерфейс с пользователем
- •1.7. Организация работы
- •1.8. Инструментальные средства создания систем искусственного интеллекта
- •Языки программирования
- •1.8.2. Языки продукционного программирования
- •1. 8. 3. Языки инженерии знаний и инструментальные системы
- •1.8.3.1. Система vpExpert
- •1.8.3.2. Система kas
- •1.8.3.3. Система Expert-Ease
- •Глава 2. База знаний
- •2.1. Методы извлечения знаний
- •2.1.1. Классификация методов извлечения знаний
- •2.1.2. Пассивные методы
- •2.1.2.1. Наблюдения
- •2.1.2.2. Анализ протоколов «мыслей вслух»
- •2.1.2.3. Лекции
- •2.1.3. Активные индивидуальные методы
- •2.1.3.1. Анкетирование
- •2.1.3.2. Интервью
- •2.1.3.3. Свободный диалог
- •2.1.4. Активные групповые методы
- •2.1.4.1. «Круглый стол»
- •2.1.4.2. «Мозговой штурм»
- •2.1.4.3. Экспертные игры
- •2.1.4.3.1. Игры с экспертом
- •2.1.4.3.2. Ролевые игры в группе
- •2.1.4.4. Игры с тренажерами
- •2.1.4.4.1. Компьютерные экспертные игры
- •2.1.5. Текстологические методы
- •2.2.Формальное описание понятий предметной области (по)
- •2.2.1. Методы абстрагирования понятий
- •2.2.1.1.Агрегация и декомпозиция понятий
- •2.2.1.2.Обобщение и специализация понятий
- •2.2.1.3.Типизация и конкретизация понятий
- •2.2.1.4.Ассоциация и индивидуализация понятий
- •2.3.Методы классификации
- •2.3.1. Экстенсиональный и интенсиональный аспекты классификации
- •2.3.2. Таксономия и мерономия
- •2.3.3. Типы классификаций
- •2.3.4. Древовидные классификации
- •2.3.5. Булевы классификации
- •2.3.6. Комбинативные классификации
- •2.4.События и процессы
- •2.4.1. Состояния предметной области
- •2.4.2. Событие
- •2.4.3. Последовательные процессы
- •2.4.4. Рекурсивные процессы
- •2.4.5. Ветвящиеся процессы
- •2.5. Системы продукций: структура, технология, применение
- •2.5.1. Неформальное введение в системы продукций
- •2.5.1.1 Алгоритмические модели
- •2.5.2 Логический вывод
- •2.5.3 Прикладные модели
- •2.5.4. Метамодель систем продукций
- •2.5.4.1. Основные подсистемы
- •2.5.5.2. Метаструктура базы данных и операций
- •2.5.5.2.1. Характер организации данных
- •2.5.5.2.2 Операции над базой данных
- •2.5.5.2.3 Контроль несовместимости
- •2.5.5.2.4 Ассоциативная надстройка
- •2.5.6. Метаструктура модуля правил
- •2.5.6.1 Аппарат активации
- •2.5.6.2 Структура правил
- •2.5.7. Метаструктура модуля управления
- •2.5.8. Технология поддержки разработок продукционных систем
- •2.5.9. Формальные модели систем продукций
- •2.5.9.1. Алгебраическая модель
- •2.5.9.1.1. Основные определения
- •2.5.9.1.2. Операции преобразования ситуации
- •2.5.9.1.3. Условия корректности вычислений над конъюнктивной базой данных
- •2.5.9.1.4. Однозначность вычислений над дизъюнктивной базой
- •2.5.9.2. Управление выводом в системах продукций
- •2.5.9.3. Язык управления применением продукций
- •2.5.9.4. Язык управления выбором данных
- •2.5.9.5. Обзор формальных моделей вычислений
- •2.5.10. Экспериментальные системы продукций
- •2.5.10.1. Система скип
- •2.5.10.2. Система анализа топологических чертежей интегральных схем
- •P(слой) x0, y0 : Dx1, Dy2, .., Dxn-1, Dyn;
- •2.6. Выводы к второй главе
- •3. Машина логического вывода
- •3.1. Формальное определение задачи
- •3.2. Специфика решения задач в сии
- •3.3. Управление процессом решения задачи
- •3.4. Модели эвристического поиска решений
- •3.4.1 Стратегия поиска в глубину
- •3.4.2. Стратегии перебора с отсечениями
- •3.4.2.1. Метод ветвей и границ
- •3.4.2.2. Стратегии поиска на основе эвристической функции оценки
- •3.5. Методы вывода и доказательства теорем
- •3.5.1 Механизм резолюции Робинсона
- •3.5.2. Резолюция в логике высказываний
- •3.5.2.1 Линейная резолюция вL
- •Метод линейного вывода в lЛавленда, Ковальского и Кюнера
- •Эффективная реализация
- •3.5.2.3. Метод поиска в глубину
- •3.5.2.4 Эвристики поиска в дереве
- •3.5.2.5. Семантическая резолюция
- •3.5.3 Резолюция в pl
- •3.6. Методы индуктивного вывода
- •3.6.1. Виды индукции
- •3.6.2. Индукция как вывод и индукция как метод
- •3.6.3. Правила, необходимые для систем автоматического формирования знаний
- •3.7. Дедуктивный вывод на семантических сетях
- •3.7.1. Нерезолютивные методы вывода на семантических сетях
2.5.9.1.2. Операции преобразования ситуации
Определим основные преобразования ситуации, к которым относятся исключение и добавление фактов. Для фиксированного d'D:
1. Операция исключения: elim[d'] : D D
elim[d'](d) = d\ d'
2. Операция добавления: аdd[d'] : D D
add[d'](d)=d d'
Определим множество программ Rпреобразования ситуации следующим образом. Во-первых, будем считать элементамиRпрограммыadd[d'], elim[d']при любыхd'D,во-вторых, если две программыr1,r2R,то программа (r1; r2) определенная равенством (r1; r2)(d) =r2(r1(d)), d D, также элементR.
Для любого r Dвведем множествоin(r)переменных, добавляемых программойr,и множествоout(r)переменных, исключаемыхr, по следующим правилам:d' D
out(add[d']) = , in(add [d']) = var(d');
out(elim[d']) = var(d'), iп(еliт[d']) = ;
out (r1; r2) = out(r1) оиt(r2), in(r1; r2) = in (r1 ; r2 ) in(r2).
Определение 3.Программуr+, содержащую только операции типаadd[d'](d' D),назовемпозитивной.Заметим, чтоout(r+)=и, еслиd2 = r+(d1), то d2 d1.
Через r, где=[t1 /x1, ...,tm /xm} — произвольная подстановка, обозначим программуr, во всех операциях которой аргументы-переменныеxiзаменены на сопоставленные им втермыti, i=1...m. Переменные программы, которым не сопоставлены в подстановкеникакие термы, заменяются на новые, еще неиспользованные переменные из множестваXs , sS.
Определение 4.Продукцией назовем пару <q, r>, в которойq —ситуация, называемая условием применимости продукции,r— программа,r R, называемая действием, причемqиrсвязаны соотношением
var(q) out(r).
С
d1 pr
d2
d2=r(q) (d1\q).
Если найдется последовательность продукцийрr1,рr2, ...,prk, pri Pr,i =1...k, k0, и состояний базыd0, d1, …,dkтаких, что
d0
d1
d0 pr1,…,
prk
d1
то говорим, что dkвыводимо изd0,и пишем или, apr1,рr2, ...,prkназовем последовательностью применимых кd0продукций.
Если иpr(=>d' = dk), тоdkназовем результирующей ситуациейd0.
Рассмотрим вывод по продукции на примере задачи планирования химического синтеза. Предположим, что можно провести следующие химические реакции:
MgO + Н2 Mg + Н2O ,
СиО + Н2 Си + H2O,
Zn + H2S04 ZnS04 + Н2.
Опишем предметную область посредством многосортной алгебры с множествами носителями:
окись = {MgO, CuO},
металл = {Mg, Cu, Zn},
газ={Н2, 0},
соль = {ZnSO4},
кислота = {H2S04},
вода= {Н2О},
вещества = окиcь металл газ соль кислотa вода
и отображениями
основание:окись —> металл (например, основание (MgO) = Mg);
формула: вещества —> вещества (тождественное преобразование, сопоставляющее веществу его химическую формулу).
Тогда химические реакции можно переписать в виде следующих продукций (в некотором условном синтаксисе):
1) pr1 =< q1, r1 >,
где q1 = (mun, х, окись) (основание, х, у) (тип, у, металл) (формула, z, Н2) (тип, z, газ);
ri = add[(mun, z', вода) (формула, z', Н2О) (mun,z", металл) (формула, z",y)];
elim[(тип, x, окись) (формула, z, H2) (тип, z, газ)]
2) рr2 =< q2, r2 >,
где q2 = (тип, x, металл) (формула, х, Zn) (формула, z, H2SО4) (тип, z, кислота),
r2 = аdd[(тип, z', газ) (формула, z', H2) (тип, z", соль) (формула, z", ZnSО4)];
elim [(тип, x, металл) (формула, х, Zn) {тип, z, кислота) (формула, z, H2SО4)].
Первой продукции соответствуют первые две реакции, вторая — описывает третью реакцию.
Пусть имеется информация о наличии веществ {MgO, CuO, Zn, H2SО4}, что задается следующей исходной ситуацией:
d0=(mun,e1, окись)(основание,e1,Mg)(тип, е2, окись)(основание, е2, Сu)(формула,e1,MgO)(формула, е2,CuO)(тип, е3, металл}(формула, е3,Zn)(тип, е4, кислота)(формула,e4,H2SО4).
Для наглядности в дальнейшем не будем выписывать факты ситуации, а ограничимся лишь перечислением химических элементов, информация о которых задается ситуацией.
Ставится задача: какие вещества могут быть получены (результирующая ситуация) из заданных по продукциям pr1 — pr2.
Рассмотрим процесс вывода. На первом шаге применима продукция рr2, которая приводит к ситуации, описывающей наличие следующих веществ:{MgO, CuO, H2, ZnS04}.
На втором шаге применима лишь продукция рr1, однако для нее существуют две подстановки
1 = {Mg/y,e1/x}, 2 = {Сu/у, е2/х},
что дает в первом случае ситуацию, описывающую наличие веществ {Mg, H20, CuO, ZnS04}, а во втором —{MgO, Н20, Си, ZnS04}.
Из примера видно, что результирующая ситуация зависит в общем случае от выбора подстановки и порядка применения продукций, т.е. неоднозначна. Для СП, результат конъюнктивного вывода в которых однозначен, разработаны эффективные методы поиска решений (каким, например, является использование смешанных вычислений [91] в реляционной модели [24]). Поэтому в этой модели СП актуальна задача выделения подклассов, в которых результирующая ситуация однозначна.