- •Введение
- •Глава 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.7. Метаструктура модуля управления
Функции интерпретатора в ПСМ делятся на внутренние и внешние. Последние заключаются в обеспечении взаимодействия ПСМ с внешней средой. Внутренние функции интерпретатора состоят в том, чтобы обеспечить эффективное совместное функционирование базы данных и правил. Таким образом, значительная часть функций модуля управления уже описана в предыдущих пунктах при описании базы данных и правил.
В общем виде к его функциям относятся следующие:
управление аппаратом активации;
управление ассоциативным выбором правил;
разрешение конфликта (выбор правила из конфликтного множества);
редактирование базы данных.
Набор функций интерпретатора в ПСМ определяется наличием и характером описанных подсистем. В случае простого механизма активации и ассоциативного аппарата работа ПСМ может обеспечиваться прямым взаимодействием модулей базы и правил. В этом случае функции исполнителя будут вырожденными. Вообще говоря, большая часть функций рассмотренных выше подсистем может быть отнесена либо к функциям модуля базы данных, либо модуля правил. Это позволяет считать модули базы данных и правил основными строительными блоками, используемыми при создании программных комплексов на базе систем продукций.
Однако конфигурация модуля не ограничивается простым сочетание "база — правила", поскольку правила, образующие одну систему, могут работать не с одной, а с несколькими различными базами данных. Например, модуль, анализирующий цепочку и строящий дерево разбора, может использовать две базы — строковую и древесную (рис.1.2).
Рис.1.2. Построение по данным типа "строка" древесной структуры
С другой стороны, каждый достаточно сложный процесс распадается естественным образом на этапы, уровни, фазы, подпроцессы и т.д. Эти уровни и подпроцессы могут рассматриваться совместно как одна общая система правил. Однако некоторые могут трактоваться как автономные подсистемы правил, поскольку используют свою совокупность баз данных и индивидуальный набор базовых операций, в терминах которых специфицируются правила соответствующего уровня. Координация работы этих автономных подсистем организуется через аппарат активации, а обмен информацией осуществляется через общие базы данных.
Таким образом, весь комплекс может строиться как параллельная асинхронная система (рис.1.3.).
Рис.1.3. Асинхронная структура ПСМ
Кроме этого разложение описания предметной области на уровни является одной из важнейших частей при построении эффективных модулей ПСМ. При этом многоуровневое описание предметной области кажется и более естественным.
С другой стороны, на повышение эффективности программных реализаций оказывает большое влияние выбор подходящих эвристических функций для разрешения конфликта. Традиционно эта задача решается введением метапродукций, которые можно рассматривать как знания о том, как использовать более низкий уровень знаний. Однако можно не ограничиваться одним уровнем метапродукций, вводя метаметапродукции и т.д. Принимая во внимание эти два вида иерархии, общая схема системы продукций изображена на рис.1.4.
Вертикальное измерение этой схемы соответствует иерархии знаний (уровень абстракции), а горизонтальное — иерархии метапродукций. Иерархическая организация модуля ПСМ расширяет возможности систем продукций и имеет высокопараллельную структуру — свойство, вызывающее в настоящее время все больший интерес с точки зрения параллельных вычислений [109]. Понятие ПСМ может быть расширено до параллельно-последовательного модуля, общая схема которого изображена на рис. 1.5.
Рис. 1.4. Структура иерархической системы продукций
Система имеет множество баз знаний: Продукции1, ...,Продукцииn, каждая из которых функционирует независимо от других, используя свою собственную базу данных. После прекращения работы локальных процессоров необходимая информация переносится в общую базу данных.
Общие продукции редактируют общую базу данных, информация из которой становится доступной каждому локальному процессу. Таким образом, каждый источник знаний на промежуточном шаге вычислений может использовать как последовательную, так и параллельную информацию. Общую базу данных называют также доской объявлений (black-board).
Рис. 1.5. Структура параллельно-последовательного ПСМ
Несмотря на то, что большинство современных ПСМ являются в настоящее время последовательными, будущие ПСМ станут параллельными, успешно реализуемыми на многопроцессорных ЭВМ [109].
Как уже отмечалось выше, большинство исследований по искусственному интеллекту сосредоточено на выборе подходящих средств для представления знаний, которые обеспечивали бы высокую скорость работы в системах, использующих большие объемы знаний. В настоящее время заметна тенденция использовать не чисто продукционное представление знаний, а некоторое сочетание, которое складывается из таких широкоизвестных средств, как фреймы и семантические сети. Это вызвано желанием добиться максимально высокого уровня описания знаний, который бы приближался к уровню проблемно-ориентированных языков. Как правило, в таких системах декларативные знания представляются в виде фреймов, а процедурные — в виде продукций. Использование комбинированных подходов предоставляет новые возможности для более широкого применения систем продукций.
Подводя итоги сказанному выше, подчеркнем, что везде мы проводили различие только между типами компонентов ПСМ, а не между типами решаемых задач. В принципе одни и те же задачи можно решать разными способами, причем их эффективность будет во многом зависеть от специфики используемых знаний.
Эти знания условно можно разделить на три группы:
представленные в базе (знания о задаче);
заложенные в продукции (знания о предметной области);
управляющие (знания о процессах, стратегиях и структурах, используемых при решении задач).
Общая проблема при проектировании специализированных ПСМ состоит в том, как лучше организовать эти три компонента знаний, чтобы свести к минимуму "накладные расходы" результирующего вычислительного процесса.