Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИЯNo.3.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
671 Кб
Скачать
☆

3.1 Понятие о механизме логического вывода во фреймовых системах

Как уже отмечалось, обычно фреймовая модель знаний имеет сложную иерархическую структуру, отражающую реальные объекты (понятия) и отношения (связи) некоторой пред­метной области. Механизм логического вывода в таких ЭС основан на обмене значениями между одноименными слотами различных фреймов и выполнении присоединенных процедур «если—добав­лено», «если—удалено» и «если—нужно». Условная схема таких действий для простейшего варианта представлена на рис.6.

Запрос к ЭС в виде сообщения поступает в старший по иерар­хии фрейм (на рисунке — фрейм А). Если ответа на запрос нет ни в одном из слотов этого фрейма или их совокупности, соответ­ствующие сообщения (запросы) передаются во все фреймы, где имеются слот (слоты), имена которых содержатся в запросе или необходимы для поиска ответа на него (фреймы В и D}. Если в них содержится искомый ответ, значение соответствующего слота пе­редается в старший по иерархии фрейм (из фрейма D во фрейм A). Если для этого нужна дополнительная информация, предвари­тельно передается сообщение (из фрейма В во фрейм С) и полу­чается значение (из фрейма С во фрейм В). Значения, передавае­мые в ответ на сообщения, либо непосредственно содержатся в соответствующих слотах фреймов, либо определяются как резуль­тат выполнения присоединенных процедур.

Рисунок 6 - Механизм вывода во фреймовой модели:

сообщение;------ - значение

В современных фреймовых системах, как правило, для пользо­вателя реализована возможность формулировать запросы на язы­ке, близком к реальному. Интерфейсная программа (лингвисти­ческий процессор) должна «уметь» по результатам анализа зап­роса определять, в какой (какие) слот (слоты) необходимо поме­стить значение (значения) для инициализации автоматической процедуры поиска ответа.

Рассмотрим более конкретный пример, иллюстрирующий ра­боту фреймовой ЭС, используемой в подразделении, организующем научно-исследовательскую работу в некотором учреждении. На рис.7 представлена иерархия справочной информации об отчете по научно-исследовательской работе (о понятии, узле «от­чет по научно-исследовательской работе»).

Рисунок 7 - Иерархия понятия «Отчет по научно-иссдедоватедьской работе»

Рис.8 содержит структуры понятий «Отчет по научно-ис­следовательской работе» и «Этапный отчет по научно-исследова­тельской работе», а рис.9 - структуру понятия «Этапный отчет по научно-исследовательской работе «Залив» со значениями не­которых слотов и присоединенными процедурами.

Рисунок 8 - Структура понятий «Отчет по научно-исследовательской рабо­те» и «Этапный отчет по научно-исследовательской работе»

Рисунок 9 - Структура понятия «Этапный отчег по научно-исследователь­ской работе «Залив»

Фреймовая система функционирует следующим образом. Пусть в ЭС поступил запрос от полномочного пользователя: «Необхо­дима информация о ходе выполнения научно-исследовательской работы «Залив» (напомним, что, как правило, язык исходного запроса близок к естественному). Информация проходит через лин­гвистический процессор, анализируется и в виде значения «За­лив» вносится в слот Шифр узла «Этапный отчет по научно-ис­следовательской работе «Залив». Далее начинают работать присо­единенные процедуры:

- процедура «Если—добавлено», связанная со слотом Шифр, выполняется, поскольку в слот было введено некоторое значение. Эта процедура осуществляет поиск сведений о руководителе на­учно-исследовательской работы «Залив» (в нашем примере - И.И.Иванов) и вписывает это имя в слот Автор узла «Этапный отчет по научно-исследовательской работе «Залив»;

- процедура «Если—добавлено», связанная со слотом Автор, выполняется, так как в слот было вписано значение. Эта процедура начинает составлять сообщение, чтобы отправить его И. И. Ивано­ву, но обнаруживает, что отсутствует значение слота Дата;

- процедура «Если—добавлено», просматривая слот Дата и най­дя его пустым, активизирует процедуру «Если—нужно», связан­ную с этим слотом. Процедура найдет текущую дату, используя календарь ЭС, выберет ближайшую к ней (но большую) дату пред­ставления отчета (в нашем примере — 31.03.2003) и впишет ее в слот Дата;

- процедура «Если—добавлено», связанная со слотом Автор, найдет, что отсутствует еще одно значение, необходимое для фор­мирования выходного сообщения, а именно значение слота Объем. Данный слот (узла «Этапный отчет по научно-исследовательской работе «Залив») не имеет присоединенных процедур, поэтому приходится брать значение по умолчанию из одноименного слота общей концепции «Этапного отчета по научно-исследовательской работе (в нашем примере — 40 с.).

Теперь ЭС может сформировать выходное сообщение типа: «Этапный отчет по научно-исследовательской работе «Залив» дол­жен быть представлен И. И. Ивановым к 31 марта 2003 г. Предпо­лагаемый объем отчета — 40 с.» и/или «И.И, Иванов! Представьте этапный отчет по научно-исследовательской работе «Залив» объе­мом не более 40 с. к 3! марта 2003 г.».

Если в какой-либо момент значение слота Автор (в нашем при­мере — И. И. Иванов) будет удалено, то сработает процедура «Если—удалено» и система автоматически отправит И. И. Ивано­ву уведомление о том, что отчет не требуется.