Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции_дополнит.doc
Скачиваний:
5
Добавлен:
27.04.2019
Размер:
555.52 Кб
Скачать

6. Жесткие и мягкие знания

Жесткие знания позволяют получать однозначно четкие рекомендации при заданных начальных условиях.

Мягкие знания допускают множественные «размытые» решения и различные варианты рекомендаций.

Тенденции развития интеллектуальных систем.

мягкость

мягкие .4

.3 .6

.5

поверхностные глубинные глубина

.1 .2

жесткие

1 – диагностика неисправностей

2 – проектирование устройств

3 – планирование ЧС

4 – медицина

5 – обучение

6 – управление

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

Как видно из рисунка, область практического применения интеллектуальных систем все более смещается в сферу задач с преобладанием глубинных и мягких знаний. Такие задачи называются трудноформализуемыми задачами. Для них характерна одна или несколько из следующих особенностей:

1) задача не может быть определена в числовой форме, требуется символьное представление;

2) алгоритмическое решение задачи неизвестно, хотя возможно и существует, или не может быть использовано из-за ограниченности ресурсов;

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

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

2. Модели представления знаний

Наиболее распространены следующие модели:

1) продукционные системы;

2) логические модели

3) фреймы;

4) семантические сети.

ПРОДУКЦИОННЫЕ СИСТЕМЫ

В продукционных системах знания представляются в виде совокупности специальных информационных единиц, имеющих следующую структуру:

Если А, то В

Левая часть – предпосылка правила, правая – его следствие, которое говорит о том, что надо делать, когда данное продукционное правило сработало, т.е. если выполнилась предпосылка.

В общем случае продукционная система включает в себя следующие компоненты:

1) БД, содержащую множество фактов;

2) базу правил, содержащую множество продукций;

3) интерпретатор (механизм логического вывода) или правила работы с продукциями.

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

Продукционные системы делят на 2 типа:

- с прямыми выводами;

- с обратными выводами.

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

Структура продукционной системы отражается следующим рисунком.

Факты – истинные высказывания. На естественном языке – это повествовательные предложения об объектах или явлениях предметной области.

Если А1, А2 … Аn, то В

Следствие В трактуется как добавление новых фактов в описание текущего состояния предметной области.

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

Пример.

База правил включает 2 следующих правила:

П1 если «намерения – отдых» и «дорога – ухабистая», то «использовать – горы».

П2 если «место отдыха – горы», то «дорога – ухабистая».

Пусть в БД введено:

«намерение – отдых»

«место отдыха – горы»

При первом подходе будем активизировать только правило П2. Активизация правила приведет к выработке нового факта – «дорога ухабистая». При 2-м просмотре правил будем активизировать и первое правило. В результате система выработает следующую рекомендацию: «использовать джип».

В продукционной системе с обратными выводами механизм логического вывода основан на ином принципе.

Пусть задана цель – «использовать джип».

С помощью базы правил необходимо подтвердить или опровергнуть гипотезу.

Введены те же факты:

«намерение – отдых»

«место отдыха – горы»

П1 подтверждает факт «использовать джип». Так как образец «намерение – отдых» уже занесен в БД, то для достижения цели достаточно подтвердить факт «дорога – ухабистая». Если принять этот факт за новую цель, то потребуется правило, подтверждающее этот факт. Исследуем возможность применения правила П2. Условная часть этого правила – истинно правило можно применить. При этом БД пополнится образцом «дорога – ухабистая», и в результате применения П1 подтверждается цель «использовать джип».

Продукционные системы, по сравнению с другими формами представления знаний, имеют следующие преимущества:

1) модульность;

2)единообразие структуры (основные компоненты продукционной системы могут применяться для построения интеллектуальных систем с различной проблемной ориентацией);

3) естественность (вывод заключений во многом аналогичен процессу рассуждений эксперта);

4) гибкость родовидовой иерархии, которая поддерживается только как связи между правилами (изменение правила влечет за собой изменение в иерархии).

Недостатки:

1) процесс вывода менее эффективен, чем в других системах, так как большая часть времени затрачивается на непроизводительную проверку применимость правил;

2) этот процесс трудно поддается управлению;

3) сложно представить родовидовую иерархию понятий.

ЛОГИЧЕСКИЕ МОДЕЛИ

Логические модели реализуются средствами так называемой логики предикатов.

Предикат – функция, принимающая только два значения – «истина» и «ложь» и предназначаемая для выражения свойств объектов и связей между ними.

Выражение, в котором подтверждается или опровергается наличие каких-либо свойств у объекта наз. высказыванием.

Константы логики предикатов служат для именования объектов предметной области.

Логические выражения (или высказывания) образуют атомарные (простейшие) формулы.

Интерпретация предикатов – множество всех допустимых связываний переменных с константами. При этом связывания – подстановка констант вместо переменных.

Высказывание логически следует из заданных посылок. Оно истинно всегда, когда истинны посылки.

Наиболее простым языком логики является исчисление высказываний, в которых отсутствуют переменные. К каждому высказыванию можно приписать значение «истинно» или «ложно». Отдельные высказывания могут соединяться связками «и», «или», «не», которые называются бумейми операторами.

Основу исчисления высказываний составляют правила образования сложных высказываний из атомарных.

Пример сложных высказываний.

А – истинно и В – ложно.

А и В истинно.

А и В – логические высказывания, о которых можно сказать, что они истинны или ложны. Исчисление высказываний – недостаточно выразительное средство для обработки знаний, так как в нем не могут быть представлены выражения, включающие переменные с кванторами.

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

а

б

Предикаты: clear (a), clear (c), ontable (a), ontable (c), on (c,b), cube(a), cube(b), pyram.de(c).

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

М = {Т, Р, А, П}

Т – множество базовых элементов (алфавит)

Р – множество синтаксических правил, на которых можно строить синтаксически корректные предложения

А – множество аксиом или несколько синтаксически правильных предложений, заданных априорно

П – правила продукций (правило вывода или семантическое правило, с помощью которого можно расширить множество А, добавляя в него синтаксически правильные предложения

Главное преимущество логических моделей: возможность непосредственно запрограммировать механизм вывода логически правильных предложений. Однако, с помощью правил, задающих синтаксис языка, нельзя установить истинность или ложность того или иного высказывания. Это распространяется на все языки программирования, реализующие логику предикатов.

Высказывание может быть построено синтаксически правильно, но оказаться совершенно бессмысленным.

Логические модели представления и манипулирования знаний были особенно популярны в 70-х годах 20 века, особенно с появлением языка пролог.

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

Поэтому дальнейшее развитие баз знаний, использующих логические модели, шло по пути работ в области так называемых индуктивных логик, логик «здравого смысла», логик «веры» и др. логических систем, имеющих мало общего с классической логикой.

ФРЕЙМ

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

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

Структура фрейма – характеристика описываемой стереотипной ситуации и их значения, которые называются слотами и заполнителями слотов.

Структура:

(Имя фрейма: Имя слота 1 (значение слота 1); Имя слота 2 (значение слота2); . . . Имя слота N (значение слотаN))

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

В качестве значения слота может быть значение слота более низкого уровня, что позволяет реализовать «принцип матрешки».

Фрейм – структура данных, представляющая стереотипную ситуацию. К каждому фрейму присоединяется несколько видов информации. Часть этой информации о том, как использовать фрейм, другая часть – о том, что можно ожидать далее, еще одна часть – что следует делать, если ожидания не подтвердятся.

Фрейм можно представить в виде своеобразной таблицы.

ИМЯ ФРЕЙМА

Имя слота

Значение слота

Способ получения знания

Присоединяющаяся процедура

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

В качестве значения слота может выступать имя другого фрейма. Так образуются сети фреймов.

Существует несколько способов получения слотом значения во фрейм экземпляре:

1) по умолчанию от фрейма образца;

2) через наследование свойств от фрейма указанного в слоте АКО;

3) по формуле, указанной в слоте;

4) через присоединяющуюся процедуру;

5) явно из диалога с пользователем;

6) из БД.

Важнейшим свойством теории фреймов является так называемое наследование свойств. Это наследование происходит по АКО – связям. A KIND OF (AKO)

Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, т.е. переносятся, значения аналогичных слотов.

ЧЕЛОВЕК

АКО

млекопитающее

умеет

мыслить

РЕБЕНОК

АКО

Человек

Возраст

0 – 15

Рост

50 -180

Любит

сладкое


У ЧЕНИК

АКО

Ребенок

Учится

В школе

Возраст

7 -17

Носит

форму

В сети фреймов на рисунке понятие «ученик» наследует свойства фреймов «ребенок» и «человек», которые находятся на более высоком уровне иерархии. Так, на вопрос «любят ли ученики сладкое», следует ответ «да», так как этим свойством обладают все дети, что указано во фрейме «ребенок».

Наследование может быть частичным, так как возраст учеников не наследуется из фрейма «ребенок», так как указан явно в своем собственном фрейме.

Различают статические и динамические системы фреймов.

В статических системах фреймов фреймы не могут быть изменены в процессе решения задачи, а в динамических системах фреймов этот допустимо.

В системах программирования, основанных на фреймах, говорят, что они являются объектно-ориентированными. Каждый фрейм соответствует некоторому объекту предметной области, а слоты содержат описывающие этот объект данные, т.е. в слотах содержатся значения признаков объекта.

Фрейм может быть представлен в виде списка свойств, а если использовать средства БД, то в виде записи.

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

Во фреймовых системах данные о родовидовых связях хранятся явно как и значения других типов.

Значения слотов представляются в системе в единственном экземпляре, так как включаются только в один фрейм, описывающий наиболее общие понятия из всех тех, которые содержит слот с данным именем. Такое свойство систем фреймов обеспечивает экономное размещение базы знаний в памяти компьютера.

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

Недостатки фреймовых систем: относительно высокая сложность.

СЕМАНТИЧЕСКИЕ СЕТИ

Семантические сети описывают знания в виде сетевых структур. В качестве вершины сети выступают понятия, факты, объекты, события и т.п., а в качестве дуг сети – отношения, которые связывают вершины.

Так, семантическая сеть, представляющая значения об автомобиле некоторого господина Васильева, представлена на рис.

серебристый

цвет

автомобиль

Лексус 430

Вид транспорта

Васильев

человек

кузов

Семантические сети рассматриваются как общие формализованные для представления знаний. Частный случай сетей – сценарий, в котором в качестве отношений выступают причинно-следственные отношения или отношения «цель - средства».

Вершины соединяются дугой, если соответствующие объекты предметной области находятся в каком-либо отношении. Самыми распространенными являются следующие виды отношений:

1) быть элементом класса (являться) – объект входит в состав данного класса;

Лексус 430 является автомобилем

2) иметь – позволяет задавать свойства объектов;

Жираф имеет длинную шею

3) являться следствием – отражает причинно-следственные связи;

4) иметь значение – задает значение свойств объекта.

Как и в системе, основанной на фреймах, в семантической сети могут быть представлены родовидовые отношения, которые позволяют реализовать наследование свойств от объектов – родителей. Это обстоятельство приводит к тому, что семантические сети приобретают все недостатки и достоинства представления знаний в виде фреймов.

Преимущество – простота и наглядность описания предметной области, однако, оно теряется при усложнении структуры семантической сети.

Недостаток семантических сетей - сложность обработки различного рода исключений.

ДРУГИЕ МЕТОДЫ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ

ПРЕДСТАВЛЕНИЕ ЗНАНИЙ ПО ПРИМЕРАМ

Работая с системой такого типа, пользователь задает ей несколько примеров решения задач из актуальной предметной области. На основе этих примеров система самостоятельно строит базу знаний, которая затем применяется для решения других задач.

Знания в такой системе могут храниться в различной форме:

- интенсивная форма, когда пользователь вводит в систему правила операций с атрибутами объектов предметной области, приводящие к правильному решению;

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

Возможно сочетание этих форм.

В результате получается матрица примеров, которая может быть расширена или изменена лишь путем корректировки примеров и дополнением.

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

Недостатки: отсутствие гибкости построения интеллектуальной системы.

Пользователь отстранен от создания базы знаний, следовательно не может контролировать связи между содержащимися в ней понятиями.