русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

На тему: «Фреймовые модели»


Дата добавления: 2015-09-15; просмотров: 2054; Нарушение авторских прав


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФИЛИАЛ ФЕДЕРАЛЬНОГО ГОСУДАРСТВЕННОГО БЮДЖЕТНОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ «МЭИ»
в г. Смоленске

 

 

Кафедра вычислительной техники

 

Доклад

По курсу Интеллектуальные системы

на тему: «Фреймовые модели»

 

Студент: Гаранин О.И.
Группа: ВМ-08
Вариант:
Преподаватель: Зернов М.М.

 

Смоленск, 2012

Термин фрейм (frame — каркас, рамка) предложен М. Минским в 70-е годы для обозначения структуры знаний по восприятию про­странственных сцен. Под фреймом понимается абстрактный образ или ситуация.

Формально фрейм – это тип данных вида:

- имя объекта;

- множество слотов, содержащих факты, определяющие декларативную семантику фрейма;

- множество слотов, обеспечивающих связи с другими фреймами (каузальные, семантические и т. д.);

- множество слотов, обеспечивающих преобразования, определяющие процедурную семантику фрейма.

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

В основе данной модели представления знаний лежит свойство концептуальных объектов иметь аналогии, которые позволяют строить иерархические структуры отношений типа “абстрактное-конкретное”.



Каждый фрейм следует рассматривать как сеть из нескольких вершин и отношений. На самом верхнем уровне фрейма представляется фиксированная информация о состоянии моделируемого объекта, которая является истинной вне зависимости от контекста рассмотрения объекта и соответствует имени фрейма.

Следующий уровень – уровень терминальных слотов (терминалов), который отражает относящуюся к моделируемому объекту конкретную информацию.

Фрейм имеет определенную внутреннюю структуру, состоящую из мно­­жества элементов, называемых слотами, которым также присва­и­ва­ют­ся имена. За слотами следуют шпации, в которые помещают данные, представляющие текущие значения слотов. Каждый слот в свою очередь представляется опре­де­ленной струк­турой данных. В значение слота подставляется конкретная инфор­ма­ция, относящаяся к объекту, описываемому этим фреймом.

 

Структуру фрейма можно представить так:

ИМЯ ФРЕЙМА:

(имя 1-го слота: значение 1-го слота),

(имя 2-го слота: значение 2-го слота),

- - - -

(имя N-го слота: значение N-гo слота).

Ту же запись представим в виде таблицы, дополнив двумя столбцами.

 

Таблица 1 – Структура фрейма

Имя слота значение слота способ получения значения присоединённая процедура
       
       

В таблице дополнительные столбцы предназначены для описания способа получения слотом его значения и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов. В качестве значения слота может выступать имя другого фрейма; так образуют сети фреймов.

Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных.

Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире:

· через фреймы-структуры, для обозначения объектов и понятий (заем, залог, вексель);

· через фреймы-роли (менеджер, кассир, клиент);

· через фреймы-сценарии (банкротство, собрание акционеров, празднование именин);

· через фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.

Важнейшим свойством теории фреймов является заимствованное из теории семантических сетей наследование свойств. И во фреймах, и в се­ман­тических сетях наследование происходит по AKO-связям (A-Kind-Of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, от­ку­да неявно наследуются, то есть переносятся, значения аналогичных сло­тов.

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

В общем случае структура данных фрейма может содержать более широкий набор информации, в который входят следующие атрибуты:

Имя фрейма. Оно служит для идентификации фрейма в системе и должно быть уникальным. Фрейм представляет собой совокупность слотов, число которых может быть произвольным. Число слотов в каждом фрейме устанавливается проектировщиком системы, при этом часть слотов определяется самой системой для выполнения специфических функций (системные слоты), примерами которых являются: слот-указатель родителя данного фрейма (IS-А), слот-указатель дочерних фреймов, слот для ввода имени пользователя, слот для ввода даты определения фрейма, слот для ввода даты изменения фрейма и т.д.

Имя слота. Оно должно быть уникальным в пределах фрейма. Обычно имя слота представляет собой идентификатор, который наделен определенной семантикой. В качестве имени слота может выступать произвольный текст. Например, <Имя слота> = Главный герой романа Ф.М. Достоевского «Идиот», <Значение слота>= Князь Мышкин. Имена системных слотов обычно зарезервированы, в различных системах они могут иметь различные значения. Примеры имен системных слотов: IS-A, HASPART, RELATIONS и т.д. Системные слоты служат для редактирования базы знаний и управления выводом во фреймовой системе.

Указатели наследования. Они показывают, какую информацию об атрибутах слотов из фрейма верхнего уровня наследуют слоты с аналогичными именами в данном фрейме. Указатели наследования характерны для фреймовых систем иерархического типа, основанных на отношениях типа «абстрактное — конкретное». В конкретных системах указатели наследования могут быть организованы различными способами и иметь разные обозначения:

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 запускается при попытке удаления значения слота. Возможны также другие типы демонов. Демон является разновидностью связанной процедуры.

Процедуры-слуги. Активизируются только по специальному запросу. Если, например, фрейм, описывающий человека, включает слоты ДАТА РОЖДЕНИЯ и ВОЗРАСТ и в первом из них находится некоторое значение, то во втором слоте может стоять имя процедуры-демона, вычисляющей возраст по дате рождения и текущей дате и активизирующейся при каждом изменении текущей даты.

Присоединенная процедура. В качестве значения слота может использоваться процедура, называемая служебной в языке Лисп или методом в языках объектно-ориентированного программирования. Присоединенная процедура запускается по сообщению, переданному из другого фрейма. Демоны и присоединенные процедуры являются процедурными знаниями, объединенными вместе с декларативными в единую систему. Эти процедурные знания являются средствами управления выводом во фреймовых системах, причем с их помощью можно реализовать любой механизм вывода. Представление таких знаний и заполнение ими интеллектуальных систем — весьма нелегкое дело, которое требует дополнительных затрат труда и времени разработчиков. Поэтому проектирование фреймовых систем выполняется, как правило, специалистами, имеющими высокий уровень квалификации в области искусственного интеллекта.

Способы управления выводом:

–С помощью процедур-демонов, которые автоматически запускаются при обращении к соответствующему слоту;

 

Рис. 1 – Пример управления выводом с помощью демонов

 

–С помощью присоединенных процедур-методов, которые запускаются с помощью механизма приема/передачи сообщений между фреймами;

 

Рис. 2 – Пример управления выводом с присоединенных процедур

 

–С помощью механизма управления наследованием на основе отношения “абстрактное-конкретное”(IS_A).

 

 

Рис. 3 – Пример управления выводом с помощью механизма наследования

 

Часть специалистов по системам искусственного интеллекта счи­та­ют, что нет нео­б­ходи­мости выделять фреймовые модели представ­ле­ния зна­ний, так как в них объединены все основные особенности моделей остальных ти­пов.

Основным преимуществом фреймов как модели пред­став­ления знаний является то, что она отражает концептуальную основу ор­ганизации па­мяти чело­века, а также ее гибкость и наглядность. Наиболее ярко дос­то­ин­ства фреймовых систем представления знаний проявляются в том слу­чае, если родовидовые связи изменяются нечасто и предметная область насчитывает немного исключений. Во фреймовых системах данные о ро­до­­видовых связях хранятся явно, как и знания других типов. Значения сло­тов представляются в системе в единственном экземпляре, поскольку вклю­чаются только в один фрейм, описывающий наиболее понятия из всех тех, которые содержит слот с данным именем. Такое свойство систем фрей­мов обеспечивает экономное размещение базы знаний в памяти ком­пью­тера. Еще одно достоинство фреймов состоит в том, что значение лю­бо­го слота может быть вычислено с помощью соответствующих процедур или найдено эвристическими методами. То есть фреймы позволяют ма­ни­пу­лировать как декларативными, так и процедурными знаниями.

К недостаткам фреймовых систем относят их относительно высокую сложность, что проявляется в снижении скорости работы механизма вы­во­да и увеличения трудоемкости внесения изменений в родовую иерар­хию. Поэтому при разработке фреймовых систем уделяют наглядным способам отображения и эффективным средствам редактирования фреймовых структур.

Специальные языки представления знаний в сетях фреймов FRL (Frame Representation Language), KRL (Knowledge Representation Language), фреймовая оболочка Kappa, PILOT/2 и другие программные средства позволяют эффективно строить промышленные системы.

В последние годы термин «фреймовый» часто заменяют термином «объектно-ориентированный». Этот подход является развитием фреймового представления. Шаблон фрейма можно рассматривать как класс, экземпляр фрейма — как объект. Языки объектно-ориентированного программирования (ООП) предоставляют средства создания классов и объектов, а также средства для описания процедур обработки объектов (методы). Языки ООП, не содержащие средств реализации присоединенных процедур, не позволяют организовать гибкий механизм логического вывода, поэтому разработанные на них программы либо представляют собой объектно-ориентированные базы данных, либо требуют интеграции с другими средствами обработки знаний (например, с языком PROLOG).

Объектно-ориентированная методология представления знаний реа­ли­зована в системах G2, RTWorks.

 

 

Примеры. Фрейм, описывающий человека.

Фрейм: Человек
Имя слота: Значение слота
Класс: Животное
Структурный элемент: Голова, шея, руки, ...
Рост: 30 ? 220 см
Масса: 1 ? 200 кг
Хвост: Нет
Язык: Русский, английский, ...
Связь: Обезьяна

 

 



<== предыдущая лекция | следующая лекция ==>
Диаграммы. | ЦЕНООБРАЗОВАНИЕ НА ПРЕДПРИЯТИИ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.