- •Введение
- •Глава 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.5.2. Метаструктура базы данных и операций
Как уже было сказано, модуль базы данных предназначен для размещения данных, обрабатываемых в процессе, реализуемом ПСМ. Основными параметрами, определяющими организацию конкретной базы данных, являются объем и характер данных, тип операций над ними, а также стратегия управления процессом вывода.
База данных состоит из следующих пяти основных частей, из которых две последние являются факультативными: памяти, каркаса, управления, контроля несовместимости, ассоциативной надстройки.
Первые две части служат для размещения данных. Управление организует выполнение основных операций над данными, такими как поиск по образцу, добавление и удаление. Контроль несовместимости обеспечивает реализацию многовариантных стратегий управления. Ассоциативная надстройка служит для оптимизации операции "поиск по образцу" и процесса выбора правил, применимых к текущему состоянию базы. Рассмотрим каждую из составных частей более подробно.
2.5.5.2.1. Характер организации данных
Данные в базе организованы в структуру, называемую основной.Элементами этой структуры являются компоненты. Компонента, в общем случае, является структурной единицей произвольной сложности и представляет собой четверку:
имя(идентификатор);
тип— каждому типу сопоставляется характеристика (фиксированный набор переменных) и структура. В характеристику может входить информация о некоторых стандартных для данного типа отношениях с другими компонентами;
описание— определяет конкретные значения для каждой переменной в характеристике данного типа;
тело — информация, конкретизирующая сопоставленную данному типу структуру и определяющая структуру данной компоненты через компоненты-аргументы и отношения между ними.
Вид основной структуры может быть самым различным, например, множество, цепочка, дерево, граф. Как уже было сказано, данные хранятся в каркасе и памяти, причем в каркасе, как правило, размещается граф основной структуры данных, вершинами которого являются пары <имя компоненты, тип компоненты>, а остальная часть компонент хранится в памяти, вход в которую осуществляется по имени требуемой компоненты.
2.5.5.2.2 Операции над базой данных
Стандартным способом доступа к данным базы является вход по ассоциативному адресу {образцу), осуществляемый операцией "поиск по образцу". Аргумент операции "поиск по образцу" представляет собой структуру, характер которой может меняться в достаточно широком диапазоне в зависимости от функций, выполняемых базой данных. Результатом этой операции является множество (возможно, пустое — негативный результат) всех референтов образца-аргумента, т.е. фрагментов базы данных, каждый из которых представляет собой ответ на запрос, специфицированный в форме этого образца.
Можно выделить несколько типов образцов.
Простой образец— это фрагмент структуры того же типа, что и каркас. В вершинах простого образца компоненты могут указываться частично, например, только имя или только тип. Характер процедуры, реализуемой операцией "поиск по образцу", может быть двух видов:
точное совпадение — референты изоморфны образцу с точностью до отсутствующих элементов в образце;
покрытие — может выполняться в тех случаях, когда задается частичный порядок над символами, выступающими в качестве элементов образца. Референтами в этом случае являются фрагменты каркаса, покрываемые образцом, в том смысле, что графы образца и референта изоморфны, а элементы образца либо совпадают с соответствующим символом референта, либо находятся выше его по иерархии.
Разрывный образец — это совокупность простых образцов, связанных дугами специального вида, отсутствующими в каркасе. В этом случае графы образца и референта не являются изоморфными, поскольку в последнем отсутствуют специальные дуги. Можно сказать, что при разрывном образце поиск происходит не на самом каркасе, а на его транзитивном замыкании по одному или нескольким типам отношений. В. Образец с отрицательным контекстом представляет собой пару
< положительный образец, отрицательный образец >,
в которой каждый из образцов простой или разрывный. Процедура поиска для такого образца определяется следующим образом. Выполняется поиск по положительному образцу, найденному референту Rопределяются имена вершин, общих для положительного и отрицательного образцов. Эти имена подставляются на соответствующие позиции в отрицательный образец, по которому вновь осуществляется поиск. Если множество референтов в этом случае пусто, тоRпринимается в качестве референта поиска по образцу с отрицательным контекстом. В противном случае поиск не выдает результат.
Отсутствие связи между положительным и отрицательным образцами представляет собой частный случай описанной выше процедуры, при которой поиск по обоим образцам осуществляется независимо, а общий результат определяется так же.
Сложный образец — представляет собой совокупность видов образцов, перечисленных выше. Результатом поиска по сложному образцу является сочетание процедур поиска по каждому из образцов совокупности.
Будем делить операцию "поиск по образцу" на два основных вида: одновариантный и многовариантныйпоиск.
В случае одновариантного поиска в базе данных отыскивается единственный (первый подходящий) референт, в то время как при многовариантном поиске процесс продолжается до тех пор, пока не будут найдены все возможные фрагменты базы данных, которые могут быть референтами для данного образца.
Одним из существенных факторов, определяющих результат операции "поиск по образцу" при одновариантном поиске, является то, фиксируется или нет порядок сканирования каркаса при выполнении операции "поиск по образцу". Например, при каркасе-цепочке это может быть просмотр слева направо или справа налево, при дереве — от корня к листьям или в обратном направлении. В тех случаях, когда порядок просмотра является внешней характеристикой базы данных, он может быть фиксированным (встроенным) или изменяемым в процессе работы (настраиваемым).
Еще одной операцией над базой данных является добавление. Смысл этой операции — присоединение новых данных к данным, находящимся в базе. Аргумент этой операции состоит из двух частей: первая представляет собой тот фрагмент, который присоединяется к базе данных, и имеет ту же организацию, т.е. состоит из каркаса и набора компонент, сопоставленных его вершинам; вторая часть является, в общем случае, ассоциативным адресом, указывающим, к каким вершинам каркаса будет присоединяться новый фрагмент.
Операция исключение удаляет из базы данных фрагменты, которые являются аргументом этой операции. Так же как и при операции "добавление", вершины, входящие в описание аргумента, могут специфицироваться именем или образцом.
Таким образом, функции базовых операций управления определяются выбором характера операции "поиск по образцу", поскольку все остальные операции являются стандартными и однозначно определяются выбором каркаса и памяти. С помощью этих операций можно описывать процедуры редактирования базы данных произвольной сложности.