- •Глава 6 представление знаний
- •6.1. Представление знаний при помощи пролога
- •Исчисление предикатов
- •Вычислительные формализмы
- •Пролог как вычислительный формализм
- •Формальный смысл
- •Внешний смысл
- •Обманчивая природа внешнего смысла
- •Представление знаний при помощи языка Си
- •Расширение языка Пролог
- •Другие вычислительные формализмы
- •6.2. Семантические сети Узлы и дуги
- •Семантическая сеть как Пролог-программа
- •6.3. Фреймы Представление знаний о ситуациях
- •Наследование значений слотов
- •Оценка формализма фреймов
- •Реализация фрейм - программы на Прологе
- •Запрет наследования
- •6.4. Объектно-ориентированное программирование Объекты и сообщения
- •Наследование
- •Объектно-ориентированное программирование в терминах абстрактных типов данных
- •Объектно-ориентированное программирование в терминах формализма фреймов
- •6.5. Механизм наследования в прологе Наследование в других формализмах
- •Наследование в Прологе
- •Состояния знаний
- •Обзор механизма наследования
- •Создание дерева состояний
- •Процедура "послать"
- •Опровержение фразы
- •Концепции механизма наследования
- •Пример с собранием
- •Пример с птицами
- •Реализация процедуры "послать"
- •Алгоритм работы процедуры "послать"
- •6.6. Программа, выполняющая запросы к базе данных
- •Состояния как виртуальные базы данных
- •Использование процедуры "з"
- •Опрос базы данных (добавление нового состояния)
- •Процедура "отобразитьсостояния"
- •Полезные свойства программы, выполняющей запросы к базе данных
- •Реализация программы, выполняющей запросы
- •Процедура "отобразить"
- •Процедура "з"
- •Процедура "характер"
- •6.7. Описание изменений базы данных
- •Мир кубиков
- •Картина состояния
- •Внесение изменений в базу данных при помощи процедуры "поместить"
- •Реализация процедуры "поместить"
- •Оценка механизма наследования
- •Процедура "послать" как предикат метаязыка
- •Библиографические заметки
- •Упражнения
Глава 6 представление знаний
6.1. Представление знаний при помощи пролога
Во многих прикладных задачах искусственного интеллекта требуется представление знаний о мире. Для того чтобы понять, как этим целям может служить Пролог, полезно рассмотреть некоторые общие характеристики формализмом представления.
Исчисление предикатов
Слово система употребляется в данной книге для обозначения некоторой ограниченной части мира. Знания о системе эквивалентны анализу структуры системы.
Как отмечалось в разд. 0.5, исчисление предикатов первого порядка служит примером формализма представления, потому что при помощи аксиоматической теории логики предикатов можно описать структуру системы. Несколько тривиальных примеров таких теорий были даны в разд. 0.5. Наличие полного множества правил вывода дает возможность выводить логические следствия аксиоматической теории. Формальный смысл аксиоматической теории — это множество всех следствий, которые могут быть получены из нее при употреблении логически корректных правил вывода. Интерпретация теории - это приписывание каждого из символических обозначений, встречающихся в теории, определенным компонентам (сущностям, функциям или отношениям) системы. Теория будет точно описывать систему, если при должной интерпретации все следствия теории будут истинными для системы.
Вычислительные формализмы
Для представления знаний разработан ряд вычислительных формализмов. Правда, нужно сказать, что большая часть этих формализмов не обладает такой выразительной силой, как исчисление предикатов первого порядка. Излагаемый далее материал в целом касается большинства предложенных вычислительных формализмов. Вычислительный формализм состоит из двух частей:
1) дескриптивный язык и
2) множество процедур, способных реализовать формальный смысл описания, составленного на дескриптивном языке; это множество процедур иногда называют обрабатывающей структурой формализма.
Формальный смысл описания
Представление знаний о системе при помощи вычислительного формализма равнозначно описанию существенно важных аспектов структуры системы при помощи дескриптивного языка этого формализма, формальный смысл описания системы состоит во всех возможных ответах я поведенческих актах обрабатывающей структуры данного формализма, которые могут быть порождены на основе приведенного описания. Формальный смысл описания аналогичен множеству следствий аксиоматической теории исчисления предикатов, а обрабатывающая структура формализма аналогична множеству правил вывода.
Формальный смысл описания - это продукт, порождаемый обрабатывающей структурой формализма. Следовательно, обрабатывающая структура накладывает на этот смысл определенные ограничения. Некоторые формализмы предоставляют программисту возможность добавлять новые процедуры к обрабатывающей структуре, что позволяет расширить диапазон возможных формальных смыслов дескриптивного языка.
Конечной целью представления знаний о системе является создание программы, поведение которой будет отражать структуру системы в определенном существенно важном аспекте. Если удастся составить такую программу, то она сможет решать задачи, связанные с системой, или моделировать поведение системы.
Пролог служит примером такого формализма. Использование языка Пролог для представления знаний обсуждается в оставшейся части данного раздела, а другие формализмы рассматриваются в последующих разделах настоящей главы.