- •Введение
- •Глава 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.4.События и процессы
2.4.1. Состояния предметной области
Предметная область в каждый момент времени может быть представлена в виде совокупности сущностей, понятий и ситуаций. Выделенная совокупность сущностей, понятий и ситуаций предметной области называется ее состоянием.Так как понятия различаются между собой с помощью признаков, то состояние ПО можно задать, если известны значения всех признаков понятий, используемых для описания ПО.
Предметная область не пребывает в одном статическом состоянии. С течением времени меняются признаки понятий, их состав и взаимосвязи, т. е. возникают новые состояния ПО. Это значит, что ПО можно рассматривать как некоторую динамическую систему, поведение которой состоит в изменении ее состояний. Совокупность всех возможных состояний сущностей и ситуаций, в которых они могут находиться, образует пространство состояний ПО, или, другими словами, фазовое пространство ПО.Жизненный цикл любой ПО в пространстве состояний представляется в виде некоторой последовательности состояний (траекторий), которые возникают в различные моменты времени.
Так, книги в библиотеке могут принадлежать группе книг одного автора или находиться на абонементе одного читателя. Читатели записываются в библиотеку и выбывают из числа пользователей библиотеки. Книги, имеющиеся в библиотеке, меняются с течением времени, так как библиотекой приобретаются новые и удаляются из фонда старые. Библиотека может проводить операции с книгами и читателями и устанавливать связи между ними, когда читатель получает интересующую его книгу на свой абонемент или сдает прочитанную.
Для описания таких динамических явлений, характеризующихся переходами из одного состояния в другое, могут использоваться такие понятия, как ПОЛУЧЕНИЕ КНИГИ, ВОЗВРАТ КНИГИ, ПОКУПКА КНИГИ, СПИСАНИЕ КНИГИ и т. д. Причем как покупка книги библиотекой, так и возврат книги читателем могут привести к одному и тому же состоянию библиотечного фонда. На выполнение некоторой операции могут накладываться различные ограничения: максимальное число взятых читателем книг не может превышать определенного количества, одна книга не может быть записана на абонементах двух читателей и т. д.
Для полного описания ПО необходимо иметь соответствующие средства представления как статических связей между понятиями, так и динамических процессов, которые происходят в реальном мире.
2.4.2. Событие
Любое изменение состояния ПО будем связывать с некоторым событием в ПО. Событиеявляется тем основным понятием, которое мы будем использовать для моделирования динамических процессов, происходящих в ПО. Для целей представления ПО в информационных системах достаточно считать, что любое изменение состояния ПО (событие) происходит мгновенно и не имеет протяженности во времени. Если изменение является протяженным, то его можно рассматривать в виде пары событий, одно из которых соответствует началу изменения состояния, а второе -его завершению. Продолжительность изменения в этом случае совпадает с интервалом времени между наступлением события начала и события -завершения.
Мгновенный характер свершения события позволяет полностью абстрагироваться от того, каким образом осуществлялись происшедшие в ПО изменения, и не принимать во внимание все промежуточные состояния ПО, так как для целей концептуального моделирования важны лишь ее начальное и конечное состояния в некоторый момент времени.
Событие может состоять из более простых событий. Событие, которое заключается в изменении состояния одной сущности или ситуации, назовем элементарным.Сложные события могут быть агрегатами более простых событий, которые происходят в один и тот же момент времени. С элементарным событием необходимо связывать начальное состояние сущности, ее конечное состояние и время наступления события. Кроме того, событию как некоторому понятию можно приписать любые другие признаки, которые представляют интерес для отражения динамики ПО.
Часто возникновение и завершение события в ПО связывают с определенными условиями. Предикат, который характеризует возможность наступления события, называется предусловием,а предикат, описывающий результат завершения события, -постусловием.С помощью этих предикатов обеспечивается более сжатое представление информации, относящейся к начальному и конечному состояниям ПО, так как предикаты в принципе предоставляют возможность указать целую совокупность состояний, приводящих к наступлению события или возникающих в результате его свершения.
Фиксируя множество состояний, предикаты «постусловие» и «предусловие» позволяют абстрагироваться от конкретных значений признаков понятий ПО, что обеспечивает потенциальную возможность раздельного представления статики и динамики ПО, При таком подходе можно сначала осуществлять моделирование динамических процессов в ПО, а затем дать уточненное описание состояний сущностей ПО. Причем граф событий определяет лишь внешнее поведение информационной системы, которое может быть описано ее будущими пользователями, а более детальная проработка структур сущностей, введение дополнительных понятий и определена структур ситуаций могут быть отнесены на более поздний этап концептуального проектирования и определяться разработчиками системы.
С каждым событием, происходящим в ПО, связывается некоторое имя. Аналогично понятиям одновременные события могут быть объединены в классы событий, между которыми могут быть установлены отношения обобщения и агрегации. Например, некоторое событие может быть связано с другим событием отношением ВКЛЮЧАЕТ (агрегация) или ОБОБЩАЕТ (обобщение). Это значит, что к событиям могут быть применены такие же методы анализа и представления, как и к понятиям.
Основной сферой использования событий являются ситуации, приводящие к изменению состояний понятий ПО. Так как изменение состояний понятий означает изменение значений их признаков, то под интенсионалом элементарного события следует понимать правила (алгоритм), задающие соответствующее преобразование признаков. В частности, в качестве такого правила может выступать формула, определяющая функциональное отображение значений признаков. Если соответствующую функцию обозначим через (pi, а декартово произведение доменов значений признаковdomAl x domA2 x ... х domAn –черезD, то функция производит отображение области Dв домен изменяемого признака
i: D domAi.
Тогда аналитическое выражение, задающее функцию iбудет выступать в качестве интенсионала события, а множество пар (di,ai), гдеdiD,aaidomAi– его экстенсионала. В качестве схемы события в этом случае следует определить перечень имен признаков из области определения и области значений функции.
При наступлении события изменениям могут подвергнуться как характеристические, так и дифференциальные признаки. Очевидно, что изменения дифференциальных признаков фактически приводит к трансформации понятий, т.е. события в этом случае выполняют роль связей при динамических переходах одних понятий в другие.
В общем случае интенсионал события evследует понимать как правила трансформации состояний, выраженные в виде логических формул. В частности, интенсионал события evможно рассматривать как импликацию
intL ev = (Pre (ev) Post (ev)),
где Рrе (ev)иPost (ev)– соответственно предусловие и постусловие события ev.
Эта формула означает, что если на некотором состоянии истинен предикат Рrе (ev),то после изменения этого состояния вследствие наступления события evбудет истинен предикатPost (ev). Данное определение интенсионала может быть использовано для логического вывода на цепочке событий. В качестве экстенсионала в этом случае выступает отношение, определенное на декартовом произведении признаков, а в качестве схемы – множество имен доменов данного отношения. Рассмотрение события evв виде четверки:
ev = < int (ev), ext (ev), shm (ev), t (ev) >,
где t (ev) -время наступления события ev, позволяет определить семантику динамических процессов ПО.