- •Введение
- •Глава 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. Нерезолютивные методы вывода на семантических сетях
1.1.1 Понятие модели
В математике моделью(или реляционной системой) называется некоторое множествоМс заданным на нем набором отношений{r1, r2, ..., rn}. Как известно, отношение математически представляется в следующей форме: имя_отношения (список_аргументов).
Когда идет речь о модели знаний, то отнюдь необязательно, чтобы множество Мбыло однородно (состояло только из объектов одной природы). Например, отношение "быть владельцем(х, у)" устанавливает, чтохесть владелецу, а экземпляр такого отношения
быть_владельцем (Иван, книга)
имеет дело с объектами разной природы. Важно подчеркнуть, что в общем случае отношение предполагает некоторую процедуру (называемую разрешающей процедурой), которая устанавливает истинность или ложность отношения. Такая процедура может задаваться алгоритмом, правилами, таблицами и иными способами. При этом, всегда стоит вопрос об эффективности (и даже существовании) разрешающей процедуры.
1.1.2. Логические модели
Поскольку логика является основой рассуждений, то ее роль в механизмах вывода является центральной. В самом общем виде логическая модель знаний- это конечное или бесконечное множество отношений логики предикатов первого порядка, называемых просто логическими формулами формул (конечное или бесконечное) логики предикатов первого порядка ( или просто логических формул). Каждая формула логической модели может иметь лишь два значения - истина или ложь.
Для записи формул используется язык, содержащий алфавит и множество правил, согласно которым образуются (правильно построенные) формулы.
Язык логики предикатов задается следующим образом. Алфавит содержит следующие классы символов:
переменные, обозначаемые через x, y, z, v, u, ...,
константы, обозначаемые посредством a, b, c, d, ...,
функциональные символы, представляемые как f, g, h, ...,
символы отношений p, q, r, s, ...,
символы пропозициональных констант: TRUE(истина) иFALSE(ложь)
логические операторы (связки): - (отрицание, НЕ), (дизъюнкция, ИЛИ), & (конъюнкция, И),( импликация, ЕСЛИ ...ТО),( эквиваленция, ЕСЛИ И ТОЛЬКО ЕСЛИ)
кванторы: (существование),(всеобщности)
круглые скобки (,) и запятую ",".
Для конъюнкции используется также символ , а для эквиваленцииили.
Каждый символ функции и отношения характеризуется числом аргументов данной функции (отношения) называемым местностью (арностью). Например, функция sin(х)является одноместной,f(x2, x, c) - трехместной и т.п.
Далее определим класс термов:
переменная есть терм;
константа есть терм;
если fестьn- местная функция иt1, ..., tn- термы,f(t1, ..., tn)суть также терм.
Логическая формула задается следующей схемой:
если p - n- местное отношение иt1, ..., tn- термы, тоp(t1, ..., tn)есть формула (называемая атомарной)
пропозициональные константы TRUEиFALSEсуть формулы
если FиGформулы, то формулами также являются(),(F G), (F & С), (F С), (F С)
если F- формула их- переменная, то(х F ) и( х Р )- также формулы.
Для упрощения записи логических формул часто отбрасывают скобки, используя отношение порядка (старшинства) между логическими операторами и кванторами. Так, будем считать, что -, ,связывают сильнее, чем &, который в свою очередь связывает сильнее оператора, а последний связывает сильнее, чем операторы,.
Поэтому формулу
(y (x ((p(x) & ((y))) ((x) (A B))))) (1.3)
можно представить в виде
y (x (p(x) & ((y)) (x) A B) (1.4)
Рассмотрим, как представляются знания о предметной области на основе логических формул. Предложение: " Для всех х, еслихстудент, то сдает экзаменых" может быть представлено как
x (P(x) Q(x)),
где Р - эквивалентно Студент;
Q- эквивалентно Сдает-экзамены.
Следовательно, в эквивалентной нотации, можно записать: x (Студент(x) Сдает-экзамены(x)).
Предложение: "Только артисты восхищаются артистами" получает представление в виде:
x y (B(y, x) & A(x) A(y)),
где А(х)- "x есть артист",В(у, х)- "у восхищается х".
Утверждение ассоциативности арифметической операции сложения имеет следующее формальное представление:
x y z ((x +y) + z = x + (y + z))
Отметим, что последнее выражение с точки зрения правил построения формул логики предикатов следовало записать в виде:
x y z E ((fadd(fadd(x, y), z) fadd(x, fadd(y, z)))),
где Е- предикат равенства ( = );
fadd- двухместная функция сложения;
fadd(t1,t2) - терм, представляющий сумму термовt1иt2.
Как видим, последнее представление значительно менее наглядное.
Отличительными чертами логических моделей являются единственность теоретического обоснования и возможность реализации системы формально точных определений и выводов. Основными задачами, решаемыми на логических моделях, являются следующие:
установить или опровергнуть выводимость некоторой формулы (в общем случае эта задача алгоритмически неразрешима);
доказательство полноты/неполноты некоторой формально логической системы, представленной множеством логических формул;
установление выполнимости системы логических формул (нахождение интерпретирующей функции) или отыскание контрпримера, опровергающего их;
определение следствий из заданной системы формул;
доказательство эквивалентности двух формально-логических систем;
поиск решения задачи на основе доказательства теоремы существования решения и др.