Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пз ответы.docx
Скачиваний:
8
Добавлен:
05.08.2019
Размер:
128.41 Кб
Скачать
  1. Теория фреймов. Достоинства и недостатки модели.

В основе теории фреймов лежит восприятие фактов посредством сопоставления информации, полученной извне с конкретными элементами и значениями, а также с рамками, определениями для каждого концептуального объекта в нашей памяти. Суть теории : когда человек попадает в новую ситуацию, он вызывает в своей памяти основную структуру, именуемую фреймом. Фрейм (рамка) – это единица представления знаний, запомненная в прошлом, детали которой могут быть изменены согласно текущей ситуации. Каждый фрейм может быть дополнен различной информацией, которая может касаться способов применения данного фрейма, последствий этого применения, действий, которые необходимо выполнить, если не оправдается прогноз. Каждый фрейм можно рассматривать как сеть, состоящую из нескольких вершин и отношений. Структура фрейма состоит из характеристик описываемой стереотипной ситуации и их значений, которые называются, соответственно, слотами и заполнителями слотов. Имя фрейма: Имя первого слота, значение первого слота. Имя второго слота, значение второго слота. Незаполненный фрейм называется протофреймом, а заполненный — экзофреймом. Слот может содержать не только конкретное значение, но и имя процедуры, позволяющей вычислить его по заданному алгоритму, а также одну или несколько продукций (эвристик), с помощью которых это значение определяется. В слот может входить не одно, а несколько значений. Иногда этот слот включает компонент, называемый фасетом, который задает диапазон или перечень его возможных значений. Фасет указывает также граничные значения заполнителя слота. Как уже отмечалось, помимо конкретного значения в слоте могут храниться процедуры и правила, которые вызываются при необходимости вычисления этого значения. Среди них выделяют процедуры-демоны и процедуры-слуги. Первые запускаются автоматически при выполнении некоторого условия, а вторые активизируются только по специальному запросу. Совокупность фреймов, моделирующая какую-либо предметную область, представляет собой иерархическую структуру, в которую фреймы собираются с помощью родовидовых связей. На верхнем уровне иерархии находится фрейм, содержащий наиболее общую информацию, истинную для всех остальных фреймов. Фреймы обладают способностью наследовать значения характеристик своих родителей, находящихся на более высоком уровне иерархии. Эти значения могут передаваться по умолчанию фреймам, находящимся ниже них в иерархии, но если последние содержат собственные значения данных характеристик, то в качестве истинных принимаются именно они. Это обстоятельство позволяет без затруднений учитывать во фреймовых системах различного рода исключения. Плюсы: экономное размещение базы знаний в памяти компьютера, фреймы позволяют манипулировать как декларативными, так и процедурными знаниями. К недостаткам фреймовых систем относят их относительно высокую сложность, что проявляется в снижении скорости работы механизма вывода и увеличении трудоемкости внесения изменений в родовидовую иерархию. Поэтому большое внимание при разработке фреймовых систем уделяют наглядным способам отображения и эффективным средствам редактирования фреймовых структур.

  1. Структура данных фрейма. Показать на примере.

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

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

Имена фреймов: занятия, аудитория, вид занятия, полугодие и пр.

Дополнить родительским слотом (для заниятия - аудитория), дочерние слоты (для занятия – вид занятия, время), имя пользователя, дата определения, дата изменения.

2) Имя слота - это идентификатор, присваиваемый слоту. Слот должен иметь уникальное имя во фрейме, к которому он принадлежит. Обычно имя слота не несет никакой смысловой нагрузки и является лишь идентификатором данного слота, но в некоторых случаях оно может иметь специфический смысл. К таким именам, помимо IS-А (отношение IS-А), DDESENDANTS (указатель прямого дочернего фрейма), FINEDBY (пользователь, определяющий фрейм), DEFINEDON (дата определения фрейма), MODIFIEDON (дата модификации фрейма), COMMENT (комментарий) и т. п., относятся имена, используемые для представления структурированных объектов, например, HASPART, RELATIONS и другие. Эти слоты называются системными и используются при редактировании базы знаний и управлении выводом.

Имена слотов: полугодие, неделя, номер пары, предмет преподаватель и т.д.

DDESENDANTS – во фрейме занятия такое имя имеют слоты вид занятия и время.

FINEDBY – нет

MODIFIEDON – в данной фреймовой системе нет

COMMENT - комментариев нет.

3) Указатели наследования. Эти указатели касаются только фреймовых систем иерархического типа, основанных на отношениях “абстрактное - конкретное”, они показывают, какую информацию об атрибутах слотов во фрейме верхнего уровня наследуют слоты с такими же именами во фрейме нижнего уровня. Типичные указатели наследования: Unique ( U : уникальный), Same ( S : такой же), Range ( R : установление границ), Override ( O : игнорировать) и т. п.

U показывает, что каждый фрейм может иметь слоты с различными значениями; S - что все слоты должны иметь одинаковые значения, R - значения слотов фрейма нижнего уровня должны находиться в пределах, указанных значениями слотов фрейма верхнего уровня, О - при отсутствии указания значение слота фрейма верхнего уровня становится значением слота фрейма нижнего уровня, но в случае определения нового значения слотов фреймов нижних уровней указываются в качестве значений слотов.    О выполняет одновременно функции указателей U и S . Несмотря на то, что в большинстве систем допускается несколько вариантов указания наследования, существует немало и таких, где допускается только один вариант. В данном случае можно считать, что используется указатель О значения по умолчанию. На рис. 3.7 показаны три варианта указания наследования и приведены значения, выдаваемые при запросе значений слотов соответствующих фреймов.

Пример: U - каждый фрейм «номер» должен быть уникальным, S – если фреймовая система используется например для описания аудиторий определенной кафедры, то каждый слот кафедра имеет одно и о же значение. R – можно указать во фрейме Аудитория ограничение на дочерний слот к слоту номер номера корпусов 1 и 3, тогда в дочернем фрейме будут описаны номера 1 и 3 корпусов, O – по умолчанию полугодие может быть 1 или 2, но если во фрейм полугодие добавить значение 3 полугодие, то оно будет принято во фреймах верхних уровней.

4) Указание типа данных. Указывается, что слот имеет численное значение, либо служит указателем другого фрейма (т.е. показывает имя фрейма). К типам данных относятся FRAME (указатель), INTEGER (целый), REAL (действительный), BOOL (булев), LISP (присоединенная процедура), ТЕХТ (текст), LIST (список), TABLE (таблица), ЕXРRESSION (выражение) и другие.

Пример: FRAME (указатель) – слоты номер, занятия и пр. LIST (список) – вид, полугодие, неделя, вид занятия, INTEGER (целый) - № аудитории, № корпуса, количество мест, ТЕХТ (текст) – кафедра.

5) Значение слота. Пункт ввода значения слота. Значение слота должно совпадать с указанным типом данных этого слота, кроме того, должно выполняться условие наследования.

) Демон Здесь дается определение демонов типа IF-NEEDED, IF-ADDED, IF-REMOVED и т. д. Демоном называется процедура, автоматически запускаемая при выполнении некоторого условия. Демоны запускаются при обращении к соответствующему слоту. Например, демон IF-NEEDED запускается, если в момент обращения к слоту его значение не было установлено, IF-ADDED запускается при подстановке в слот значения, IF-REMOVED запускается при стирании значения слота. Кроме того, демон является разновидностью присоединенной процедуры.

IF-NEEDED – если номер аудитории не указан, то выводится сообщение, что его нужно указать.

IF -ADDED – при занесении № корпуса во фрейм номера аудитории проверяется есть ли такой корпус (если не 1, 2, 3, 4, 5, то указывается сообщение об ошибке).

IF-REMOVED – вывод подтверждения об удалении значения.

7) Присоединенная процедура. В качестве значения слота можно использовать программу процедурного типа, называемую служебной (servant) (в языке Лисп) или методом (в языке Смолток). В данном случае присоединенная процедура запускается по сообщению, переданному из другого фрейма (поскольку состояние выполнения в этом случае такое же, как и в объектно-ориентированном языке, то язык фреймового типа называют еще объектно-ориентированным языком, однако во избежание путаницы с языком типа Смолток, обычно выделяют название “язык фреймового типа”). Когда мы говорим, что в моделях представления знаний фреймами объединяются процедурные и декларативные знания, то считаем демоны и присоединенные процедуры процедурными знаниями. Кроме того, в языке представления знаний фреймами отсутствует специальный механизм управления выводом, поэтому пользователь должен реализовать данный механизм с помощью присоединенной процедуры. 

Во фреймовых системах используют три способа управления выводом:

1) с помощью механизма наследования;

2) с помощью демонов;

3) с помощью присоединённых процедур.

  1. Системы с прямым логическим выводом.

Структура продукционной системы.

БП – База Правил есть набор правил, используемый как база знаний.

РП – Рабочая Память (или память для кратковременного хранения), в

ней хранятся предпосылки, касающиеся конкретных задач предметной

области, и результаты выводов, полученных на их основании.

Механизм вывода (логического вывода) – использует правила в

соответствии с содержанием РП .

Определение. Способ получения логического вывода

в продукционной системе, при котором

предварительно записанные в РП данные

дополняются путем применения правил из БП,

называется прямым выводом.

Пример работы для прямого вывода.

Предположим, что записываемые в РП данные представляют собой образцы в

виде наборов символов (таблица 1). В представленном в таблице 1 простейшем

случае условные части правил из БП содержат либо одиночные образцы, либо

несколько условий, соединенных союзом “И”. В заключительной части

содержатся образцы, которые в процессе вывода регистрируются в РП.

Таблица 1.

РП

БП

«Намерение - экспедиции»

ЕСЛИ «Намерение – экспедиция» И «дорога - плохая», ТО «Средство передвижения – джип»

«Место экспедиции – горы»

ЕСЛИ «Место экспедиции – горы», ТО «дорога – плохая»

Последовательность действий по получению вывода.

1). Образец “намерение - экспедиция” существует в РП, а “дорога - плохая”

отсутствует, поэтому условная часть первого правила - ложна.

2). Условие второго правила истинно, поэтому механизм вывода выполняет его

заключительную часть и образец “дорога - плохая” заносится в РП.

3). Делается попытка вторичного применения правил. Поскольку второе правило

уже было применено, то оно выпадает из числа кандидатов на применение. Но

условная часть первого правила становится истинной, поскольку РП уже

дополнена образцом “дорога - плохая”. Поэтому содержимое РП пополняется

образцом заключительной части первого правила – “средство передвижения -

джип”. В итоге применимых правил не остается и система останавливается.

  1. Системы с обратным логическим выводом.

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

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

факт. Поэтому исследуем возможность применения второго правила. Условная часть этого правила истинна, поэтому РП пополняется образцом “дорога - плохая”. Здесь появляется возможность применения первого правила и исходная цель

подтверждается. В случае обратного вывода система останавливается либо при

достижении первоначальной цели, либо по исчерпанию применимых для достижения цели правил.