Продукционная логикаx

advertisement
Этап 2. Разработка продукционной экспертной системы
с нечёткой логикой .
Занятие 3. Постановка задачи проектирования . Нечёткая логика.
Реализация нечёткой логики в инструментальной системе Guru (4 часа).
Цель занятия: Ознакомиться с основными принципами построения продукционных
экспертных систем с нечёткой логикой, ознакомиться с интерфейсом и функциональными
возможностями инструментальной системы Guru в нечёткой логике, получить задания на
создание и исследование продукционной экспертной системы, изучить общие требования
, предъявляемые к интерфейсу .
Данные и знания в ЭС редко бывают абсолютно точными и достоверными.
Применяются различные формализмы для описания неопределённости [1-5].
Назовём высказывание неточным, если его истинность (или ложность) не может
быть установлена с определённостью. Основополагающей моделью оценки неточности
является вероятностная модель. Логический вывод с использованием неточных
высказываний называется неточным выводом, а модели знаний, использующие неточные
высказывания, называется неточными знаниями.
Для работы с неточными знаниями необходимо на операциях неточного вывода
ввести функцию пересчёта мер неточности:
a) для предпосылок (левой части);
b) для следствия (правой части);
Обычно предпосылка (левая часть правила) состоит из некоторых высказываний с
мерой неточности p1, p2, …pn . Обычная мера неточности предпосылок p=f(p1, p2, …pn) .
Следствие, в свою очередь, является некоторым высказыванием, неточно следующим из
предпосылки. Для оценки неточности вывода вводится мера неточности правила r .
Таким образом, мера неточности логического вывода (следствие) y=h(r,p) . В отличие от
точных
систем
логического
вывода,
когда
путь
вывода
(последовательность
использования высказываний в предпосылках) не имеет значения, здесь это имеет
значение и результат должен получаться разными путями вывода с последующим отбором
на наиболее вероятной гипотезы.
1
Обычно на каждом шаге вывода происходит пересчёт мер неточности. Уже первые
ЭС MYCIN и PROSPECTOR имели механизм неточного вывода с простейшей скалярной
формой представления неточности. Самое слабо место – это предложение о
независимости высказываний в вероятностном смысле.
Это редко выполняется на
практике. В последних ЭС это предположение не используется и для оценки неточности
вводятся интервальные оценки.
В неточном выводе на правилах часто используется стэнфордская теория фактора
уверенности (Люгер, 2003). Теория вводит простые меры доверия и предлагает правила
для подтверждения этих мер в процессе логического вывода (алгебры). Для каждого
отношения меры доверия и недоверия («за» и «против») разделяются (в отличие от
вероятностного подхода, где они жёстко связаны). Пусть МВ(Н/Е) – мера уверенности в
гипотезе Н при заданном свидетельстве Е, а МD(Н/Е) – мера неуверенности. Считаем, что
при равенстве 0 какой-либо меры другая может изменяться от 0 до 1. Тогда их можно
объединить через фактор уверенности:
CF(H/E) = MB(H/E)-MD(H/E).
С приближением CF к 1 усиливается доверие к гипотезе, к -1 – недоверие. Если
фактор уверенности близок к 0, то это означает, что меры «за» и «против» одинаково
сильны, т.е. доказательств в пользу гипотезы мало. В системе Guru принята другая шкала
для фактора уверенности : от 0 до 100. Нетрудно понять, что -1 здесь соответствует 0, +1 –
100, а 0 соответствует 50.
РАБОТА С НЕЧЕТКОЙ ЛОГИКОЙ В СИСТЕМЕ GURU.
Общие сведения
В системе GURU одна переменная может принимать несколько значений с
различными факторами уверенности. Для обозначения фактора уверенности вводится
специальный коэффициент CF, который принимает значения от 0 до 100. Фактор
уверенности присваивается в том случае, если переменная является нечеткой и ее
значение недостаточно четко определено.
Одна и та же переменная может иметь до 255 значений с разными факторами
уверенности. Переменной можно присваивать различные типы значений с одинаковыми
или
различными
факторами
уверенности.
Константы
принадлежность, их фактор уверенности равен 100.
2
имеют
строгую
типовую
Выражения — это комбинация операторов, переменных и констант. Все
переменные и константы в выражении должны быть одного типа. Выражение может быть
символьным, числовым, логическим и неизвестным.
Строковые, числовые и логические выражения могут иметь фактор уверенности, то
есть быть нечеткими. Таким образом, результатом вычисления выражений может быть
несколько значений с различными факторами уверенности. Чтобы определить фактор
уверенности выражения, необходимо определить факторы уверенности переменных и
выбрать алгебру вычисления нечеткого выражения. Для того, чтобы задать алгебру
вычисления уверенности выражения, необходимо задать значения для двух переменных
среды: Е.CFJO, Е.CFCO.
Кроме выбора алгебры вычисления выражений, в системе GURU возможно
задавать
способ
вычисления
фактора
уверенности
нечетких
переменных
при
срабатывании в процессе консультации правил, присваивающих этим переменным
значения. За это отвечает двухсимвольная строковая переменная среды Е.CFVA.
Алгебры факторов уверенности для переменной K.CFJO
Вообще, значение Е.CFJO указывает, каким образом система GURU вычисляет
общий фактор уверенности для:

выражения отношений;

логического выражения (т.е. посылки правила);

численного выражения и строчного выражения;

знака "= —" исключающего назначения нечеткой переменной.
Предположим, что a и b — это два фактора уверенности, соединенные в один
фактор, на основе значения Е.CFJO. Результирующий фактор уверенности приведен в
таблице 1.
Таблица 1 — Методы вычисления фактора уверенности на основе значения Е.CFJO
Значение Е.CFJO
Описание
Метод вычисления
M
Минимальное значение
min (CFa, CFb)
P
Произведение
СFa* CFb/ 100
A
Среднее значение
1
(min( СFa, CFb)+ СFa*CFb/100)
2
3
Баланс
B
СFa*CFb/100(2- max( СFa, CFb)/100)
Из этих четырех методов минимум всегда будет в результате давать наивысший
фактор уверенности, а произведение самый низший. Среднее значение — это среднее
между этими двумя методами, а баланс располагается между минимумом и
произведением. Если max (а, b) = 50, то метод баланса в результате дает то же самое, что и
среднее значение. Если max (а, b) < 50, то результат баланса будет чуть-чуть ближе к
результату произведения. Если тах(а, b) >50, то результат баланса приближается к
результату минимума. Таким образом, если имеется высокий фактор уверенности, то
результат баланса приближается к минимуму.
В противоположность этому, если высокий фактор уверенности отсутствует, то
результат баланса ближе к произведению.
Если через Е.CFJO соединяются больше двух факторов уверенности, то результаты двух
предельных методов вычисления (минимум и произведение) не зависят от порядка
объединения этих факторов. Например, объединение с с результатом а и b дает тот же
результат, что и объединение b с результатом а и с. Порядок вычисления может влиять на
результат только в случае использования методов вычисления среднего значения и
баланса, но эти результаты будут всегда располагаться между предельными результатами
(минимум и произведение) .
Алгебры факторов уверенности для переменной Е.CFCO
Обычно
значение
Е.CFCO
указывает,
каким
образом
GURU
вычисляет
подтверждающий фактор уверенности для:

логического выражения (например, посылка правила) ;

дополнительного назначения (+=) нечеткой переменной.
это факторы уверенности, соединенные в один фактор на основе значения Е.CFCO.
Результирующий фактор уверенности приведен в таблице 2.
Таблица 2 — Методы вычисления фактора уверенности на основе значения Е.CFСO
Значение
Описание
Метод вычисления
Е.CFСO
M
Максимальное
max (CFa, CFb)
значение
4
P
Вероятностная сумма
СFa+CFb - СFa*CFb/100
A
Среднее значение
1
((max( СFa, CFb)+(CFa+ СFb-СFa*CFb/100)
2
B
Баланс
max(СFa,CFb)+min(СFa, CFb)(1- CFa/100)(1-CFb/100)
Из четырех методов низший фактор уверенности всегда методов максимумов, а
вероятностная сумма всегда имеет в результате высший фактор уверенности. Среднее
значение располагается посредине этих методов. Остаток также занимает место
вероятностной суммой.
Если имеется первоначальный высокий фактор уверенности, то результат баланса
сдвигается ближе к максимуму, чем к вероятностной сумме. А если высоких показателей
нет, то этот результат наоборот сдвигается к сумме вероятностей.
Если через Е.CFCO соединяются больше двух факторов уверенности, то
результаты
двух
предельных
методов
вычисления
(максимальное
значение
и
вероятностная сумма) не зависят от порядка объединения этих факторов. Например,
объединение с с результатом а и b дает тот же результат, что и объединение b с
результатом а и с. Порядок вычисления может влиять на результат только в случае
использования методов среднее значение и баланс, но эти результаты будут всегда
располагаться
между
предельными
результатами
(максимальных
значений
и
вероятностной суммы).
Оценка уверенности логических выражений
Логическое выражение может объединять с помощью логических операторов AND,
OR, NOT, XOR результаты операций отношения.
Фактор уверенности для составного логического выражения определяется прежде
всего путем вычисления значения (TRUE или FALSE) и фактора уверенности для каждого
реляционного выражения данного логического выражения. Общее значение (TRUE или
FALSE) логического выражения определяется обычным способом. Общий фактор
уверенности для логического выражения зависит от:

значений его реляционных выражений;

факторов уверенности его реляционных выражений;

булевых операторов, появляющихся между каждой парой, реляционных
выражений;

методов вычисления способом соединения и подтверждения, указываемых
в значениях переменных Е.CFJO и Е.CFCO.
5
Предположим, что оператор AND (&) находится между парой реляционных
выражений. Если оба выражения являются TRUE, тогда их факторы уверенности
объединяются способом соединения, и, в результате, получается общий фактор
уверенности.
Метод объединения этих факторов уверенности определяется переменной Е.CFJO.
Если одно переменное выражение является TRUE, а другое — FALSE, тогда фактор
уверенности выражения FALSE становится общим фактором уверенности. Если оба
выражения являются FALSE, тогда их факторы уверенности объединяются способом
подтверждения, и, в результате, получается общий фактор уверенности. Метод
объединения этих факторов уверенности определяется переменной Е.CFCO.
Предположим, что оператор OR находится между парой реляционных выражений.
Если оба выражения являются ТRUЕ, тогда их факторы уверенности объединяются
способом подтверждения, и, в результате, получается общий фактор уверенности. Метод
объединения этих факторов уверенности определяется переменной Е.CFCO. Если одно
реляционное выражение является ТRUЕ, а другое — FALSE, тогда фактор уверенности
выражения TRUE становится общим фактором уверенности. Если оба выражения
являются FALSE, тогда их факторы уверенности объединяются способом соединения, и, в
результате, получается общий фактор уверенности. Метод объединения этих факторов
уверенности определяется переменной Е.CF JO.
Если оператор XOR находится между парой реляционных выражений, то их факторы
уверенности вместе влияют на общий фактор уверенности. Используется метод
вычисления соединения, который указывается в переменной Е. СFJO. Поскольку оператор
NOT выполняет операции только над одним реляционным выражением, то в данном
случае не происходит никакого объединения факторов уверенности.
Алгебры факторов уверенности для переменной Е.CFVA
Во время процесса консультации может быть активировано несколько правил.
Возможно, что некоторые из них в результате выдадут одно и то же значение для
определенной переменной. Например, три из всех включенных правил могут иметь
LET URATE =.06 CF Х
в качестве части действий, где достоверность (Х) того, что уровень безработицы равен
6%, может быть для каждого правила различной. Более того, каждое из этих правил может
включаться с различной степенью уверенности (т.е. факторы уверенности их посылок
отличаются друг от друга).
6
GURU объединяет все эти факторы уверенности для вычисления уверенности, при
которой URATE равен шести процентам. Используемый метод вычисления определяется
значением Е.CFVA, если только какой-либо другой метод вычисления не был
специфицирован для URATE в разделе переменной набора правил. В разделе переменной
может использоваться любой из шестнадцати типов вычисления, разрешенный для
Е.CFVA.
Предположим, что аi — это показатель уверенности вычислений GURU для
посылки правила i, а bi; — это фактор уверенности, присвоенный определенному
значению переменной V в действии этого правила. Предположим, что а, — это фактор
уверенности, который GURU вычислила для посылки правила j, а bj— это фактор
уверенности, присвоенный тому же значению V в действии правила j.
GURU вычисляет уверенность для значения V в два этапа.
1) В пределах правила. GURU вычисляет Сi как общую уверенность аi и bi, Cj —
как общую уверенность аj и bj. Если встречались бы правила, которые в результате
давали то же самое значения для V, тогда фактор уверенности каждого вычислялся бы тем
же способом. При вычислении общей уверенности могут использоваться методы: (М)
МИНИМУМ, (В) БАЛАНС, (Р) ПРОИЗВЕДЕНИЕ или (А) СРЕДНЕЕ ЗНАЧЕНИЕ.
2) По правилам. GURU вычисляет фактор уверенности для переменной Vиз Сi и Сj
(и других С, если такие имеются) методом подтверждения. Данный способ вычисления
использует следующие методы: М (максимальное значение), Р (вероятностная сумма), А
(среднее значение) и В (баланс). Этот этап пропускается, если было включено хотя бы
одно правило, дающее в результате определенное значение V.
Встроенные методы вычисления фактора уверенности для значения переменной во время
консультации приведены в таблице 3.
Предпосылка каждого правила состоит из ряда фактов , связанных операциями
конъюнкции и дизъюнкции. Для конъюнкции предлагается брать минимальное значение
фактора уверенности, а для дизъюнкции – максимальное (при проверке на истинность).
Для получения фактора уверенности в заключении объединённый фактор уверенности
получается умножением фактора уверенности посылки на фактор уверенности самого
правила. Это – одна из возможных алгебр подтверждения результата. В Guru используется
16 вариантов алгебр, задавать которые должен эксперт, хорошо знающий предметную
область. Полный набор формул для вычисления факторов уверенности можно найти в
электронной документации. Отметим, что алгебра произведений является самой
пессимистичной и обычно дает заниженные значения фактора уверенности.
7
8
Для фактора уверенности обычно вводится пороговое значение, которое в
Guru берётся равным 20. Значения переменных и выражений с факторами ниже порога не
рассматриваютя . В общем случае переменная в нечёткой логике Guru может принимать
одновременно до 255 значений с разными факторами уверенности.
В инструментальной системе Guru каждой экспертной системе соответствует
свой набор правил. Набор правил в нечёткой логике строится по дереву принятия
решений точно так же, как и для чёткой логики. Создание и редактирование правил
производится в окне процессора правил (рис.10). При определении нового правила ему,
прежде всего, дается имя. Имя правила может содержать до восьми символов, первый из
которых должен быть буквенным. Затем можно определять посылку и заключения
правила.
Посылка правила IF может представлять собой любое логическое выражение. Это
может быть единственное условие, или несколько условий, как составное логическое
выражение. Посылка правила может включать переменные, рабочие переменные
(однозначные, элементы массива, нечеткие), переменные поля, переменные ячейки,
переменные утилиты, переменные среды, функции, числовые, строчные, логические
операторы, оператор над строками +, операторы отношения, булевские операторы.
После определения посылки правила, в части THEN указываются необходимые
действия, если посылка верна. Требуемые действия могут представлять собой
9
последовательность одной или нескольких команд обращения к другим наборам правил,
обработки электронных ведомостей, выполнения процедур, управления реляционной
базой данных, генерации коммерческих графов, управление формами, статического
анализа, общей обработки текста, генерации отчетов в соответствии с требованиями
пользователя.
Кроме имени, посылки и заключения каждое правило может иметь и другие
характеристики (см. предыдущее занятие).
При создании набора правил необходимо обозначить цель. Это просто переменная,
значение которой определяется во время консультации. В нечёткой логике переменная
цели обычно принимает несколько значений с различными факторами уверенности.
В
разделе
INITIAL
указываются
действия,
выполняемые
перед
началом
консультации с набором правил. Эти действия включают вывод стартовой формы и
присвоение значений рабочим переменным и переменным среды.
Задание.
Разработать продукционную экспертную систему с нечёткой логикой с возможностью
задания не менее четырёх алгебр ( задаёт преподаватель). Провести исследования алгебр
с целью выяснения, какая алгебра является наиболее оптимистичной, какая – самой
пессимистичной (дающей минимальные значения факторов уверенности). Предусмотреть
режим эксперта, консультации и выдачу справки. В справке дать краткое описание
функциональных возможностей системы и сведений об авторе и годе разработки,
указания по использованию системы.
В режиме эксперта предусмотреть ввод и редактирование матрицы решений,
настройку параметров (прямая/обратная стратегия вывода, пороговое значение фактора
уверенности ). В режиме консультации предусмотреть выбор алгебры, запросы на ввод
параметров консультации, проведение консультации и, по дополнительному указанию,
выдачу объяснения полученного решения. Объяснение дать по всем активизированным
правилам с формулами расчёта факторов уверенности для выбранной алгебры, значений,
введённых
пользователем,
и
результатов
подстановок
в
формулы.
Результаты
консультации упорядочить по убыванию фактора уверенности.
Пример матрицы принятия решений с нечёткой логикой приведён ниже.
Эксперт задаёт результат принятия решения для сочетаний признаков в виде
нескольких значений с определённым фактором уверенности. В режиме консультации
пользователь вводит все или часть признаков своей ситуации в виде нескольких значений
10
с определёнными факторами уверенности. Например, стаж работы по специальности он
может указать (если он точно не помнит или сомневается) : 7 лет CF=60, 8 лет CF=80, 9
лет CF=30 и т.д. Система в соответствии с выбранной алгеброй производит логический
вывод и оценивает факторы уверенности полученных значений. В данном примере
нечёткость возникает за счёт нечёткости самих правил, задаваемых экспертом, а также за
счёт нечёткости определения значений переменных, задаваемых консультируемым.
Тема: Определение категории при приёме на работу.
Признаки
Категория 1, CF=80
Категория
Категория 2, CF=60
2,
Категория
3,
CF=90
CF=75
Категория 3, CF=70
Категория 4, CF=40
Категория
CF=100
Стаж
>9
6-9
3-5
0-2
Диплом
+
+
+
-
Возраст
30-55
25-45
22-35
18-65
>10
>=1
-
-
Публикации
4,
Содержание занятия.
1.
Внимательно прочитать теоретическое введение и разобраться в постановке задачи
разработки экспертной системы и в нечёткой логике работы с продукциями.
2. Ознакомиться с характеристиками и основными настройками инструментальной
системы Guru при работе с нечёткой логикой.
3. Получить вариант индивидуального задания и ознакомиться с требованиями по
содержанию , порядку оформления и сдачи отчёта по второму этапу лабораторного
практикума.
4. Провести формализацию полученного задания , определив переменные и условия
принятия решения.
5. Домашнее задание: построить дерево принятия решений и по нему набор правил
для консультации с экспертной системой по нечёткой логике.
Контрольные вопросы
1. Дайте определение понятию «нечёткая логика» и сформулируйте постановку
задачи консультации. Какие разновидности алгоритмов вывода решения Вы
знаете?
2.
Какими переменными среды задаётся алгебра работы с нечёткой логикой?
11
3.
4.
Что такое «фактор уверенности» ? Как осуществляется его оценка для правил?
Каковы функциональные возможности инструментальной системы Guru при
работе с нечёткой логикой?
Как оценивается нечёткость логических выражений
12
Download