
- •Лекция №3 Модели представления знаний
- •Классификация моделей представления знаний
- •Продукционная модель
- •3.1 Понятие о механизме логического вывода во фреймовых системах
- •4. Модель семантической сети
- •4.1 Понятие о механизме логического вывода в сетевых системах
- •5. Модели на основе теоретического подхода
Лекция №3 Модели представления знаний
Вопросы:
1. Классификация моделей представления знаний. Модели на основе эвристического подхода.
2. Продукционная модель. Механизм логического вывода
3. Фреймовая модель. Механизм логического вывода
4. Модель семантической сети. Механизм логического вывода
5. Модели на основе теоретического подхода
Классификация моделей представления знаний
Одним из основных элементов в архитектуре экспертной системы является база знаний (БЗ). Согласно одному из принципов, высказанных Е. Фейгенбаумом, мощность экспертной системы зависит, в первую очередь, от мощности базы знаний и возможности ее пополнения. Что является содержимым БЗ? Это совокупность знаний той предметной области, для которой создана ЭС. Причем эти знания представлены в интерпретации эксперта (или группы экспертов).
Обработка данных на ЭВМ, как правило, связана с использованием моделей систем, процессов и т.д. То, что хранится в БЗ, также не является знаниями в чистом виде. Речь идет, как правило, о моделях знаний.
Для того чтобы манипулировать всевозможными знаниями из реального мира с помощью компьютера, необходимо осуществить их моделирование.
При проектировании модели представления знаний следует учесть два требования: однородность представления; простоту понимания.
Выполнение этих требований позволяет упростить механизм логического вывода и процессы приобретения знаний и управления ими, однако, как правило, создателям интеллектуальной системы приходится идти на некоторый компромисс в стремлении обеспечить одинаковое понимание знаний и экспертами, и инженерами знаний, и пользователями. Классификация методов моделирования знаний с точки зрения подхода к их представлению в ЭВМ показана на рис. 1.
Рисунок 1 – Классификации моделей представления знаний
Дадим общую характеристику основных методов представлений знаний.
Модели на основе эвристического подхода. Представление знаний тройкой «объект – атрибут – значение». Один из первых методов моделирования знаний. Как правило, используется для проставления фактических знаний в простейших системах.
Пример
-
Объект
Атрибут
Значение
Студент
Успеваемость
Отличник
Дом
Цвет
Белый
Пациент
Температура
Нормальная
Очевидно, что для моделирования знаний даже об одном объекте (например, о «студенте» или «доме») из предметной области необходимо хранить значительное число «троек».
Продукционная модель
Модель правил, модель продукций – от англ. production – изготовление, выработка. В настоящее время наиболее проработанная и распространенная модель представления знаний, в частности в ЭС.
Модель предусматривает разработку системы продукционных правил (правил продукций), имеющих вид:
ЕСЛИ А1 И А2 И … И Ап ТО В1 ИЛИ В2 ИЛИ … ИЛИ Вт,
где Аi и Вj – некоторые высказывания, к которым применены логические операции И и ИЛИ. Если высказывания в левой части правила (ее часто называют антецедент – условие, причина) истинно, истинно и высказывание в правой части (консеквент – следствие).
Полнота базы знаний (базы правил) определяет возможности системы по удовлетворению потребностей пользователей. Логический вывод в продукционных системах основан на построении прямой и обратной цепочек заключений, образуемых в результате последовательного просмотра левых и правых частей соответствующих правил, вплоть до получения окончательного заключения.
2.1. Механизм логического вывода в продукционных системах
Механизм логического вывода — неотъемлемая часть системы, основанной на знаниях (ЭС), реализующая функции вывода (формирования) умозаключений (новых суждений) на основе информации из базы знаний и рабочей памяти.
Как следует из определения, для работы механизма логического вывода необходима как «долговременная» информация, содержащаяся к базе знаний в выбранном при разработке ЭС виде, так и «текущая» оперативная информация, поступающая в рабочую память после обработки в лингвистическом процессоре запроса пользователя. Таким образом, база знаний отражает основные (долговременные) закономерности, присущие предметной области. Запрос пользователя, как правило, связан с появлением каких-либо новых фактов и/или с возникновением потребности в их толковании.
Перед рассмотрением конкретных механизмов логического вывода подчеркнем несколько важных обстоятельств:
- единого механизма логического вывода для произвольных систем, основанных на знаниях (ЭС), не существует;
- механизм логического вывода полностью определяется моделью представления знаний, принятой в данной системе;
- существующие механизмы логического вывода не являются строго фиксированными («узаконенными») для каждого типа систем, основанных на знаниях (ЭС).
Из всех известных механизмов вывода механизм логического вывода является наиболее формализованным (предопределенным).
Различают два типа логического вывода:
- прямой вывод (прямая цепочка рассуждений);
- обратный вывод (обратная цепочка рассуждений).
Сущность прямого логического вывода в продукционных ЭС состоит в построении цепочки выводов (продукций или правил), связывающих начальные факты с результатом вывода.
В терминах «факты-правила» формирование цепочки вывода заключается в многократном повторении элементарных шагов «сопоставить – выполнить».
Р
ассмотрим
следующий пример [2]. В базе знаний
некоторой ЭС содержатся три правила, а
в рабочей памяти до начала вывода —
пять фактов: B,C,H,G,E
(рис.2).
Пусть на вход системы (в рабочей памяти)
поступил факт А.
Механизм
вывода «просматривает» левые части
правил с целью нахождения таких из них,
которые позволяют извлечь новые факты
(процедура «сопоставить»). В нашем
примере на основе третьего правила
выводится факт D.
Происходит элементарный шаг «выполнить»
- данный факт заносится в рабочую память.
Процедура «сопоставить” по фактам С
и D
выявляет факт F.
После
шага «выполнить» этот факт попадает в
рабочую область. По фактам F
и
В выводится
факт
Z,
и
дальнейший «просмотр» правил БД новой
информации не дает.
Рисунок 2 - Прямая цепочка рассуждений
Таким образом, прямая цепочка рассуждений состоит из следующих фактов: А —D— F—Z. Иными словами, из факта А на основе имеющихся в базе знаний правил «получен» факт Z.
Отметим, что, несмотря на очевидную простоту прямого вывода для пользователя ЭС, от которого требуется лишь сообщить системе о вновь поступивших или интересующих его фактах, для базы знаний со значительным числом правил могут возникнуть две проблемы: когда завершить вывод; как обеспечить непротиворечивость правил.
Последнее обстоятельство требует формирования и хранения в ЭС так называемых метаправил - правил «работы с правилами». Кроме того, прямая цепочка рассуждений иногда требует значительного времени.
Механизм обратного вывода имеет совершенно иной алгоритм. Его идея заключается в проверке справедливости некоторой гипотезы (некоторого суждения, факта), которая выдвигается пользователем и проверяется ЭС. При этом осуществляется проверка истинности не левых, а правых частей продукций, а вопрос формулируется так: «Что нужно, чтобы правая часть данного правила была справедлива и есть ли необходимые суждения в рабочей памяти?». На рис. 3 показана работа механизма обратного вывода для того же примера, что для прямой цепочки рассуждений (в предположении, что факт А занесен в рабочую память).
При реализации данного механизма пополнения рабочей памяти новыми (выведенными) фактами не производится, а лишь проверяется наличие необходимых суждений на очередном шаге алгоритма. Поскольку непосредственно факта Z в рабочей памяти нет, производится анализ правых частей правил до поиска такого правила, которое обосновывает справедливость суждения Z. Чтобы факт Z был истинным, необходимы факты F и В. Факт В есть, факта Z нет. Чтобы факт B был истинным, необходимы факты С и D. Факт С есть, факта D нет. Наконец, чтобы был справедлив факт D, нужно наличие факта A, и так как он в рабочей памяти имеется, обратный вывод закончен. Окончательный результат - на основании имеющихся в ЭС правил и фактов гипотеза о справедливости факта Z подтверждается.
Рисунок 3 - Обратная пеночка рассуждений
Очевидно, что обратная цепочка рассуждений предъявляет к квалификации пользователя ЭС определенные требования - он должен уметь формулировать «правдоподобные» гипотезы. В противном случае легко представить весьма непродуктивную работу ЭС, проверяющей и отвергающей одну гипотезу за другой (и качестве примера аналогичной ситуации представим себе врача, ставящего один диагноз за другим и прописывающею пациенту лекарства от самых разных болезней). Платой за выполнение данного требования служит, как правило, сокращение времени реакции ЭС па запрос пользователя.
Для обеспечения умеренности пользователя в получаемых ЭС суждениях после обратного вывода часто прибегают к прямой цепочки рассуждений. Совпадение результатов работы обоих механизмов служит гарантией получения истинного вывода.
Пример 1.
Пусть в некоторой области памяти (базе знаний) хранятся следующие правила (суждения):
• правило 1: ЕСЛИ в стране происходит падение курса национальной валюты, ТО материальное положение населения ухудшается;
• правило 2: ЕСЛИ объемы производства в стране падают, ТО курс национальной валюты снижается;
• правило 3: ЕСЛИ материальное положение населения ухудшается, ТО уровень смертности в стране возрастает.
Если на вход системы поступит новый факт (факт 1) «В стране высокий уровень падения объемов производства», то из правил можно построить цепочку рассуждений и сформулировать два заключения:
факт 1 – правило 2 – правило 1 – заключение 1 – правило 3 – заключение 2,
где заключение 1 (промежуточный вывод) – «Материальное положение населения ухудшается»;
заключение 2 (окончательный вывод) – «В стране возрастает уровень смертности».
Пример 2.
Предположим, что имеется фрагмент базы знаний из двух правил:
П1: Если "отдых - летом" и "человек - активный", то "ехать в горы".
П2: Если "любит солнце", то "отдых летом".
Предположим, в систему поступили данные -"человек активный" и "любит солнце»
Прямой вывод - исходя из данных, получить ответ.
1-й проход.
Шаг I. Пробуем П1, не работает (не хватает данных "отдых - летом").
Шаг 2. Пробуем П2, работает, в базу поступает факт "отдых - летом".
2-й проход.
Шаг 3. Пробуем П1, работает, активируется цель "ехать в горы", которая и выступает как совет, который дает ЭС.
Обратный вывод - подтвердить выбранную цель при помощи имеющихся правил и данных.
1-й проход.
Шаг 1. Цель - "ехать в горы": пробуем П1 -данных "отдых - летом" нет, они становятся новой цепью, и ищется правило, где она в правой части.
Шаг 2. Цель "отдых - летом"; правило П2 подтверждает цель и активирует ее.
2-й проход.
Шаг 3. Пробуем П1, подтверждается искомая цель.
Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода,
Имеется большое число программных средств, реализующих продукционный подход: "оболочки" или "пустые" ЭС-ЕХSУS , ЭКСПЕРТ; инструментальные системы и промышленные ЭС и др.
Отметим, что в современных ЭС в базе знаний могут храниться тысячи правил, а коммерческая стоимость одного невыводимого (нового, дополнительного) правила весьма высока.
Главными достоинствами продукционных систем являются простота пополнения и изъятия правил; простота реализации механизма логического вывода и наглядность объяснений результатов работы системы.
Основной недостаток подобных систем - трудность обеспечения непротиворечивости правил при их большом числе, что требует создания специальных правил (так называемых метаправил) разрешения возникающих в холе логического вывода противоречий.
Кроме того, время формирования итогового заключения может быть достаточно большим.
Экспертные системы, основанные на правилах
В системе, основанной на правилах, пары "условие-действие" представляются правилами "если..., то...", в которых посылка (часть если) соответствует условию, а заключение (часть то) - действию. Если условие удовлетворяется, экспертная система осуществляет действие, означающее истинность заключения. Данные частных случаев можно хранить в рабочей памяти. Механизм вывода осуществляет цикл продукционной системы "распознавание-действие". При этом управление может осуществляться либо на основе данных, либо на основе цели.
Многие предметные области больше соответствуют прямому поиску. Например, в проблеме интерпретации большая часть информации представляет собой исходные данные, при этом часто трудно сформулировать гипотезы или цель. Это приводит к прямому процессу рассуждения, при котором факты помещаются в рабочую память, и система ищет для них интерпретацию.
В экспертной системе на основе цели в рабочую память помещается целевое выражение. Система сопоставляет заключения правил с целевым выражением и помещает их предпосылки в рабочую память. Это соответствует декомпозиции проблемы на более простые подцели. На следующей итерации работы продукционной системы процесс продолжается, эти предпосылки становятся новыми подцелями, которые сопоставляются с заключениями правил. Система работает до тех пор, пока все подцели в рабочей памяти не станут истинными, подтверждая гипотезу. Таким образом, обратный поиск в экспертной системе приближенно соответствует процессу проверки гипотез при решении проблем человеком.
В экспертной системе, чтобы достичь подцели, следует запросить информацию у пользователя. В некоторых экспертных системах разработчики определяют, какие подцели могут достигаться путем запроса к пользователю. Другие системы обращаются к пользователю, если не могут вывести истинность подцели на основе правил из базы знаний.
В качестве примера решения задач на основе цели с запросами к пользователю рассмотрим небольшую экспертную систему диагностики автомобиля. Это не полная система диагностики, так как она содержит всего четыре очень простых правила. Она приводится как пример, демонстрирующий образование цепочек правил, интеграцию новых данных и использование возможностей объяснения.
Правило 1: если
топливо поступает в двигатель и
двигатель вращается,
то проблема в свечах зажигания.
Правило 2: если
двигатель не вращается и
фары не горят,
то проблема в аккумуляторе или проводке.
Правило 3: если
двигатель не вращается и
фары горят,
то проблема в стартере.
Правило 4: если
в баке есть топливо и
топливо поступает в карбюратор,
то топливо поступает в двигатель.
Для работы с этой базой знаний цель верхнего уровня проблема в X помещается в рабочую память, как показано на рис. а.
Рис. А Начало работы продукционной системы диагностики неисправностей автомобиля
Здесь X— переменная, которая может сопоставляться с любой фразой, например, проблема в аккумуляторе или проводке. В процессе решения задачи она будет связана с некоторым значением. С выражением в рабочей памяти сопоставляются три правила: правило 1, правило 2 и правило 3. Если мы разрешаем конфликты, предпочитая правила с наименьшим номером, будет активизироваться правило 1. При этом X связывается со значением свечи зажигания, и предпосылки правила 1 помещаются в рабочую память (рис. б). Таким образом, система выбирает для исследования гипотезу о неисправности свечей зажигания. Это можно рассматривать как выбор системой ветви ИЛИ на графе И/ИЛИ.
Отметим, что для истинности заключения правила 1 должны быть удовлетворены две предпосылки. Они являются ветвями И графа поиска, представляющего декомпозицию задачи (действительно ли проблема в свечах зажигания) на две подзадачи (топливо поступает в двигатель и двигатель вращается). Затем можно активизировать правило 4, заключение которого сопоставляется с целевым утверждением топливо поступает в двигатель, и его предпосылки помещаются в рабочую память (рис. в).
Рис. Б - Продукционная система после активизации правила 1
Рис. В - Система после активизации правила 4.
Обратите внимание на использование стека в процессе приведения цели
Теперь в рабочей памяти существуют три элемента, которые не соответствуют ни одному из заключений в наборе правил. В подобной ситуации экспертная система будет запрашивать пользователя. Если пользователь подтвердит истинность всех трех подцелей, система успешно определит, что автомобиль не заводится из-за неисправности свечей зажигания. При поиске этого решения система исследовала крайнюю слева ветвь графа И/ИЛИ, показанного на рис. Г.
Конечно, это очень простой пример. И не только потому, что база знаний об автомобиле ограничена, а также потому, что в этом примере не учитывается ряд важных аспектов реализации. Правила описаны на русском, а не на формальном языке.
При обнаружил решения реальная экспертная система сообщит пользователю свой диагноз (наша модель просто останавливается). Необходимо также поддерживать достаточно длинную историю рассуждений, чтобы в случае необходимости возвратиться назад. Если вывод о неисправности свечей зажигания окажется неудачным, нужно иметь возможность возвратиться на второй уровень и проверить правило 2. Заметим, что информация по упорядочению подцелей в
Рис.-Г Граф И/ИЛИ при сравнении заключения правила 4 с первой предпосылкой правила 1 в примере диагностики автомобиля
рабочей памяти на рис. и на графе, представленном на рис. ,явно не выражена.
Однако, несмотря на простоту, этот пример подчеркивает важность поиска на основе продукционной системы и его представления графом И/ИЛИ в системах, основанных на правилах.
Ранее мы подчеркивали, что экспертная система должна быть открытой для инспектирования, легко модифицируемой и эвристической по природе. Архитектура продукционной системы является важным фактором для каждого из этих требований. Легкость модификации, например, определяется синтаксической независимостью продукционных правил: каждое правило является "глыбой" знаний, которая может модифицироваться независимо. Однако существуют семантические ограничения, поскольку индивидуальные правила связаны по смыслу. Значит, они должны быть согласованы в любом процессе редактирования или модификации. Ниже мы обсудим генерацию объяснений и управление выводом.
Объяснения и прозрачность при рассуждениях на основе цели
Продукционная система осуществляет поиск на графе. Программы подсистемы объяснений отслеживают процесс поиска на графе и используют эту информацию, чтобы отвечать на вопросы пользователя. С помощью продукционных правил каждый шаг процесса рассуждений документируется автоматически.
Обычно экспертные системы, основанные на правилах, отвечают на два вопроса — "почему?" и "как?". Вопрос "почему?" возникает, когда программа запрашивает информацию у пользователя, и его ответ означает "почему вы запрашиваете эту информацию?". Ответом является текущее правило, которое система пытается активизировать. Ответом на вопрос "как вы получили этот результат?" является последовательность правил, использованных для достижения цели.
Предположим, автомобильная экспертная система имеет средства объяснения, и в процессе работы достигла стадии, представленной конфигурацией рабочей памяти на рис.В. Приведенный ниже диалог начинается с вопроса компьютера к пользователю о целях, представленных в рабочей памяти. Ответы пользователя выделены жирным шрифтом.
в баке есть топливо?
да
топливо поступает в карбюратор?
да
двигатель вращается?
почему
Здесь пользователь задает вопрос: "Почему вы хотите знать, вращается ли двигатель?". Система отвечает с помощью символьного представления правила, к которому относится вопрос.
Было установлено, что:
топливо поступает в двигатель, поэтому если
двигатель вращается,
то проблема в свечах зажигания.
Поскольку пользователь на первые два вопроса ответил "да", это дало возможность активизировать правило 1 и проверить его первую предпосылку. Отметим, что объяснением поведения системы является только вывод правила, которое находится в рассмотрении на данный момент. Однако это обеспечивает адекватное объяснение причин, почему программа хочет знать, вращается ли двигатель. В ответ на вопрос "почему" система отмечает, что, по ее данным, топливо поступает в двигатель. Предположим, пользователь далее спрашивает:
как топливо поступает в двигатель?
Ответом является последовательность рассуждений, приведшая к этому заключению. Она восстанавливается обратным проходом от цели вдоль соответствующих правил до информации, введенной пользователем.
Из правила 4 следует:
если
в баке есть топливо и
топливо поступает в карбюратор,
то
топливо поступает в двигатель.
в баке есть топливо — указано пользователем
топливо поступает в карбюратор — указано пользователем
Таким образом, архитектура продукционной системы обеспечивает основу для этих объяснений. В каждом цикле управления выбирается и активизируется новое правило. После каждого цикла программа может быть остановлена и проинспектирована. Поскольку каждое правило представляет "глыбу" знаний по решению проблемы, текущее правило обеспечивает контекст для объяснения. Этим продукционный подход отличается от более традиционных архитектур: если программу на С или С++ остановить во время исполнения, то вряд ли текущее выражение будет иметь много смысла.
Итак, система, основанная на знаниях, отвечает на вопросы "почему?", отображая текущее правило, которое она пытается активизировать. В ответ на вопросы "как?" она предоставляет последовательность рассуждений, которая привела к цели. Хотя эти механизмы являются концептуально простыми, они обладают хорошими возможностями объяснений, если база знаний организована логически грамотно. Если объяснения должны быть логичными, важно не только, чтобы база знаний выдавала корректный ответ, но и чтобы каждое правило соответствовало одному шагу процесса решения проблемы. Если в одном правиле базы знаний заключено несколько шагов или правила сформулированы произвольным образом, получить правильные ответы на вопросы "как?" и "почему?" будет сложнее. Это не только подрывает доверие пользователя к системе, но и делает программу более трудной для понимания и модификации разработчиками.
Фреймовая модель.
Сравнительно новая модель представления знаний. Само понятие «фрейм» (англ. frame – рама, рамка, скелет, сгусток,, сруб и т.д.) было введено в 1975 г. М.Минским (США).
Фрейм - это минимальная структура информации, необходимая для представлений знаний о стереотипных классах объектов, явлений, ситуаций, процессов и др. С помощью фреймов можно моделировать знания о самых разнообразных объектах интересующей исследователя предметной области - важно лишь, чтобы эти объекты составляли класс концептуальных (повторяющихся, стереотипных) объектов, процессов и т.п. Примерами стереотипных жизненных ситуаций могут служить собрание, совещание, сдача экзамена или зачета, защита курсовой работы и др. Примеры стереотипных бытовых ситуаций: отъезд в отпуск, встреча гостей, выбор телевизора, ремонт и др. Примеры стереотипных понятий: алгоритм, действие, методика и др. На рис.3 представлен фрейм технологической операции «соединять» [2]. Данный фрейм описывает ситуацию «Субъект X соединяет объект Y с объектом Z способом W».
Р
исунок
3 – Фрейм ситуации
«соединять»:
дуги
— отношении: сплошная линия –«объект»,
пунктирная –«субъект», пунктирная
с точками «посредством чего», вершины
X,
У, Z,
W'
- слоты
- составляющие фрейма;
Dx;
Dy;
Dz;
Dw
- области
возможных значения
соответствующих слотов
Понятие слота. Например, слово "комната" вызывает у слушавших образ комнаты: жилое помещение с четырьмя стенами, полом, потолком, окнами дверью, площадью 6-20 м2 ". Из этого описания ничего нельзя убрать (например убрать окна, мы получим уже чулан, а не комнату), но в нем есть "дырки", или "слоты" — это не заполненные значения некоторых атрибутов — количество окон, цвет стен, высота потолков, покрытие пода и др.
Наполняя слоты конкретным содержанием, можно получить фрейм конкретной ситуации, например: «Радиомонтажник соединяет микросхему с конденсатором способом пайки». Заполнение слотов шанциями называют активизацией фрейма.
Слоты в фрейме играют ту же роль, что и поля в записи (БД). При этом их наполнителями являются значения, хранящиеся в полях.
Значением слота может быть практически что угодно (числа или математические соотношения, тексты на естественном языке или программы, правила вывода или ссылки на другие слоты данного фрейма или других фреймов). В качестве значения слота может выступать набор слотов более низкого уровня, что позволяет во фреймовых представлениях реализовать "принцип матрешки".
Структуру фрейма можно представить так;
ИМЯ ФРЕЙМА:
(имя 1-го слота: значение 1-го слота),
(имя 2-го слота: значение 2-го слота),
………………………………………..
(имя N-го слота: значение К-го слота).
Ту же запись представим в виде таблицы, дополнив двумя столбцами.
В
таблице дополнительные столбцы
предназначены для описания типа слота
и возможного
присоединения к тому или иному слоту
специальных процедур,
что допускается в
теории фреймов.
С помощью фреймов можно моделировать как процедурные, так и декларативные знания. На рис.4 приведен пример фрейма «Технологическая операция», иллюстрирующий представление декларативных знаний для решения задачи проектирования технологического процесса.
Рисунок 4 – Фрейм понятие «технологическая операция»
По содержательному смыслу фрейма выделяют:
• фреймы-понятия;
• фреймы-меню;
• фреймы с иерархически вложенной структурой.
Фрейм-понятие — это фрейм типа И. Например, фрейм «операция» содержит объединенные связкой И имена слотов «что делать», «что это дает», «как делать», «кто делает», «где делать» т.д., а фрейм «предмет» — слоты с именами «назначение», «форма», «вес», «цвет» и т.д.
Фрейм-меню — это фрейм типа ИЛИ. Он служит для организации процедурных знаний с помощью оператора «выбрать». Например, фрейм «что делать» может состоять из объединенных связкой ИЛИ слотов «решить уравнение», «подставить данные», «уточнить задачу» и т.д., причем каждый из этих слогов может иметь несколько значений.
Фрейм с иерархически вложенной структурой предполагает, что в нем в качестве значений слотов можно использовать имена других фреймов, слотов и т.д., т.е. использовать иерархическую структуру, в которой комбинируются другие виды фреймов (в итоге получают так называемые фреймы-сценарии).
Значения слотов могут содержать ссылки на так называемые присоединенные процедуры. Различают два вида присоединенных процедур: процедуры-демоны; процедуры-слуги.
Процедуры-демоны присоединяются к слоту и активизируются при изменении информации в этом слоте (выполняют вспомогательные операции — например, автоматически корректируют информацию во всех других структурах, где используется значение данного слота).
1. Процедура «Если - добавлено» (IF - АDDED) выполняется, когда новая информация помещается в слот.
2. Процедура «Если - удалено» (IF- REMOVED) выполняется, когда информация удаляется из слота.
3. Процедура «Если - нужно» (IF – NEEDED) выполняется, когда запрашивается информация из пустого слота.
Процедуры-слуги активизируются при выполнении: некоторых условий относительно содержимого слотов {часто по запросу). Данные процедуры определяются пользователем при создании фрейма. Например, во фрейме «Учебная аудитория» можно предусмотреть слоты «Длина» и «Ширина», а по их значениям вычислять значение слога «площадь».
Важнейшим свойством теории фреймов является заимствование из теории семантических сетей — так называемое наследование свойств. И во фреймах, и в семантических сетях наследование происходит по АКО-связям (А-Кта-О/ = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, то есть переносятся, значения аналогичных слотов.
Пример 3. Например, в сети фреймов на рис.5 понятие «ученик» наследует свойства фреймов «ребенок» и «человек», которые находятся на более высоком уровне иерархии.
Так, на вопрос «любят ли ученики сладкое» следует ответ «да», так как этим свойством обладают все дети, что указано во фрейме «ребенок». Наследование свойств может быть частичным, так как возраст для учеников не наследуется из фрейма «ребенок», поскольку указан явно в своем собственном фрейме.
Фреймы позволяют использовать многие свойства знаний и достаточно широко употребляются. Их достоинства и недостатки схожи с достоинствами и недостатками семантических сетей, которые будут рассмотрены ниже.
Рисунок 5 – Сеть фреймов