Операции нечеткой логики

Нечеткая логика позволяет более адекватно, чем двоичная логика, описывать ситуации с неопределенностью. Классическая логика игнорирует проблему неопределенности, поскольку все высказывания могут иметь только значения «истина», «ложь». В нечеткой логике значения высказываний и степени истинности Т могут отличаться от этих двух указанных выше значений и лежать в интервале [0, 1]. Степень истинности Т высказывания А записывается как Т(А). Рассмотрим основные логические операции с нечеткими высказываниями.

Логическое отрицание Т нечеткого высказывания А определяется как

Логическая конъюнкция нечетких высказываний (нечеткое логическое И) определяется по основной

или альтернативной формуле

Логическая дизъюнкция нечетких высказываний (логическое неисключающее ИЛИ) определяется по основной

или альтернативной формуле

Операции с нечеткими множествами. К нечетким множествам можно применять следующие наиболее часто встречающиеся операции: пересечение (рис. 5.4, а), объединение (рис. 5.4, б) и некоторые другие операции.

Логические операции «пересечение» (а) и «объединение» (б)

Рис. 5.4. Логические операции «пересечение» (а) и «объединение» (б)

Пусть А и В — нечеткие множества, заданные на одном и том же универсуме X.

Пересечением двух нечетких множеств А и В называют третье нечеткое множество С, заданное на том же универсуме X, функция принадлежности которого определяется по формуле

Операция пересечения нечетких множеств обозначается знаком п. Результат операции записывается так:

Как следует из рис. 5.4, ау пересечение С = АпВ есть наибольшее нечеткое подмножество С, которое содержится одновременно в нечетких множествах А и В. Операцию пересечения нечетких множеств в соответствии с (5.10) иногда называют тш-пересечением или л-пересечением (по аналогии с логической операцией умножения И). В этом случае знак л обозначает операцию нахождения минимального значения.

Объединением двух нечетких множеств А и В называют третье нечеткое множество Д функция принадлежности которого определяется по формуле

Операция объединения нечетких множеств обозначается знаком и. Результат операции имеет вид

Как следует из рис. 5.4, б, объединение D = AuB есть наименьшее нечеткое множество Д которое доминирует одновременно и как А, и как В.

Операцию объединения нечетких множеств иногда называют тах- объединением или v-объединением (по аналогии с логической операцией сложения ИЛИ). В этом случае знак v обозначает операцию нахождения максимального значения.

Для описания нечетких множеств, представляющих собой входные и выходные переменные, вводятся понятия «нечеткая переменная» и «лингвистическая переменная».

Нечеткая переменная, или терм, описывается набором, или кортежем (N, X, А), где N — эго название нечеткой переменной (терма), X — универсум, т.е. универсальное множество (область определения нечеткой переменной или область рассуждений), А =л(х)/г} — нечеткое множество на X, описывающее возможные значения, которые может принимать нечеткая переменная N. Таким образом, говоря о нечеткой переменной N, мы будем иметь в виду нечеткое множество А, которое определяет ее возможные значения. В качестве примера нечеткой переменной можно привести рассмотренное ранее нечеткое множество, которое характеризуется понятием «горячий чай». В этом случае соответствующая нечетная переменная может быть представлена следующим образом:

где х — температура в градусах Цельсия; С = с(х)/х} — нечеткое множество С с функцией принадлежности цс(.г). Значения функции принадлежности хс(х) могут быть взяты из априорных знаний, интуиции (опыта), опроса экспертов.

Обобщением нечеткой переменной является так называемая лингвистическая переменная. Значениями лингвистической переменной могут быть нечеткие переменные (термы). При этом лингвистическая переменная находится на более высоком уровне, чем нечеткая переменная. Каждая лингвистическая переменная может содержать несколько нечетких переменных (термов), которые называются базовым терм-множеством Т. Например, лингвистическая переменная Р = «Скорость движения автомобиля» может содержать базовое терм-множество Т = {«Малая скорость», «Средняя скорость», «Высокая скорость»}.

Лингвистическая переменная определяется как набор, или кортеж, имеющий вид

Здесь р — наименование лингвистической переменной; Т — базовое терм-множество лингвистической переменной, или множество ее термов, каждый из которых представляет собой нечеткую переменную; X — универсум; G — синтаксическое правило, по которому генерируются термы с применением слов естественного или формального языка; Р — семантическое правило, которое каждому значению лингвистической переменной ставит в соответствие нечеткое подмножество множества X.

Рассмотрим такое нечеткое понятие, как «расстояние». Это и есть название лингвистической переменной, значениями которой являются не числа, а слова естественного языка, называемые термами. Сформируем для этой лингвистической переменной базовое терм-множество Ту которое будет состоять из трех нечетких переменных (термов), образующих терм- множество Т = {«Близко», «Средняя дальность», «Далеко»}, и зададим область рассуждений в виде X = [0, 200] (значениями от 0 до 200 могут быть метры, сантиметры и другие единицы длины). После этого для каждого лингвистического терма из базового терм-множества Т нужно построить функции принадлежности.

Совокупность функций принадлежности для всех термов из базового терм-множества Т для рассматриваемой лингвистической переменной обычно изображается вместе на одном графике. На рис. 5.5 приведен пример описанной выше лингвистической переменной «Расстояние», состоящей из трех термов: «Близко», «Средняя дальность», «Далеко». Количество термов в лингвистической переменной обычно принимают от трех до семи. Эти термы служат для приведения четких значений х к нечетким переменным («Близко», «Средняя дальность», «Далеко») и определения при этом для каждой из них функции принадлежности р(х). На основании нечетких логических переменных система управления формирует совокупность нечетких логических выводов. Для приведенной выше в качестве примера простой лингвистической переменной процедуры G и Р не используются.

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

Основой для проведения операции нечеткого логического вывода является база продукционных правил, содержащая нечеткие высказывания в форме «если..., то...» и функции принадлежности для соответствующих лингвистических выходных термов. Входная часть правила находится после слова «если» и называется предпосылкой. Выходная часть правила находится после слова «то» и называется заключением. Обобщающее правило R является результатом применения операции сложения ИЛИ некоторых отдельных правил

Вывод каждого правила имеет вид некоторого подмножества. Следовательно, результирующий вывод также является нечетким.

При составлении правил должны соблюдаться следующие условия:

  • • необходимо хотя бы одно правило для каждого лингвистического терма выходной переменной;
  • • для любого терма входной переменной необходимо хотя бы одно правило, в котором этот терм используется в качестве предпосылки (левая часть правила).
Описание лингвистической переменной «Расстояние»

Рис. 5.5. Описание лингвистической переменной «Расстояние»

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

Рассмотрим пример использования нечеткой логики для построения системы управления движением мобильного робота. Будем считать, что на рис. 5.5 заданы термы лингвистической переменной «Расстояние от робота до помехи», причем расстояние это выражено в сантиметрах. Кроме расстояния до помехи необходимо знать и направление на помеху. Для этого введем вторую лингвистическую переменную «Направление на помеху», которая будет определяться по углу между продольной осью робота и направлением на помеху. Для лингвистической переменной «Направление на помеху» введем три нечеткие переменные (три терма): «Помеха справа», «Помеха прямо» и «Помеха слева». Итак, для управления мобильным роботом введены две лингвистические переменные: «Расстояние до помехи» и «Направление на помеху».

Чтобы робот мог объезжать возникшие на его пути или близкие к пути помехи, необходимо задать выходные переменные, которые будут управлять движением робота. В рассматриваемом примере достаточно одной выходной переменной, которая будет воздействовать на систему рулевого управления. Назовем эту лингвистическую переменную «Руль» и введем для нее следующие термы: «Резко влево», «Влево», «Прямо», «Вправо», «Резко вправо».

Теперь сформулируем на основе наших эмпирических знаний (или знаний экспертов) следующую базу нечетких правил, используемых в системах нечеткого вывода:

  • 1. Если «Расстояние» «Близко» и «Помеха справа», то «Руль» «Резко влево».
  • 2. Если «Расстояние» «Близко» и «Помеха прямо», то «Руль» «Резко влево».
  • 3. Если «Расстояние» «Близко» и «Помеха слева», то «Руль» «Резко вправо».
  • 4. Если «Расстояние» «Средняя дальность» и «Помеха справа», то «Руль» «Влево».
  • 5. Если «Расстояние» «Средняя дальность» и «Помеха прямо», то «Руль» «Влево».
  • 6. Если «Расстояние» «Средняя дальность» и «Помеха слева», то «Руль» «Вправо».
  • 7. Если «Расстояние» «Далеко» и «Помеха справа», то «Руль» «Прямо».
  • 8. Если «Расстояние» «Далеко» и «Помеха прямо», то «Руль» «Прямо».
  • 9. Если «Расстояние» «Далеко» и «Помеха слева», то «Руль» «Прямо».

Каждое правило в общем случае имеет некоторый вес или коэффициент определенности F, который определяет значимость правила или уверенность в степени истинности заключения, полученного по отдельному нечетному правилу. Здесь по умолчанию все весовые коэффициенты приняты равными единице. Связь между входными переменными и выходом системы управления запоминается в таблице нечетких правил (табл. 5.3).

Таблица 53

Связь между входными переменными и выходом системы управления роботом

Направление на помеху

Расстояние до помехи

Близко

Средняя дальность

Далеко

Помеха справа

Резко влево

Влево

Прямо

Помеха прямо

Резко влево

Влево

Прямо

Помеха слева

Резко вправо

Вправо

Прямо

Результатом нечеткого вывода является четкое значение переменной «Руль» на основе заданных четких значений входных переменных х{ (расстояние до помехи, выраженное в сантиметрах) и х2 (направление на помеху, выраженное в градусах). В общем случае механизм логического вывода включает четыре этапа: введение нечеткости (фаззификация), нечеткий вывод, композиция и приведение к четкости, или дефаззифика- ция (рис. 5.6).

Структура системы управления с использованием нечеткой логики

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

Фаззификация (Fuzzification) — это перевод четкого значения в нечеткий формат («Близко», «Далеко» и т.д.), т.е. процедура нахождения функций принадлежности всех нечетких множеств (термов). Иногда фаззификацию называют введением нечеткости. Согласно положениям теории нечетких множеств, каждому значению расстояния из указанного диапазона может быть поставлено в соответствие некоторое число от нуля до единицы, которое определяет степень принадлежности данного физического расстояния к тому или иному терму лингвистической переменной «Расстояние». Степень принадлежности определяется так называемой функцией принадлежности р(х), где х — расстояние до помехи. Дефаззификация (Defuzzification) — приведение к четкости — это процесс, обратный фаззи- фикации, т.е. процесс нахождения обычного числового значения для выходных (управляющих) переменных или в рассматриваемом случае для одной переменной. Цель дефаззификации заключается в том, чтобы, используя результаты аккумуляции всех выходных лингвистических переменных, получить обычное количественное значение выходных переменных.

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

На рис. 5.7 показано, как на основании приведенных выше правил формируется система управления с применением нечеткой логики.

Рассмотрим работу системы управления подробнее. Пусть расстояние до помехи равно 50 см и помеха находится прямо. Тогда, как следует из рис. 5.5, в результате фаззификации активными становятся термы (нечеткие высказывания) «Близко» и «Средняя дальность». Функции принадлежности (степени истинности) будут равны для обоих термов 0,5 (см. рис. 5.7). Степень истинности для терма «Далеко» (см. рис. 5.5) в результате фаз- зификакции становится равной нулю (см. рис. 5.7). Будем считать, что в результате фаззификации степени истинности термов «Помеха справа» и «Помеха слева» становятся равными нулю, а степень истинности терма «Помеха прямо» равна единице. Полученные степени истинности (0,5; 0,5; 0) для лингвистической переменной «Расстояние» и (0; 1; 0) для лингвистической переменной «Направление» показаны на рис. 5.7.

Далее производится процесс агрегирования (Aggregation), в результате которого определяются степени истинности условий по каждому из правил системы нечеткого вывода. При этом степень истинности логической конъюнкции нечетких высказываний (нечеткое логическое И) вычисляется по альтернативной формуле алгебраическим произведением степеней истинности отдельных высказываний. В результате операций агрегирования мы получаем степени истинности 0,5 для нечетких правил с номерами 2 и 5 (см. рис. 5.7). Эти правила считаются активными и используются в текущем процессе нечеткого вывода.

Графики функций принадлежности для термов лингвистической переменной «Руль» приведены на рис. 5.7, б. Угол поворота руля дан с учетом редуктора механизма управления. Аккумуляция активизированных нечетких правил 2 и 5 с использованием операции /war-дизъюнкции приводит к результирующему нечеткому множеству, функция принадлежности которого го

го

со

Система управления с применением нечеткой логики

Рис. 5.7. Система управления с применением нечеткой логики.

Активные нечеткие переменные и правила, степень истинности которых отлична от нуля, показаны серым цветом затемнена на уровне 0,5 (рис. 5.7, 6). Это есть выходная лингвистическая переменная «Руль». Чтобы дефаззифицировать выходную лингвистическую переменную «Руль», т.е. получить значение угла поворота руля в градусах, необходимо найти центр тяжести площади полученной заштрихованной фигуры. Центр тяжести площади рассчитывается по формуле

Здесь у — выходная реальная величина (результат дефаззификации); х{ и х2 пределы интегрирования по аргументу х; MF — функция принадлежности.

В данном случае получается значение угла поворота руля у = -49,6°.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >