2.3.3. Исчисление предикатов первого порядка
Широкое распространение получило представление знаний, основанное на исчислениях различного вида. Процедурная семантика такого метода описывает способ достижения цели через удовлетворение некоторого множества условий. Реализация правила осуществляется при выполнении всех необходимых условий, заложенных в него. При таком подходе, связи (отношения) между объектами можно представить с помощью исчисления высказываний [7].
Модель реализуется путем доказательства логических высказываний. Логическое высказывание может быть доказано при условии, что могут быть доказаны все составляющие этого высказывания, кроме головного. Логика высказывания строится на описании различного рода предикатов.
Предикат в узком смысле − это свойство объекта. В широком смысле − это описание отношений между свойствами объекта, которые могут быть определены или не определены. Свойства предиката описываются совокупностью его аргументов. Корректность описания отношений между ними основывается не только на истинно-функциональных отношениях между входящими фактами, но и на их внутренней структуре, а также на понимании таких выражений, как «все», «всякий», «достаточно» и т.д., тесно связанных с определением кванторов общности и существования, лежащих в основе исчисления предикатов первого порядка.
Таким образом, отношения на языке логики предикатов можно задать в виде правил, представляющих собой совокупности фактов, связанных между собой логическими операциями конъюнкции («и», &, , and), дизъюнкции («или», , or), инверсии («не», ~, not), импликации («если, то», ) и др., а также кванторами общности ()и существования ().
Пример.
Мать (Анна, Вера) & Сестра (Анна, Лиза) Мать (Лиза, Вера).
(X) Мать (X, Вера) & Сестра (X, Y) Мать (Y, Вера).
Основные компоненты модели
Основной единицей модели представления знаний является факт.
Факт – это отношение, представляющее собой объект и совокупность свойств объекта или процедур, которые определяются аргументами. Отношение – это предикат. Аргументы в предикатах задаются с помощью констант или с помощью переменных.
Пример.
Является (Петр, Х);
Живет (Y, Воронеж, Т),
где Х, Y, Т – переменные, определяющие интерпретацию факта в высказывании.
Высказывание – это элементарное утверждение, использующееся для построения сложных предложений.
Формирование предикатов осуществляется в соответствии со следующими правилами:
каждый предикат имеет имя;
каждый предикат обязательно имеет аргументы;
количество аргументов предиката не ограниченно;
последовательность аргументов в задании предиката определяется последовательностью их интерпретаций в заданной проблемной области. Эта последовательность заранее известна программисту и не меняется на протяжении всей программы.
Простейшим видом высказываний в модели представления знаний являются правила. В общем смысле, правила – это сложные умозаключения или высказывания, которые формируются из простых с помощью логических операций (булевых функций). Особое значение имеет импликация, предназначенная для формирования каузальных (причинно-следственных) отношений.
Пример.
Работает (Петр, ЭВМ) Оператор (Петр).
Разработал (Петр, программа) & (~ Работает (программа))
Исправить (Петр, программа) Передать (программа, Y).
Для утверждения истинности гипотезы на основе фактов, заданных в исходных данных (в базе данных), или на основе интерпретации значений переменных используются сложные правила. Мерой истинности переменных, используемых при доказательстве правила или сложного высказывания, являются кванторы общности и существования.
Квантор общности (X) читается как «для всех Х» и определяет область «все». Квантор существования (X) читается как «существует значение переменных Х» и определяется как «некоторые».
Примечание. Кванторы применяются только между высказываниями или отношениями. Использование логических операций между кванторами недопустимо.
Пример.
(X) (Y) Руководит (Y, X) & отчитывается (X, Y).
(Y) (X) Руководит (Y, X) & отчитывается (X, Y).
Еще одним компонентом модели являются утверждения. На языке логики предикатов утверждения могут быть представлены:
правилами, используемыми для доказательства;
правилами вывода.
Правила вывода (или продукции) – это сложные предложения, определяющие новые правила и факты, т.е. предназначены для задания новых стратегий с использованием новых фактов.
Различия между правилами доказательств и правилами вывода можно проиллюстрировать следующим образом.
пример.
правило:
(X) Руководит (X, Y) отчитывается (Y, X).
правило вывода:
(X, Y, Z) Руководит (X, Y) & Руководит (X, Z) отчитывается (Z, Y),
что позволяет вывести новое правило: Руководит(Y, Z).
Основные недостатки логической модели знаний
Доказательство на языке логики предикатов происходит монотонно и аддитивно, т.е. рассуждения с помощью описания их предикатами не соответствуют мыслительной деятельности эксперта.
Аддитивность [< лат. additivus придаточный, добавочный] – свойство величин по отношению к сложению, состоящее в том, что значение величины, соответствующее целому объекту, равно сумме значений величин, соответствующих его частям, в некотором классе возможных разбиений объекта на части.
Монотонность в языке логики предикатов определяет последовательное применение всех правил в аксиомах. В результате этого одно из правил, как ожидается, должно привести к результату. Это неизменно, но не всегда приводит к результату.
Варьирование правилами – это форма, состоящая из основы и нескольких (не менее двух) изменённых воспроизведений (вариаций) правил. Вариационная форма взаимодействия правил возникает только при систематическом их применении, что недопустимо в рассматриваемой модели.
- Содержание
- 1. Базы данных, ориентированные на искусственный интеллект 18
- 2. Формализация знаний о проблемной области 37
- 3. Инструментальные средства логического программирования 67
- 4. Организация принятия решений в экспертных системах 100
- 5. Интеллектуальные технологии обработки информации 115
- 6. Система моделирования эо kappa 158
- 7. Стандартные функции эо kappa 180
- 8. Работа с правилами в эо kappa 193
- 9. Создание интерфейса пользователя в эо kappa 206
- 10. Инструментальная оболочка разработки эс − clips 223
- 10.2.3. Правила 231
- 11. Разработка экспертной системы в ио clips 261
- 12. Создание проекта онтологии с помощью ис Protégé 291
- Предисловие
- Список сокращений
- Введение
- 1. Базы данных, ориентированные на искусственный интеллект
- 1.1. Экспертные системы и их особенности
- 1.2. Основные типы задач, решаемых с помощью экспертных систем
- 1.3. Особенности разработки экспертных систем
- 1.3.1. Приобретение знаний
- 1.3.2. Представление знаний
- 1.3.3. Реализация
- 1.4. Виды экспертных систем
- 1.5. Представление знаний в системах искусственного интеллекта
- 1.5.1. Данные и знания
- 1.5.2. Представление знаний в рабочей памяти эвм
- 1.5.3. Представление знаний в базе знаний
- Контрольные вопросы
- 2. Формализация знаний о проблемной области
- 2.1. Таксономическая классификационная схема
- 2.2. Онтологический подход к представлению проблемной информации
- 2.2.1. Цели разработки онтологий
- 2.2.2. Фундаментальные правила разработки онтологии
- 2.2.3. Определение области и масштаба онтологии
- 2.2.4. Рассмотрение вариантов повторного использования существующих онтологий
- 2.2.5. Перечисление важных терминов в онтологии
- 2.2.6. Определение классов и их иерархии
- 2.2.7. Определение свойств классов – слотов
- 2.2.8. Определение фацетов слотов
- 2.2.9. Домен слота и диапазон значений слота
- 2.2.10. Создание экземпляров
- 2.3. Модели представления знаний
- 2.3.1. Фреймы
- 2.3.2. Семантические сети
- 2.3.3. Исчисление предикатов первого порядка
- 2.3.4. Модель представления знаний в виде правил продукции
- Контрольные вопросы
- 3. Инструментальные средства логического программирования
- 3.1. Язык логического программирования Пролог
- 3.2. Основные разделы программы
- 3.3. Рекурсивные вычисления в Пролог-программе
- 3.4. Процесс реализации вывода
- 3.5. Предикаты
- 3.6. Списковые структуры
- 3.7. Вызов внешних функций из Пролог-программы и интерфейс с программами на других языках программирования
- 3.8. Пример реализации экспертной системы на языке Пролог
- 3.9. Диалекты и языки, используемые для задач искусственного интеллекта
- Контрольные вопросы
- 4. Организация принятия решений в экспертных системах
- 4.1. Организация логического вывода в экспертных системах
- 4.2. Правила
- 4.3. Поиск решений
- 4.4. Управляющая структура
- 4.5. Технологии принятия решений в системах с базами знаний
- 4.6. Методы поиска, реализованные в экспертных системах
- 4.7. Использование процедур
- 4.8. Представление неопределенности в информационных приложениях с базами знаний
- Контрольные вопросы
- 5. Интеллектуальные технологии обработки информации
- 5.1. Интеллектуальные системы, основанные на нечеткой логике
- 5.2. Нейронные сети
- 5.2.1. Биологический и искусственный нейроны
- 5.2.2. Классификация нейронных сетей
- 5.2.3. Задачи, решаемые с помощью нейронных сетей
- 5.3. Эволюционные вычисления
- 5.3.1. Основные определения
- 5.3.2. Процесс работы генетического алгоритма
- 5.3.3. Пример решения задачи с использованием генетического алгоритма
- 5.3.4. Достоинства и недостатки генетических алгоритмов
- 5.4. Комплексный подход к проектированию систем искусственного интеллекта
- 5.5. Инструментальные средства представления знаний
- 5.5.1. Классификация оболочек эс
- 5.5.2. Уровни реализации экспертных систем
- Контрольные вопросы
- 6. Система моделирования эо kappa
- 6.1. Представление знаний в эо kappa
- 6.2. Начало работы с эо kappa
- 6.3. Окно иерархии объектов (Object Browser)
- 6.4. Окно инструментов (Knowledge Tools) и редакторы знаний
- 6.4.1. Редактор классов (Class Editor)
- 6.4.2. Редактор объектов (Instance Editor)
- 6.4.3. Редактор слотов (Slot Editor)
- 6.4.4. Редактор методов (Method Editor)
- 6.4.5. Редактор функций (Function Editor)
- 6.4.6. Редактор правил (Rule Editor)
- 6.4.7. Редактор цели (Goal Editor)
- 6.5. Окно интерпретатора (kal Interpreter)
- 6.6. Окно сеанса (Session)
- 6.7. Окно связи правил (Rule Relations)
- 6.8. Окно трассировки правил (Rule Trace)
- 6.9. Окно просмотра иерархии выводов (Inference Browser)
- 6.10. Средство объяснений эо kappa
- Контрольные вопросы
- 7. Стандартные функции эо kappa
- 7.1. Функции манипулирования знаниями
- 7.1.1. Функции работы с классами
- 7.1.2. Функции работы с объектами
- 7.1.3. Функции работы с иерархией объектов
- 7.1.4. Функции работы со слотами
- 7.1.5. Функции работы с методами
- 7.1.6. Функции работы с правилами
- 7.1.7. Функции работы с целями
- 7.2. Математические функции
- 7.3. Функции работы со строками
- 7.4. Функции работы со списками
- 7.5. Логические функции
- 7.6. Функции работы с файлами
- 7.7. Функции управления
- 7.8. Функции работы с окнами
- 7.9. Функции работы с компонентами
- 7.10. Функции, определенные пользователем
- Контрольные вопросы
- 8. Работа с правилами в эо kappa
- 8.1. Создание и редактирование правил
- 8.2. Формирование списка правил
- 8.3. Создание и редактирование цели
- 8.4. Рассуждения в прямом направлении
- 8.4.1. Стратегии принятия решения
- 8.4.2. Формирование прямой цепи рассуждений
- 8.4.3. Активная трассировка при формировании прямой цепи рассуждений
- 8.5. Рассуждения в обратном направлении
- Контрольные вопросы
- 9. Создание интерфейса пользователя в эо kappa
- 9.1. Стандартные компоненты интерфейса пользователя
- 9.1.1. Компонент Button
- 9.1.2. Компонент Text
- 9.1.3. Компонент Transcript
- 9.1.4. Компонент Edit
- 9.1.5. Компонент BitMap
- 9.1.6. Компонент Drawing
- 9.1.7. Компонент StateBox
- 9.1.8. Компонент Meter
- 9.1.9. Компонент LinePlot
- 9.1.10. Компонент Slider
- 9.1.11. Компонент SingleListBox
- 9.1.12. Компонент MultipleListBox
- 9.1.13. Компонент CheckBox
- 9.1.14. Компонент CheckBoxGroup
- 9.1.15. Компонент RadioButtonGroup
- 9.2. Особенности русификации эо kappa
- Контрольные вопросы
- 10. Инструментальная оболочка разработки эс − clips
- 10.1. Общие сведения об ио clips
- 10.2. Программирование в ио clips
- 10.2.1. Основные элементы программирования
- 10.2.2. Факты
- 10.2.3. Правила
- 10.2.4. Переменные
- 10.2.5. Дополнительные средства
- 10.3 Интерфейс ио clips
- 10.3.1 Интерфейс командной строки
- 10.3.2. Графический интерфейс пользователя
- 10.3.3. Интерфейс встроенного редактора
- 10.4. Организация работы в ио clips
- 10.4.1. Постановка задачи и составление программы
- 10.4.2. Запуск ио clips
- 10.4.3. Ввод программы
- 10.4.4. Загрузка и запуск программы
- 10.4.5. Работа программы
- 10.4.6. Сохранение результатов работы
- Контрольные вопросы
- 11. Разработка экспертной системы в ио clips
- 11.1. Подготовка исходных данных
- 11.2. Выделение сущностей
- 11.3. Сбор информации
- 11.4. Диагностические правила
- 11.5. Листинг программы
- 11.6. Выполнение программы
- Контрольные вопросы
- 12. Создание проекта онтологии с помощью ис Protégé
- 12.1. Создание нового проекта
- 12.2. Структура проекта
- 12.3. Работа с классами
- 12.3.1. Создание нового класса
- 12.3.2. Создание экземпляра класса
- 12.3.3. Инструменты работы с классами
- 12.4. Работа со слотами
- 12.5. Сохранение проекта в формате rdf
- 12.6. Экспорт онтологии в формат эо clips
- Контрольные вопросы
- Заключение
- Глоссарий
- Библиографический список