В качестве важнейших типизированных видов отношений рассматриваются следующие отношения:
“род” - “вид” (обобщение);
“целое” - “часть” (агрегация);
“причина” - “следствие”;
“цель” - “средство”;
“функция” - “аргумент”;
“ассоциация”;
“хронология”;
“пространственное положение” и др.
Так, отношения обобщения ("род" - "вид") фиксируется на уровне названий классов объектов, например:
есть-подкласс (Инженеры, Личности).
Под классом объектов понимается совокупность объектов с одинаковым набором предикатов (свойств и связей). Класс объектов часто описывается в виде n-арного реляционного отношения, например:
личности ( ФИО, Профессия, Подразделение, ... ).
Если объекты обладают частично пересекающимся набором предикатов, то осуществляется более сложная классификация объектов: класс объектов по значениям какого-либо свойства (признака) разбивается на подклассы таким образом, что класс объектов содержит общие для подклассов свойства и связи, а каждый из подклассов отражает специфические свойства и связи, например:
личности ( ФИО, Год рождения, Профессия, Подразделение, ... )
инженеры ( ФИО, ВУЗ, Оклад, ... )
рабочие ( ФИО, Разряд, Тарифная ставка, ... )
При этом подклассы объектов автоматически наследуют общие свойства и связи вышестоящих классов, а совокупность взаимосвязанных по отношению обобщения классов объектов образует иерархию наследования свойств.
Отношение агрегации классов объектов ("целое" - "часть") отражает составные части объектов, которое можно представить в бинарном виде на именах двух классов объектов:
есть-часть ( Оборудование, Цех );
есть-часть ( Рабочие, Цех ).
Аналогично представляются другие семантические отношения:
· причина-следствие (Задолженность, Банкротство);
· аргумент-функция ( Спрос, Цена);
· средство-цель (Покупка акций, Прибыль);
· ассоциация (Производство, Обслуживание);
· хронология (Отгрузка, Поставка);
· пространственное положение (Сборка, Технический контроль).
Обычно объектное знание представляется графически средствами ER-моделей (модель "Сущность - Связь") - см. [15].
Функциональная модель описывает преобразования фактов, зависимости между ними, показывающие, как одни факты обpазуются из дpугих. В качестве единицы функционального знания определим функциональную зависимость фактов в виде импликации:
А1_/\А2_/\А3_/\ ... /\Аn_ -> B,
означающей, что факт В имеет место только в том случае, если имеет
место конъюнкция фактов или их отрицаний А1, А2, ... , Аn , например:
сбыт (Товар, "Слабый") и
прибыль (Товар, "Ничтожная") и
потребители (Товар, "Любители нового") и
число_конкурентов (Товар,"Небольшое") ->
жизненный_цикл (Товар, "Выведение на рынок").
Функциональную зависимость фактов можно трактовать как отражение следующих отношений фактов:
· "Причина" - "Следствие";
· "Средство" - "Цель";
· "Аргумент" - "Функция";
· "Ситуация" - "Действие".
В качестве термов конъюнкции фактов могут выступать более сложные логические условия.
Функциональная модель строится путем последовательной декомпозиции целей, а именно: для цели определяются подцели, для которых в свою очередь устанавливаются подцели и так дальше, пока в качестве подцелей не окажутся исходные факты (процесс декомпозиции "сверху" - "вниз"). Каждой цели (подцели) соответствует некоторая задача (подзадача), которая не может быть решена, пока не будут достигнуты ее нижестоящие подцели (решены подзадачи). Таким образом, функциональная модель отражает в обобщенной форме процесс решения характерных для нее задач.
Обычно функциональные зависимости фактов представляются графически в виде деревьев целей или графов "И" - "ИЛИ" (рис. 2.2), в которых каждый зависимый факт представляет собой целевую переменную - корневую вершину, а определяющие его факты-аргументы - cвязанные с корнем подчиненные вершины, условие конъюнкции (совместности анализа факторов) обозначается пересекающей дугой, а условие дизъюнкции (независимости влияния на цель факторов) никак не обозначается, причем если какой-либо факт-аргумент, в свою очередь, определяется другими фактами-аргументами, то он становится подцелью.
Рис. 2.2. Дерево целей - граф “И -ИЛИ”
Поведенческая модель отражает изменение состояний объектов в результате возникновения некоторых событий, влекущих за собой выполнение определенных действий (процедур). Состояние объекта - это изменяющиеся во времени значения некоторого свойства. Набор действий, связанный с некоторым событием, составляет поведение объекта, которое выражается в виде правил или процедур. Задача определения поведенческой модели заключается в определении связей событий с поведением объектов и изменением их состояний. Как правило, событие отражается в форме сообщения, посылаемого объекту. Пример поведенческой модели в виде диаграммы потоков событий представлен в таблице 2.5.
Таблица 2.5.
ЗАКАЗ
СОБЫТИЕ (Сообщение) | ПОВЕДЕНИЕ (Действие) | СОСТОЯНИЕ (Жизненный цикл) |
Оформляется | Создание заказа Проверка выполнимости | Оформлен |
Откладывается | Заказ у производителя | Отложен |
Выполняется | Отправляется Выписываются платежные документы | Выполнен |
Оплачивается | Уничтожение заказа | Оплачен |
2.4. Формализация базы знаний
На этапе формализации базы знаний осуществляется выбор метода представления знаний. В рамках выбранного формализма осуществляется проектирование логической структуры базы знаний.
Рассмотрим классификацию методов представления знаний с точки зрения особенностей отображения различных видов концептуальных моделей, а именно: соотношения структурированности и операционности, детерминированности и неопределенности, статичности и динамичности знаний (рис. 2.3 ).
Рис. 2.3. Классификация методов представления знаний
Так, объектные методы представления знаний в большей степени ориентированы на представление структуры фактуального знания, а правила - операционного.
· Логическая модель реализует и объекты, и правила с помощью предикатов первого порядка, является строго формализованной моделью с универсальным дедуктивным и монотонным методом логического вывода “от цели к данным”;
· Продукционная модель позволяет осуществлять эвристические методы вывода на правилах и может обрабатывать неопределенности в виде условных вероятностей или коэффициентов уверенности, а также выполнять монотонный или немонотонный вывод;
· Семантическая сеть отображает разнообразные отношения объектов;
· Фреймовая модель, как частный случай семантической сети, использует для реализации операционного знания присоединенные процедуры;
· Объектно-ориентированная модель, как развитие фреймовой модели, реализуя обмен сообщениями между объектами, в большей степени ориентирована на решение динамических задач и отражение поведенческой модели.
Логическая модель предполагает унифицированное описание объектов и действий в виде предикатов первого порядка. Под предикатом понимается логическая функция на N - аргументах (признаках), которая принимает истинное или ложное значение в зависимости от значений аргументов. Отличие заключается в том, что для объектов соответствующие реляционные отношения задаются явно в виде фактов, а действия описываются как правила, определяющие логическую формулу вывода фактов из других фактов. Пример фрагмента базы знаний подбора претендентов на вакансии в языке логического программирования ПРОЛОГ представлен на рис. 2.4. (Обозначения: ":-" - "если", "," - "и", "." - "конец утверждения").
vibor(Fio,Dolgnost):-
pretendent(Fio, Obrazov, Stag),
vacancy(Dolgnost, Obrazov, Opyt),
Stag>=Opyt.
pretendent("Иванов","среднее" 10).
pretendent("Петров","высшее", 12).
vacancy("менеджер", "высшее", 10).
vacancy("директор", "высшее", 15).
Рис. 2.4. Пример фрагмента базы знаний на языке ПРОЛОГ
Механизм вывода осуществляет дедуктивный перебор фактов, относящихся к правилу по принципу "сверху - вниз", "слева - направо" или обратный вывод методом поиска в глубину. Так, в ответ на запрос vibor(X,Y) получим: X="Петров", Y="менеджер".
Правила могут связываться в цепочки в результате использования одинакового предиката в посылке одного и в заключении другого правила.
Для логической модели характерна строгость формального аппарата получения решения. Однако, полный последовательный перебор всех возможных решений может приводить к комбинаторным взрывам, в результате чего поставленные задачи могут решаться недопустимо большое время. Кроме того, работа с неопределенностями знаний должна быть запрограммирована в виде самостоятельных метаправил, что на практике затрудняет разработку баз знаний с помощью логического формализма.
Продукционные модели используются для решения более сложных задач, которые основаны на применении эвристических методов представления знаний, позволяющих настраивать механизм вывода на особенности проблемной области и учитывать неопределенность знаний.
В продукционной модели основной единицей знаний служит правило в виде: "если <посылка>, то <заключение>", с помощью которого могут быть выражены пространственно-временные, причинно-следственные, функционально-поведенческие (ситуация - действие) отношения объектов. Правилами могут быть описаны и сами объекты: "объект - свойство" или "набор свойств - объект", хотя чаще описания объектов фигурируют только в качестве переменных ("атрибут - значение") внутри правил. В основном продукционная модель предназначена для описания последовательности различных ситуаций или действий и в меньшей степени для структурированного описания объектов.