
- •Министерство образования и науки Российской Федерации
- •Данные и знания. Основные определения.
- •Особенности знаний. Переход от Базы Данных к Базе Знаний.
- •Контрольные вопросы
- •Модели представления знаний
- •Связи типа «часть—целое» («класс—подкласс», «элемент—множество»,...);
- •Контрольные вопросы
- •Классификация экспертных систем
- •Коллектив разработчиков
- •Технология проектирования и разработки эс
- •Технология быстрого прототипирования
- •Контрольные вопросы
- •Основные теоретические сведения
- •Операции над фактами
- •Работа с базой правил. Правила
- •Функции для манипулирования данными. Определение функций
- •Gui-интерфейс clips
- •Контрольные вопросы
- •2. Автоматизация доказательства в логике предикатов
- •Метод резолюций в исчислении высказываний
- •Правило унификации в логике предикатов
- •Метод резолюций в исчислении предикатов
- •Применение языка clips
- •Применение нечёткой логики в экспертных системах
- •Контрольные вопросы
- •Литература Основная литература
- •Рыбина, г.В. Основы построения интеллектуальных систем: учебное пособие. / г.В. Рыбина. — м.: инфра-м, 2010. — 431 с. — Режим доступа:
- •Дополнительная литература
- •Периодическая литература
- •Интернет-ресурсы
Модели представления знаний
Существуют десятки моделей (или языков) представления знаний для различных предметных областей. Большинство из них может быть сведено к следующим классам:
продукционные модели;
семантические сети;
фреймы;
формальные логические модели.
Коротко охарактеризуем каждую из этих моделей.
Продукционная модель
Продукционная модельили модель, основанная на правилах, позволяет представить знания в виде предложений типа «Если(условие), то(действие)».
Под «условием» (антецедентом) понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под «действием» (консеквентом)—действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия и терминальными или целевыми, завершающими работу системы).
Чаще всего вывод на такой базе знаний бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения — к данным). Данные — это исходные факты, хранящиеся в базе фактов, на основании которых запускается машина вывода или интерпретатор правил, перебирающий правила из продукционной базы знаний (см. далее).
Продукционная модель чаще всего применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода.
Семантические сети
Термин «семантическая» означает «смысловая», а сама семантика — это наука, устанавливающая отношения между символами и объектами, которые они обозначают, то есть наука, определяющая смысл знаков.
Семантическая сеть — это ориентированный граф, вершины которого — понятия, а дуги — отношения между ними.
В качестве понятий обычно выступают абстрактные или конкретные объекты, а отношения — это связи типа «это» («АКО — A-Kind-Of», «is»), «имеет частью» («haspart»), «принадлежит», «любит».
Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:
класс — элемент класса (класс работников — менеджер);
свойство — значение (образование — высшее);
пример элемента класса (менеджер — Иванов И.И.).
Можно предложить несколько классификаций семантических сетей, связанных с типами отношений между понятиями.
По количеству типов отношений:
а) однородные (с единственным типом отношений);
б) неоднородные (с различными типами отношений).
По типам отношений:
а) бинарные (в которых отношения связывают два объекта);
б) n-арные (в которых есть специальные отношения, связывающие более двух понятий).
Наиболее часто в семантических сетях используются следующие отношения:
Связи типа «часть—целое» («класс—подкласс», «элемент—множество»,...);
функциональные связи (определяемые обычно глаголами «производит», «влияет»,…);
количественные (больше, меньше, равно,...);
пространственные (далеко от, близко от, за, под, над,...);
временные (раньше, позже, в течение,...);
атрибутивные связи (иметь свойство, иметь значение);
логические связи (и, или, не);
лингвистические связи.
В качестве примера на рис. 4 представлена некоторая семантическая сеть, в которой описывается ситуация, когда под некоторый проект заказываются детали и должна быть выплачена стоимость этих деталей поставщику. В этой сети на каждой стрелке должен задаваться символ, показывающий ее смысл, но для простоты символы опущены.
Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети, соответствующего некоторой подсети, отражающей поставленный запрос к базе.
Данная модель представления знаний была предложена американским психологом Куиллианом. Основным ее преимуществом является то, что она более других соответствует современным представлениям об организации долговременной памяти человека.
Поставщик
Заказ
Датировка
Дата
Поставка
Изделия
Проект
Платеж
Количество
Величина
Стоимость
Объем
Время
Рис. 4. Пример семантической сети
Недостатком этой модели является сложность организации процедуры поиска вывода на семантической сети.
Фреймы
Термин фрейм (от английского frame, что означает «каркас» или «рамка») был предложен Марвином Минским, одним из пионеров ИИ, в 70-е годы двадцатого века для обозначения структуры знаний для восприятия пространственных сцен. Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование.
Фрейм— это абстрактный образ для представления некоего стереотипа восприятия.
В психологии и философии известно понятие абстрактного образа. Например, произнесение вслух слова «комната» порождает у слушающих образ комнаты: «жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6-20 кв. м». Из этого описания ничего нельзя убрать (например, убрав окна, мы получим уже чулан, а не комнату), но в нем есть «дырки» или «слоты» — это незаполненные значения некоторых атрибутов, например, количество окон, цвет стен, высота потолка, покрытие пола и др.
В теории фреймов такой образ комнаты называется фреймом комнаты. Фреймом также называется и формализованная модель для отображения образа.
Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения реальных фактических ситуаций на основе поступающих данных. Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через
фреймы-структуры, использующиеся для обозначения объектов и понятий (заем, залог, вексель);
фреймы-роли (менеджер, кассир, клиент);
фреймы-сценарии (банкротство, собрание акционеров, именины);
фреймы-ситуации (тревога, авария, рабочий режим устройства).
Традиционно структура фрейма может быть представлена как список свойств:
(ИМЯ ФРЕЙМА:
(имя 1-го слота: значение 1-го слота),
(имя 2-го слота: значение 2-го слота),
………………………..........
(имя N-го слота: значение N-го слота)
)
Таблица 1
Имя фрейма | |||
Имя слота |
Значение слота |
Способ получения значения |
Присоединенная процедура |
|
|
|
|
В табл. 1 представлена та же запись, дополненная двумя столбцами. Дополнительные столбцы предназначены для описания способа получения слотом его значения и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов. В качестве значения слота может выступать имя другого фрейма, так образуются сети фреймов.
Существует несколько способов получения слотом значений во фрейме-экземпляре:
по умолчанию от фрейма-образца (Default-значение);
через наследование свойств от фрейма, указанного в слоте АКО;
по формуле, указанной в слоте;
через присоединенную процедуру;
явно из диалога с пользователем;
из базы данных.
Важнейшим свойством теории фреймов является заимствование из теории семантических сетей — так называемое наследование свойств.И во фреймах, и в семантических сетях наследование происходит по АКО-связям (A-Kind-Of = это).Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, то есть переносятся, значения аналогичных слотов.
Основным преимуществом фреймов как модели представления знаний является то, что она отражает концептуальную основу организации памяти человека, а также ее гибкость и наглядность.
Формальные логические модели
Традиционно в представлении знаний выделяют формальные логические модели, основанные на классическомисчислении предикатовI-го порядка, когда предметная область или задача описывается в виде набора аксиом.
В основе логических моделей лежит понятие формальной теории,задаваемой четверкойS = (B,F,A,R),где
B — счетное множество базовых символов (алфавит) теории S;
F — подмножество S, называемых формулами теории (под выражениями понимаются конечные последовательности базовых символов теории S). Обычно существует эффективная процедура (множество синтаксических правил), позволяющая строить из B синтаксически правильные выражения — формулы;
A — выделенное множество формул, называемых аксиомами теории S, т.е. множество априорно истинных формул;
R — конечное множество отношений r1,... ,rn между формулами, называемыми правилами вывода.
Для каждого fjсуществует целое положительное число j, такое, что для каждого множества, состоящего изjформул, и для каждой формулыfэффективно решается вопрос о том, находятся ли данные jформул в отношенииrj с формулойf. Если отношениеrjвыполняется, тоfназываетсянепосредственным следствиемданныхjформул по правилуrj. Следствием (выводом)формулы fnв теории Sназывается всякая последовательностьf1,..., fnформул, такая, что для любогоiформулаr, есть либо аксиома теории S,либо непосредственное следствие каких-либо предыдущих формул по одному из правил вывода. Правила вывода позволяют расширять множество формул, которые считаются истинными в рамках данной теории.
Формальная теория называется разрешимой,если существует единая эффективная процедура, позволяющая узнать для любой данной формулы, существует ли ее вывод в S.
Формальная система Sназывается непротиворечивой,если не существует формулыA, такой, чтоAи¬A выводимывS.
Наиболее распространенной формальной системой, которая используется для представления знаний, является исчисление предикатов первого порядка. Алфавит исчисления предикатов состоит из следующего набора символов:
знаков пунктуации {,(,,,),.,;,};
пропозициональных связок ¬, ˄, ˅,→;
знаков кванторов ∀, ∃;
символов переменных xk, к = 1, 2,...;
n-местных функциональных букв: fkn , к ≥ 1, n ≥ 0 (fk0 называют константными буквами);
n-местных предикатных букв (символов): рkn, к ≥ 1, n ≥ 0.
Из символов алфавита можно строить различные выражения. Выделяют
термы, элементарные формулы (атомы) и правильно построенные формулы
(или просто формулы). Всякий символ переменной или константной буквы
есть терм.Если t1,... ,tn (n ≥ 1) термы, то и fkn(t1,... ,tn)является термом.
Если рkn— предикатная буква,a t1,... ,tn— термы, то рkn (t1,...,tn) — элементарная формула(атом). Атом является правильно построенной формулой.ЕслиAиB— правильно построенные формулы, то ¬A, A ˄ B, A ˅B, A ^ ˄ Bесть правильно построенные формулы. ЕслиA— правильно построенная формула и x— переменная вA, то конструкции (∀ x A) и (∃ x A)— правильно построенные формулы. Выражение является правильно построенной формулой, только если оно получено с соблюдением приведенных выше правил.
Для того чтобы придать формуле содержание, ее интерпретируют как утверждение, касающееся рассматриваемой предметной области. Под интерпретациейпонимают всякую систему, состоящую из непустого множестваD, называемого областью интерпретации,и какого-либо соответствия, относящего каждой предикатной букве рknнекотороеn-местное отношение вD; каждой функциональной буквеfknнекоторуюn-местную функцию, отображающуюDn ¬D, и каждой константной буквеf— некоторый элемент изD. При заданной интерпретации переменные мыслятся «пробегающими» все значения из областиD этой интерпретации, а всякой элементарной формуле приписывается значение «истинно» (И) или «ложно» (Л). Приписывание значения элементарной формуле рkn(t1,... ,tn)осуществляется по следующему правилу: если термы предикатной буквы соответствуют элементам изD, удовлетворяющим отношению, определяемому данной интерпретацией, то значением элементарной формулы будет истина, в противном случае — ложь. Значение неэлементарной формулы вычисляется рекуррентно, исходя из значений составляющих ее формул. Очевидно, что значения формул могут быть истинными или ложными в зависимости от выбранной интерпретации.
Основной задачей, решаемой в рамках исчисления предикатов, является выяснение истинности или ложности заданной формулы на некоторой области интерпретации. При этом особая роль отводится общезначимымформулам, т.е формулам, истинным при любой интерпретации, и невыполнимым формулам,т.еформулам, ложным при любой интерпретации. Справедлива следующая основополагающая теорема дедукции.
Теорема 1. Пусть даны формулы B1,...,Bn и формула A. Формула A является логическим следствием B1,...,Bn тогда и только тогда, когда формула B1 ^ ... ^ Bn → A общезначима, т.е. является истиной.
Напомним, что формула Aлогически следует из формулB1,..., Bnтогда и только тогда, когда всякая интерпретация I, удовлетворяющаяB1 ˄ … ˄ Bn, удовлетворяет также иA. ФормулыB1,...Bn,называют посылками,аA заключением логического следованияи обозначают B1,... ,Bn ⟹ A.
Задачей доказательства теоремы называют выяснение вопроса логического следования из заданного множества формул B1,..., Bn некоторой формулыA, что равносильно доказательству общезначимости формулыB1 ˄... ˄ Bn ˄ Aили невыполнимости формулыB1 ˄ ... ˄ Bn ˄ (¬A).
Известно, что для исчисления предикатов первого порядка не существует общего метода установления общезначимости любых формул, т.е. исчисление предикатов первого порядка является неразрешимым. Однако если некоторая формула исчисления предикатов общезначима, то существует процедура для проверки ее общезначимости, т.е. исчисление предикатов можно назвать полуразрешимым.Наиболее известными методами доказательства теорем являются метод резолюции и обратный метод.
Приведем пример записи некоторого факта в виде формулы исчисления предикатов:
ДАТЬ (МИХАИЛ, ВЛАДИМИРУ, КНИГУ);
(∃ x)( ЭЛЕМЕНТ (x, СОБЫТИЕ-ДАТЬ) ˄ ИСТОЧНИК (x, МИХАИЛ) ˄ АДРЕСАТ (x, ВЛАДИМИР) ˄ ОБЪЕКТ (x, КНИГА)).
Здесь описаны два способа записи одного факта: «Михаил дал книгу Владимиру».
Основным достоинством использования исчисления предикатов в качестве модели представления знаний является наличие единообразной формальной процедуры доказательства теорем. Однако высокая степень единообразия влечет за собой и основной недостаток данного подхода — сложность использования при доказательстве эвристик, отражающих специфику конкретной проблемной среды. Указанный недостаток особенно важен при построении экспертных систем, вычислительная мощность которых в основном определяется знаниями, характеризующими специфику проблемной среды. К другим недостаткам формальных систем следует отнести их монотонность,отсутствие средств для структурирования используемых элементов и недопустимость противоречий.
Стремление устранить недостатки формальных систем при их использовании в качестве моделей представления привело к появлению семиотических систем. Семиотическая система формально задается восьмеркой S = (B,F, A, R, Q(B),Q(F), Q(A), Q(R)).Здесь первые четыре компонента те же, что и в определении формальной системы (см. выше), а остальные компоненты — правила изменения первых четырех компонентов под влиянием накапливаемого в базе знаний интеллектуальной системы опыта о строении и функционировании сущностей в данной проблемной среде.
Мы опустим подробное описание логических моделей, т.к. исчисление предикатов 1-го порядка в промышленных экспертных системах практически не используется в силу того, что они предъявляют очень высокие требования и ограничения к предметной области.