![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Продукционная модель или модель, основанная на правилах, позволяет представить знания в виде предложений типа" ЕСЛИ (условие), ТО (действие)".
Под «условием» (антецедентом) понимается некоторое предложение - образец, по которому осуществляется поиск в базе знаний, а под «действием» (консеквентом) - действия, выполняемые при успешном исходе поиска. Они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы.
Чаще всего вывод на такой базе знаний бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения к данным). Существуют также системы с двунаправленными выводами. Данные - это исходные факты, хранящиеся в базе фактов, на основании которых запускается машина вывода или интерпретатор правил, выбирающий правила из продукционной базы знаний [1, 3, 6, 9, 11].
Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода.
Основные достоинствами продукционных систем связаны с простотой представления знаний и организации логического вывода.
К недостаткам продукционных систем можно отнести следующее:
· неочевидность взаимных отношений правил;
· сложность оценки целостного образа знаний;
· низкая эффективность обработки знаний;
· возникновение конфликтных ситуаций и необходимость их разрешения;
· при большом количестве правил возможность появления противоречивых правил требует разработки специальных механизмов контроля вводимых и редактируемых правил.
Имеется большое число программных средств, реализующих продукционный подход (язык OPS 5; " оболочки " или " пустые " ЭС: EXSYS Professional, Kappa, ЭКСПЕРТ, ЭКО, инструментальные системы ПИЭС), а также промышленных ЭС на его основе (например, ЭС, созданных средствами G2 и др.).
5. Фреймовая модель представления знаний
Фреймовая модель основана на теории Минского и представляет систематизированную психологическую модель памяти человека и его сознания. Термин фрейм происходит от английского словаframe, что означает «каркас» или «рамка». Это термин был предложен Марвином Минским (одним из пионеров искусственного интеллекта) в 1979 году.
Фрейм – это абстрактный образ для представления некоего восприятия. В психологии известно понятие абстрактного образа. В искусственном интеллекте фреймом называют структуру данных для представления некоторого концептуального объекта. Из понятия фрейма ничего нельзя выбросить. Например, фрейм комнаты. Из описания комнаты нельзя ничего выбросить. Если удалить окна, то образ комнаты превращается в образ чулана [1, 6].
(ИМЯ ФРЕЙМА:
(имя 1-го слота: значение 1-го слота),
(имя 2-го слота: значение 2-го слота),
…
(имя N-го слота: значение N-го слота)).
Структура фрейма может быть представлена в виде таблице 1.
Таблица 1- Структура фрейма
Имя фрейма | |||
Имя слота | Значение слота | Способ получения значения | Присоединенная процедура |
Рост |
В данной таблице дополнительные столбцы предназначены для описания способа получения слотом его значения и возможного присоединения к тому или иному слоту специальных процедур. Например, слот ВОЗРАСТможет содержать имя процедуры, которая вычисляет возраст человека по дате рождения, записанной в другом слоте, и текущей дате.
Процедуры, располагающиеся в слотах, называются связанными или присоединенными процедурами. Вызов связанной процедуры осуществляется при обращении к слоту, в котором она помещена. Заполнителями слота могут быть правила продукций, используемые для определения конкретного значения. В слоте может содержаться не одно, а несколько значений, например массивы, списки, фреймы и т.п. Так, в слоте БРАТ может содержаться список имен, если объект, описываемый данным фреймом, имеет нескольких братьев.
Значение слота может содержать перечень возможных значений, арифметическое выражение, фрагмент текста и т.д.
Совокупность данных предметной области может быть представлена множеством взаимосвязанных фреймов, образующих единую фреймовую систему, в которой объединяются декларативные и процедурные знания. Такая система имеет иерархическую структуру, в которой фреймы соединены друг с другом родовидовыми связями. На верхнем уровне иерархии находится фрейм, содержащий наиболее общую информацию, истинную для всех остальных фреймов. Например, фрейм УССУРИЙСКИЙ ТИГР наследует от фрейма ТИГР значение слота цвет - полосатый.Над фреймами можно совершать такие операции, как объединение и пересечение. При объединении фреймов в результирующем фрейме будут присутствовать все слоты, которые встречались в исходных фреймах. При пересечении фреймов в результирующем фрейме будут присутствовать только те слоты, которые имелись во всех исходных фреймах.
Пример фрейма РУКОВОДИТЕЛЬ
Имя слота | Значение слота | Тип значения слота |
Имя | Иванов И.И. | Строка символов |
Рождение | 01.01.1965 | Дата |
Возраст | Age(дата, рождение) | Процедура |
Специальность | Юрист | Строка символов |
Адрес | Домашний адрес | фрейм |
Фреймовые системы подразделяются на статические и динамические. Динамические допускают изменения фреймов в процессе решения задачи.
Имя фрейма служит для идентификации фрейма в системе и должно быть уникальным. Фрейм представляет собой совокупность слотов, число которых может быть произвольным. Одни слоты являются системными и служат для выполнения специфических функций, например: слот-указатель родителя данного фрейма (IS-A), слот-указатель дочерних фреймов, слот для ввода имени пользователя, слот для ввода даты определения фрейма, слот для ввода даты изменения фрейма и т.п.
Имя слота. Оно должно быть уникальным в пределах фрейма. В качестве имени слота может выступать произвольный текст. Например, ИМЯ СЛОТА = Первый космонавт, а ЗНАЧЕНИЕ СЛОТА = Гагарин.
Имена системных слотов обычно зарезервированы, например IS-A, HASSPART и т.п. Системные слоты служат для редактирования базы знаний и управления выводом во фреймовой системе.
Указатели наследования. Они показывают, какую информацию об атрибутах слотов фрейма верхнего уровня наследуют слоты с аналогичными именами в данном фрейме. В конкретных системах указатели наследования могут быть организованы различными способами:
U(Unique) – значение слота не наследуется;
S(Same) – значение слота наследуется;
R(Range) – значение слота должны находится в пределах интервала значений, указанных в одноименном слоте родительского фрейма;
O(Override) – при отсутствии значений в текущем слоте оно наследуется из фрейма верхнего уровня. Однако в случае определения значения текущего слота оно может быть уникальным. Этот тип указателя выполняет одновременно функции указателя U и S.
Указатель типа данных. Он показывает тип значения слота:
Frame – указатель на фрейм;
Real – вещественное число;
Integer – целое число;
Boolean – логический тип;
Text – фрагмент текста;
List – список;
Table – таблица;
Expression – выражение;
Lisp – связанная процедура и т.п.
Значение слота. Оно должно соответствовать типу данных и условию наследования.
Демоны. Демоном называется процедура, автоматически запускаемая при выполнении некоторого условия. Демоны автоматически запускаются при обращении к соответствующему слоту. Типы демонов связаны с условием запуска процедуры.
Демон IF-NEEDED запускается, если в момент обращения к слоту его значение не было установлено.
Демон IF-ADDED запускается при попытке изменения значения слота.
Демон IF-REMOVED запускается при попытке удаления значения слота.
Присоединенная процедура. В качестве значения слота может использоваться процедура, называемая служебной в языке ЛИСП или методом в языках объектно-ориентированного программирования. Она запускается по сообщению, переданному из другого фрейма. Демоны и присоединенные процедуры являются процедурными знаниями, объединенными вместе с декларативными знаниями в единую систему.
Во фреймах наследование происходит по связям АКО(IS-A). Слот АКО(IS-A) указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются значения аналогичных слотов. Например, в сети фреймов рис. 1 понятие «ученик» наследует свойства «ребенок» и «человек», которые находятся на более высоком уровне иерархии.
Рис. 1. Пример сети фреймов
Существует несколько способов получения слотом значений во фрейме-экземпляре:
· по умолчанию от фрейма – образца;
· через наследование свойств от фрейма, указанного в слоте АКО;
· по формуле, указанной в слоте;
· через присоединенную процедуру;
· через диалог с пользователем;
· из базы данных.
На вопрос «любит ли ученик сладкое» следует ответ «да», так как этим свойством обладают все дети, что указано во фрейме «ребенок». Наследование свойств может быть частичным, так как возраст для учеников не наследуется из фрейма «ребенок», поскольку указан явно в своем собственном фрейме.
В качестве значения слота может быть имя другого фрейма, так образуется сеть фреймов.
Различают фреймы-образцы (фреймы-прототипы), хранящиеся в базе знаний и фреймы-экземпляры (фреймы-примеры), которые создаются для отображения реальных ситуаций на основе поступающих данных.
Можно выделить различные типы моделей фреймов:
· фреймы-структуры, применяемые для отображения объектов и понятий (заем, вексель);
· фреймы-роли (менеджер, кассир, клиент);
· фреймы-сценарии (банкротство, собрание акционеров и т.п.);
· фреймы – ситуации (тревога, авария, рабочий режим устройства и т.п.).
Основное преимущество фреймов состоит в том, что такая модель отражает концептуальную основу организации памяти человека и является наглядной и гибкой. Разработаны специальные языки представления знаний в сетях фреймов. Это FRL (Frame representation Language), KRL (Knowledge Representation Language, оболочка Карра и другие [10]. Известны фрейм - ориентированные экспертные системы ANALYST, МОДИС, TRISTAN [10, 12].
Дата публикования: 2014-10-18; Прочитано: 1864 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!