Нечеткий интервал. Нечеткие алгоритмы. Схемы нечеткого вывода.

Нечеткая логика и нейронные сети

Контрольные вопросы по предмету

0


Подпишитесь на бесплатную рассылку видео-курсов:

Текст видеолекции

Лекция № 2

Нечеткие алгоритмы

Содержание лекции:

  1. Нечеткий интервал.
  2. Нечеткие алгоритмы.
  3. Схемы нечеткого вывода.

 

  1. 1.     Нечеткий интервал

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

С лингвистической точки зрения, нечеткое число – это нечеткая величина, трактуемая как неточное, неопределенное числовое значение некоторой измеримой величины: например, «примерно три», «приблизительно семь» и т.п.

Нечеткая величина – это произвольное нечеткое множество A = μ A x / x, x ∈ X , заданное на множестве действительных чисел X = R . Если в качестве универсального множества рассматривать подмножество неотрицательных действительных чисел X = R+, то получим неотрицательную нечеткую величину.

Нечеткий интервал – это нечеткая величина с выпуклой функцией принадлежности.

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

Нечеткий нуль – это нечеткое число с нулевым модальным значением.

Положительное (отрицательное) нечеткое число – это нечеткое число со строго положительным (отрицательным) носителем.

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

Пример 1. Пусть A нечеткий интервал от 5 до 8 и B нечеткое число около 4, как показано на рисунке.

 

Пример 2. Следующий пример иллюстрирует нечеткое множество между 5 и 8 И (AND) около 4 (синяя линия).

 

Пример 3. Нечеткое множество между 5 и 8 ИЛИ (OR) около 4 показано на следующем рисунке (снова синяя линия).

 

Пример 4. Следующий рисунок иллюстрирует операцию отрицания. Синяя линия - это ОТРИЦАНИЕ нечеткого множества A.

 

 

Пусть X и Y – два заданных универсальных множества. Говорят, что имеется функция y = f (x) , определенная на множестве X со значениями на множестве Y, если в силу некоторого закона f каждому элементу x ∈ X соответствует элемент y ∈ Y . Функцию f называют отображением f : X → Y множества X на множество Y , а значение f(x) ∈ Y , которое она принимает на элементе x ∈ X, называют образом элемента x.

 

Пример 5. X = [0 ; 1] – универсальное множество (бесконечное несчетное множество, представляющее подмножество действительных чисел, таких, для которых справедливо соотношение 0 ≤ x ≤ 1 ). Отображение y=f(x)= x2 ставит в соответствие любому элементу x∈ X другой элемент y∈Y. Множество образов точек x ∈ [0 ; 1] представляют собой множество Y, которое также является конечным несчетным множеством, являющимся подмножеством действительных чисел. таких, для которых справедливо соотношение 0 ≤ y ≤ 1 . Следовательно при данном отображении f : X → Y множество X = [0 ; 1] отображается в множество Y = [0 ; 1].

Пример 6. X = R – универсальное множество (бесконечное несчетное множество, представляющее множество действительных чисел). Отображение y = f(x) = x2 ставит в соответствие любому элементу x ∈ X другой элемент y ∈ Y . Множество образов точек x ∈ X представляют собой множество Y , которое также является бесконечным несчетным множеством, являющимся подмножеством действительных чисел Y ⊂ R , таких, для которых справедливо соотношение y ≥ 0 . Следовательно при данном отображении f : X → Y множество действительных чисел X = R отображается в множество действительных неотрицательных чисел Y ⊂ R .

Образом множества A ⊂ X при отображении X → f(Y) называют множество f(A) ⊂ Y тех элементов Y , которые являются образами элементов множества A.

Пример 7. X – множество точек комплексной плоскости, x ∈ X – точки комплексной плоскости X. A ⊂ X – левая полуплоскость комплексной плоскости X , y = f(x) = (1 + x)(1 − x) – закон отображения f : X → Y (в конкретном примере – это всем известное билинейное преобразование), Y – множество точек комплексной плоскости, y ∈ Y – точки комплексной плоскости Y , f (A) ⊂ Y – множество образов элементов множества A , f(A) – образ множества A ⊂ X, который в данном случае представляет круг единичного радиуса на комплексной плоскости Y.

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

Будем говорить, что имеется нечеткая функция f, определенная на четком множестве X со значениями на четком множестве Y, если каждому элементу x ∈ X ставится в соответствие элемент y ∈ Y со степенью принадлежности μ f x , y . Такая нечеткая функция f будет определять нечеткое отображение f : X → H Y.

Нечеткую функцию f , суть нечеткое отображение f : X → H Y можно задать либо аналитически μ fx,y, либо путем табличного определения двуместной функции принадлежности

 

μ11 / x 1; y 1 ? μ1n / x 1; y n

 

μ21 / x 2; y 1 ? μ2n / x 2; y n

μ f (x) , y =

?

 

μ n1 / x m; y 1 ? μmn / x m; y n

Пример 8. На множествах X = {1 ; 2 ; 3} и Y = {1 ; 5} задано нечеткое отображение f : X → Y посредством нечеткой функции

 

 

0,1 / 1 ; 1          0,4 / 1 ; 5  

μ f (x) , y =

0,7 / 2 ; 1             1 / 2 ; 5   

 

1 / 3 ; 1             0,5 / 3 ; 5

 

Рассмотрим пример использования лингвистической переменной.

Пример 9. Пусть температура воды определяется с помощью понятий «малая температура», «средняя температура», «большая температура». При этом минимальная температура воды равна 0 ° C , а максимальная – соответственно 100 ° C. Формализация такого описания может быть проведена при помощи лингвистической переменной ? β , T , X , G , M ? , в кортеже которой:

  1. β – «температура воды»;
  2. T – «малая температура», «средняя температура», «большая температура»;
  3. X = 0 ; 100 ;
  4. G – процедура образования новых термов с помощью языковых связок «И», «ИЛИ», а также модификаторов «ОЧЕНЬ», «НЕ», «СЛЕГКА» и т.д. (например, «не очень большая температура»);
  5. M – процедура задания на X = 0 ; 100 нечетких подмножеств, соответствующих понятиям «малая температура», «средняя температура», «большая температура», а также нечетких множеств для термов из G T в соответствии с правилами трансляции нечетких связок и модификаторов (A∩B соответствует «И», A∪  B соответствует «ИЛИ», A _ соответствует «НЕ», CON A = A 2 соответствует «очень», DIL A = A0.5 соответствует «слегка» и т.д.).

 

  1. 2.     Нечеткие алгоритмы

 

Понятие нечеткого алгоритма, впервые введенное Л.А.Заде [8], является важным инструментом для приближенного анализа сложных систем и процессов принятия решений. Под нечетким алгоритмом (fuzzy algorithm) понимается упорядоченное множество нечетких инструкций (правил), в формулировке которых содержатся нечеткие указания (термы).

Например, нечеткие алгоритмы могут включать в себя инструкции типа:
а) "х = очень малое";
б) "х приблизительно равно 5";
в) "слегка увеличить х";
г) "ЕСЛИ х - в интервале [4,9; 5,1], ТО выбрать у в интервале [9,9; 10,1]”;
д) "ЕСЛИ х - малое, ТО у - большое, ИНАЧЕ у - не большое".

Использованные здесь термы "очень малое", "приблизительно равно", "слегка увеличить", "выбрать в интервале" и т.п. отражают неточность представления исходных данных и неопределенность, присущую самому процессу принятия решений. Две последние инструкции (г-д) представляют собой правила (или нечеткие высказывания), построенные по схеме логической импликации "ЕСЛИ-ТО", где условие "ЕСЛИ" соответствует принятию лингвистической переменной х некоторого значения А, а вывод (действие) "ТО" означает необходимость выбора значения В для лингвистической переменной у: (х=А) → (у=В).

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

 

 

Рис. 1. Построение правил принятия решений

 

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

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

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

ПРАВИЛО 1: "ЕСЛИ Температура = низкая, ТО охлаждающий вентиль = полуоткрыт".

Будем полагать, что нечеткие подмножества А1 ("Температура = низкая") и В1 ("Вентиль= полуоткрыт") определяются функциями принадлежности, приведенными на рис. 2.

Рис. 2. Функции принадлежности нечетких подмножеств А1 и В1

 

 

 

 

Если измеренное значение температуры Твх равно, например, 18 0С, то степень принадлежности этого значения подмножеству А1 в данном конкретном случае составляет 0,2. Полагая, что меньшее значение степени выполнения условия "ЕСЛИ" должно сопровождаться уменьшением значений функции принадлежности вывода "ТО", ограничим возможные значения функции µB1вых) на уровне 0,2, т.е. получим µB1вых)|Tвх=18°С = min{0,2; µB1вых)} (Соответствующая функция выделена в правой половине рис.2 заштрихованной площадью).

Сформулируем 2-е лингвистическое правило следующим образом:

ПРАВИЛО 2: "ЕСЛИ Температура = средняя, ТО охлаждающий вентиль = почти открыт". Функции принадлежности µA2вх) и µB2вых), где А2 и В2 обозначают соответственно нечеткие подмножества, содержащиеся в условии и выводе правила 2, показаны на рис.3.

 

Рис. 3. Функции принадлежности нечетких подмножеств А2 и В2

 

 

 

Степень принадлежности измеренного значения Твх=18 °С подмножеству А2 здесь равна уже 0,5. Следуя тому же приему, для функции принадлежности µB2вых) получаем µB2вых)|Tвх=18°С = min{0,5; µB2вых)}.

Заметим, что приведенные выше правила 1 и 2 действуют совместно и связаны друг с другом с помощью союза "ИЛИ", т.е. можно записать:
ПРАВИЛО 1: "ЕСЛИ Температура = низкая, ТО охлаждающий вентиль = полуоткрыт"

ИЛИ
ПРАВИЛО 2: "ЕСЛИ Температура = средняя, ТО охлаждающий вентиль = почти открыт".

Но тогда результирующая функция принадлежности µ(φвых)=µB1ÈB2 вых) для переменной φвых находится по формуле

µ(φвых)=max{µB1выхTвх=18 °С; µB2выхTвх=18 °С}.

 

График полученной функции принадлежности представлен на рис.4. Использованный в данном случае механизм логического вывода, выражающийся через операции нахождения минимума и максимума, получил название метода Максимума-Минимума (MAX-MIN-Inference).

 

Рис. 4. Функция принадлежности нечеткого

множества В1 È В2

 

 

 

На практике часто используется еще один метод построения функции принадлежности выходного нечеткого множества, получивший название метода Максимума-Произведения (MAX-Product-Inference). Суть этого метода заключается в следующем. При вычислении функций принадлежности вывода (заключения) "ТО" для каждого из правил осуществляется не ограничение их на уровне выполнения соответствующего условия "ЕСЛИ" (как это делалось в методе Максимума-Минимума), а пропорциональное уменьшение их значений в соответствии с уровнем выполнения указанного условия (рис.5,а) с последующим использованием операции "ИЛИ" (рис.5,б).

Важно отметить, что при использовании любого из указанных выше методов вывода (рис.4, 5) результатом выполнения правил 1-2 является не конкретное число φвых, а некоторое нечеткое множество, описываемое функцией принадлежности µ(φвых). В то же время данное решение не может считаться окончательным, поскольку сохраняется неопределенность выбора значения искомой переменной φвых внутри рассматриваемого интервала - носителя нечеткого множества В1ÈВ2. Переход от полученного нечеткого множества к единственному четкому значению (φвых)0, которое и признается затем в качестве решения поставленной задачи, называется дефаззификацией (defuzzyfication).

 

Рис. 5. Построение механизма нечеткого вывода  с помощью метода Максимума-Произведения

 

 

 

3. Схемы нечеткого вывода

Нечеткие выводы 

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

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

В противном случае имеет место неполная база нечетких правил.

Пусть в базе правил имеется n правил вида: 

 

П1: если х есть А1, то y есть В1,

П2: если х есть А2, то y есть В2,

Пn: если х есть Аn, то y есть Вn,

где х – входная переменная, y – переменная вывода, А и В – функции принадлежности, определенные на х и y соответственно.

Знания эксперта А→В отражает нечеткое причинное отношение предпосылки и заключения, поэтому его называют нечетким отношением:

R= А→В,

где «→» - нечеткая импликация.

Отношение R можно рассматривать как нечеткое подмножество прямого произведения Х ? Y полного множества предпосылок X и заключений Y.

В общем случае механизм логического вывода включает четыре этапа (в соответствии с рисунком 6): введение нечеткости (фазификация), нечеткий вывод, композиция и приведение к четкости, или дефазификация.

 

 

Рисунок 6. Система нечеткого логического вывода

Алгоритм нечеткого вывода

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

2 Логический вывод. Вычисленное значение истинности для предпосылок каждого правила применяется к заключениям каждого правила. Это приводит к одному нечеткому подмножеству, которое будет назначено переменной вывода для каждого правила. В качестве правил логического вывода используются только операции min (минимума) или prod (умножение).

3 Композиция. Нечеткие подмножества, назначенные для каждой переменной вывода (во всех правилах), объединяются вместе, чтобы сформировать одно нечеткое подмножество для каждой переменной вывода. При подобном объединении обычно используются операции max (максимум) или sum (сумма).

4 Дефаззификация – приведение к четкости (defuzzification). Преобразование нечеткого набора выводов в число.

Алгоритмы нечеткого вывода различаются главным образом видом используемых правил, логических операций и разновидностью метода дефазификации. Разработаны модели нечеткого вывода Мамдани, Сугено, Ларсена, Цукамото.

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

  1. Процедура фазификации: определяются степени истинности, т.е. значения функций принадлежности для левых частей каждого правила (предпосылок). Для базы правил с m правилами обозначим степени истинности как .  
  2.  Нечеткий вывод. Сначала определяются уровни "отсечения" для левой части каждого из правил:

 

Далее находятся "усеченные" функции принадлежности:

 

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

,

где MF(y) – функция принадлежности итогового нечеткого множества.

  1.  Дефазификация, или приведение к четкости. Существует несколько методов дефазификации. Например, метод среднего центра, или центроидный метод:

 

Геометрический смысл такого значения – центр тяжести для кривой MF(y). Рисунок 7 графически показывает процесс нечеткого вывода по Мамдани для двух входных переменных и двух нечетких правил R1 и R2.


Рисунок 7. Схема нечеткого вывода по Мамдани.

 

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

Нечеткими высказываниями называются:

 1. Высказывание <β есть β¢>,  где β – наименование лингвистической переменной, β¢ – ее значение, которому соответствует нечеткое множество на универсальном множестве Х.

2. Высказывание <β есть mβ¢>,  где m – модификатор, которому соответствуют слова «очень», «более или менее», «много больше» и др.

3. Составные высказывания, образованные из высказываний видов 1 и 2 и союзов «И», «ИЛИ», «ЕСЛИ…, ТО…», «ЕСЛИ…, ТО…, ИНАЧЕ…».

 

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

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

1)                           Сформулировать на естественном языке в виде предложений «ЕСЛИ…, ТО…» закономерности предметной области.

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

3)                           Проверить полученную базу знаний на полноту.

4)                           Провести фаззификацию (входные данные выбираем случайным образом).

5)                           Провести аккумуляцию.

6)                           Провести дефаззификацию.

 

Решение

 

1)     Предложения, описывающие задачу, следующие:

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

 

2) Выделить из этих предложений лингвистические переменные (определим их через формальную запись <β, T, X, G, M>):

1. β=успеваемость студента, T=(«высокая», «средняя», «низкая»), X=[2; 5] (используется пятибалльная система), G=(«очень низкая», «высокая или средняя»), M – уменьшение на единицу степени принадлежности нечеткой переменной «высокая», операция объединения нечетких множеств; 

2. β=количество вариантов, T=(«мало», «достаточно», «много»), X=[1; 20] (количество вариантов 20 в каждой теме), G=(«очень много», «достаточно или мало»), M – увеличение на единицу степени принадлежности нечеткой переменной «много», операция объединения нечетких множеств;

3. β=количество времени, T=(«мало», «достаточно», «много»), X=[1; 7] (количество часов в неделю, уделенных предмету изучения), G=(«очень много», «достаточно или мало»), M – увеличение на единицу степени принадлежности нечеткой переменной «много», операция объединения нечетких множеств.

 

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

 

 

 

С учетом выделенных лингвистических переменных, нечеткие правила следующие:

1. ЕСЛИ Успеваемость= «высокая» или Успеваемость= «средняя» и Количество вариантов = «мало», ТО Количество времени =  «мало».

2. ЕСЛИ Успеваемость= «высокая» или Успеваемость= «средняя» и Количество вариантов = «много», ТО Количество времени =  «достаточно».

3. ЕСЛИ Успеваемость= «низкая» и Количество вариантов = «много», ТО Количество времени =  «много».

4. ЕСЛИ Успеваемость= «средняя» и Количество вариантов = «достаточно», ТО Количество времени =  «достаточно».

 

2)     Проверим полученную базу знаний на полноту:

  • · существует хотя бы одно правило для каждого лингвистического терма выходной переменной – выходная переменная «Количество времени» имеет 3 терма: «мало» используется в 1 правиле, «достаточно» - во 2 и 4, «много» - в 3 правиле;
  • · для любого терма входной переменной имеется хотя бы одно правило, в котором этот терм используется в качестве предпосылки – есть две входных переменных «Успеваемость» и «Количество вариантов», у каждой из них 3 терма: «высокая» используется в 1 и 2 правилах, «средняя» - в 1, 2 и 4, «низкая» - в 3 правиле, «мало» - в 1, «достаточно» - в 4, «много» - во 2 и 3.

Значит, полученная база нечетких правил полная.

 

4) Провести фаззификацию.

Пусть имеется студент Иванов А.А., имеющий среднюю оценку 3,5 и решивший прорешать 9 вариантов. Нужно определить, сколько ему понадобится времени.

Определим степени уверенности простейших утверждений:

 

Успеваемость= «высокая» - 0;

Успеваемость= «средняя» - 0,5;

Успеваемость= «низкая» - 1;

Количество вариантов = «мало» - 0;

Количество вариантов = «достаточно» - 0,5;

Количество вариантов = «много» - 0,125.

 

Определим степени уверенности посылок правил:

 

Правило 1: min(max(0; 0,5); 0)=0.

Правило 2: min(max(0; 0,5); 0,125)=0,125.

Правило 3: min(1; 0,125)=0,125.

Правило 4: min(0,5; 0,5)=0,5.

 

Построим новую выходную нечеткую переменную, используя полученные степени уверенности:

 

 

5) Аккумуляция (объединение всех правил на одном графике):

 

 

Новый терм выходной переменной «Количество часов»:

 

6) Провести дефаззификацию.

Исходя из полученного графика степени принадлежности выходного терма, можно сказать, что Иванову А.А, имеющему среднюю оценку 3,5, на решение 9 вариантов заданий понадобится не менее 2,75 часа (степень уверенности данного утверждения 0,5).

 

 

Список литературы

1. Орлов А.И. Теория принятия решений. Учебное пособие / А.И.Орлов.- М.: Издательство «Экзамен», 2005. - 656 с.

2. Борисов А. Н., Кроумберг О. А., Федоров И. П. Принятие решений на основе нечетких моделей: примеры использования. – Рига: Зинатве, 1990. – 184 с.

3. Андрейчиков А.В., Андрейчикова О.Н. Анализ, синтез, планирование решений в экономике — М.: Финансы и статистика, 2000. — 368 с.

4. Нечеткие множества в моделях управления и искусственного интеллекта/Под ред. Д. А. Поспелова. — М.: Наука, 1986. — 312 с.

5. Боросов А.Н. Принятие решений на основе нечетких моделей: Примеры использования. Рига: Зинанте, 1990.

6. Вопросы анализа и процедуры принятия решений/Под ред. И.Ф. Шахнова. М.: Мир, 1976.

7. Кофман А. Введение в теорию нечетких множеств/Пер, с франц. М,: Радио и связь, 1982.

9. Лебег А. Об измерении величин. - М.: Учпедгиз, 1960. - 204 с.

10. Орлов А.И. Основания теории нечетких множеств (обобщение аппарата Заде). Случайные толерантности. – В сб.: Алгоритмы многомерного статистического анализа и их применения. - М.: Изд-во ЦЭМИ АН СССР, 1975. - С.169-175.