3.7 Фреймы и объектно-ориентированная представление знаний

Концепция фреймов была разработана и предложена для представления знаний в 70-х годах 20 века американским ученым, профессором Массачусетского технологического института Марвиным Минским, который считается одним из наиболее авторитетных ученых в области ИИ.
Минский определил фрейм как структуру данных для представления стереотипных ситуаций или типовых объектов [23]. Особенностью этого подхода стало объединение в одной структуре как декларативных знаний об объектах, их свойствах и состояниях, так и процедурные знания о поведении объектов, о методах извлечения информации и достижения целей. Заранее отметим сходство этой концепции и понятия «фрейм» с современным понятиями «объект», «класс» в объектно-ориентированном программировании.
Как пишется в [11], идея фреймов состояла в том, чтобы сконцентрировать все знания о некотором классе объектов или событий в единой структуре данных, а не распределять их между множеством более мелких структур вроде логических формул или правил продукций. Такие знания либо сосредоточены в самой структуре данных, либо доступны из этой структуры (например, хранятся в другой структуре, связанной с фреймом). Так появляются фреймы-описания прототипов. Например, фрейм «птица» содержит в себе знания о птицах вообще, их признаках, свойствах, наличии оперения, крыльев и умении летать. В системе фреймов отражаются отношения между фреймами. В первую очередь - отношение тип-подтип (вид-род), которое позволяет ввести описание, например, конкретного вида птицы «дятел». В этом случае фрейм «Дятел» наследует некоторые данные и процедуры из фрейма «Птица», но будет содержать в себе и новые сведения (например, способность долбить клювом по дереву). На нижнем уровне возможно и переопределение свойств, указанных во фрейме прототипе. Так, свойство «Умеет летать» на уровне прототипа «Птица» будет присутствовать со значением «Да», а во фрейме-подтипе «Страус» это свойство имеет значение «Нет».
Фрейм представляет собой совокупность ячеек с данными – слотов, а также процедур, запускаемых при выполнении определенных условий. Заполнителями слотов (т.е. его значениями) могут быть конкретные данные, ссылки на массивы, диапазоны значений, множества, ссылки на другие фреймы и даже продукционные правила для логического вывода значений.
Предусматриваются процедуры, присоединенные к слотам, которые могут запускать операции по добавлению, вычислению или передаче значений слотов при обращении к слотам. Такие процедуры называются демонами (процедуры-демоны). Другие, служебные процедуры (процедуры-слуги) могут определять поведение всего объекта в некотором состоянии или при некоторых внешних условиях и запускаются по запросу.
Более подробно о фреймах можно прочитать в литературе [11, 1, 18, 23 и др.].
В последнее десятилетие чаще говорят не о фреймах, а об объектно-ориентированном подходе в программировании (ООП). Действительно, читатель знакомый с технологией ООП увидит, что многое в этом подходе заимствуется из концепции фреймов: так, понятие «класса» (ранее – «объекта») в объектно-ориентированном Паскале соответствует фрейму-прототипу, а экземпляр класса – инициализированному фрейму конкретного объекта с означенными слотами. Современному инженеру-программисту хорошо знакомы идеи объединения данных с процедурами для их обработки, наследования и переопределения свойств, которые явно прописаны в концепции фреймов.
Можно сказать, что сама технология объектно-ориентированного подхода стала результатом практического внедрения концепции фреймов в инженерию программирования (не только применительно к созданию интеллектуальных систем). Важным подспорьем в этом стало создание специальных языков для представления знаний с помощью фреймов, к числу первых среди которых относятся язык KRL (Knowledge Representation Language), объектно-ориентированные расширения языка для ИИ LISP – LOOPS, FLAVORS, COOL и др. [11, 18].

Читать дальше:

3.8 Ситуационный подход в представлении знаний и выводе решений. ч.1



Похожие статьи:

3.6 Рейтинговая модель
26 июня 2012,
Идея этой модели представления знаний и вывода решений базируется так же на идее диалога с пользователем, когда пользователю задаются вопросы и, возможно, предлагаются варианты ответов. Т ... Читать полностью

Глава 3. ПРЕДСТАВЛЕНИЕ ЗНАНИЙ И ВЫВОД РЕШЕНИЙ В ИИС. 3.1. Модели представления знаний
11 июля 2012,
В [18] все модели представления знаний делятся на два типа – формальные логические и эвристические модели. Соответственно определяется логический и эвристический метод рассуждений в СОЗ. ... Читать полностью

Литература
05 июня 2012,
В текстах лекций указаны ссылки на конкретные учебники, которые полезно прочитать и/или материал которых использован при написании. Ссылки-обозначения приведены в квадратных скобках. [Венд ... Читать полностью

Тема 4. Информационное моделирование предметной области при построении ЭИС. Понятие и содержание жизненного цикла ЭИС. ч.4
01 июня 2012,
На уровне концептуального моделирования выделяются основные понятия ПО и взаимосвязи между ними. В результате формируется наименее формализованное представление ПО, которое пока не связывается с са ... Читать полностью

Резюме к 3 главе
26 июня 2012,
1. Модели представления знаний делятся на два типа – фор-мальные логические и эвристические модели. Соответственно определяется логический и эвристический метод рассуждений в СОЗ. Логически ... Читать полностью