- •3.4. Нечёткая и лингвистическая переменные
- •3.5. Основы нечеткой логики
- •3.6. Нечёткие выводы, используемые в экспертных и управляющих системах
- •1. Алгоритм Mamdani
- •1. Центроидный метод (Centroid Defuzzification Method)
- •2. Первый максимум (First of Maxima)
- •3. Средний максимум (Middle of Maxima)
- •5. Высотная дефазификация (Height Defuzzification)
3.6. Нечёткие выводы, используемые в экспертных и управляющих системах
Комбинация правил преобразования конъюнктивной, дизъюнктивной и импликативной форм высказываний, а также их следствий, позволяет представлять высказывания более сложной структуры. Однако такая формализация позволяет лишь определить истинность высказывания при различных сочетаниях значений элементов областей определения соответствующих лингвистических переменных, и не предоставляет возможность делать какие-либо выводы, опираясь на эти высказывания. Тем не менее, разработаны механизмы нечётких выводов, используемые в экспертных и управляющих системах.
Общая схема нечеткого логического вывода
Рассмотрим общую схему нечёткого логического вывода. Предполагается, что в основе некоторой интеллектуальной системы имеется база знаний, формируемая специалистами предметной области в виде совокупности нечётких правил следующего вида:
П1: Еслихестьх1, тоуестьу1,
П2: Еслихестьх2, тоуестьу2, (3.69)
…
Пn: Еслихестьхn, тоуестьуn,
где х– лингвистическая переменная, определяемая как входная переменная, то есть имя для известных значений данных;
у– лингвистическая переменная, определяемая как переменная вывода, то есть имя для значений данных, которые будут вычислены;
х1,х2, …,хn,у1,у2, …,уn– нечёткие переменные, определенные соответственно на множествахXиYи представляющие собой лингвистические значения переменныххиу.
В предпосылках нечётких правил могут присутствовать имена различных лингвистических переменных, в этом случае система нечётких правил представляется следующим образом:
П1: Еслихестьх, тоwестьw1,
П2: Еслиyестьy, тоwестьw2, (3.70)
…
Пn: Еслиzестьz, тоwестьwn.
Пример 3.31:Рассмотрим систему вида (3.69), состоящую из двух правил:
П1: Если «Масса груза» есть «Большая», то «Расстояние»2есть «Маленькое»;
П2: Если «Масса груза» есть «Небольшая», то «Расстояние» есть «Большое».
Использование нечётких выводов в такой системе правил позволяет на основании чёткого значения массы груза, например, выраженного в килограммах, получить чёткое значение расстояния, на которое груз указанной массы можно перенести, например, выраженное в километрах.
Разработанные методы нечётких выводов используют общую схему логического вывода, осуществляемую в 4 этапа:
1. Нечёткость (введение нечёткости, фазификация,fuzzification). На этом этапе функции принадлежности, определённые на входных переменных, применяются к их фактическим значениям для определения степени истинности каждой предпосылки каждого правила. Таким образом, определяется, в какой степени указанное чёткое значениехХсоответствует нечёткому понятию, определяемому какх1,х2, …,хn.
2. Логический вывод.Вычисленное значение истинности для предпосылок каждого правила применяется к заключениям каждого правила. В качестве правил логического вывода обычно используется операцияmin(минимум)3. В логическом выводе минимума функция принадлежностиу(у)4«отсекается» по высоте, соответствующей вычисленной степени истинности предпосылки правила.
Иногда используется операция prod(умножение)5, тогда соответствующая функция принадлежности масштабируется при помощи вычисленной степени истинности предпосылки правила.
3. Композиция. Все нечёткие подмножества, назначенные к каждой переменной вывода (во всех правилах), объединяются вместе, чтобы сформировать одно нечёткое подмножество для переменной вывода. При подобном объединении обычно используется операцияmax(максимум)6илиsum(сумма)7, выполняемые в соответствии с правилами (3.9) и (3.15).
4. Приведение к чёткости(дефазификация,defuzzification) – преобразование нечёткого набора выводов в чёткое число. Имеется большое количество методов приведенных к чёткости, некоторые из них будут рассмотрены позже.
Рис.3.15.Процедура нечёткого вывода
Пример 3.32:Пусть некоторая система описывается следующими нечёткими правилами8:
П1: Еслихестьх, тоwестьw1,
П2: Еслиyестьy, тоwестьw2,
П3: Еслиzестьz, тоwестьw3,
где х,y,z– имена входных переменных;
w– имя переменной вывода;
х,y,z,w1,w2,w3– нечёткие переменные, заданные на множествахX,Y,Z,Wсоответственно и описанные нечёткими множествамиСx,Cy,Cz,Cw1,Cw2,Cw3.
Последовательность выполнения нечёткого вывода и получения чёткого значения выходной переменной w проиллюстрирована на рис. 3.15.
Предполагается, что входные переменные приняли некоторые конкретные (чёткие) значения – х0,y0,z0.
На первом этапе нечёткого вывода для данных значений х0,y0,z0и исходя из функций принадлежностиx,y,zнаходятся степени принадлежности значенийх0,y0,z0нечётким понятиямСx,Cy,Cz, то естьx(х0),y(y0),z(z0). Значения этих характеристических функций принадлежности рассматриваются как степени истинности предпосылок каждого из трех приведенных правил. Введем следующие обозначения:
а1=x(х0),а2=y(y0),а3=z(z0).
На втором этапе происходит «отсекание» функций принадлежности заключений правил, то есть w1,w2,w3, на уровняха1,а2,а3.
На третьем этапе рассматриваются усечённые на втором этапе функции принадлежности w1,w2,w3и происходит их объединение с использованием операцииmax, в результате чего получается комбинированное нечёткое подмножество, описываемое функцией принадлежности(w) и соответствующее логическому выводу для выходной переменнойw.
Наконец, на четвертом этапе находится чёткое значение выходной переменной, например, с применением центроидного метода: чёткое значение выходной переменной определяется как координата центра тяжести для кривой (w):
.
Модификации алгоритма нечеткого вывода
В основе существующих алгоритмов нечёкого вывода лежит общая схема логического вывода. Модификации заключаются в использовании различных вариантов определения истинности заключения каждого из правил, а также применения различных правил выполнения операции объединения нечётких множеств. В результате этого этапы собственно логического вывода и композиции могут быть объединены.
Рассмотрим наиболее часто используемые модификации алгоритма нечёткого вывода, полагая, для простоты, что базу знания организуют два нечётких правила следующего вида:
П1: Еслихестьх1иуестьу1, тогдаzестьz1,
П2: Еслихестьх2иуестьу2, тогдаzестьz2,
где х,у– имена входных переменных;
z– имя переменной вывода;
х1,х2,у1,у2,z1,z2– лингвистические значения переменныхх,у,z, заданные нечёткими множествамиСx1,Cy1,Cz1,Сx2,Cy2,Cz2.
Необходимо определить чёткое значение z0на основе приведенной информации и чётких значенийхo,уo.