Базы знаний
В искусственном интеллекте существуют различные виды моделей знаний. Мы рассмотрим только один из них, который называется логической моделью знаний. Этот подход используется в системе программирования ПРОЛОГ.
Вы уже знакомы с понятием «база данных». База данных (БД) — это информационная модель некоторой реальной системы в памяти компьютера. А база знаний (БЗ) — это модель знаний человека в определенной предметной области. Покажем разницу между БД и БЗ на конкретном примере.
Рассмотрим этот вопрос на примере родственных связей между мужчинами одной семьи. Вот как они выглядят в графической форме родословного дерева:
Здесь линии обозначают связь между отцом (на верхнем уровне) и сыном (на нижнем уровне).
Используя СУБД реляционного типа, на основе таблицы нетрудно создать реляционную базу данных. Обращаясь к ней с запросами, можно определить, кто кому приходится отцом, дедушкой, братом. Такая таблица представляет собой информационную модель объекта «семья».
Теперь перейдем к построению базы знаний. Предметной областью здесь являются родственные связи между мужчинами одной семьи.
Согласно логической модели, база знаний состоит из фактов и правил.
Вот состав базы знаний «Родственники»:
Факты:
Лев — отец Андрея;
Лев — отец Петра;
Андрей — отец Алексея;
Петр — отец Михаила;
Петр — отец Дмитрия.
Правила:
всякий мужчина — сын своего отца;
дедушка — отец отца;
братья — сыновья одного отца;
дядя — брат отца;
племянник — сын брата;
внук — сын сына.
Исходя из данных фактов и правил, можно путем логических рассуждений установить все виды родственных связей между мужчинами этой семьи.
Обратите внимание на две особенности базы знаний:
1. факты носят частный характер, а правила — общий (справедливы для любой семьи);
2. в БЗ включены только основополагающие факты.
Действительно, достаточно знать, кто кому приходится отцом, чтобы, используя правила, определить другие родственные связи. На основе подобной базы знаний можно построить экспертную систему в области родственных отношений между мужчинами. Чтобы использовать ее по отношению к другой семье, достаточно заменить список фактов, а правила, естественно, останутся прежними.
Сравнивая БД с БЗ приходим к выводу: база данных содержит только факты, база знаний — факты и правила.