ТЕМА 5: Нечеткий вывод знаний (6




























![Пусть R 1 нечеткое отношение (X Y) [0, 1], а R 2 нечеткое Пусть R 1 нечеткое отношение (X Y) [0, 1], а R 2 нечеткое](https://present5.com/presentation/3/4400164_106383111.pdf-img/4400164_106383111.pdf-29.jpg)


























ТЕМА 5: Нечеткий вывод знаний (6 часов)
Основные вопросы: 1. Нечеткий знания. 2. Понятие о нечетких знаниях и целесообразность их применения. 3. Нечеткая и лингвистическая переменные. Функция принадлежности и ее виды. 4. Нечеткий вывод знаний. 5. Этапы нечеткого вывода. 6. Методы приведения к четкости. 7. Современные пакеты прикладных программ для работы с нечеткими знаниями.
Свойством человеческого интеллекта является способность принимать правильные решения при неполной и нечеткой информации. Существует целый класс описаний, оперирующих качественными характеристиками объекта, к примеру: красивая прическа; очень сильный и т. д. Эти характеристики обычно размыты и не могут быть однозначно интерпретированы, однако содержат важную информацию. Кроме того, в задачах, решаемых интеллектуальными системами, приходится пользоваться неточными знаниями, которые не могут быть интерпретированы, как полностью истинные или ложные. Существуют знания, достоверность которых выражается, некоторой , промежуточный цифрой, например 0, 7.
Как не разрушая свойств различности таких знаний представить их формально? Для решения таких проблем американский математик Лотфи Заде предложил формальный аппарат нечеткой (fuzzy) алгебры и нечеткой логики. Позднее это направление получило широкое распространение. (Орловский 1981 г. ; Оверкин 1986 г. ; Яшин 1990 г. ) и положило начало одной из ветвей искусственного интеллекта под названием мягкие вычисления soft computing. Заде ввел одно из главных определений нечеткой логики:
Лингвистическая переменная - это переменная, значение которой определяется набором вербальных, т. е. словесных характеристик некоторого свойства. Приведём пример: лингвистическая переменная ( рост) определяется через набор значений : Карликовый→Низкий→Средний → Высокий → → Очень высокий
Лотфи Заде отмечал - что чрезмерное стремление к точности в современных системах управления привело к тому, что эти системы становятся слишком сложными и неработоспособными, в виду снижения динамической устойчивости. Для решения проблемы мы должны отказаться от таких систем и перейти к нечеткими ( «размытым» ) системам.
ПОНЯТИЕ НЕЧЕТКОГО МНОЖЕСТВА Пусть Е - универсальное множество х – элемент Е R- некоторое свойство Обычное четкое подмножество А универсального множества Е, элементы которого удовлетворяю свойству R определяется, как множество упорядоченных пар: A={ µ(x) / x } где µ(x)- характеристическая функция или функция принадлежности, принимающее значение 1, если х удовлетворяет свойству R и 0 в противном случае. Нечеткое подмножество отличается тем, что функция принадлежности µ(x) может принимать значения не только {0; 1} но и некоторое промежуточное µ=[0, 1]
Примеры записей нечеткого множества: E={x 1, x 2, x 3, x 4, x 5} Пусть А-нечеткое множество для которого µ(x 1)=3, µ(x 2)=0 µ(x 3)=1 µ(x 4)=0, 5 µ(x 5)=0, 9 Тогда А можно представить в виде А=0, 3/х1+0/x 2+1/х3+0, 5/х4+0, 9/х5, где здесь знак + есть знак объединения. Или А={0, 3/х1 ; 0/x 2 ; 1/х3 ; 0, 5/х4 ; 0, 9/х5}
Основные характеристики нечетких множеств Пусть элемент x принадлежит E. А-нечеткое множество, определенное на Е. высота нечеткого множества А - есть sup µ(x), где sup означает четкую верхнюю границу. Нечеткое множество нормально, если его высота равна 1
Нечеткое множество нормально, если его высота равна 1. Если sup µ(x)<1, х принадлежит Е множество субнормально. Если для любого х принадлежащего E, µ(x)=0 то нечеткое множество пустое. Не пустое и sub-нормальное множество можно нормализовать по формуле: µа(x)= µа(x)/ sup µа(x) , где x принадлежит E Нечеткое унимодально, если µ(x)=1, только для одного х из E. Точка перехода- это элементы x, принадлежащие E для которых µа(x)=0, 5.
Примеры нечетких множеств: Пример 1. Пусть Е={0, 1, 2, 3…. . 10}; µ=[0, 1], при этом множество принадлежности непрерывно от 0 до 1. Нечеткое множество “несколько” можно определить следующим образом: “ несколько”=0, 5/3+0, 8/4+1/5+1/6+0, 8/7+0, 5/8 Характеристики: Высота-1 Точки перехода-3, 8 Носитель нечеткого множества ( тех для которых µ(x)>0: 3, 4, 5, 6, 7, 8)
Пример 2 Пусть Е={0, 1, 2, …n…. }; Нечеткое множество “малый” можно определить с помощью формулы следующем образом «малый» (n)=1/(1+(n/10)2) µ
Пример 3 Нечеткое множество «молодой» на универсальном множестве Е = { Иванов, Петров, Сидоров, …} задается с помощью функции принадлежности µ «молодой» (x) на множестве Е` = {1, 2, 3, … 100} (возраст), называемой по отношению к Е функцией совместимости.
Пример 4 Пусть Е={Запорожец, Жигули , Мерседес, Феррари…. . }; E`=[0, ]- универсальное множество (стоимость). Тогда на E мы можем определить нечеткие множество типа “ для бедных”; ” для среднего класса”; “престижные” с функциями принадлежности, показанными на рисунке: µ
Имея эти функции и зная стоимость автомобилей из E` мы тем самым определим на E нечеткие множества с этими же названиями. Так, например нечеткое множество “для бедных” заданное на множестве марок автомобилей выглядит так, как показано на рисунке. µ
Методы построения функции принадлежности нечетких множеств Методы можно разделить на прямые и косвенные. Прямые методы – в них эксперт либо просто задает для каждого x принадлежащее E значения (x) , либо определяет функции совместимости. Прямые методы используют обычно для измеримых понятий ( скорость, время, расстояние) или когда выделяются полярные значения. Для многих практических задач можно выделить набор признаков и для каждого определить полярные значения функции принадлежности: 0 и 1.
Пример. В задаче распознавания лиц можно выделить шкалы, приведенные в таблице. Для конкретного лица А эксперт из приведенной шкалы задает (x) принадлежащее {0, 1}, формируя векторную функцию принадлежности: { (x 1), (x 2), (x 3)} Результаты экспертов усредняются и формируются в функции принадлежности со значениями от 0 до 1 (x) принадлежащее [0, 1]. При прямых методах – групповые прямые методы используются достаточно часто. Признаки 0 1 X 1 Высота лба Низкий лоб Широкий X 2 Длина носа Короткий Длинный X 3 Цвет лица темный светлый
Косвенные методы- определяют значения функции принадлежности в случаях, когда нет элементарных измеримых свойств. Если бы значение функции принадлежности были бы известны, например (x)=w i , i=1…n, то используя метод попарных сравнений можно получить матрицу отношений: А={a(i, j)}, где a(i, j)=wi/wj (метод Саати). На практике эксперт сам формирует матрицу А, при этом диагональные элементы равны 1, а элементы симметричны относительно диагоналям. a(j, i) = 1/a(i, j) В общем случае задача сводится к поиску вектора W , удовлетворяющему уравнению вида: A* W= max*W, где max - наибольшее собственное значение матрицы A. Собственное число находится решением уравнения: |A- *E|=0
Проверим журналы
Также возможно выделение ещё 2 подходов 3. Использование относительных частот по данным эксперимента в качестве значений функций принадлежности, то есть на основе обработке статистических данных. 4. Использования типовых форм функции принадлежности с уточнением их параметров по результатам экспериментов. Часто используются так называемые функции принадлежности в форме (L-R) типа, где L- левая, R-правая. Указывает крутизну 1 и 2 шага. Например, в системе Mat. LAB треугольная функция принадлежгости называется ttimf и выглядит так:
Операции над нечеткими множествами 1. Пересечение: A B- наибольшее нечеткое подмножество, содержащееся одновременно в A и B а b(x)= min ( a(x), b(x)) 2. Объединение: A B - наименьшее нечеткое подмножество, включающее, как A так и B с функцией принадлежности а b(x)= max ( a(x), b(x)) Разность A-B=A∩(не В): µa-b(x)=min(µa(x), 1 -µb(x)) Геометрическая интерпретация этих операций показана на рисунке
Пример Пусть А = 0, 4/x 1+0, 2/x 2+0/x 3+1/x 4 B = 0, 7/x 1+0, 9/x 2+0, 1/x 3+1/x 4 Видно, что A B Если хотя бы одно значение функции принадлежности для множества В было меньше А, то такие множества назывались бы недоменируемыми. В данном случае В доминирует над А. А≠В Ā = 0, 6/x 1 + 0, 8/x 2+1/x 3+0/x 4 A B = 0, 4/x 1+0, 2/x 2+0/x 3+1/x 4 A B = 0, 7/x 1+0, 9/x 2+0, 1/x 3+1/x 4 A-B = 0, 3/x 1+0, 1/x 2+0/x 3+0/x 4
Нечеткая и лингвистическая переменная Эти переменные используются при описании объектов и явлений с помощью нечетких множеств. Нечеткая переменная характеризуется тройкой: <α, X, A>, где α- наименование переменной X- универсальное множество ( область определения α) A- нечеткое множество на Х, описывающие ограничения( то есть µ (х)- значения нечеткой переменной α)
Лингвистической переменной называется набор (кортеж) <β, T, X, G, M>, где β - наименование лингвистической переменной; Т- терм-множество значений лингвистической переменной, представляющее собой наименование нечетких переменных. Областью определения которых является множество X G- синтаксическая процедура, позволяющая оперировать элементами Т, в частности генерировать новые термы (значения), получая расширенные термы- множества лингвистической переменой. M- семантическая процедура, позволяющая превращать каждое новое значение лингвистической переменной, образованное процедурой G в нечеткую переменную, то есть сформировать соответствующее нечеткое множество.
Пример Пусть эксперт определяет толщину выпускаемого изделия с помощью понятий “малая толщина”, ”средняя толщина”, ”большая толщина”, при чем минимальная толщина=10 мм, а максимальная толщина = 80 мм. Формализация такого описания может быть проведена, с помощью лингвистической переменной <β, T, X, G, M> где β, - толщина изделия Т- { малая толщина, средняя, большая} X=[10 мм, 80 мм] G- процедура образования новых термов с помощью связок и или и модификаторов типов (“очень”, ”не”, ”слегка” и так далее) М – процедура задания на Х=[10, 80] нечетких подмножеств A 1 - “малая толщина” A 2 - “средняя толщина” A 3 - “большая толщина”, а также нечетких множеств для термов из G(T) в соответствии с правилами трансляции связок «И» , «ИЛИ» , «ОЧЕНЬ» и др.
На рисунках показаны функции принадлежности А 1, А 2, А 3 и А 4 (малая и средняя толщина)
Нечеткие отношения. Свертка двух нечетких отношений Пусть Е=Е 1 x Е 2 x … x Е n – прямое произведение универсальных множеств, у которых М=[0; 1] Нечеткое n-арное отношение - определяется как нечеткое подмножество R на E, принимающее свое значение в M. Пусть X = {x 1, x 2, x 3}, Y = {y 1, y 2, y 3, y 4}, M = [0; 1] Нечеткое отношение R, обозначаемое как R = X R Y может быть задано таблично: y 1 y 2 y 3 y 4 x 1 0 0 0, 1 0, 3 x 2 0 0, 8 1 0, 7 x 3 1 0, 5 0, 6 1
Нечеткое отношение можно задать аналитически Пусть X=Y=(-∞; +∞), то есть множество всех действительных чисел Отношения x>>y можно задать функцией принадлежности
Пусть R 1 нечеткое отношение (X Y) [0, 1], а R 2 нечеткое отношение (Y Z) [0, 1]. Тогда нечеткое отношение между X и Z, обозначаемое R 1○R 2, определяемое через R 1 и R 2 выражением µ R 1○R 2(X, Z)= Vy[ R 1(x, у) R 2(y, z)] называется max-min композицией или max-min сверткой отношений R 1, R 2 Рассмотрим пример, представленый на следующем слайде:
R 1 y 2 y 3 R 2 z 1 z 2 z 3 z 4 x 1 0, 1 0, 7 0, 4 y 1 0, 9 0 1 0, 2 y 2 0, 3 0, 6 0 0, 9 x 2 1 0, 5 0 y 3 0, 1 1 0, 6 0, 5 R 1○R z 1 z 2 z 3 z 4 2 x 1 0, 3 0, 6 0, 1 0, 7 x 2 0, 9 0, 5 1 0, 5
При этом: µR 1○R 2(х1, z 1)= =[ R 1(x 1, у1)Λ R 2(y 1, z 1)]V[ R 1(x 1, у2)Λ R 2(y 2, z 1)]V V[ R 1(x 1, у3)Λ R 2(y 3, z 1)] = = (0, 1Λ 0, 3)V(0, 7Λ 0, 3)V(0, 4Λ 0, 1) = =0, 1 V 0, 3 V 0, 1=0, 3 µR 1○R 2(х1, z 2)=(0, 1Λ 0)V(0, 7Λ 0, 6)V(0, 4Λ 1)= =0, 1 V 0, 6 V 0, 4=0, 6 и так далее.
Нечеткая импликация Даны обыкновенные «четкие» высказывания вида р = «x есть A» , q= «y есть B» , тогда импликацией в четкой логике назовем предложение: “Если p, то q”, которое ложно тогда и только тогда, когда р истинно, а q ложно, импликацию можно представить логической формулой: Таблица истинности для импликации имеет вид: p q p q 1 1 1 0 0 1 0 0
Нечеткая импликация - имеет тот же смысл, только степень истинности может принимать любые значения в интервале [0; 1]. Будем считать, что заданы универсальные множества X и Y. Под способом определения нечеткой импликации “если А, то В”, где А и В – нечеткие множества на X и Y соответственно, будем понимать способ задания нечеткого отношения R на X*Y, соответствующее данному высказыванию. Такое отношение можно задавать по-разному, поэтому для математического представления нечеткой импликации предложено большое количество формул, ассоциируемых с фамилиями авторов, например: Larsen: R(x, у) = A(x)* B(y); Lukasiewicz: R(x, у)=min{1, 1 - A(x) + B(y)}; Mamdani: R(x, у)=min{ A(x), B(y)}
Нечеткие выводы В обычной логике выводы делаются в следующей последовательности: предпосылка: у=у0 факт х=х0 следствие: y 0=f(x 0). Аналогично проводятся и операции с нечеткими понятиями, используемыми в разных экспертных системах, имеющих в своей основе базу знаний, формируемую экспертами в виде совокупности нечетких правил, вида : П 1: если х есть А 1, тогда у есть В 1 П 2: если х есть А 2, тогда у есть В 2, где х – входная переменная, у – переменная вывода, Аi, Bi – нечеткие множества, определенные соответственно на Х и У. Механизм нечеткого вывода можно представить в виде аналогичном, приведенному для четкой логики. Предпосылка: правила П 1, П 2. факт х=А` Следствие: y=В`.
Рассмотрим более детально нечеткие выводы. Знания эксперта А→В отражают нечеткое причинное отношение предпосылки заключения, поэтому его можно назвать нечетким отношением и обозначить через R (R=A→В). Отношение R можно рассмотреть как нечеткое подмножество прямого произведения Х*У полного множества предпочтений Х и заключений У. Таким образом, процесс получения нечеткого результата вывода В’ с использованием данного наблюдения А’ и знания А→В можно представить в виде: B’ = A’○R=A’○(А→В)
Операция логического вывода для нечетких знаний осуществляется за 4 этапа: 1 Этап: Введение нечеткости (фазификация). Функции принадлежности, определенные на входных переменных применяются к их фактическим значениям для определения степени истинности каждой предпосылки каждого правила. 2 Этап: Нечеткая импликация. Вычисленное значение истинности предпосылок для каждого правила применяется к заключениям каждого правила. Это приводит к одному нечеткому подмножеству, которое будет назначено каждой переменной вывода для каждого правила.
3 Этап: Композиция. Все нечеткие подмножества, назначенные каждой переменной вывода (во всех правилах) объединяются вместе, чтобы формировать одно нечеткое подмножество для каждой переменной вывода. При этом используются операции V и Λ (max и min). 4 Этап: приведение к четкости (дефазификация). Он используется когда необходимо преобразовать нечеткий набор выводов в четкое число.
Первый самообучающийся робот
ПРИМЕР Пусть некоторая система описывается нечеткими правилами : П 1: если х есть А 1 и у есть В 1, тогда z есть C 1 П 2: если х есть А 2 и у есть В 2, тогда z есть C 2 где x, y-имена входных переменных, z - имя переменной вывода, A 1, B 1, C 1, A 2, B 2, C 2 – заданные функции принадлежности. Необходимо определить четкое значение z 0 на основе этих правил и четких входных значений переменных x 0 y 0.
Алгоритм Мамдани: 1. Введение нечеткости: находиться степень истинности для предпосылок каждого правила. A 1(x 0) B 1(y 0) A 2(x 0) B 2(y 0) 2. Нечеткий вывод. Находиться уровни отсечения для предпосылок каждого из правил. α 1=А 1(x 0) B 1(y 0), α 2=А 2(x 0) B 2(y 0), Затем находятся усеченные функции принадлежности: С 1′(z)= α 1 C 1(z) С 2′(z)= α 2 C 2(z)
3. Композиция с использованием операции «максимум» происходит объединение найденных усеченных функций, что приводит к получению четкого вывода с функцией принадлежности: µ∑(z)=C(z)= С 1′(z)VС 2′(z) 4. Дефазификация, например, центроидным методом для получения z 0.
Геометрическая интерпретация алгоритма Mamdani min
Алгоритм Tsukamoto: 1 этап: как и в алгоритме Mamdani 2 этап. Находят уровни отсечения α 1 и α 2, а затем посредством решения уравнений α 1= С 1(z 1) α 2= С 2(z 2) 3 этап. Определяются четкео значение переменной вывода по формуле: Z 0=( α 1*z 1+ α 2*z 2)/ (α 1+ α 2), что представляет собой дискретный вариант центроидного метода: z 0 = Σ( α i* z i)/ Σ α i
ПРИМЕР Пусть имеем: A 1(x 0)=0, 7; A 2(x 0)=0, 6 B 1(y 0)=0, 3; B 2 (y 0)=0, 8 α 1=min(A 1(x 0)=0, 7; B 1(y 0)=0, 3)=min(0, 7; 0, 3)=0, 3 α 2=min(A 2(x 0)=0, 7; B 2 (y 0)=0, 8)=min(0, 6; 0, 8)=0, 6 Пусть в результате решения уравнений С 1(z 1)=0, 3; С 2(z 2)=0, 6 найдены значения z 1=8 и z 2=4. Тогда четкое значение выхода: z 0= (8*0, 3+4*0, 6) / (0, 3+0, 6) = 5, 3
Алгоритм Sugeno : Этот алгоритм использует набор правил в следующей форме : П 1: если x есть А 1 и y есть В 1, тогда Z 1 =a 1 *x+b 1*y П 2: если x есть А 2 и y есть В 2, тогда Z 2=a 2*x+b 2*y 1 этап - также как в алгоритме Mamdani 2 этап. Находят α 1 = А 1(х0)ΛВ 1(у0), α 2=А 2(х0)ΛВ 2(у0) и индивидуальные выходы правил: z 1*=a 1*x+b 1*y, z 2*=a 2*x+b 2*y 3 этап. Определяется четкое значение переменной вывода: z 0 = (α 1 z 1*+ α 2 z 2*)/(α 1+ α 2)
Алгоритм Larsen : В алгоритме Larsen нечеткая импликация моделируется с использованием оператора умножения. 1 этап – как в алгоритме Мамдани. 2 этап. Как и в Мамдани находят α 1=А 1(х0)ΛВ 1(у0), α 2=А 2(х0)ΛВ 2(у0), а затем частные нечеткие подмножества α 1 С 1(Z) и α 2 С 2(Z) 3 этап. Находят итоговое нечеткое подмножество с функцией принадлежности μΣ=С(Z)=(α 1 С 1(Z) V α 2 С 2(Z)). 4 этап. Производится приведение к четкости одним из методов. Графическая интерпретация показана на рисунке:
Методы приведения к четкости 1. Центроидный метод Для непрерывного варианта: Ω-область под кривой Для дискретного варианта: 2. Метод 1 -ый максимум. Четкая величина переменной вывода находится как наименьшее значение, при котором достигается максимум итогового нечеткого множества. Z 0= min{Z/C(Z)=max C(Z)}
3. Средний максимум Четкое значение берется как абсцисса точки середины области, где функция принадлежности достигает своего максимума. Графические иллюстрации к методам 1 -ый максимум и средний максимум.
4. Критерий максимума. Четкое знание выбирается произвольно среди множества элементов, доставляющих максимум C(Z). 5. Высотная дефазификация. Элементы области определения Ω, для которых значения функции принадлежности меньше, чем некоторый уровень α в расчет не принимаются, а для оставшихся значений применяется центроидный метод.
Нисходящие нечеткие выводы Рассмотренные до сих пор нечеткие выводы являются восходящими – от предпосылок к заключению. В современных диагностических экспертных нечетких системах применяются нисходящие нечеткие выводы- от результата к причинам. Рассмотрим пример диагностики неисправности автомобиля. Введем переменные: Х 1 – неисправность аккумулятора, Х 2 – отработка машинного масла, У 1 – затруднение при запуске, У 2 –ухудшение цвета выхлопных газов, У 3 –недостаток мощности.
Между x i и y j существуют нечеткие причинные отношения r ij=x i→y j , которые можно представить в виде некоторой матрицы R с элементами rij [0; 1]. Конкретные входы (предпосылки) x i и выходы (заключения) y j можно рассматривать как нечеткие множества А и В на пространстве Х и У. Отношения этих множеств можно обозначить как В=А°R, где ° - обозначает композицию нечетких выводов. В данном случае направление выводов является обратным к направлению выводов для правил, то есть в случае диагностики заданная матрица R(знания эксперта), наблюдаются выходы В (симптомы) и определяются входы А (факторы).
Пусть знания эксперта автомеханика имеют вид: В результате осмотра автомобиля его состояние можно оценить так: В = {0, 9/у1, 0, 1/у2, 0, 2/у3}. Требуется определить причину такого состояния: А = {а 1/х1, а 2/х2}. Отношения нечетких множеств можно представить в виде [0, 9 0, 1 0, 2] = [а 1 а 2] °
Либо транспонируя в виде нечетких векторов столбцов При использовании макси минной композиции соотношение имеет вид При решении данной системы заметим что в 1 -м уравнении 2 -й член правой части не влияет на него поэтому Из второго уравнения получим Полученные решения удовлетворяют и 3 -му уравнению. Значение функции принадлежности a 1 принимает большее значение, чем значение a 2 , поэтому принимаем решение, что лучше заменить аккумулятор (т. к. a 1 соответствует x 1).
Целесообразность применения систем нечеткой логики Системы с нечеткой логикой целесообразно применять в следующих случаях: - для сложных процессов, когда нет простой математической модели; - если экспертные знания об объекте или о процессе можно сформулировать только в лингвистической форме; - требуемый результат может быть получен каким-либо другим стандартным путем; - когда для объекта или процесса уже найдена адекватная и легко исследуемая математическая модель.
Основным недостатком систем с нечеткой логикой является то, что: а) исходный набор постулированных нечетких правил формулируется экспертом - человеком и может быть неполным и/или противоречивым; б) вид и параметры функции принадлежности, описывающие входные и выходные переменные, выбираются субъективно и могут не в полне отражать реальную действительность.

