МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
1. Продукционная модель.
Продукционная модель, или модель, основанная на правилах, позволяет представлять знания в виде предложений типа:
Если (условие), то (действие).
Записываются эти правила обычно в виде:
ЕСЛИ А1,А2,…,АnТО В.
Под условием понимается некоторое предложение – образ, по которому осуществляется поиск в базе знаний, а под действием – действия, выполняемые при успешном исходе поиска (они м.б. промежуточными, выступающими далее как условие, и терминальными или целевыми, завершающими работу системы).
«Условие» называют иногда «Посылкой», а «Действие» - «Выводом» или «Заключением».
Условия А1,А2,…,Аn обычно называют фактами. С помощью фактов описывается текущее состояние предметной области. Факты могут быть истинными, ложными, либо, в общем случае, правдоподобными, когда истинность факта допускается с некоторой степенью уверенности.
Действие В трактуется как добавление нового факта в описание текущего состояния предметной области.
В упрощенном виде описание предметной области с помощью правил (продукций) базируется на следующих основных предположениях об устройстве предметной области. ПО может быть описана в виде множества фактов и множества правил.
Факты – это истинные высказывания (повествовательные предложения) об объектах или явлениях предметной области.
Правила описывают причинно-следственные связи между фактами (в общем случае и между правилами тоже) - как истинность одних фактов влияет на истинность других.
Продукционные модели могут отражать следующие виды отношений:
- ситуация ® действие,
- посылка ® заключение,
- причина ® следствие.
В продукционных системах используются два основных способа реализации механизма вывода:
1. Прямой вывод, или вывод от данных;
2. Обратный вывод, или вывод от цели.
В первом случае идут от известных данных (фактов) и на каждом шаге вывода к этим фактам применяют все возможные правила, которые порождают новые факты, и так до тех пор, пока не будет порожден факт-цель.
Для применения правила используется процесс сопоставления известных фактов с правилами и, если факты согласуются с посылками в правиле, то правило применяется.
Во втором случае вывод идет в обратном направлении – от поставленной цели. Если цель согласуется с заключением правила, то посылку правила принимают за подцель или гипотезу, и этот процесс повторяется до тех пор, пока не будет получено совпадение подцели с известными фактиами.
Пример: Набор правил:
П1: Если “отдых – летом” и ”человек – активный”, то “ехать в горы”.
П2: Если “любит солнце”, то “отдых - летом”.
Предположим, в систему поступили данные: “человек – активный” и “любит солнце”.
Прямой вывод:
1-й проход.
Шаг 1. Пробуем П1, не работает (не хватает данных “отдых – летом”).
Шаг 2. Пробуем П2, работает, в базу поступил факт “отдых летом”.
2-й проход.
Шаг 3. Пробуем П1, работает, активизирует цель “ехать в горы”, которая и выступает как совет, который дает ЭС.
Обратный вывод: - подтвердить выбранную цель при помощи имеющихся правил и данных.
1-й проход.
Шаг 1. Цель – “ехать в горы”. Пробуем П1 – данных “отдых – летом” нет, они становятся новой целью, и ищется правило, где она в правой части.
Шаг 2. Цель “отдых – летом”. Правило П2 подтверждает цель и активизирует ее.
2-й проход.
Шаг 3. Пробуем П1, искомая цель подтверждается.
Продукционная модель чаще всего применяется в промышленных ЭС.
достоинства: наглядность, высокая модульность, легкость внесения дополнений и изменений и простота логического вывода.
Разработано большое количество ЭС, используемых в самых различных областях, в том числе и в нашей прикладной области.
При использовании продукционной модели база знаний состоит из набора правил. Программа, управляющая перебором правил, называется машиной вывода. Вывод может быть прямым (от данных к поиску цели) или обратным (от цели для ее подтверждения – к данным). Данные – это исходные факты, на основании которых запускается машина вывода – программа, перебирающая правила в базе знаний.
2. Семантическая сеть.
Семантическая означает смысловая. Семантика – наука об отношения между символами и объектами, которые они обозначают, т.е. наука, определяющая смысл знаков.
Семантическая сеть - это ориентированный граф, вершины которого – понятия, а дуги – отношения между ними.
“Понятия” это обычно абстрактные или конкретные объекты, а “отношения” – это связи типа: ‘это”, “быть частью”, “принадлежать”, “любит”.
Отношения бывают 3-х типов:
- Класс, к которому принадлежит данное понятие,
- Свойство, выделяющее понятие из всех прочих понятий этого класса,
- примеры данного понятия или элемента класса.
Наиболее часто используют следующие отношения:
- связи типа “часть – целое”,
- функциональные связи (соответствуют глаголам: “производит”, “влияет” и т.д.),
- количественные (>,<,= т.д.)
- пространственные (далеко от, близко от, за, под, над, …),
- временные (раньше, позже, в течение, …),
- атрибутивные (иметь свойство, иметь значение, …),
- логические (и, или, не) др.
Проблема поиска решения в базе знаний типа семантическая сеть сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, соответствующей поставленному вопросу.
Пример.
Имя фрейма | |||
Имя слота | Тип слота | Значение слота | Присоединение |
В таблице дополнительные столбцы предназнвчены для описания типа слоота и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов.
Например, слот “дата рождения” может содержать процедуру для вычисления возраста. Тогда естественно слот “возраст” оказывается ненужным. Данная процедура подключается автоматически и называется демоном. Если процедура активизируется по запросу, она называется слугой.
С использованием присоединенных процедур можно запрограммировать любую процедуру вывода на фреймовой сети. Механизм управления выводом организуется следующим образом. Сначала запускается одна из присоединенных процедур некоторого фрейма, называемого образцом. Образец – это, по сути, фрейм-прототип, т.е. у него заполнены не все слоты, а только те, которые описывают связи данного фрейма с другими. Затем в силу необходимости, посредством пересылки сообщений, последовательно запускаются присоединенные процедуры других фреймов и таким образом осуществляется вывод.
В качестве значения слота может выступать имя другого фрейма; так образуют сети фреймов.
Слоты могут содержать фасеты, которые задают дипазон или перечень его возможных значений (например, слот “возраст” может содержать фасет “максимальный возраст”
Различают фреймы – образцы или прототипы, хранящиеся в базе знаний, и фреймы – экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных.
Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через:
- фреймы – структуры,
- фреймы – сценарии,
- фреймы – ситуации.
Основным преимуществом фреймов как модели представления знаний является способность отражать концептуальную основу организации памяти человека, а также ее гибкость, наглядность и универсальность. Но она обладает высокой степенью формализации и сложностью (низкое быстродействие машины вывода).