В глубинных знаниях отражается понимание структуры предметной области, назначение и взаимосвязь отдельных понятий (глубинные знания в фундаментальных науках — это законы и теоретические основания). Поверхностные знания обычно касаются внешних эмпирических ассоциаций с каким-либо феноменом предметной области.
Например, для разговора по телефону требуется лишь поверхностное знание того, что, сняв трубку и правильно набрав номер, мы соединимся с нужным абонентом. Большинство людей не испытывает необходимости в глубинных представлениях о структуре телефонной связи, конструкции телефонного аппарата, которыми, безусловно, пользуются специалисты по телефонии.
Отмечается, что большинство экспертных систем основано на применении поверхностных знаний. Это, однако, нередко не мешает достигать вполне удовлетворительных результатов. Вместе с тем, опора на глубинные представления помогает создавать более мощные, гибкие и интеллектуальные адаптивные системы. Наглядным примером может служить медицина. Здесь молодой и недостаточно опытный врач часто действует по поверхностной модели: «Если кашель — то пить таблетки от кашля, если ангина — то эритромицин» и т. п. В то же время опытный врач, основываясь на глубинных знаниях, способен порождать разнообразные способы лечения одной и той же болезни в зависимости от индивидуальных особенностей пациента, его состояния, наличия доступных лекарств в аптечной сети и т. д.
Глубинные знания являются результатом обобщения первичных понятий предметной области в некоторые более абстрактные структуры. Степень глубины и уровень обобщенности знаний непосредственно связаны с опытом экспертов и могут служить показателем их профессионального мастерства.
Жесткие и мягкие знания
Жесткие знания позволяют получать однозначные четкие рекомендации при заданных начальных условиях. Мягкие знания допускают множественные, «размытые» решения и различные варианты рекомендаций (рис. П.16).
Характеристика различных предметных областей по глубине и жесткости дает возможность проследить тенденцию развития интеллектуальных систем.
Рис. П.16. Тенденция развития интеллектуальных систем
Как видно из рисунка, область практического применения интеллектуальных систем все более смещается в сферу задач с преобладанием глубинных и мягких знаний. Такие задачи еще называют трудно формализуемыми. Для них характерна одна или несколько следующих особенностей:
· задача не может быть определена в числовой форме (требуется символьное представление);
· алгоритмическое решение задачи не известно (хотя, возможно, и существует), или не может быть использовано из-за ограниченных ресурсов (памяти компьютера, быстродействия);
· цели задачи не могут быть выражены в терминах точно определенной целевой функции или не существует точной математической модели задачи
Системы, основанные на знаниях, не отвергают и не заменяют традиционных подходов к решению формализованных задач. Они отличаются тем, что ориентированы на решение трудно формализуемых задач. Интеллектуальные системы особенно важны там, где наука не может создать конструктивных определений, область определений меняется, ситуации зависят от контекстов и языковая (описательная) модель доминирует над алгоритмической.
Модели представления знаний
Наиболее распространенными моделями представления знаний являются:
· продукционные системы;
· логические модели;
· фреймы;
· семантические сети.
Продукционные системы
В продукционных системах знания представляются в виде совокупности специальных информационных единиц.
В общем случае продукционная система включает следующие компоненты:
· базу данных, содержащую множество фактов;
· базу правил, содержащую набор продукций;
· интерпретатор (механизм логического вывода) или правила работы с продукциями.
База правил и база данных образуют базу знаний. Факты в базе данных представляют собой краткосрочную информацию и в принципе могут изменяться в ходе работы продукционной системы по мере накопления опыта. Правила являются более долговременной информацией и предназначены для порождения гипотез (новых фактов) из того, что уже известно.
Продукционные системы делят на два типа — с прямыми и обратными выводами. При прямом выводе рассуждение ведется от данных к гипотезам, а при обратном производится поиск доказательства или опровержения некоторой гипотезы. Часто используются комбинации прямой и обратной цепи рассуждений.
Продукции по сравнению с другими формами представления знаний имеют следующие преимущества:
· модульность;
· единообразие структуры (основные компоненты продукционной системы могут применяться для построения интеллектуальных систем с различной проблемной ориентацией);
· естественность (вывод заключения в продукционной системе во многом аналогичен процессу рассуждений эксперта);
· гибкость родовидовой иерархии понятий, которая поддерживается только как связи между правилами (изменение правила влечет за собой изменение в иерархии).
Однако продукционные системы не свободны от недостатков:
· процесс вывода менее эффективен, чем в других системах, поскольку большая часть времени при выводе затрачивается на непроизводительную проверку применимости правил;
· этот процесс трудно поддается управлению;
· сложно представить родовидовую иерархию понятий.
Представление знаний с помощью продукций иногда называют «плоским», так как в продукционных системах отсутствуют средства для установления иерархии правил. Объем базы знаний продукционных систем растет линейно, по мере включения в нее новых фрагментов знаний, в то время как в традиционных алгоритмических системах, использующих деревья решений, зависимость между объемом базы знаний и количеством собственно знаний является логарифмической.
Логические модели
Логические модели представления знаний реализуются средствами логики предикатов.
Предикатом называется функция, принимающая только два значения — истина и ложь — и предназначенная для выражения свойств объектов или связей между ними. Выражение, в котором утверждается или отрицается наличие каких-либо свойств у объекта, называется высказыванием. Константы служат для именования объектов предметной области. Логические предложения или высказывания образуют атомарные формулы. Интерпретация предиката — это множество всех допустимых связываний переменных с константами. Связывание представляет собой подстановку констант вместо переменных. Предикат считается общезначимым, если он истинен на всех возможных интерпретациях. Говорят, что высказывание логически следует из заданных посылок, если оно истинно всегда, когда истинны посылки.
Наиболее простым языком логики является исчисление высказываний, в котором отсутствуют переменные. Любому высказыванию можно приписать значение истинно или ложно. Отдельные высказывания могут соединяться связками И, ИЛИ, НЕ, которые называются булевыми операторами. Основу исчисления высказываний составляют правила образования сложных высказываний из атомарных.
Здесь переменные обозначают логические высказывания, о которых можно сказать, что они истинны или ложны. Логические операторы имеются в большинстве языков программирования. Однако исчисление высказываний — недостаточно выразительное средство для обработки знаний, поскольку в нем не могут быть представлены предложения, включающие переменные с кванторами.
Исчисление предикатов с кванторами (логика предикатов) является расширением исчисления высказываний, в котором для выражения отношений между объектами предметной области могут использоваться предложения, включающие не только константы, но и переменные.
В общем случае модели, основанные на логике предикатов, описываются формальной системой, которая задается четверкой:
М = (Т, Р, А, П),
где Т — множество базовых элементов или алфавит формальной системы; Р — множество синтаксических правил, с помощью которых можно строить синтаксически корректные предложения; А — множество аксиом или некоторых синтаксически правильных предложений, заданных априорно; П — правила продукций (правила вывода или семантические правила), с помощью которых можно расширять множество А, добавляя в него синтаксически правильные предложения.
Главное преимущество логических моделей представления знаний заключается в возможности непосредственно запрограммировать механизм вывода синтаксически правильных высказываний. Примером такого механизма служит, в частности, процедура вывода, построенная на основе метода резолюций. Однако с помощью правил, задающих синтаксис языка, нельзя установить истинность или ложность того или иного высказывания. Причем это распространяется абсолютно на все языки. Высказывание может быть построено синтаксически правильно, но оказаться совершенно бессмысленным.
Логические модели представления и манипулирования знаниями были особенно популярны в 70-х годах. Тогда казалось, что с появлением языков программирования типа ПРОЛОГ процедуры логического вывода в исчислении предикатов будут достаточны для решения всех типов задач в интеллектуальных системах. Вместе с тем, по мере того как в поле зрения исследователей включались все новые интеллектуальные задачи, стало ясно, что говорить о доказательном выводе можно только в небольшом числе случаев, когда проблемная область, в которой решается задача, формально описана и полностью известна. Но большинство задач, где интеллект человека позволяет находить нужные решения, связано с областями, где знания принципиально неполны, неточны, некорректны и характеризуются еще немалым числом характеристик, начинающихся с частицы «не». При таких условиях речь может идти только о правдоподобном выводе, при котором окончательный результат получается лишь с некоторой оценкой уверенности в его истинности. Кроме того, специалисты, работающие в плохо формализованных областях (например, в медицине), рассуждают совсем не так, как представители точных наук. Для них весомым аргументом в пользу принятия какого-либо положения может быть мнение ряда признанных в этих областях авторитетов или, например, сходство доказываемого положения с другим, для которого решение уже известно. Поэтому дальнейшее развитие баз знаний пошло по пути работ в области индуктивных логик, логик «здравого смысла», логик веры и других логических систем, имеющих мало общего с классической математической логикой.
Фреймы
Фрейм чаще всего определяют как структуру данных для представления стереотипных ситуаций. Модель представления знаний на основе фреймов использует концепцию организации памяти, понимания и обучения человека, предложенную М. Минским (1979). Фрейм (дословно — «рамка») — это единица представления знаний, детали которой могут изменяться в соответствии с текущей ситуацией. Фрейм в любой момент может быть дополнен различной информацией, касающейся способов применения данного фрейма, последствий этого применения и т. п.
Структура фрейма состоит из характеристик описываемой стереотипной ситуации и их значений, которые называются, соответственно, слотами и заполнителями слотов.
Имя фрейма:
Имя первого слота, значение первого слота
Имя второго слота, значение второго слота
Имя К-го слота, значение К-го слота
Незаполненный фрейм называется протофреймом, а заполненный — экзофреймом. Роль протофрейма как оболочки в экзофрейме весьма важна. Эта оболочка позволяет осуществлять процедуру внутренней интерпретации, благодаря которой данные в памяти системы не безлики, а имеют вполне определенный, известный системе смысл.
Слот может содержать не только конкретное значение, но и имя процедуры, позволяющей вычислить его по заданному алгоритму, а также одну или несколько продукций (эвристик), с помощью которых это значение определяется. В слот может входить не одно, а несколько значений. Иногда этот слот включает компонент, называемый фасетом, который задает диапазон или перечень его возможных значений. Фасет указывает также граничные значения заполнителя слота.
Как уже отмечалось, помимо конкретного значения в слоте могут храниться процедуры и правила, которые вызываются при необходимости вычисления этого значения. Среди них выделяют процедуры-демоны и процедуры-слуги. Первые запускаются автоматически при выполнении некоторого условия, а вторые активизируются только по специальному запросу. Если, например, фрейм, описывающий человека, включает слоты ДАТА РОЖДЕНИЯ и ВОЗРАСТ и в первом из них находится некоторое значение, то во втором слоте может стоять имя процедуры-демона, вычисляющей возраст по дате рождения и текущей дате и активизирующейся при каждом изменении текущей даты.
Совокупность фреймов, моделирующая какую-либо предметную область, представляет собой иерархическую структуру, в которую фреймы собираются с помощью родовидовых связей. На верхнем уровне иерархии находится фрейм, содержащий наиболее общую информацию, истинную для всех остальных фреймов. Фреймы обладают способностью наследовать значения характеристик своих родителей, находящихся на более высоком уровне иерархии. Эти значения могут передаваться по умолчанию фреймам, находящимся ниже них в иерархии, но если последние содержат собственные значения данных характеристик, то в качестве истинных принимаются именно они. Это обстоятельство позволяет без затруднений учитывать во фреймовых системах различного рода исключения.
Различают статические и динамические системы фреймов. В системах первого типа фреймы не могут быть изменены в процессе решения задачи, а в системах второго типа это допустимо.
О системах программирования, основанных на фреймах, говорят, что они являются объектно-ориентированными. Каждый фрейм соответствует некоторому объекту предметной области, а слоты содержат описывающие этот объект данные, то есть в слотах находятся значения признаков объектов. Фрейм может быть представлен в виде списка свойств, а если использовать средства базы данных, то в виде записи.
Наиболее ярко достоинства фреймовых систем представления знаний проявляются в том случае, если родовидовые связи изменяются нечасто и предметная область насчитывает немного исключений. Во фреймовых системах данные о родовидовых связях хранятся явно, как и знания других типов. Значения слотов представляются в системе в единственном экземпляре, поскольку включаются только в один фрейм, описывающий наиболее общие понятия из всех тех, которые содержит слот с данным именем. Такое свойство систем фреймов обеспечивает экономное размещение базы знаний в памяти компьютера. Еще одно достоинство фреймов состоит в том, что значение любого слота может быть вычислено с помощью соответствующих процедур или найдено эвристическими методами. То есть фреймы позволяют манипулировать как декларативными, так и процедурными знаниями.
К недостаткам фреймовых систем относят их относительно высокую сложность, что проявляется в снижении скорости работы механизма вывода и увеличении трудоемкости внесения изменений в родовидовую иерархию. Поэтому большое внимание при разработке фреймовых систем уделяют наглядным способам отображения и эффективным средствам редактирования фреймовых структур.
Семантические сети
Семантическая сеть описывает знания в виде сетевых структур. В качестве вершин сети выступают понятия, факты, объекты, события и т. п., а в качестве дуг сети — отношения, которыми вершины связаны между собой. Так, семантическая сеть, представляющая знания об автомобиле гр. Васильева, показана на рис. П. 17.
Семантические сети часто рассматривают как общий формализм для представления знаний. Частным случаем таких сетей являются сценарии, в которых в качестве отношений выступают каузальные отношения или отношения типа «цель — средство».
Вершины сети соединяются дугой, если соответствующие объекты предметной области находятся в каком-либо отношении. Самыми распространенными являются следующие типы отношений:
БЫТЬ ЭЛЕМЕНТОМ КЛАССА (ЯВЛЯТЬСЯ) - означает, что объект входит в состав данного класса, например: ВАЗ 2106 является автомобилем;
ИМЕТЬ — позволяет задавать свойства объектов, например: жираф имеет длинную шею;
ЯВЛЯТЬСЯ СЛЕДСТВИЕМ — отражает причинно-следственные связи, например: астеническое состояние является следствием перенесенного простудного заболевания;
ИМЕТЬ ЗНАЧЕНИЕ — задает значение свойств объектов, например: пациент может иметь двух братьев.
Как и в системе, основанной на фреймах, в семантической сети могут быть представлены родовидовые отношения, которые позволяют реализовывать наследование свойств от объектов-родителей. Это обстоятельство приводит к тому, что семантические сети приобретают все недостатки и достоинства представления знаний в виде фреймов. Преимущества заключаются в простоте и наглядности описания предметной области. Однако последнее свойство с усложнением семантической сети теряется и, кроме того, существенно увеличивается время вывода. Также к недостаткам семантических сетей относят сложность обработки различного рода исключений.
Дата: 2019-05-28, просмотров: 325.