- •Введение
- •Глава 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.1. Неформальное введение в системы продукций
Для того чтобы очертить концептуальные рамки понятия "системы продукций" (СП), используемого сейчас в области искусственного интеллекта, попытаемся проследить из каких понятий оно складывалось и как эволюционировало.
2.5.1.1 Алгоритмические модели
Начнем с такого общего понятия как алгоритм, который традиционно определяется как система указаний для перехода от исходных данных к искомому результату, обладающая свойством массовости, детерминированности и результативности.
По существу, все математические процедуры, приводящие к решению тех или иных задач, основаны на алгоритмах. Попытка уйти от интуитивного понимания алгоритма привела к ряду математических уточнений этого понятия. Наиболее известные среди них — машина Тьюринга, машина Поста и нормальные алгоритмы Маркова [30]. Для нас наибольший интерес представляет формальное определение алгоритма, данное А.А.Марковым. Рассмотрим его более подробно. Нормальный алгоритм задается упорядоченным списком вида
Q1R1,Q2R2, …,QnRn.
Выражение Qi Ri, называется подстановкой. Пусть дано некоторое слово L. Подстановка QiRi, применяется к слову L следующим образом. Если слово Qi, входит в состав слова L, то его самое левое вхождение заменяется на Ri. Подстановки упорядочены в записи нормального алгоритма, и существует жесткий порядок их выполнения. К исходному слову L сначала всегда применяется первая по порядку подстановка. Если она изменила слово, то оно рассматривается как новое, и к нему вновь применяется первая подстановка. Если же подстановки, образующие нормальный алгоритм, не меняют слова, то оно считается окончательным, и применение подстановок прекращается.
Если сравнивать алгоритмические схемы Маркова и Тьюринга, то легко можно заметить, что в машине Тьюринга сравнительно хорошо развиты средства централизованного управления при слабых возможностях преобразования информации, тогда как в нормальных алгоритмах заданы богатые возможности преобразования информации (замена любого слова на любое другое слово) при совершено неразвитом управлении.
Эти два типа уточнения понятия алгоритм в какой-то мере послужили основой двух ортогональных подходов к разработке систем программирования: процедурного и декларативного.
Обе отмеченные алгоритмические процедуры представляют собой образцы ясности и четкости. Жесткие правила применения подстановок обеспечивают детерминированность процедуры, задаваемой нормальным алгоритмом. Это характерно и для машин Тьюринга. Детерминированность и результативность, свойственные им, регламентируют получение однозначных результатов при одинаковых исходных данных.
Ослабление жестких требований, введенных в алгоритмических схемах, позволяет рассмотреть более гибкие процедуры. Одним из ослабления требований является отказ от детерминированности. Например, можно сделать произвольным выбор очередных подстановок на каждом шаге процесса. Процедуры подобного рода получили название исчислений, или квазиалгоритмов. В монографии [62] исчисление определяется как "способ задания множеств путем указания исходных элементов (аксиом) и правил вывода, каждое из которых описывает, как строить новые элементы из исходных и уже построенных". Список, каждый элемент которого является аксиомой или получен из предыдущих элементов списка по одному из правил вывода, называют выводом в исчислении.