Глава 7. знания. модели представления знаний
Знания и их особенности
Знания – это форма существования и систематизации познавательной деятельности человека, то, что мы знаем после изучения. В ЭВМ знания представляются в виде фигур, записей или языка по определенным правилам. Представлению знаний присущ пассивный аспект: книга, таблица, память ЭВМ. В системах искусственного интеллекта подчеркивается активный аспект представления: познание должно стать активной операцией, позволяющей не только запоминать, но и извлекать воспринятые (приобретенные, усвоенные) знания для рассуждений на их основе.
Рассмотрим особенности знаний, отличающие их от данных.
1. Внутренняя интерпретируемость.
Каждая информационная единица имеет уникальный идентификатор, который позволяет системе искусственного интеллекта найти ее, например, для ответа на запрос, в которых этот идентификатор упомянут.
Пусть имеются следующие сведения о составе бригады цеха (табл. 7.1).
Таблица 7.1. Сведения о составе бригады цеха
Фамилия | Специальность | Стаж | Разряд | Оклад |
Попов | Слесарь | |||
Сидоров | Токарь | |||
Иванов | Токарь | |||
Петров | Фрезеровщик |
Информация о том, где хранятся сведения о фамилиях, специальностях, стаже, разрядах и окладах называется протоструктурой информационных единиц. С помощью данной протоструктуры можно найти необходимую информационную единицу и ответить на вопросы типа «Что системе известно о Петрове?» или «Есть ли среди специалистов фрезеровщик?».
2. Структурированность.
Структура информационных единиц представляет собой рекурсивную вложенность одних информационных единиц в другие. В данной таблице каждая строка содержит сведения об одном из работников, а вместе эти строки определяют состав бригады.
3. Связность
Между информационными единицами установлены связи различного типа. Отношения между информационными единицами могут быть декларативными или процедурными.
Пусть разряд определяется следующим образом. Если работник проработал 5 лет и менее, то он имеет 1 разряд, если 10 лет и менее – 2 разряд и т.д. Это пример декларативного отношения «ПРИЧИНА – СЛЕДСТВИЕ».
Пусть оклад определяется по формуле
Оклад = Разряд ´ Ставка (= 2000).
Расчет оклада представляет собой отношение процедурного типа «АРГУМЕНТ – ФУНКЦИЯ».
Процедурные отношения между информационными единицами позволяют не хранить их отдельно, а получать по мере надобности из уже имеющихся информационных единиц.
Между информационными единицами могут устанавливаться и иные отношения, например, определяющие порядок выбора информационных единиц из структуры или указывающие на то, что две информационные единицы несовместимы друг с другом в одном описании.
4. Семантическая метрика.
Помимо отношений между информационными единицами можно установить меру близости по тематике или проблематике. На основе этих показателей формируются классы информационных единиц, что позволяет найти знания, близкие к уже найденным.
5. Активность.
Все операции, выполняемые ЭВМ, запускаются командами с использованием данных, то есть данные пассивны, а команды активны. В системах искусственного интеллекта, как и у человека, действия инициируются знаниями, имеющимися в системе. Знания предполагают целенаправленное использование информации, способность управлять информационными потоками для решения определенных задач.
Вышеперечисленные особенности отличают знания от данных. Однако эти особенности до сих пор не реализованы в полной мере в существующих системах.
Модели представления знаний
Представление знаний происходит в рамках той или иной системы представления знаний. Система представления знаний – это совокупность программных средств для хранения и обработки знаний. Система представления знаний выполняет следующие функции:
- хранение знаний о предметной области в соответствии с моделью представления знаний в базе знаний (БЗ);
- ввод новых знаний;
- проверка непротиворечивости хранимых знаний;
- удаление знаний;
- вывод новых знаний из уже имеющихся знаний;
- предоставление знаний пользователю.
Модель представления знаний – это способ записи знаний, предназначенный для отображения текущего состояния объектов некоторой предметной области и отношений между ними, а также изменение объектов и отношений.
Модель представления знаний может быть универсальной, то есть применимой для большинства предметных областей, или специализированной, то есть разработанной для конкретной предметной области. К основным универсальным моделям представления знаний относятся:
- логические модели;
- сетевые модели;
- продукционные модели;
- фреймовые модели.
Знания хранятся в базе знаний в соответствии с моделью представления знаний.
Логические модели
В основе логических моделей лежит понятие формальной теории, задаваемой четверкой:
S = < T, F, A, R >.
Рассмотрим компоненты формальной теории.
T – множество символов теории S, называемых термами и образующих алфавит теории. Конечная последовательность символов множества T называется выражением теории S.
F – подмножество выражений теории S, называемых формулами теории и построенных по синтаксическим правилам. Примерами правил могут быть праивла записи формул алгебры высказываний.
A – множество формул, называемых аксиомами теории S и являющихся априорно истинными формулами.
R – конечное множество отношений между формулами, называемые правилами вывода. Правила вывода позволяют получать новые формулы множества F за счет применения этих правил вывода к аксиомам или уже выведенным формулам.
Формальная система позволяет выводить новые правильные формулы множества F, применяя к аксиомам множества A и уже полученным формулам правила вывода множества R, то есть выводить из одних истинных высказываний новые истинные высказывания. Таким образом, в рамках формальной системы можно получить бесконечное число формул из небольшого числа исходных аксиом.
Вывод новых знаний в рамках логической модели представления знаний заключается в получении некоторого утверждения из имеющихся аксиом и правил вывод. Если в результате вывода утверждение получено, то оно считается истинным и является логическим следствием из аксиом.
В этом случае задачей пользователя или программиста является описание предметной области совокупностью утверждений в виде логических формул. Доказательство истинности утверждения осуществляется ЭВМ на основе исходных утверждений.
Наиболее простой метод логического вывода использует только одно правило вывода и называется методом резолюции.
Метод резолюции заключается в выполнении следующих шагов:
1) взять отрицание формулы A и привести формулу к КНФ;
2) выписать множество дизъюнктов K = {D1, ..., Dn} формулы ;
3) если во множестве существуют пара дизъюнктов Di и Dj, один из которых содержит переменную Y, а другой – отрицание переменной , то соединить эти дизъюнкты дизъюнкции Di + Dj и сформировать новый дизъюнкт + , исключив переменные Y и ;
4) возможны три случая:
- если дизъюнкты Di и Dj содержат только переменные Y и , то получен пустой дизъюнкт и логическое следствие верно;
- если во множестве K не существует двух дизъюнктов, для которых применим шаг 3, то логическое следствие неверно;
- если полученный дизъюнкт не является пустым, то и добавить его к множеству K и вновь выполнить шаг 3.
Пример 7.1. Рассмотрим логический вывод знаний. Пусть для некоторого студента справедливы три факта, являющихся аксиомами – исходными утверждениями для логического вывода:
1) если студент болеет, то он принимает лекарства;
2) если студент не болеет, то он ходит на учебу;
3) студент не принимает лекарства.
Следует ли из этих аксиом следующее высказывание:
4) студент ходит на учебу.
Выделим в этих утверждениях простые высказывания:
A = «студент болеет»;
B = «студент принимает лекарства»;
C = «студент ходит на учебу».
Запишем утверждения с помощью этих простых высказываний с учетом того, что конструкция «если A, то B» соответствует логической операции импликации A → B:
1) A → B;
2) → C;
3) ;
4) C.
При преобразованиях будем использовать следующие равносильные формулы алгебры высказываний:
= A;
A → B = + B;
= × ,
где «+» – дизъюнкция; «×» – операция конъюнкции; «→» – операция логического следствия (импликация).
Проверим, является ли высказывание 4 логическим выводом из утверждений 1-3:
[(A → B) × ( → C) × ] → C.
В соответствии с методом резолюций возьмем отрицание от данного выражения и преобразуем его к КНФ:
= ( + B) × (A + C) × × .
Множество K включает следующие дизъюнкты:
K = { + B, A + C, , }.
Из двух дизъюнктов + B и A + C получим новый дизъюнкт B + C, который включается в множество K:
K = { + B, A + C, , , B + C}.
Из двух дизъюнктов B + C и получим новый дизъюнкт C, который также включается во множество K:
K = { + B, A + C, , , B + C, C}.
Полученный дизъюнкт C является отрицанием дизъюнкта , а значит, высказывание 4 является логическим следствием из утверждений 1-3. □
Помимо высказываний, для представления знаний могут использоваться предикаты. В отличие от естественного языка, который очень сложен, язык логики предикатов использует конструкции естественного языка, которые легко формализуются.
Предикат – это функция, возвращающая значения 1 («истина») или 0 («ложь») в зависимости от значений аргументов. Например, P(x,y)=(x>y).
В логике предикатов вводятся две операции.
1. Квантор существования $.
Выражение $x P(x) (читается: «существует x, для которого P(x)») истинно, если существует такое значение x из множества M, при котором P(x) = 1:
$x P(x) = P(x1) + P(x2) + …
2. Квантор общности ".
Выражение "x P(x) («для любого x P(x)») истинно, если P(x) = 1 для всех значений x из множества M:
"x P(x) = P(x1) · P(x2) · …
Рассмотрим пример представления знаний с помощью предикатов.
Пример 7.2. Приведем структуру описания следующего объекта с помощью логики предикатов: «Солнечная система состоит из центрального светила и девяти планет, обращающихся вокруг него».
Выражения «состоит из» и «представляет собой» используют для того, чтобы описать структуру некоторого объекта. Описание может быть статическим и динамическим.
В случае статического описания указывается взаимное пространственное расположение частей. В случае динамического описания – законы их относительного перемещения в пространстве или описание иных видов движения (их зависимости от времени).
Для нашего примера, считая для простоты, что планеты равномерно движутся по круговым орбитам, можно построить следующее описание, используя следующее выражение:
"x $y "t (СОЛНЕЧНАЯ_СИСТЕМА (х, t) º
º СОСТОИТ_ИЗ(x, y, t) ×
× $z0 $z1 … $z8 "z (((z Î y) ® ((z = z0) + (z = z1) + … + (z = z8)) ×
× СОЛНЦЕ(z0) × МЕРКУРИЙ(z1) × ВЕНЕРА(z2) ×
ЗЕМЛЯ(z3) × МАРС(z4) × ЮПИТЕР(z5) × САТУРН(z6) ×
× УРАН(z7) × НЕПТУН(z8) ×
× $ КООРДИНАТЫ(z0, t, ) × ( = 0)) ×
× (КООРДИНАТЫ (zk, t, ) ×
× (rk = ak) × (qk = bk) × (jk = ck Å dk Ä t)))),
где º – логическая операция эквивалентности, «Å» – операция арифметического сложения; «Ä» – операция арифметического умножения; t – время.
Для описания пространственного положения космических тел определяются: – координатный вектор в сферической системе координат = < r, q, j> (соответственно, = 0 следует понимать как (r = 0) × (q = 0) × (j = 0), а $ как кортеж из трех кванторов); ak, bk, ck, dk – числа, определяющие соответственно радиус орбиты, угол наклона орбиты, положение на орбите, период обращения.
Названия Солнца и девяти планет символизируют не только имя, но и все существенные характеристики соответствующего объекта. Например:
МАРС(z4) º (ИМЯ (z4, МАРС) × МАССА(z4; 6,4Ä1013) ×
× ПЕРИОД_ВРАЩЕНИЯ_ВОКРУГ_СВОЕЙ_ОСИ(z4; 24,5) ×
× СРЕДНИЙ_ДИАМЕТР(z4, 6776)).
Общий вид такого описания можно представить схемой
"x $y "t (А(x, t) ~ СОСТОИТ_ИЗ(x, y, t) × S(y, t)),
где S(y, t) – описание совокупности y как статической или динамической системы пространственно организованных элементов. □
Возможность получения новых знаний из уже имеющихся знаний (аксиом) посредством логического вывода делает логические модели представления знаний широко используемыми в системах искусственного интеллекта.
Семантические сети
Семантическая сеть – это система знаний, имеющая вид сети, узлы которой соответствуют объектам предметной области и их свойствам, а дуги – отношениям между ними.
Представим с помощью семантической сети следующие факты:
«все кашалоты – киты»,
«Моби Дик – кашалот»,
«киты имеют хвост».
Моби Дику посвящен одноименный роман американского писателя Германа Мелвилла.
Из данных фактов можно выделить следующие объекты, которые будут являться узлами сети: «Моби Дик», «кашалот», «кит», «хвост».
Взаимосвязь этих объектов опишем с помощью отношений:
- «часть – целое» (IS-A) (пример: «стол» IS-A «мебель»);
- «целое – частное» (PART-OF) (пример: «рука» PART-OF «тело»).
Семантическая сеть, описывающая факты, представлена на рис. 7.1.
Рис. 7.1. Представление фактов семантической сетью
Используя отношения IS-A и PART-OF, из имеющихся фактов можно вывести факты «Моби Дик – кит» и «Моби Дик имеет хвост».
Семантическая сеть представляет собой ориентированный граф с поименованными дугами и вершинами. Вершинам графа, описывающего семантическую сеть, соответствуют:
- события представляют собой действия, происходящие в реальном мире;
- объекты представляют объекты реального мира, а также их особенности и характеристики (цвет, размер, качество), а применительно к событиям – продолжительность, время, место.
Дуги графа семантической сети отображают многообразие отношений между объектами, которые условно можно разделить на четыре класса:
- лингвистические отношения в свою очередь подразделяются на глагольные (время, вид, род, залог, наклонение), атрибутивные (цвет, размер, форма) и падежные;
- логические отношения, используемые в алгебре высказываний: дизъюнкция, конъюнкция, отрицание, импликация и др.;
- теоретико-множественные: отношение части целого (PART-OF), отношение множества и элемента (IS-A);
- квантифицированные отношения общности и существования; они используются для представления таких утверждений как «Любой станок надо ремонтировать», «Существует работник А, обслуживающий склад Б».
Рассмотренный выше пример семантической сети отображал теоретико-множественные отношения между объектами, представляющие понятия предметной области. Рассмотрим использование семантических сетей для представления событий.
Чтобы представить некоторые знания о событиях в виде семантической сети, необходимо выделить данные события. События обычно описываются глаголом. После этого выделяются следующие объекты:
- объекты, которые являются инициаторами события;
- объекты, на которые событие воздействует;
- объекты, характеризующие свойства события.
Все связи понятий, событий и свойств с действием (глаголом) называют падежами или падежными отношениями, которые относятся к классу лингвистических отношений (табл. 7.2).
Таблица 7.2. Возможные падежи
Падеж | Значение падежа |
агент | предмет, являющийся инициатором действия |
объект | предмет, подвергающийся действию |
источник | размещение предмета перед действием |
приемник | размещение предмета после действия |
время | момент выполнения действия |
место | место проведения действия |
цель | действие другого события |
Введение падежей позволяет перейти от поверхностной структуры к его смысловому содержанию.
Представим в виде семантической сети предложение: «Студент пришел в 18.50 с работы в университет на занятие, чтобы сдать лабораторную работу в компьютерном классе».
Выделим основные события в этом предложении, соответствующие действиям:
F1 – студент пришел;
F2 – пришел, чтобы сдать.
Схема семантической сети представлена на рис. 7.2.
Рис. 7.2. Представление знаний семантической сетью
Особенность семантических сетей как модели представления знаний состоит в единстве БЗ и механизма вывода новых знаний.
Рассмотрим метод сопоставления, который заключается в выполнении следующих шагов:
1) строится семантическая сеть, соответствующая структуре запроса;
2) сеть запроса сопоставляется с семантической сетью, в результате чего отыскивается искомый узел, который и является ответом.
Запрос «Куда пришел студент?» представим в виде сети (рис. 7.3).
Рис. 7.3. Семантическая сеть запроса «Куда пришел студент?»
Сопоставление общей сети с сетью запроса начинается с поиска вершины «пришел», имеющей дугу «агент», направленную от вершины «студент». Затем происходит переход по дуге «приемник», что приводит к ответу «в университет на занятие».
Наряду с методом сопоставления, в семантических сетях используется метод перекрестного поиска, состоящий из двух шагов:
1) поиск отношений между понятиями;
2) вершина, находящаяся на пересечении дуг, соответствующих отношениям в запросе, является ответом на запрос.
Сеть запроса «Что сделал студент в 18.50?» представлена на рис. 7.4.
Рис. 7.4. Семантическая сеть запроса
«Что сделал студент в 18.50?»
Сопоставление общей сети с сетью запроса начинается с поиска вершины, в которую сходятся дуги «агент» и «объект». В данной семантической сети присутствует одна вершина «пришел», и она связана падежами с вершинами «студент» и «в 18.50». Поэтому вершина «пришел» является ответом на этот запрос.
Любую семантическую сеть можно записать с помощью предикатов, то есть преобразовать семантические сети к логической модели представления знаний. Например, семантическую сеть, изображенную на рис. 7.1, можно описать с помощью предикатов
является (элемент, множество);
имеет (часть, объект),
следующим образом:
является (кашалот, кит);
является (Моби Дик, кашалот);
имеет (хвост, кит).
Отношение «студент – пришел» на рис. 7.2 можно описать предикатом
агент (инициатор, действие).
Другие отношения между объектами можно описать аналогичными предикатами.
Семантические сети, как модель представления знаний, имеют следующие преимущества:
- описание объектов и событий производится на уровне близком к естественному языку;
- возможность объединение нескольких семантических сетей в одну;
- возможность выделения фрагмента сети и использования ее в качестве автономной БЗ, содержащей все необходимые объекты, события и отношения между ними;
- небольшое число типов отношений между объектами и событиями.
Продукционные модели
Эта модель называется продукционной, так как все знания представляются в виде продукций – правил вида
ЕСЛИ A, ТО B,
где A – условная часть; B – заключительная часть.
Условная часть состоит из одного или нескольких высказываний, соединенных операциями конъюнкции. Заключение состоит из одного высказывания.
Если высказывания условной части истинны, то высказывание заключительной части тоже считается истинным.
Правила, условная часть которых истинна на некотором этапе логического вывода, образуют фронт готовых продукций.
Математические или программные средства, обрабатывающие знания, представленные правилами, называются продукционными системами или системами продукций.
Популярность продукционных моделей определяется следующими факторами:
- простой и точный механизм использования знаний: подавляющая часть человеческих знаний может быть записана в виде продукций;
- однородность: знания описываются по единому синтаксису;
- параллельность: одновременно могут обрабатываться несколько правил.
При большом числе продукций (более 1000) продуцкионная модель имеет, по крайней мере, два недостатка:
- усложняется проверка непротиворечивости продукций;
- усложняется проверка правильности работы логического вывода.
Системы продукций состоят из двух частей:
1) БЗ, состоящая из правил;
2) блок логического вывода новых знаний из правил БЗ.
Пример 7.3. Рассмотрим функционирование системы продукций, БЗ которой включает два правила.
правило П1 ЕСЛИ лето = жаркое И
осадков = мало
ТО урожай = плохой
правило П2 ЕСЛИ урожай = плохой
ТО цены_на_продукты = растут.
В правилах использовались высказывания, представляющие названия переменных и их значения.
Рассмотрим два способа логического вывода в продукционных моделях: прямую и обратную цепочки рассуждений. В прямой цепочке дано исходное истинное высказывание, которое служит для доказательства истинности новых высказываний. Далее производится перебор правил. Если условная часть правила является истинной, то и заключительная часть становится истинной.
Пусть известны два факта, то есть эти высказывания истинны:
лето = жаркое;
осадков = мало.
Прямая цепочка рассуждений будет состоять из следующих шагов.
1. Анализируется правило П1. Его условная часть истинна, так как оба высказывания из условной части истинны.
2. Так как условная часть правила П1 истинна, то заключительная часть правила П1 считается истинной. Следовательно, высказывание урожай = плохой является истинным.
3. Происходит переход к правилу П2 и анализируется его условная часть. Условная часть является истинной, так как высказывание урожай = плохой истинно.
4. Условная часть правила П2 является истинной, поэтому и заключительная часть этого правила является истинной. А значит высказывание цены_на_продукты = растут является истинным.
В результате прямой цепочки рассуждений при условии истинности высказываний
лето = жаркое;
осадков = мало.
были выведены следующие факты
урожай = плохой;
цены_на_продукты = растут. □
При обратной цепочке рассуждений анализируются заключительные части правил. Задачей обратной цепочки является доказательство истинности высказывания. В качестве исходных данных задаются уже известные истинные высказывания.
Пример 7.4. Пусть БЗ включается два правила и два факта, что и в предыдущем примере. Необходимо доказать истинность высказывания цены_на_продукты = растут.
Обратная цепочка рассуждений включает следующие шаги.
1. Производится поиск правила, в заключительной части которого находится это высказывание. Это правило П2.
2. Анализируется условная часть правила П2, состоящая из высказывания урожай = плохой. Истинность этого высказывания неизвестна, поэтому производится поиск правила, заключительная часть которого содержит высказывание урожай = плохой. Это правило П1.
3. Анализируется условная часть правила П1. Она является истинной, так как оба высказывания условной части истинны. Следовательно, высказывание урожай = плохой является истинным.
4. Условная часть правила П2 является истинной, что доказывает истинность высказывания цены_на_продукты = растут.
В результате обратной цепочки рассуждений доказана истинность высказывания цены_на_продукты = растут.□
В рассмотренном примере в БЗ находились всего два правила, но в реальных системах продукций число правил может достигать тысячи. Поэтому возникает проблема выбора продукции, которая будет активизирована в данной ситуации. Решение этой задачи возлагается на систему управления продукциями.
Рассмотрим несколько стратегий выбора продукций. Основная их идея сводится к сокращению фронта готовых продукций.
1. Принцип «стопки книг». Стратегия основана на идее, что наиболее используемая продукция является наиболее полезной. Готовые продукции образуют «стопку», в которой порядок определяется накопленной частотой использования в прошлом. На самом верху стопки находится продукция, у которой частота использования максимальна. Этот принцип особенно хорош, когда частота использования подсчитывается с учетом некоторой ситуации, в которой ранее исполнялась продукция, и это использование имело положительную оценку.
2. Принцип наиболее длинного условия. Стратегия заключается в выборе из фронта готовых продукций той, у которой стало истинным наиболее «длинное» условие. Этот принцип опирается на соображении, что частные правила, относящиеся к узкому классу ситуаций, важнее общих правил, относящихся к широкому классу, так как первые учитывают больше информации о ситуации, чем вторые. Трудность использования данного принципа состоит в том, что необходимо заранее упорядочить условия по вхождению друг в друга по отношению «ЧАСТНОЕ – ОБЩЕЕ».
3. Принцип метапродукций. В систему продукций вводятся специальных метапродукций, задачей которых является организация управления в системе продукций в случае неоднозначного выбора из фронта готовых продукций. Пример метапродукции:
ЕСЛИ (A) И (Существуют продукции, в условной части которых есть B) ТО (продукции, в условной части которых есть C, следует активизировать раньше, чем продукции, содержащие в условной части B),
где A, B, C – некоторые условия.
4. Принцип «классной доски». При реализации этой стратегии выделяется специальное рабочее поле памяти – аналог классной доски, на которой мелом пишут объявления и стирают их по мере необходимости. На этой «доске» выполняющиеся процессы осуществляют следующие действия:
- находят знания, инициирующие их активизацию;
- выносят информацию о своей работе, которая может оказаться необходимой для других процессов.
5. Принцип приоритетного выбора. Стратегия связана с введением статических или динамических приоритетов для продукций. Статические приоритеты могут формироваться априорно на основании сведений о важности продукционных правил в данной предметной области. Эти сведения, как правило, предоставляет эксперт. Динамические приоритеты вырабатываются в процессе функционирования продукционной системы и могут отражать, например, такой параметр, как время нахождения во фронте готовых продукций.
Фреймы
Основная идея фреймового подхода заключается в представлении понятий или ситуаций в виде фрейма.
Фрейм – это структура для описания понятий или ситуаций, состоящая из их значений характеристик.
Фрейм можно рассматривать как фрагмент семантической сети, предназначенный для описания объектов и всех их свойств.
Фрейм состоит из слотов. Слот соответсвует некоторой характеристике объекта, представленного фреймом. Значением слота может быть текстовым или числовым. Другие ферймы могут являться значением слота.
Для управления значения слота, со слотом может быть связана процедура. Процедура запускается при выполнении действия над значением слота или фреймом целиком. Со слотами могут быть связаны следующие процедуры:
1. ЕСЛИ – ДОБАВЛЕНО: выполняется, когда новая информация помещается в слот;
2. ЕСЛИ – УДАЛЕНО: выполняется при удалении информации из слота;
3. ЕСЛИ – НУЖНО: выполняется, когда запрашивается информация из слота, а он пуст.
Процедуры связываются с определенным слотом или фреймом целиком. С одним слотом могут быть связаны несколько процедур.
Рассмотрим основные особенности фреймов, как модели представления знаний.
1. Базовый тип. Базовые фреймы используются для наглядного представления наиболее важных объектов предметной области. На основе базовых фреймов строятся фреймы для новых объектов. При этом каждый дочерний фрейм содержит слот-указатель на родительский фрейм.
2. Процесс сопоставления. Во фреймовых системах осуществляется поиск фрейма, который соответствует цели (данной ситуации), то есть сопоставляются значения слота фрейма и значения атрибутов цели.
3. Иерархическая структура. Фреймовая система построена на основе иерархической структуры, в которой значения атрибутов фреймов верхнего уровня совместно используются всеми дочерними фреймами нижних уровней. Такая структура позволяет решать следующие задачи:
- удобно систематизировать и записывать схожие объекты;
- добавлять новые объекты в соответствующие позиции иерархии;
- упростить просмотр знаний и обнаружение противоречий в знаниях;
- сделать фреймовую систему более гибкой.
Пример 7.5. Для иллюстрации работы фреймов рассмотрим иерархию делового отчета со слотами, их значениями и связанными с ними процедурами (рис. 7.5).
Рис. 7.5. Иерархия делового отчета
Пусть системе задан запрос: «Необходимо создать квартальный финансовый отчет о выполнении проекта по новой технологии». Рассмотрим ее действия по шагам.
1. На основе родительского фрейма «Финансовый отчет» создается новый фрейм «Финансовый отчет №3». Далее все действия совершаются с этим вновь созданным фреймом. В слот «ТЕМА» записывается значение «Проект по новой технологии».
2. Запускается процедура «ЕСЛИ – ДОБАВЛЕНО», связанная со слотом «ТЕМА», так как в слот «ТЕМА» было записано новое значение. Пусть процедура нашла руководителя этого проекта по фамилии Иванов. Процедура вписывает его фамилию в слот «АВТОР» финансового отчета №3. Если руководитель этого проекта не будет найден, значение слота «АВТОР» будет наследовано от родительского фрейма «Финансовый отчет», а именно в слот будет помещен текст «РУКОВОДИТЕЛЬ ПРОЕКТА».
3. Запускается процедура «ЕСЛИ – ДОБАВЛЕНО», связанная с фреймом, так как в один из слотов было вписано новое значение. Данная процедура составляет сообщение, чтобы отправить его Иванову, но обнаруживает отсутствие даты исполнения. Процедура «ЕСЛИ – ДОБАВЛЕНО» передает управление процедуре «ЕСЛИ – НУЖНО», связанной со слотом «ДАТА»
4. Запускается процедура «ЕСЛИ – НУЖНО», связанная со слотом «ДАТА». Процедура, анализируя текущую дату (например, 12 марта этого года), определяет, что ближайшей к ней является дата «30 марта» и вписывает ее в слот «ДАТА».
5. Процедура «ЕСЛИ – ДОБАВЛЕНО», связанная с фреймом, обнаруживает, что отсутствует значение объема отчета. В слоте «ОБЪЕМ» нет данных, и он не связан с процедурами. В этом случае значение наследуется из одноименного слота родительского узла.
6. Когда все необходимые значения слотов определены, процедура составляет следующее сообщение: «Господин Иванов, пожалуйста, подготовьте квартальный финансовый отчет по проекту новой технологии к 30 марта объемом 2 страницы».
Если в какой-то момент узел «Финансовый отчет №3» будет удален, то система автоматически отправит АВТОРУ сообщение, что отчет не требуется. □
В общем случае фрейм представляет собой таблицу, структура и принципы организации которой являются развитием понятия отношения в реляционной модели данных. Обобщенная структура фрейма имеет вид таблицы (табл. 7.3).
Таблица 7.3. Структура фрейма
ИМЯ ФРЕЙМА | |||
Имя слота | Указатель наследования | Указатель типа данных | Значение слота |
слот 1 слот 2 …………. слот N |
Слот включает следующие параметры.
Имя слота. Каждый слот должен иметь уникальное имя во фрейме, к которому он принадлежит. Имя слота в некоторых случаях может быть служебным. Среди служебных имен могут быть следующие: имя пользователя, определяющего фрейм; дата определения или модификации фрейма; комментарий.
Указатель наследования. Определяет, какую информацию об атрибутах слотов во фрейме верхнего уровня наследуют слоты с теми же именами во фрейме нижнего уровня. Типы указателей наследования:
- S (same, тот же) – слот наследуется с теми же значениями данных;
- U (unical, уникальный) – слот наследуется, но данные в каждом фрейме могут принимать любое значение;
- I (independent, независимый) – слот не наследуется.
Указатель типа данных. Типом данных, включаемым в слот, могут быть:
- FRAME (указатель) – указывает имя фрейма верхнего уровня;
- ATOM (переменная);
- TEXT (текстовая информация);
- LIST (список);
- LISP (присоединенная процедура).
С помощью механизма управления наследованием по отношениям IS-A осуществляется автоматический поиск и определение значений слотов фрейма верхнего уровня и связанных процедур.
Фреймы, как и семантические сети, можно записать с помощью предикатов. Например, предикат
значение (фрейм, слот, значение)
определяет значение слота фрейма, а предикат
функция (фрейм, слот, событие, f(x))
определяет функцию, связанную со слотом; здесь событие принимает одно из значений ЕСЛИ – ДОБАВЛЕНО, ЕСЛИ – УДАЛЕНО или ЕСЛИ – НУЖНО.
Фреймовая модель представления знаний эффективна для иерархического описания сложных понятий и решения задач, в которых в зависимости от ситуации необходимо применять различные способы вывода. В то же время во фреймовой модели затруднено управление завершенностью и постоянством целостного образа. По этой причине существует опасность нарушения связи со связанными процедурами и проблемы зацикливания процесса вывода.
Глава 8. АРХИТЕКТУРА ЭВМ
Поколения ЭВМ
Разделение ЭВМ на поколения условно, так как поколения сменялись постепенно, поэтому временные границы между поколения<