1 Нижегородский государственный университет им. Н.И. Лобачевского Министерство образования и науки Российской Федерации Факультет вычислительной математики и кибернетики Магистранты 1 года обучения: Ефимов А.С. и Морёнов О.А. Ефимов А.С. и Морёнов О.А. Нижний Новгород, 2004г. Основы нечеткой логики Логико-лингвистические модели Учебно-исследовательская лаборатория Информационные технологии
2 Основы теории нечеткой логики Часть I Всего 19 слайдов
3 Множества, для которых функция принадлежности представляет собой не жесткий порог (принадлежит/не принадлежит), а плавную кривую (часто упрощаемую ломаной линией), пробегающую все значения от нуля до единицы – нечеткие множества (fuzzy sets) Большая часть используемых нами понятий по своей природе нечетки и размыты: КАК построить пороговую функцию принадлежности для множеств «взрослый», «холодный», «качественный», «быстрый» и т.д. ??? Барт Коско, один из классиков нечеткой логики: Бинарная логика - не более чем роковая ошибка античной цивилизации. Откуда всё это взялось? Люди, в силу природного эгоизма, склонны оценивать любые данные с точки зрения полезности для СЕБЯ: становятся важны не сами количественные данные, а их интерпретация КАКИЕ понятия, категории использовать для этого???
4 Для чего нужна нечеткая логика? Нечеткая логика - надмножество булевой логики, расширенной с целью обработки значений истинности между «полностью истинным» и «полностью ложным» на основе нечетких множеств создание аппарата, способного моделировать рассуждения на основе сложных причинно-следственных связей – нечеткой логики и нечеткого вывода разработана профессором Калифорнийского университета Беркли Лотфи А. Заде (Lotfi A. Zadeh) в работах: «Fuzzy sets» (1965г) и «Fuzzy logic» (1975г). КАК на основе таких понятий (представленных нечеткими множествами) смоделировать процесс человеческих рассуждений ??? Professor Lotfi A. Zadeh University of California, Berkeley
5 Примеры использования нечеткой логики Движением пригородных поездов до японского города Сендай, начиная с 1987 года управляет система, основанная на нечеткой логике Создание управляющего микропроцессора на основе нечеткой логики, способного автоматически решать «задачу о собаке, догоняющей кота» (Министерство обороны США) Matsuhita в феврале 1991 года анонсировала первую «интеллектуальную» стиральную машину, в системе управления которой применялась нечеткая логика Решения сложнейших задач прогнозирования различных финансовых индикаторов (японская корпорация Yamaichi) Один из отечественных программных продуктов - пакет Бизнес-прогноз для оценки прибыльности инвестиционных проектов. Замечание: Нечеткие системы управления и прогнозирования основаны на нечеткой базе знаний и использовании лингвистических переменных. В основу функционирования положен механизм нечеткого вывода.
6 Лингвистическая переменная Опр2 (полное): Лингвистическая переменная - набор, где b – наименование лингвистической переменной; Т – множество ее значений (базовое терм-множество), представляющих собой наименования нечетких переменных на области определения X;нечетких переменных G – синтаксическая процедура, позволяющая генерировать новые термы. Множество T G(T), где G(T) - множество сгенерированных термов, – расширенное терм-множество; М – семантическая процедура, превращающая каждый терм из G(T) в нечеткую переменную. нечеткую переменную Опр1 (упрощенное): Лингвистическая переменная - переменная, принимающая значения из множества слов или словосочетаний некоторого естественного или искусственного языка. Пример1: Пример1: Давление = { большое, низкое, среднее } термы (T) Пример1: Пример1: G(T)={ низкое или среднее, очень большое …} нечеткие переменные
7 Пример2: Пример2: ЛП «температура в комнате» b = «температура в комнате» - имя лингвистической переменной; X = [5,35] – универс определения; T = {"холодно", "комфортно", "жарко"} - базовое терм-множество; G - синтаксические правила, порождающее новые термы с использованием квантификаторов "и","или", "не", "очень", "более-менее"; М - процедура, ставящая каждому новому терму в соответствие функцию принадлежности (т.е. задавая нечеткое множество) по правилам: если термы А и В имели функции принадлежности μ а (x) и μ B (x) соответственно, то новые термы будут иметь функции принадлежности: нечеткое множество КвантификаторФункция принадлежности: не t очень t более-менее t А и Вmax(μ A (x), μ B (x)) А или Вmin(μ A (x), μ B (x))
8 Нечёткая переменная Нечеткая переменная характеризуется тройкой, где a - наименование переменной, X - универсальное множество (область определения), A – функция принадлежности, определённая для всех элементов x X и говорящая о степени уверенности в том, что х является значением данной переменной. Пример: Нечеткая переменная «высокий рост», где «высокий рост» - наименование переменной, Х = [130,240], А – функция принадлежности элементов из универса X данной нечеткой переменной. Пояснение: Нечеткая переменная – именованное нечеткое множествонечеткое множество
9 Нечёткое множество (fuzzy set) Нечеткое множество – подмножество элементов А из универса Е такое, что каждому элементу сопоставлена степень принадлежности этого элемента множеству A. Пример: Нечеткое множество «Оптимальный возраст работника»: A=[20,70], E=[0,100], функция принадлежности, полученная на основе опроса ряда экспертов: Нечеткое множество полностью определяется заданием функции принадлежности μ А (x): ее область определения – x Е, область значений – отрезок [0,1]. Чем выше значение μ А (x):, тем выше оценивается степень принадлежности элемента x E нечеткому множеству А.
10 Операции над нечёткими множествами Даны нечеткие множества А и В с функциями принадлежности: А (u) и B (u), тогда результат операций - нечеткое множество с функцией принадлежности C (u), причем: –если С = А В, то C (u) = min( А (u), B (u)); –если С = А В, то C (u) = max( А (u), B (u)); –если С =, то C (u) = 1 - А (u). Пример: Пример: Пусть A - нечеткое множество «числа от 5 до 8» и B – нечеткое множество «числа около 4»,заданные своими функциями принадлежности ( E =[0,10] ) «от 5 до 8 и около 4» «от 5 до 8 или около 4» «не от 5 до 8»
11 Свойства операций над нечёткими множествами Пусть А, В, С - нечеткие множества, тогда выполняются следующие свойства: 1)Коммутативность: 2)Ассоциативность: 3)Идемпотентность: 4)Дистрибутивность: 5)Законы де Моргана: 6), где - пустое множество, т.е. 7) 8) !!! ;
12 Нечёткие отношения Степень принадлежности показывает степень выполнения отношения R между элементами В случае конечных или счетных универсов интерпретация бинарного нечеткого отношения в виде взвешенного графа с весами μ R (x i, y j ) или матрицей Пример: Пусть,тогда нечеткое отношение «x приблизительно равно y»: Нечеткое отношение R на четких непустых множествах A 1, A 2 … A n – нечеткое множество, определенное на подмножестве декартова произведения A 1 x A 2 x…x A n.
13 Основные операции над нечёткими отношениями 1) Объединение двух отношений R1 R2. Пример: xR 1 y - «действительные числа x и y очень близкие», xR 2 y - «числа x и y очень различны», x(R1 R2)y - "числа x и y очень близкие или очень различные". Замечание: Функции принадлежности отношений заданы на |x-y|.
14 2) Пересечение двух отношений R1 R2 Пример: xR1y – «модуль разности |x-y| близок к α», xR2y – «модуль разности |x-y| близок к β», x(R1R2) y – «модуль разности |x-y| близок к α и β».
15 Композиция двух нечётких отношений R1R1 y1y1 y2y2 y3y3 x1x1 0,10,70,4 x2x2 10,50 R2R2 z1z1 z2z2 z3z3 z4z4 y1y1 0,9010,2 y2y2 0,30,600,9 y3y3 0,1100,5 R 1 R 2 z1z1 z2z2 z3z3 z4z4 x1x1 0,30,60,10,7 x2x2 0,90,51 = Пусть R1 - нечеткое отношение : (X x Y) [0,1] между X и Y; R2 - нечеткое отношение : (Y x Z) [0,1] между Y и Z. (sup-min)-Композиция отношений R1 и R2 – нечеткое отношение между X и Z, обозначаемое R1R2, определяемое: Пример:
16 Нечеткие высказывания Тип высказыванияПояснения 1)Высказывание b – имя ЛП, b' - ее значение (терм), которому соответствует нечеткое множество на универсе Х Пример: 2)Высказывание m - модификатор, которому соответствуют слова "ОЧЕНЬ", "БОЛЕЕ ИЛИ МЕНЕЕ", "МНОГО БОЛЬШЕ" и др. Пример:, 3)Составные высказывания образуются из высказываний видов 1 и 2 и связок "И", "ИЛИ", "ЕСЛИ.., ТО...", "ЕСЛИ.., ТО.., ИНАЧЕ".
17 Высказывания на множестве значений фиксированной ЛП Значения ЛП соответствуют нечетким множествам одного и того же универса Х Модификатор (связка) Операции над НМ оченьCON недополнение И ИЛИ Пример: ЛП «толщина изделия» Х = [10, 80] T= {"малая", "средняя", "большая"} A 1 A 2 A 3 ВысказываниеНМ
18 Высказывания на множестве значений нескольких ЛП и - лингвистические переменные; ВысказыванияНечеткие множества А на универсе X В на универсе Y можно привести к высказываниям вида 1,введя лингвистическую переменную (a, b), значениям которой будут соответствовать нечеткие множества на X x Y. Каким образом ???
19 Правила преобразования нечетких высказываний вида 3 1)Правило преобразования конъюнктивной формы: => НМ на универсе X x Y c функцией принадлежности: исходное высказывание новая ЛП значение новой ЛП 2)Правило преобразования дизъюнктивной формы: =>
20 3)Правило преобразования импликативной формы: => b')> новая ЛП значение новой ЛП Нечеткое отношение xRy c функцией принадлежности: НМ AНМ B Правило Мамдани
21 Что у нас теперь есть? Формализовано понятие «лингвистическая переменная» Введено понятие «нечеткое высказывание», содержащее лингвистические переменные Рассмотрены основные преобразования нечетких высказываний (логические связки) Заложен механизм формирования нечеткой базы знаний на основе правил типа «Если …, то…»
22 Логико-лингвистические модели Часть II Всего 13 слайдов
23 Логико-лингвистическое описание систем, нечеткие модели L1 : Если и/или … и/или то и/или… и/или L2 : Если и/или … и/или то и/или… и/или Lk : Если и/или … и/или то и/или… и/или Нечёткие высказывания типов 1 и 2 Логико-лингвистические методы описания систем основаны на том, что поведение исследуемой системы описывается в естественном (или близком к естественному) языке в терминах лингвистических переменных.
24 Логико-лингвистическое описание систем, нечеткие модели Совокупность импликаций {L1, L2,..., Lk} отражает функциональную взаимосвязь входных и выходных переменных и является основой построения нечеткого отношения XRY, заданного на произведении X x Y универсальных множеств входных и выходных переменных. Отношение R строится как. L1 : если то L2 : если то Lk : если то Нечёткие высказывания типа 3
25 В основе построения логико-лингвистических систем лежит композиционное правило вывода. Если на множестве X задано нечеткое множество A, то композиционное правило вывода B = A·R, где R – некоторое нечеткое отношение,определяет на Y нечеткое множество B с функцией принадлежности: Таким образом, композиционное правило вывода в этом случае задает закон функционирования нечеткой модели системы. Логико-лингвистическое описание систем, нечеткие модели Преимущество: универсальность Недостаток: необходимость работать в пространстве размерности m×n
26 Этап непосредственного нечёткого вывода Нечёткий вывод Опр: Нечетким логическим выводом (fuzzy logic inference) называется аппроксимация зависимости Y = f(X 1,X 2 …X n ) каждой выходной лингвистической переменной от входных лингвистических переменных и получение заключения в виде нечеткого множества, соответствующего текущим значениях входов, с использованием нечеткой базы знаний и нечетких операций. Основу нечеткого логического вывода составляет композиционное правило Заде В общем случае нечеткий вывод решения происходит за три (или четыре) шага. Входные значения Степени уверенности простейших посылок Нечёткие импликации аккумуляция Результат в виде нечёткого множества Выходное значение фаззификация дефаззификация
27 База знаний Если Лингвистическая Переменная 1 есть Терм Лингвистической Переменной 1 и Лингвистическая Переменная 2 есть Терм Лингвистической Переменной 2 и … и Лингвистическая Переменная N есть Терм Лингвистической Переменной N То Выходная Лингвистическая Переменная есть Терм Выходной Линг.Перем. Общий вид правил в базе знаний: Если Температура низкая и Расход малый То Давление низкое Пример: Лингвистическая Переменная 1 Терм Лингвистической Переменной 1 Лингвистическая Переменная 2 Терм Лингвистической Переменной 2 Выходная Лингвистическая Переменная Терм Выходной Лингвистической Переменной
28 Нечёткий вывод Пусть есть система описывающая поведение некоторого реактора в виде следующих правил: Если Температура низкая и Расход малый, то Давление низкое Если Температура средняя, то Давление среднее Если Температура высокая или Расход большой то Давление высокое Известны значения температуры : 85 и расхода : 3.5. Необходимо вывести значение давления.
29 Температура. Унивёрс (множество возможных значений) – отрезок [0,150]. Начальное множество термов {Высокая, Средняя, Низкая}. Функции принадлежности термов имеют следующий вид: Высокая Средняя Низкая Давление. Унивёрс – отрезок [0,100]. Начальное множество термов {Высокое, Среднее, Низкое} Функции принадлежности термов имеют следующий вид: Высокое Среднее Низкое Расход. Унивёрс – отрезок [0,8]. Начальное множество термов {Большой, Средний, Малый} Функции принадлежности термов имеют следующий вид БольшойСредний Малый Нечёткий вывод
30 1)Этап фаззификации С помощью функций принадлежности всех термов входных лингвистических переменных и на основании задаваемых четких значений из универсов входных лингвистических переменных определяются степени уверенности в том, что выходная лингвистическая переменная принимает значение – конкретный терм. Эта степень уверенности есть ордината точки пересечения графика функции принадлежности терма и прямой x = четкое значение ЛП. Нечёткий вывод В нашем примере имеем: Температура Высокая Температура Средняя - 1 Температура Низкая - 0,3 Расход Большой - 0 Расход Средний - 0,75 Расход Малый - 0,25
31 2) Этап непосредственного нечёткого вывода На основании набора правил – нечеткой базы знаний – вычисляется значение истинности для предпосылки каждого правила на основании конкретных нечетких операций, соответствующих конъюнкции или дизъюнкции термов в левой части правил. Используя один из способов построения нечёткой импликации мы получим нечёткую переменную, соответствующую вычисленному значению степени уверенности в левой части правила и нечеткому множеству в правой части правила. Нечёткий вывод Определение посылок правил: Температура низкая и Расход малый: min (Темп. Низкая, Расход Малый)= = min(0.3, 0.25)=0.25 Температура Средняя : 1 Температура Высокая или Расход Большой: max(Темп. Высокая, Расход Большой)=max(0.7,0)=0,7
32 Нечёткий вывод Построение нечёткой импликации: Правило 1 Правило 2 Правило 3
33 Нечёткий вывод Если ТЕМРЕРАТУРА низкая И РАСХОД малый, то ДАВЛЕНИЕ низкое MIN Построение нечёткой импликации:
34 Описание примеров Часть III
35 Система Набор баскетболистов Рост баскетболиста Множество определения – [170,236] Множество термов - {очень высокий, высокий, средний, низкий} Лингвистические переменные Техника игры баскетболиста Множество определения – [0,100] Множество термов - {отличная, очень хорошая, хорошая, средняя, плохая} Уверенность принятия в команду Множество определения – [0,100] Множество термов - {полная, средняя, малая, не берём}
36 Система Набор баскетболистов Рост баскетболиста Множество определения – [170,236] Очень высокий высокий средний низкий
37 Система Набор баскетболистов Техника игры баскетболиста Множество определения – [0,100] очень хорошая отличная средняя хорошая плохая
38 Система Набор баскетболистов Уверенность принятия в команду Множество определения – [0,100] полная средняя малаяне берём
39 Система Набор баскетболистов- Правила Входные лингвистические переменныеВыходная линг. переменная Техника игрыРост игрокаУверенность отбора ОтличноОчень высокийПолная ОтличноВысокийПолная ОтличноНе очень высокийСредняя ОтличноНизкийСредняя Очень хорошоОчень высокийПолная Очень хорошоВысокийПолная Очень хорошоНе очень высокийСредняя Очень хорошоНизкийСредняя ХорошоОчень высокийПолная ХорошоВысокийПолная ХорошоНе очень высокийСредняя ХорошоНизкийМалая Не очень хорошоОчень высокийСредняя Не очень хорошоВысокийСредняя Не очень хорошоНе очень высокийМалая Не очень хорошоНизкийНе берём ПлохоОчень высокийМалая ПлохоВысокийМалая ПлохоНе очень высокийМалая ПлохоНизкийНе берём
40 Система Футбол Лингвистические переменные Разница потерь ведущих игроков Множество определения – [-6,6] Множество термов - {большая скамейка, высокий, одинаковая скамейка, короткая скамейка} Разница игровых динамик Множество определения – [-15,15] Множество термов - {существенный проигрыш, проигрыш, выигрыш, существенный выигрыш} Разница в классе команд Множество определения – [-13,13] Множество термов - {лидер, верхняя половина, середина, нижняя половина, аутсайдер}
41 Система Футбол Лингвистические переменные Встречи команд Множество определения – [-20,20] Множество термов - {позорные встречи, равные встречи, разгромные встречи} Результат матча Множество определения – [-3,3] Множество термов - {крупный проигрыш, проигрыш, ничья, выигрыш, крупный выигрыш} Фактор поля Множество определения – [-2,3] Множество термов - {абсолютная неудача, неудача, преимущество, абсолютное преимущество }
42 Система Футбол Разница потерь ведущих игроков Множество определения – [-6,6] большая скамейкаодинаковая скамейкакороткая скамейка разница между количеством травмированных и дисквалифицированных футболистов в первой команде – хозяине поля и количеством травмированных и дисквалифицированных футболистов в гостевой команде.
43 Система Футбол Разница игровых динамик Множество определения – [-15,15] разница очков, набранных командой хозяином поля и гостевой командой в последних пяти турах существенный проигрыш проигрыш выигрыш cущественный выигрыш
44 Система Футбол Разница в классе команд Множество определения – [-13,13] разница мест, которые занимают команда-хозяин и команда-гость в текущем чемпионате верхняя половиналидер нижняя половина середина аутсайдер
45 преимущество рассчитываться как HP/HG - GP/GG, где HP – общее количество очков, набранное командой хозяином поля в домашних играх текущего чемпионата; HG - общее количество домашних игр, проведенных командой хозяином поля в текущем чемпионата; GP – общее количество очков, набранное гостевой командой в текущего чемпионата на выезде; GG - общее количество выездных игр, проведенных гостевой командой в текущем чемпионата Система Футбол Фактор поля Множество определения – [-2,3] абсолютная неудачанеудача абсолютное преимущество
46 Система Футбол Встречи команд Множество определения – [-20,20] разница забитых и пропущенных мячей двух команд во всех чемпионатах позорные встречи равные встречиразгромные встречи
47 Система Футбол Результат матча Множество определения – [-3,3] разница голов забитых командой хозяином поля и гостевой командой в предстоящей встрече проигрыш крупный проигрыш выигрыш ничья крупный выигрыш
48 Система Футбол - Правила Разница потерь игроков Разница динамик Разница в классе Фактор поляВстреча команд Результат матча Важность правила 1Большая скамейкаСущественный выигрыш ЛидерАбсолютное преимущество Разгромные встречи Крупный выигрыш 0,5 2Одинаковая скамейкаВыигрышВерхняя половина ПреимуществоРазгромные встречи Крупный выигрыш Одинаковая скамейкаПроигрышЛидерПреимуществоРазгромные встречи Крупный выигрыш 0,5 4Большая скамейкаВыигрышВерхняя половина ПреимуществоРавные встречи Крупный выигрыш Одинаковая скамейкаВыигрышСерединаНеудачаРазгромные встречи Выигрыш0,5 6Короткая скамейкаПроигрышВерхняя половина ПреимуществоРавные встречи Выигрыш Одинаковая скамейкаВыигрышСерединаНеудачаРазгромные встречи Выигрыш0,5 8Большая скамейкаСущественный выигрыш Нижняя половина ПреимуществоРавные встречи Выигрыш1 9Одинаковая скамейкаВыигрышСерединаНеудачаРавные встречи Ничья Короткая скамейкаСущественный проигрыш СерединаНеудачаРавные встречи Ничья
49 Система Футбол - Правила Разница потерь игроков Разница динамик Разница в классе Фактор поляВстреча команд Результат матча Важность правила 11Одинаковая скамейкаПроигрышНижняя половина ПреимуществоПозорные встречи Ничья Большая скамейкаСущественный проигрыш Верхняя половина НеудачаРавные встречи Ничья Большая скамейкаПроигрышСерединаАбсолютная неудача Равные встречи Проигрыш Одинаковая скамейкаВыигрышНижняя половина НеудачаПозорные встречи Проигрыш Короткая скамейкаСущественный проигрыш СерединаПреимуществоПозорные встречи Проигрыш Одинаковая скамейкаПроигрышАутсайдерНеудачаРавные встречи Проигрыш1 17Короткая скамейкаСущественный проигрыш АутсайдерАбсолютная неудача Позорные встречи Крупный проигрыш 1 18Одинаковая скамейкаСущественный проигрыш Нижняя половина НеудачаПозорные встречи Крупный проигрыш 1 19Короткая скамейкаПроигрышНижняя половина Абсолютная неудача Равные встречи Крупный проигрыш 1 20Большая скамейкаСущественный проигрыш Нижняя половина НеудачаПозорные встречи Крупный проигрыш 1