Нечеткая логика

Автор работы: Пользователь скрыл имя, 12 Декабря 2013 в 16:42, курсовая работа

Описание работы

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

Содержание работы

Введение
История развития нечеткой логики
Нечеткая логика: достоинства и недостатки
Нечеткие множества
Методы построения функций принадлежности нечетких множеств
Операции над нечеткими множествами
Свойства
Нечеткая и лингвистическая переменные
Нечеткое моделирование в среде MATLAB
FuzzyTECH
Моделирование работы светофора
Пример программы, выполненной в MATLAB
Автономный мобильный робот (АМР)
Заключение
Список использованной литературы

Файлы: 1 файл

КУРСОВАЯ РАБОТА №1.docx

— 237.36 Кб (Скачать файл)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Методы построения функций принадлежности нечетких множеств

 

 

Во многих задачах при  характеристике объекта можно выделить набор признаков и для любого из них определить полярные значения, отвечающие значениям функции принадлежности, 0 или 1.

 

Например, в задаче распознавания  лица можно выделить следующие пункты:

 

   

0

1

x1

высота лба

Низкий

широкий

x2

профиль носа

курносый

горбатый

x3

длина носа

короткий

длинный

x4

разрез глаз

узкий

широкий

x5

цвет глаз

светлый

темный

x6

форма подбородка

острый

квадратный

x7

толщина губ

тонкие

толстые

x8

цвет лица

темный

светлый

x9

овал лица

овальное

квадратное


 

 

Для конкретного лица А  эксперт, исходя из приведенной шкалы, задает mA(x)О [0,1], формируя векторную функцию принадлежности { mA(x1), mA(x2),... mA(x9)}.

 

         Косвенные методы определения значений функции принадлежности используются в случаях, когда нет элементарных измеримых свойств для определения нечеткого множества. Как правило, это методы попарных сравнений. Если бы значение функций принадлежности были известны, например, mA(xi) = wi, i=1,2,...,n, тогда попарные сравнения можно представить матрицей отношений A = {aij}, где aij=wi/wj (операция деления).

 

 

 

 

 

 

 

 

 

Операции  над нечеткими множествами

 

 

Содержание

 

          Пусть A и B - нечеткие множества на универсальном множестве E.

Говорят, что A содержится в B, если "x ОE mA(x) <mB(x).

Обозначение: A М B.

Иногда используют термин "доминирование", то есть в случае если A М B, говорят, что B доминирует A.

 

Равенство

 

          A и B равны, если "xОE mA(x) = mB (x).

Обозначение: A = B.

 

Дополнение

 

          Пусть M = [0,1], A и B - нечеткие множества, заданные на E. A и B дополняют друг друга, если

"xОE mA(x) = 1 - m B(x).

Обозначение: B = или A =

Очевидно, что  = A. (Дополнение определено для M = [0,1], но очевидно, что его можно определить для любого упорядоченного M).

 

Пересечение

 

          AЗB - наибольшее нечеткое подмножество, которое содержится одновременно в A и B.

mAЗB(x) = min( mA(x), mB(x)).

 

 

Объединение

 

А И В - наименьшее нечеткое подмножество, которое включает как А, так и В, с функцией принадлежности:

mAИ B(x) = max(mA(x), m B(x)).

 

Разность

 

          А - B = АЗ с функцией принадлежности:

mA-B(x) = mA З (x) = min( mA(x), 1 - m B(x)).

 

 

 

 

Дизъюнктивная сумма

 

          АЕB = (А - B)И(B - А) = (А З ) И( З B) с функцией принадлежности:

mA-B(x) = max{[min{m A(x), 1 - mB(x)}];[min{1 - mA(x), mB(x)}] }

 

 

Примеры

 

 

Пусть:

 

A = 0,4/ x1 + 0,2/ x2+0/ x3+1/ x4;

B = 0,7/ x1+0,9/ x2+0,1/ x3+1/ x4;

C = 0,1/ x1+1/ x2+0,2/ x3+0,9/ x4.

 

Здесь:

 

1. AМB, то есть A содержится в B или B доминирует A, С несравнимо ни с A, ни с B, то есть пари {A, С} и {A, С} - пары недоминируемых нечетких множеств.

2. A № B №C.

3. = 0,6/ x1 + 0,8/x2 + 1/x3 + 0/x4;

= 0,3/x1 + 0,1/x2 + 0,9/x3 + 0/x4.

4. AЗB = 0,4/x1 + 0,2/x2 + 0/x3 + 1/x4.

5. АИС = 0,7/x1 + 0,9/x2 + 0,1/x3 + 1/x4.

6. А - С = АЗ  = 0,3/x1 + 0,1/x2 + 0/x3 + 0/x4;

В - А = З С = 0,6/x1 + 0,8/x2 + 0,1/x3 + 0/x4.

7. А Е В = 0,6/x1 + 0,8/x2 + 0,1/x3 + 0/x4.

 

 

 

 

 

 

 

 

 

 

 

Наглядное представление операций над нечеткими  множествами

 

 

Для нечетких множеств можно  применить визуальное представление. Рассмотрим прямоугольную систему  координат, на оси ординат которой  откладываются значение mA(x), на оси абсцисс в произвольном порядке расположены элементы E. Если E по своей природе упорядочено, то этот порядок желательно сохранить в расположении элементов на оси абсцисс. Такое представление делает наглядными простые операции над нечеткими множествами.

 

          Пусть A нечеткий интервал между 5 до 8, и B нечеткое число около 4, как показано на рисунках (Рис. 3) и (Рис.4) соответственно:

                  Рис. 3(А-нечеткий интервал м/у 5 до 8)                     Рис.4(B нечеткое число около 4)

          Проиллюстрируем нечеткое множество между 5 и 8 И (AND) около 4 (синяя линия) (Рис. 5):

Рис. 5(Нечеткое мн-во м/у 5 и 8 (AND) около 4)

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

Рис. 6(Нечеткое мн-во м/у 5 и 8 (OR) около 4)

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

 

 

    Рис. 7(Отрицание нечеткого мн-ва)

          На следующем рисунке (Рис. 8) заштрихованная часть соответствует нечеткому множеству A и изображает область значений А и всех нечетких множеств, содержащихся в A. Остальные рисунки изображают соответственно , A Ç , A È .

 

 


                                                  

                                                Рис. 8

 

 

 

 

 

 

 

Свойства 

 

          Пусть А, В, С - нечеткие множества, тогда выполняются следующие свойства:

 

Коммутативность

     Ассоциативность

     Идемпотентность

     Дистрибутивность

     Теоремы де  Моргана

CON(A) = A2 - операция концентрирования,

DIL(A) = A0,5 - операция размывания, которые используются при работе с лингвистическими переменными.

 Рис. 9(Операции концентрирования и размывания)

Нечеткая  и лингвистическая переменные

 

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

          Нечеткая переменная характеризуется тройкой <a, X, A>, где

  • a - имя переменной,
  • X - универсальное множество (область определения a),
  • A - нечеткое множество на X, описывающее ограничение (то есть m A(x)) на значение нечеткой переменной a.

          Лингвистической переменной называется набор <b ,T,X,G,M>, где

  • b - имя лингвистической переменной;
  • Т - множество его значений (терм-множество), представляющие имена нечетких переменных, областью определения, которых является множество X. Множество T называется базовым терм-множеством лингвистической переменной;
  • G - синтаксическая процедура, позволяющая оперировать элементами терм-множества T, в частности, генерировать новые термы (значения). Множество TИG(T), где G(T) - множество сгенерированных термов, называется расширенным терм-множеством лингвистической переменной;
  • М - семантическая процедура, позволяющая преобразовать новое значение лингвистической переменной, образованной процедурой G, в нечеткую переменную, то есть сформировать соответствующее нечеткое множество.

Во избежание большого количества символов:

  • символ b используют как для названия самой переменной, так и для всех его значений;
  • для обозначения нечеткого множества и его названия пользуются одним символом, например, терм "молодой", является значением лингвистической переменной b = "возраст", и одновременно нечетким множеством М ("молодой").

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

 

 

 

 

 

Пример:

 

Пусть эксперт определяет толщину изделия, с помощью понятия "маленькая толщина", "средняя  толщина" и "большая толщина", при этом минимальная толщина  равняется 10 мм, а максимальная - 80 мм.

          Формализация этого описания может быть проведена с помощью лингвистической переменной <b, T, X, G, M>, где

  • b - толщина изделия;
  • T - {"маленькая толщина", "средняя толщина", "большая толщина"};
  • X - [10, 80];
  • G - процедура образования новых термов с помощью связок "и", "или" и модификаторов типа "очень", "не", "слегка" и др. Например, "маленькая или средняя толщина", "очень маленькая толщина" и др.;
  • М - процедура задания на X = [10, 80] нечетких подмножеств А1="маленькая толщина", А2 = "средняя толщина", А3="большая толщина", а также нечетких множеств для термов из G(T) соответственно правилам трансляции нечетких связок и модификаторов "и", "или", "не", "очень", "слегка", операции над нечеткими множествами вида: А З C, АИ C, , CON А = А2 , DIL А = А0,5 .

Вместе с рассмотренными выше базовыми значениями лингвистической  переменной "толщина" (Т={"маленькая  толщина", "средняя толщина", "большая толщина"}) существуют значения, зависящие от области определения  Х. В данном случае значения лингвистической  переменной "толщина изделия" могут быть определены как "около 20 мм", "около 50 мм", "около 70 мм", то есть в виде нечетких чисел.

 

 

 

 

 

 

 

 

 

 

Функции принадлежности нечетких множеств:

 

"маленькая толщина" = А1 , "средняя толщина"= А2, " большая толщина"= А3.

               Рис. 10(Ф-ии принадлежности нечетких мн-в)

Функция принадлежности:

нечеткое множество "маленькая  или средняя толщина" = А1ИА1.

                 Рис. 11(Ф-ия принадлежности мн-ва)

 

 

 

 

 

 

 

 

 

 

 

 

Нечеткая логика в MATLAB

 

 

Fuzzy logic toolbox - встроенная в Матлаб совокупность функций, обеспечивающая набор средств, позволяющих:

  • создавать и редактировать нечеткие системы внутри среды Матлаб;
  • встраивать нечеткую подсистему в Симулинк (поставляется с Матлабом) при моделировании общей системы;
  • построить нечеткую систему в Матлабе в виде процедуры, вызываемой из программы, написанной на Си.

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

  • функции командной строки (command line functions);
  • графический интерактивный интерфейс;
  • использование встроенных блоков Симулинка.

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

type имя_функции

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

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

Третья категория - моделирование в среде Симулинк. Здесь подсистемы представляются в виде блоков - можно соединить каким-либо образом и сразу получить результаты.

     В Матлабе есть множество встроенных функций принадлежности, в частности:

  • сигмоидальная;
  • двухсторонняя сигмоидальная;
  • гауссова;
  • колоколообразной формы
  • S-функция принадлежности;
  • Z-функция принадлежности;
  • трапециевидная;
  • треугольная и др.

Информация о работе Нечеткая логика