Основы построения и функционирования интеллектуальных информационных систем. Былкин В.Д - 96 стр.

UptoLike

96
Управление фактами в базе знаний
Экспертная система должна иметь механизм для ввода фактов и правил в базу знаний,
поддержания набора выражений в базе знаний и вывода содержимого базы знаний для просмотра
разработчиками и пользователями системы.
В этой части мы рассмотрим требования программирования к разработке и поддержанию
списка сцепленных объектов. Прежде всего, нам нужен механизм для добавления к данному
списку новых узлов, Далее понадобятся средства ввода имен новых объектов и значений. И
наконец, потребуется способ нахождения и извлечения конкретных имен для просмотра. Кроме
того, будет полезно иметь возможность проверить, имеет ли объект определенное значение и
истинен ли отдельный факт.
Для выполнения этих функций мы введем следующие модули:
MAKE_NODE обеспечивает возможность добавления к списку нового объекта.
FIND_OBJECT ищет в списке объектов имя конкретного объекта.
SPLIT извлекает из строки имя объекта и имя значения.
TEST проверяет истинность отдельного факта.
ADD_OBJECT позволяет добавлять в базу знаний имена объекта и значения.
SEE_VALS выводит все элементы списка значений любого узла.
SEE_OBJECTS выводит имена всех объектов базы знаний.
Основная программа обеспечивает интерфейс пользователя при вводе и объединяет
различные программные модули при выполнении. В этой и каждой последующей частях мы будем
постепенно строить основную программу для объединения новых модулей и добавления новых
свойств к уже существующим модулям.
Создание узла в списке объектов
Первым модулем программы экспертной системы является механизм для создания нового
узла в списке сцепленных объектов. Следующая процедура добавляет новый узел в вершину
списка объектов и устанавливает указатель на объект в этом узле. Первый оператор после
инструкции BEGIN создает новый узел. Второй определяет вершину списка, а третий
устанавливает указатель вершины на вновь созданный узел. На следующем шаге
указатель
                             Управление фактами в базе знаний

      Экспертная система должна иметь механизм для ввода фактов и правил в базу знаний,
поддержания набора выражений в базе знаний и вывода содержимого базы знаний для просмотра
разработчиками и пользователями системы.
      В этой части мы рассмотрим требования программирования к разработке и поддержанию
списка сцепленных объектов. Прежде всего, нам нужен механизм для добавления к данному
списку новых узлов, Далее понадобятся средства ввода имен новых объектов и значений. И
наконец, потребуется способ нахождения и извлечения конкретных имен для просмотра. Кроме
того, будет полезно иметь возможность проверить, имеет ли объект определенное значение и
истинен ли отдельный факт.
      Для выполнения этих функций мы введем следующие модули:
      MAKE_NODE обеспечивает возможность добавления к списку нового объекта.
      FIND_OBJECT ищет в списке объектов имя конкретного объекта.
      SPLIT извлекает из строки имя объекта и имя значения.
      TEST проверяет истинность отдельного факта.
      ADD_OBJECT позволяет добавлять в базу знаний имена объекта и значения.
      SEE_VALS выводит все элементы списка значений любого узла.
      SEE_OBJECTS выводит имена всех объектов базы знаний.
     Основная программа обеспечивает интерфейс пользователя при вводе и объединяет
различные программные модули при выполнении. В этой и каждой последующей частях мы будем
постепенно строить основную программу для объединения новых модулей и добавления новых
свойств к уже существующим модулям.
                             Создание узла в списке объектов

      Первым модулем программы экспертной системы является механизм для создания нового
узла в списке сцепленных объектов. Следующая процедура добавляет новый узел в вершину
списка объектов и устанавливает указатель на объект в этом узле. Первый оператор после
инструкции BEGIN создает новый узел. Второй определяет вершину списка, а третий
устанавливает указатель вершины     на     вновь созданный    узел.   На   следующем шаге
указатель




                                             96