
- •Министерство образования и науки Российской Федерации
- •Данные и знания. Основные определения.
- •Особенности знаний. Переход от Базы Данных к Базе Знаний.
- •Контрольные вопросы
- •Модели представления знаний
- •Связи типа «часть—целое» («класс—подкласс», «элемент—множество»,...);
- •Контрольные вопросы
- •Классификация экспертных систем
- •Коллектив разработчиков
- •Технология проектирования и разработки эс
- •Технология быстрого прототипирования
- •Контрольные вопросы
- •Основные теоретические сведения
- •Операции над фактами
- •Работа с базой правил. Правила
- •Функции для манипулирования данными. Определение функций
- •Gui-интерфейс clips
- •Контрольные вопросы
- •2. Автоматизация доказательства в логике предикатов
- •Метод резолюций в исчислении высказываний
- •Правило унификации в логике предикатов
- •Метод резолюций в исчислении предикатов
- •Применение языка clips
- •Применение нечёткой логики в экспертных системах
- •Контрольные вопросы
- •Литература Основная литература
- •Рыбина, г.В. Основы построения интеллектуальных систем: учебное пособие. / г.В. Рыбина. — м.: инфра-м, 2010. — 431 с. — Режим доступа:
- •Дополнительная литература
- •Периодическая литература
- •Интернет-ресурсы
Применение нечёткой логики в экспертных системах
Предпосылкой разработки теории нечетких множеств является принцип несовместимости, согласно которому сложность системы и точность, с которой ее можно описать традиционными математическими методами, по своей сути противоречивы друг другу.
Методы нечеткой логики позволяют строить логико-лингвистические модели, отражающие общую смысловую постановку задачи, используя качественные представления соответствующие "человеческим" способам рассуждений и принятия решений.
Рассмотрим основные
понятия теории нечетких множеств [3.3 –
3.20]. Пусть А – некоторое
подмножество универсального множества
Е, а х – элемент множества Е. В обычной
(четкой) теории множеств функция
принадлежности элемента х подмножеству
А может принимать два значения:
=
1, если х
А и
=
0, если х
А. В теории нечетких множеств функция
принадлежности элемента х подмножеству
А может принимать любые значения на
отрезке [0, 1] т.е.
[0, 1], при этом подмножество А называют
нечетким.
Рассмотрим поясняющий пример.
Пусть Е=R1– множество действительных чисел, тогда нечеткие множества: “большой отрицательный”, “приблизительно нулевой”, “большой положительный” могут быть определены функциями принадлежности, приведенными на рис. 3.1.
Замечание. В виду сложившихся традиций в рассматриваемой теории вместо термина “нечеткое подмножество” используют термин “нечеткое множество”.
Рис. 3.1. Функции принадлежности нечетких множеств:
“большой отрицательный” (N), “приблизительно нулевой” (ZE),
“большой положительный” (P)
Для определения вида функций принадлежности разработаны различные экспертные методы. В ряде случаев используют типовые формы функций принадлежности, тогда методом экспертных оценок определяется тип функций принадлежности и их параметры.
Приведем некоторые типовые виды функций принадлежности.
Кусочно-линейные функции принадлежности могут описываться уравнениями:
(3.1а)
(3.1б)
(3.1в)
На рис. 3.2 приведен
вид графиков функций принадлежности
а) – (3.1б), б) – (3.1а) и в) – (3.1в) соответственно,
при
и
.
Рис. 3.2. Кусочно-линейные функции принадлежности
Показательные (Пуассона) функции принадлежности описываются уравнениями:
(3.2а)
(3.2б)
(3.2в)
На рис. 3.3 приведен
вид графиков функций принадлежности
а) – (3.2б), б) – (3.2а) и в) – (3.2в) соответственно,
при
и
.
Рис. 3.3. Показательные функции принадлежности
Гауссовы функции принадлежности описываются уравнениями:
(3.3а)
(3.3б)
(3.3в)
На рис. 3.4 приведен
вид графиков функций принадлежности
а) – (3.3б), б) – (3.3а) и в) – (3.3в) соответственно,
при
и
.
Рис. 3.4. Гауссовы функции принадлежности
По аналогии с обычной теорией множеств в теории нечетких множеств вводятся логические операции над множествами [3.7, 3.20 - 3.25].
Пусть А и В – нечеткие множества на универсальном множестве Е.
1. Равенство: А = В.
А и В равны,
если
=
2. Дополнение
(отрицание):
Обычно
принимают, что операция, осуществляемая
над функцией принадлежности при
нахождении дополнения
=
должны
обладать свойствами: 1)n[0]
= 1 иn[1] = 0; 2)n[]
– невозрастающая функция.
Чаще всего функция дополнения определяется следующим образом:
,
очевидно в этом
случае А = В и В = А.
3. Пересечение:
– наибольшее нечеткое подмножество,
содержащее одновременно А и В.
Обычно функции принадлежности операции пересечения определяются в классе Т-норм, удовлетворяющих следующим свойствам:
1)
;
;
– ограниченность;
2)
,
если
и
– монотонность;
3)
– коммутативность;
4)
– ассоциативность.
Простейшие примеры операции пересечение:
(3.4)
(3.5)
(3.6)
Более сложным примером является:
.
(3.7)
При
выражение (3.7) совпадает с (3.4), при
совпадает с (3.5) и при
совпадает с (3.6).
4. Объединение
– наименьшее нечеткое подмножество,
включающее как А так и В.
Обычно функции принадлежности операции объединения определяют в классе Т-конорм (называемых также S-нормами).
Определение Т-конорм основано на соотношении:
(3.8)
T-конормы удовлетворяют следующим свойствам:
1)
;
;
– ограниченность;
2) свойства аналогичные свойствам 2- 4 для Т-норм.
Простейшими примерами операции объединения являются:
(3.9)
(3.10)
(3.11)
Более сложным примером является:
.
(3.12)
Выражение (3.12) – аналог выражения (3.7) для Т-норм.
При
выражение (3.12) совпадает с (3.4), при
совпадает с (3.10) и при
совпадает с (3.11).
Иногда функции
принадлежности операций пересечения
и объединения определяют операторами
более сложными, чем Т-нормы и Т-конормы.
В качестве примера приведем два варианта
так называемого
-оператора:
(3.13)
(3.14)
Очевидно, что при
0
,
а при
1
Применение различных видов операторов дополнения, объединения и пересечения, позволяет учесть разнообразные смысловые оттенки соответствующих им связок «НЕ», «И», и «ИЛИ» [3.7, 3.21 - 3.25].
Отметим, что применение операций minиmax(см. выражения (3.4) и (3.9)) в качестве пересечения и объединения позволяет для нечетких множеств сохранить большинство свойств, известных из теории обычных множеств. В частности, в этом случае для нечетких множеств выполняются следующие свойства.
Пусть А, В, С – нечеткие множества, тогда:
–коммутативность;
–ассоциативность;
–идемпотентность;
–дистрибутивность;
AÈÆ = A, где Æ - пустое множество, т.е.
при
;
AÇÆ = Æ;
AÇE = A, где E – универсальное множество, на котором определено А;
AÈE = E;
–теоремы де Моргана.
В отличие от четких множеств, для нечетких множеств в общем случае:
A
ǹ
Æ,A
È
¹E
Рассмотрим понятия нечеткой и лингвистической переменных, используемые при описании объектов и явлений с помощью теории нечетких множеств.
Нечеткой переменной
называют набор <
,X,A>, где
–
наименование переменной, Х – область
определения
(универсальное множество), А – нечеткое
множество на Х, описывающие ограничения
на значения нечеткой переменной
(т.е.
).
Если областью определения нечеткой переменной является множество действительных чисел Х = R, то такая нечеткая переменная называется действительным нечетким числом.
Лингвистической
переменной называют набор <,T,X,G,M>, где
–наименование
лингвистической переменной, Т – множество
значений лингвистической переменной
(терм-множество), Х – универсальное
множество (область определения
),G– синтаксическая
процедура, позволяющая оперировать
элементами терм-множества Т, М –
семантическая процедура, позволяющая
превратить каждое новое значение
лингвистической переменной, образуемое
процедуройG, в нечеткую
переменную.
Пример. Лингвистическая переменная “сигнал” определена на множестве действительных чисел Х=R1может принимать значения нечетких чисел «большой отрицательный», «приблизительно нулевой», «большой положительный» с функциями принадлежности, приведенными на рис. 3.1.
Перейдем к рассмотрению нечеткого логического вывода.
Механизм нечеткого логического вывода в своей основе имеет базу знаний, формируемую специалистами предметной области в виде совокупности нечетких продукционных правил:
если
есть А, тоzесть С,
(3.15)
где AиC– это нечеткие
переменные, определяемые соответствующими
функциями принадлежности. Отметим, что
А идентифицируетсяn-мерной
функцией принадлежности (n– размерность вектора).
Часть правила "есть А" называется условием или
предпосылкой, а "тоzесть С" – следствием или заключением.
Отметим, что
предпосылки нечетких правил, обычно
записываются отдельно для каждой
компоненты вектора
,cиспользованием одномерных
нечетких переменных. Например, в форме
Мамдани (Mamdani) нечеткие
продукционные правила имеют вид:
если x1есть А1и еслиx2есть А2и … и еслиxnесть Аn, тоzесть С, (3.15)
при этом, очевидно,
.
Нечеткий логический
вывод – это алгоритм, позволяющий на
основании базы знаний из совокупности
нечетких продукционных правил по
заданному
определить заключение
.
Проиллюстрируем механизм нечеткого логического вывода на примере вычисления значений некоторой функции z=f(x, y). Допустим, имеется база знаний состоящая из двух правил:
П1: если х есть А1иyесть В1, тоzесть С1,
П2: если х есть А2иyесть В2, тоzесть С2,
где Аi,Bi,Ci– нечеткие переменные, определенные
на х, у,zи имеющие функции
принадлежности,
и
соответственно.
Отметим, что рассматриваемая задача легко обобщается на случай произвольного числа входных переменных и продукционных правил.
Требуется: по конкретным значениям х = х0и у = у0определитьz0.
Логический вывод осуществляется за следующие четыре этапа.
Введение нечеткости (фаззификация, fuzzification).
Для четко заданных входных значений рассчитываются принадлежности к отдельным термам.
Для рассматриваемого примера определяют численные значения
Нечеткая импликация. Находят функции принадлежности предпосылок каждого отдельного правила при конкретных входных сигналах х0 и у0.
Затем находят результирующие функции принадлежности каждого правила
Нечеткая композиция. Находится результирующая функция принадлежности всей совокупности правил при входных сигналах х0 и у0.
Приведение к четкости (дефаззификация, defuzzification).
Используется, если необходимо преобразовать выходную функцию принадлежности в конкретное четкое число z0.
Имеется большое количество методов дефаззификации, одним из наиболее распространенных является центроидный:
.
(3.16)
Если в приведенном выше алгоритме логические операции пересечение реализуется как min(см. выражение (3.4)), а объединение какmax(см. выражение (3.9)), то данный алгоритм называется алгоритмом Мамдани (в некоторых источниках алгоритмом Мамдани-Заде) [3.3, 3.4]; его графическая иллюстрация приведена на рис. 3.5.
Рис. 3.5. Иллюстрация работы алгоритма Мамдани
На практике широкое распространение получил алгоритм нечеткого логического вывода Сугэно (Sugeno), в некоторых источниках известный как алгоритм Такаги-Сугено-Канга (TSK) [3.3, 3.4], отличающийся простотой вычислений.
Продукционные правила в рассматриваемом алгоритме имеют вид:
если x1есть А1и еслиx2есть А2и … и еслиxnесть Аn,
то z=f(x1,x2, …xn), (3.17)
где
f(x1,x2, …xn)
– обычная четкая функция.
Принципиальное отличие от алгоритма Мамдани в данном случае касается заключения, которое представляется в форме функциональной зависимости.
Реализация алгоритма Сугэно состоит из трех шагов.
Введение нечеткости (фаззификация). Полностью аналогично алгоритму Мамдани.
Находятся функции принадлежности предпосылок каждого отдельного правила при конкретных входных сигналах
:
, где М – число продукционных правил.
В классическом алгоритме Сугэно логические операции пересечение реализуется как min(см. формулу (3.4)).
Определяется четкое значение выходной переменной:
,
(3.18)
где i– текущий номер правила.
В качестве функции
часто используются полиномы 0-го или
1-го порядка:
.
(3.19)
,
(3.20)
В таких случаях обычно используют названия: алгоритм Сугэно 0-го и 1-го порядка соответственно.
В алгоритме Сугэно 0-го порядка (называемом также упрощенным алгоритмом нечеткого вывода) продукционные правила имеют вид:
если x1есть А1и еслиx2есть А2и … и еслиxnесть Аn, тоz=сi, (3.21)
а значение выходной переменной вычисляется по формуле:
.
(3.22)
Отметим, что алгоритм Сугэно 0-го порядка можно интерпретировать, как частный случай алгоритма Мамдани, когда функции принадлежности заключений правил имеют вид:
(3.23)
Графическая интерпретация алгоритма Сугэно 0-го порядка в случае двух входных переменных и базы знаний из двух продукционных правил приведена на рис. 3.6.
Рис. 3.6. Иллюстрация работы алгоритма Сугэно 0-го порядка
Известно большое число алгоритмов нечеткого вывода, различающихся набором исходных правил, видом функций принадлежности, способами нечеткой импликации и композиции, а также методом приведения к четкости [3.3].