Теория фреймов

Теория фреймов и разработка экспертной системы.

Теория фреймов

Теория фреймов - это парадигма для представления знаний с целью использования этих знаний компьютером. Впервые была представлена Минским, как попытка построить фреймовую сеть, или парадигму с целью достижения большего эффекта понимания. С одной стороны Минский пытался сконструировать базу данных, содержащую энциклопедические знания, но с другой стороны, он хотел создать наиболее описывающую базу, содержащую информацию в структурированной и упорядоченной форме. Эта структура позволила бы компьютеру вводить информацию в более гибкой форме, имея доступ к тому разделу, который требуется в данный момент. Минский разработал такую схему, в которой информация содержится в специальных ячейках, называемых фреймами, объединенными в сеть, называемую системой фреймов. Новый фрейм активизируется с наступлением новой ситуации. Отличительной его чертой является то, что он одновременно содержит большой объем знаний и в то же время является достаточно гибким для того, чтобы быть использованным как отдельный элемент БД.

Итак, как было сказано выше фреймы – это фрагменты знания, предназначенные для представления стандартных ситуаций. Термин “фрейм” (Frame – рамка) был предложен Минским. Фреймы имеют вид структурированных компонентов ситуаций, называемых слотами. Слот может указывать на другой фрейм, устанавливая, таким образом, связь между двумя фреймами. Могут устанавливаться общие связи типа связи по общению. С каждым фреймом ассоциируется разнообразная информация ( в том числе и процедуры), например ожидаемые процедуры ситуации, способы получения информации о слотах, значение принимаемые по умолчанию, правила вывода.

Формальная структура фрейма имеет вид:

f[<N1, V1>, <N2, V2>, …, <Nk,Vk>],

где f – имя фрейма; пара <Ni, Vi> - i-ый слот, Ni – имя слота и Vi – его значение.

Значение слота может быть представлено последовательностью

<K1><Li>;...; <Kn><Ln>; <R1>; …; <Rm>,

где Ki – имена атрибутов, характерных для данного слота; Li – значение этих атрибутов, характерных для данного слота; Rj – различные ссылки на другие слоты.

Каждый фрейм, как структура хранит знания о предметной области (фрейм–прототип), а при заполнении слотов знаниями превращается в конкретный фрейм события или явления.

Фреймы можно разделить на две группы: фреймы-описания; ролевые фреймы.

Рассмотрим пример.

Фрейм описание: [<программное обеспечение>, <программа 1С бухгалтерия, версия 7.5>, <программа 1С торговля, версия 7.5>, <правовая программа “Консультант +” проф.>].

Ролевой фрейм: [<заявка на продажу>, <что, установка и покупка программы 1С торговля, версия 7.5>, <откуда, фирма ВМИ>, <куда, фирма “Лукойл”>, <кто, курьер Иванова>, <когда, 27 октября 1998г.>].

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

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

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

Для многих предметных областей фреймовые модели являются основным способом формализации знаний.

2. Пример разработки экспертной системы.

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

ЕСЛИ класс – бухгалтерские программы

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

ТО лучше всего для вас подходит бухгалтерская программа 1С версия 6.0.

ЕСЛИ класс – бухгалтерские программы

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

И программа разработана под оболочку DOS.

ТО лучше всего для вас подходит система бухгалтерских программ “Бест”.

ЕСЛИ класс – бухгалтерские программы

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

И программа разработана под оболочку Windows95.

И программа одноуровневая.

ТО лучше всего вам подходит бухгалтерская программа “Инфо Бухгалтер”.

ЕСЛИ класс – бухгалтерские программы

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

И программа разработана под оболочку Windows95.

И программа не одноуровневая.

ТО лучше всего для вас подходит система бухгалтерских программ “Турбо Бухгалтер”.

ЕСЛИ тип – правовые системы.

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

ТО лучше всего вам подходит правовая программа “Гарант”.

ЕСЛИ тип – правовые системы

И пополнение информационной базы происходит ежемесячно (минимум), через покупку нового CD-ROM.

ТО лучше всего вам подходит правовая программа “Кодекс”.

ЕСЛИ тип – правовые системы.

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

ТО лучше всего вам подходит правовая программа “Эталон”.

ЕСЛИ тип – складские программы.

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

ТО лучше всего вам подходит правовая складская программа “Фолио”.

ЕСЛИ тип – складские программы.

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

ТО лучше всего вам подходит правовая программа склад “1С версия 7.5”.

Предположим, что перед пользователем стоит задача узнать какое обеспечение, из широкого спектра предлагаемого сейчас программного обеспечения ему наиболее подойдет, учитывая специфику ПК на который предполагается установить это ПО. С помощь некоторых базовых правил фирмы “Элком- Информ”, составлена некоторая экспертная система, которая поможет пользователю в его нелегком выборе. Сеанс диалога может иметь следующий вид:

ЭС: Какое программное обеспечение вы хотели бы приобрести? (правовое, бухгалтерское, складское).

Пользователь: Бухгалтерское

ЭС: Форма конфигурирования системы должна быть жесткой (пользователь не будет иметь возможности сам конфигурировать какие-либо входные или выходные документы)? (да, нет).

Пользователь: Нет.

ЭС: Форма конфигурирования системы должна быть лояльной (т.е. пользователь может сам конфигурировать какие-либо входные или выходные документы)?

Пользователь: Да

ЭС: Программа должна быть разработана под оболочку Windows95?

Пользователь: Да.

ЭС: Программа должна быть одноуровневая? (да, нет).

Пользователь: Нет.

ЭС: Программа должна быть не одноуровневая?

Пользователь: Да

ЭС: Лучше всего для вас подходит система бухгалтерских программ “Турбо Бухгалтер”.

Если пользователь заинтересуется, почему сделаны такие выводы, то экспертная система выдаст эти правила и укажет соответствие между ответами пользователя, правилами и ответом экспертной системы.