5.3.5.2. Механизмы выводов на знаниях
Жизнь - это искусство делать верные выводы из неверных посылок. С. Батлер
Под механизмом вывода в экспертных системах будем понимать ту часть экспертной системы, в которой содержатся общие знания о схеме управления решением задач. Машина вывода выполняет две основные функции [Гаврилова, Хорошевский 2001].
Просмотр существующих фактов из рабочей памяти (базы данных) и правил из базы знаний и добавление в рабочую память новых фактов.
Определение порядка просмотра и применения правил.
В зависимости от проблемной области (пространства поиска), будем классифицировать выводы следующим образом:
вывод в одном пространстве;
вывод в иерархических пространствах;
вывод в альтернативных (параллельных) пространствах;
вывод с использованием нескольких моделей;
вывод в динамической проблемной области;
вывод при неточных данных.
Вывод в динамической проблемной области и вывод при неточных данных характеризуются или присоединением к обычному выводу дополнительных функций, или своеобразной спецификой, уникальными (возможно нигде более не используемыми) методами.
Перечислим основные типы выводов на знаниях.
Логический вывод - рассуждение с целью установления истинности какого-либо утверждения. Это рассуждение опирается при этом на аксиомы данной теории и ряд допущений или гипотез и состоит в последовательном переходе от этих отправных точек к новым, логически связанным с предыдущими предложениями. В ходе рассуждений возникает цепочка последовательно выдвигаемых предложений, одни из которых принимаются в качестве аксиом или допущений, а каждое из остальных логически следует из некоторых ранее сформулированных в данном выводе предложений. Аксиоматические теории представляются в виде формальных систем или формальных теорий, в которых все предложения, в том числе и аксиомы, записываются как формулы некоторого формализованного языка, а все способы рассуждения сведены к небольшому числу чисто формальных правил вывода.
Метод резолюций. Исчисление предикатов первого порядка - формальный язык, в котором можно выразить большое разнообразие утверждений. Рассмотрим метод резолюций в этом языке.
Исходная логическая формула исчисления предикатов должна быть приведена к стандартной форме - множеству дизъюнктов. Следующие идеи используются для достижения этой цели. Формула может быть сведена к предваренной нормальной форме, в которой матрица не содержит кванторов, а префикс есть их последовательность. Не содержащая кванторов матрица может быть сведена к конъюнктивно нормальной форме. Сохраняя противоречивость формулы, можно избавиться от квантора существования (сколемизация). Таким образом, любая формула может быть представлена множеством дизъюнктов.
Основная идея метода резолюций - проверить, содержит ли s - множество дизъюнктов - пустой дизъюнкт (s). Если да, то s - невыполнимо. Если не содержит, то проверяется следующий факт: может ли быть s получен из s и т. д. Таким образом, метод резолюций можно рассматривать как специальное правило вывода для порождения из s новых дизъюнктов.
О практическом применении метода резолюций Следует заметить, что метод резолюций используется в так называемых языках логического программирования. Например, на языке Prolog запись программы будет близка к записи в стандартной форме.
Обратный вывод Маркова. В этом методе поиск вывода идет от цели к аксиомам и теоремам, истинность которых априорно известна. Чтобы определить выводимость формулы из посылок, надо найти формулы - предшественники, из которых нужная формула может быть выведена одним применением правила вывода. Затем по каждой из получившихся формул - предшественников, не являющейся аксиомой исчисления, определяется множество непосредственных формул - предшественников и т. д. Дерево вывода получается, если все листья становятся аксиомами исчисления.
Продукционный вывод. Продукционные модели для представления знаний в экспертных системах отличаются от формальных продукционных систем тем, что они используют более богатые правила и содержат эвристическую информацию о специфике проблемной области, выражаемую, например, в виде семантических структур. В продукционном правиле есть элемент процедурности, т. к. предполагается, что правило будет использовано для выполнения некоторого действия. Декларативные знания не несут никакой информации о том, как они будут использованы. В общем случае продукционное правило может быть представлено в следующей форме: (i); S; С; А=>В; Q, где А=>В называют ядром продукции. Здесь:
А - совокупность посылок;
В - заключение;
С - условие применимости продукции;
S - сфера применимости продукции;
(i) - собственное имя продукции (метка);
Q - постусловие (если ядро реализовано, то может появиться необходимость изменения информации в базе данных, базе знаний или в продукционной системе. Информация об этом может находиться в Q).
Вот лишь некоторые наиболее известные системы, применяющие механизм выводов [Попов 1987], [Гаврилова, Хорошевский 2001]:
MYCIN (разработка Стэнфордского университета (http://www.stanford.edu/)) - экспертная система в области медицины;
PROSPECTOR (компании SRI International) - экспертная система в области геологии;
Cattell (разработка компьютерного центра РАН (http://www.ccas.ru/~posp)) - экспертная система в области социальной психологии.
- 5. Системы программирования
- 5.1. Введение в системы программирования
- 5.1.1. Основные понятия и определения
- 5.1.2. История и эволюция
- 5.1.2.1. Некоторые важные даты
- 5.1.2.2. Основные этапы в формировании состава систем программирования
- 5.1.2.3. История развития системы программирования компании Borland Inc. На базе языка Pascal
- 5.1.3. Классификация
- 5.1.3.1. Классификация по ориентации на поддержку процессов
- 5.1.3.2. Функциональная классификация
- 5.1.3.3. Классификация по категориям
- 5.1.3.4. Классификация по предоставляемому интерфейсу
- 5.1.4. Проблемы и перспективы развития
- 5.1.5. Рекомендации по литературе
- 5.2. Процесс-ориентированный инструментарий
- 5.2.1. Возникновение и исследование идеи
- 5.2.2. Управление
- 5.2.2.1. Системы управления проектами
- 5.2.2.2. Организационные средства
- 5.2.2.3. Средства оценки качества
- 5.2.3. Анализ требований и проектирование
- 5.2.3.1. Системы на основе структурной методологии
- 5.2.3.2. Системы на основе объектно-ориентированной методологии
- 5.2.4. Программирование (реализация)
- 5.2.4.1. Трансляторы
- 5.2.4.2. Компиляторы
- 5.2.4.3. Системы генерации трансляторов
- 5.2.4.4. Системы анализа корректности программного кода
- 5.2.4.5. Интерпретаторы
- 5.2.4.6. Декомпиляторы
- 5.2.4.7. Усложнители декомпиляции (шифраторы, обфускаторы)
- 5.2.4.8. Системы управления компиляцией и построением программ
- 5.2.5. Тестирование и отладка
- 5.2.5.1. Тестовые мониторы
- 5.2.5.2. Средства отслеживания тестового покрытия
- 5.2.5.3. Средства динамического построения профиля программы
- 5.2.5.4. Системы построения срезов программы
- 5.2.5.5. Отладчики
- 5.2.5.6. Системы отслеживания проблем (ошибок)
- 5.2.6. Ввод в действие
- 5.2.7. Сопровождение
- 5.2.8. Завершение эксплуатации
- 5.3. Универсальный инструментарий
- 5.3.1. Инструменты работы с текстом
- 5.3.1.1. Средства, базирующиеся на регулярных выражениях
- 5.3.1.2. Средства поиска различий
- 5.3.1.3. Средства поиска на основе шаблонов
- 5.3.1.4. Обозреватели и базы данных программ
- 5.3.1.5. Средства обнаружения плагиата
- 5.3.1.6. Текстовые редакторы
- 5.3.1.7. Синтаксически-ориентированные редакторы
- 5.3.1.8. Гипертекстовые средства
- 5.3.2. Системы документирования
- 5.3.3. Системы разработки интерфейсов
- 5.3.4. Системы управления базами данных
- 5.3.5. Системы управления базами знаний и экспертные системы
- 5.3.5.1. Системы искусственного интеллекта
- 5.3.5.2. Механизмы выводов на знаниях
- 5.3.5.3. Неточный вывод на знаниях
- 5.3.6. Электронные библиотеки и инструментарий Интернета
- 5.3.6.1. Парадигма усиления информации
- 5.3.6.2. Профессиональный поиск информации
- 5.3.6.3. Проблемы работы с информационными ресурсами Интернета
- 5.3.6.4. Коллекции информационных ресурсов в Интернете
- 5.3.6.5. Базы данных в Интернете
- 5.3.6.6. Краткая история поисковых средств Интернета
- 5.3.6.7. Искусственный интеллект и задача поиска в Интернете
- 5.4. Инструментарий поддержки процессов некоторых технологических подходов
- 5.4.1. Системы формального преобразования и верификации программ
- 5.4.2. Средства сборочного программирования
- 5.5. Инструментальные системы
- 5.5.1. Инструментальные среды программирования
- 5.5.2. Средства автоматизации разработки программ (case-средства)
- 5.5.3. Интегрированные среды
- 5.5.4. Репозитории проекта
- 5.6. Средства поддержки коллективной разработки
- 5.6.1. Системы разделения файлов
- 5.6.1.1. Система управления версиями файлов
- 5.6.1.2. Система управления пространствами
- 5.6.1.3. Система синхронизации удаленных пространств
- 5.6.2. Системы поддержки работы виртуальных групп
- 5.7. Естественно-языковый интерфейс
- 5.7.1. Диалоговые системы
- 5.7.2. Вопросно-ответные системы
- 5.7.3. Автоматизированные обучающие системы и системы контроля знаний
- 5.7.4. Системы искусственного интеллекта