- •Введение
- •Глава 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.6. Выводы к второй главе
Проведенные эксперименты позволили сформировать технологию производства прикладных систем продукций, которая нашла воплощение в инструментальных системах InterBase[40], Lingia.F [14, 57, 65, 132].
На основе этих инструментальных систем создано несколько десятков интеллектуальных прикладных систем, использующих представление знаний в виде систем продукций.
В это же время в литературе появляется описание большого класса интеллектуальных компьютерных систем, которые стали называться экспертными системами (ЭС) [49,53,61,64]. Системы этого класса используют знания экспертов о предметной области.
По определению Комитета по ЭС Британского компьютерного общества, под ЭС понимается "воплощение в ЭВМ компонента опыта эксперта, основанного на знании, в такой форме, что машина может дать интеллектуальный совет или принять интеллектуальное решение по данной ситуации".
Широкое распространение этого класса систем привело к появлению новой дисциплины, называемой инженерией знаний. Эта новая дисциплина требует создания соответствующего интеллектуального программного обеспечения, вооружения специалиста-эксперта, не являющегося специалистом в области традиционного программирования, качественным инструментарием.
Системы продукций стали первым средством представления знаний в экспертных системах. Однако практика его использования при описании знаний для решения больших задач выявила ряд недостатков, одним из которых является отсутствие средств описания структуры предметной области. Как следствие этого, экспертные системы, использующие СП в качестве средства представления, получили название "поверхностных" экспертных систем [50,64]. Начиная с 80-х годов, наиболее активно разрабатываются средства для описания структуры предметной области, в частности фреймы.
3. Машина логического вывода
3.1. Формальное определение задачи
Технология разработки систем искусственного интеллекта в рамках анализа предметной области задачи преследует две основные цели:
очертить концептуальную область исследования;
сформировать понятийный базис для изучения всех аспектов интересующей проблемы.
Для решения этих целей этап анализа подразделяется на две стадии: извлечение и формализация знаний. На стадии формализации знаний осуществляется структуризация и классификация знаний, на основе которых и строится концептуальная модель предметной области. Построив концептуальную модель необходимо решить задачу Р представить в форме следующего кортежа
Р = <Модель, Исходное_состояние, [Критерий], Решение, Решающая_процедура, [Доказательство]> (3.1)
При этом под состоянием задачи понимается множество пар<Vi1, Vi2>, гдеiпробегает множество индексов всех термов, определенных в задаче.
Процесс (способ) отыскания решения называется решающей процедурой.
Доказательство может потребоваться как свидетельство того, что отыскиваемое решение действительно удовлетворяет критерию задачи или служит допустимой интерпретацией для заданной модели.
3.2. Специфика решения задач в сии
Особенности задач, решаемых в СИИ, в значительной мере определяют выбор методов и подходов к решению задач в СИИ. Следующие особенности отличают задачи с технологией решения, ориентированной на СИИ:
(1) модель может быть частично определенной;
(2) критерий, как правило, отсутствует;
(3) решающая процедура основана на так называемых слабых методах;
(4) доказательство отсутствует.
Частичная определенность модели связана с недостаточными знаниями о предметной области (слабо или средне документированные предметные области). Для некоторых задач это свойство является характерным. Например, это относится к задачам логического вывода, а также комбинаторным оптимизационным задачам, с которыми приходится иметь дело при проектировании сложных систем, в частности. Кроме того, некоторые знания не формализуемы или плохо формализуемы (слабо или средне структурированные предметные области). В частично определенных моделях пространство состояний задачи не полно, в силу чего заключения СИИ носят предположительный или рекомендательный характер.
Наличие критерия свойственно вычислительным и оптимизационным задачам, для которых существует богатый арсенал математических детерминированных методов. Возможность использования точного математического алгоритма вообще не требует помощи эксперта, исключая, разве что, выбор самого алгоритма на основании анализа свойств задачи. Как правило, наличие критерия и строгая формализованность модели взаимосвязаны.
Важным аспектом, характерным для задач ориентированных на технологию СИИ, является использование слабых методов. К ним относятся:
ограниченный направленный перебор;
исключение и отсечение;
эвристики;
индукция.
Механизм логического вывода является в той или иной мере, разновидностью стратегии направленного перебора. При этом проблема заключается либо в выборе подходящей продукции на каждом шаге вывода из некоторого множества альтернативных продукций, для которых выполняются часть "ЕСЛИ ..." в текущем состоянии задачи, либо в выборе новой подцели (как, например, в языке Пролог). В первом случае вывод называется управляемым данными, во втором -управляемым, исходя из цели. Более подробно эти варианты вывода рассмотрены ниже.
Исключение (отсечение)- это эффективный механизм сокращения области поиска. Если решение не обладает свойствомР, то все варианты, которые устанавливаютРили вытекают из него, отбрасываются. Иначе говоря, если
W Р,
где - импликация, W - частное решение, Р - свойство искомого решения, то W отбрасывается равно как и любое другое решение U, логически предполагающее W. Отметим, что если
P W,
то отсечение в этом случае является лишь правдоподобным.
Наиболее интересная реализация механизма отсечения связана с построением предложений. Справедливо следующее правило:
"Снятие" некоторого условия задачи порождает альтернативы, а "допущение" условия - их снимает.
Всегда нужно искать такие условия, "снятие" которых порождает минимум альтернатив, а "допущение" - устраняет максимум альтернатив. Как следует из теоремы дедукции, гипотеза принимается, если принятие обратной гипотезы ведет к противоречию.
ПустьF- множество условий задачи. Пустьf- дополнительные условия и {Ff} - условия для некоторой частной задачи, решениеRкоторой найдено. Это решение будет решением исходной задачи, еслиF f, где- символ операции выводимости. РешениеRможно считатьопорным, если
(F f) &( F ),
т.е. из Fне следует ниf, ни.
Опорное решение может не быть оптимальным, но оно не противоречит условиям задачи. Эффективная стратегия отсечения базируется на введении взаимоисключающих условий fи.
Пусть F- множество условий задачи. Если, например, допущениеfведет к противоречию(F, {f} ), то автоматически предполагаетсяи наоборот. При этом рациональным вариантом отсечения является допущение такой альтернативы, которая наиболее вероятно не имеет места (на этом, в частности, основывается идея доказательства от противного).
Эвристики. В сущности, эвристика - это эмпирическое правило, эффективность которого достаточна, чтобы применять это правило на практике. Значительная часть экспертных знаний представляют эвристики. Эвристика, например, используется для выбора продукции из множества альтернативных продукций. Формальный механизм организации эвристического поиска известен под названием АлгоритмаА* Нильсона.
Индукция. Следующая логическая схема иллюстрирует механизм индукции
(3.2)
Эта индукционная схема устанавливает, что если из формулы АследуетВи имеет местоВ, то вероятно справедлива формулаА, если не установлено противное.
Рассмотрим более детально связь методов решения задач в СИИ с классами задач, на которые они ориентированы.
Класс 1: малое пространство поиска с надежными знаниями и данными. Для этого класса задач основным методом решения является исчерпывающий перебор. При исчерпывающем поиске максимальный размер пространства поиска зависит от времени, необходимого на просмотр одного решения. Если на просмотр одного решения тратится 25 мс., то 10! решений могут быть последовательно просмотрены за 24 ч. Такой размер пространства часто соответствует верхнему пределу для реальных задач при полном переборе.
Класс 2: малое пространство поиска с ненадежными знаниями. В этом случае используются методы последовательного анализа вариантов на диаграмме состояния задачи. Стержнем методов является теорема Байеса, другие вероятностные подходы, например, метод Вальда.
Класс 3: модель задачи изменяется во времени. Например, задачи планирования и предсказания требуют рассуждений о всех возможных будущих ситуациях или событиях. Методы этой группы образуют так называемоеситуационное исчисление. Основу ситуационного исчисления составляет математическая логика и ее современные варианты, например, временная логика.
Класс 4: большое пространство состояний. Основным подходом к решению задач такого типа является механизм отсечений, использующий порождение гипотез и их проверку. Ключевым моментом является выполнение отсечений на наиболее ранних этапах построения решения, что сокращает перебор и обеспечивает повышение эффективности поиска решения. Существуют различные стратегии, использующие отсечение: механизм эвристического поиска, метод ветвей и границ, принцип сжимающих отображений.
Класс 5: задачи, требующие выдвижение гипотез и правдоподобные рассуждения. Методы, используемые для решения этих задач, основаны на различных неклассических логиках: вероятностной, нечеткой, немонотонной, логики возможностей и др. Соответствующие теоретические основы таких логик рассмотрены в главе 3. В настоящей главе подробно рассматриваются основные методы, используемые при решении укачанных классов задач.