Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Система нечеткого вывода для решения задачи аппроксимации поверхности

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Решение задачи аппроксимации поверхности при помощи системы нечёткого вывода. Определение входных и выходных переменных, их термы; алгоритм Сугено. Подбор функций принадлежности, построение базы правил, необходимых для связи входных и выходных переменных.
Краткое сожержание материала:

Размещено на

Размещено на

Балтийский государственный технический университет «ВОЕНМЕХ» им. Д.Ф. Устинова

Курсовая работа

по курсу «Системы искусственного интеллекта»

тема:

Система нечеткого вывода для решения задачи аппроксимации поверхности

Выполнил: Дементьев Д.Ю.

Студент группы А-112

Проверил: Маслов А.А.

Санкт-Петербург - 2014 г.

Оглавление

  • Введение
  • Раздел 1. Алгоритм Мамдани
    • 1.1 Вывод структуры системы нечёткого вывода
    • 1.2 Определение входных переменных
    • 1.3 Выходная переменная
    • 1.4 Правила
    • 1.5 Анализ результатов
  • Раздел 2. Алгоритм Сугено

2.1 Вывод структуры системы нечёткого вывода

  • 2.2 Определение входных переменных
    • 2.3 Выходная переменная
    • 2.4 Правила
    • 2.5 Анализ результатов
  • Глава 3: Адаптивная система нейро-нечёткого вывода. (листинг программы в приложении 3)

3.1 Настройка (обучение) системы типа Сугено

3.2.1 Вывод структуры системы нейро-нечёткого вывода

3.2.2 Входные переменные

3.2.3 Выходная переменная

3.2.4 Правила

3.2.5 Анализ результатов

  • Список использованных источников
    • Приложение 1
    • Приложение 2
    • Приложение 3

Введение

В курсовой работе была решена задача аппроксимации поверхности. Для решения задачи использовались системы нечёткого вывода Мамдани, Сугено и адаптивная система нейро-нечёткого вывода ANFIS в программной среде MatLab.

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

Основные этапы нечеткого вывода:

- образование базы знаний;

- фазификация;

- агрегирование подусловий правил;

- активизация подзаключений;

- аккумулирование заключений;

- дефазификация.

Задача аппроксимации:

Уравнение для создания исходной матрицы: ,

Реализация в среде MatLab:

n=15;

X1=linspace(-7,3,n);

X2=linspace(-4.4,1.7,n);

y=zeros(n,n);

for j=1:n

y(j,:)=X1.^2*sin(X2(j)-1);

end

surf(X1,X2,y)

Рис. 1. Исходная поверхность

Раздел 1. Алгоритм Мамдани

(листинг программы приведён в приложении 1)

1.1 Вывод структуры системы нечёткого вывода

X1,X2 - входные переменные

y- выходная переменная

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

1.2 Определение входных переменных

Входная переменная X1.

Было выбрано три терма имеющих линейные вид (trimf):

- низкий (значение переменной низкое);

- средний (значение переменной среднее);

- высокий (значение переменной высокое).

Рис. 3. Функции принадлежности входной ЛП

Входная переменная X2

Рис. 4. Функции принадлежности входной ЛП

Используются те же три терма, что и в переменной X1.

1.3 Выходная переменная

Переменная y меняется от -50 до 50 и имеет пять термов: низкий, ниже среднего, средний, выше среднего, высокий. Термы также имеют нелинейный вид (gausmf).

Рис. 5. Функции принадлежности выходной ЛП

1.4 Правила

Нами было создано 7 правил для связи входных и выходных лингвистических переменных:

1. If (X1 is низкий) and (X2 is низкий) then (y is высокий) (1)

2. If (X1 is низкий) and (X2 is средний) then (y is низкий) (1)

3. If (X1 is низкий) and (X2 is высокий) then (y is высокий) (1)

4. If (X1 is средний) then (y is средний) (1)

5. If (X1 is высокий) and (X2 is низкий) then (y is вышеср) (1)

6. If (X1 is высокий) and (X2 is средний) then (y is нижеср) (1)

7. If (X1 is высокий) and (X2 is высокий) then (y is вышеср) (1)

Рис. 6. Графическое изображение правил

Метод дефаззификации - метод центра тяжести (centroid).

1.5 Анализ результатов

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

Рис. 7. Изначальная поверхность

Рис. 8. Аппроксимированная поверхность

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

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

Настройка:

· Изменим типы функций принадлежности входных и выходных переменных с линейного на нелинейный вид (gausmf);

· Поменяем силы правил а значения, полученные эмпирическим путём.

В результате настройки получим следующую аппроксимацию поверхности:

Рис. 9. Аппроксимированная поверхность после настройки

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

Раздел 2. Алгоритм Сугено

(листинг программы приведён в приложении 2)

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

Считается, что алгоритм Сугено точнее Мамдани, но он иногда труден в реализации.

2.1 Вывод структуры системы нечёткого вывода

x1, x2 - входные переменные

y - выходная переменная

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

2.2 Определение входных переменных

Входная переменная x1.

Было выбрано три терма имеющих нелинейные вид(gausmf):

- низкий (значение переменной низкое);

- средний (значение переменной среднее);

- высокий (значение переменной высокое).

Рис. 11. Функции принадлежности входной переменной x1

Входная переменная x2.

Используются те же три терма, что и в переменной x1.

Рис. 12. Функции принадлежности входной переменной x2

2.3 Выходная переменная

Пять линейных выражений, определяющих координату Y.

Рис. 13. Линейные выражения выходной переменной Y

2.4 Правила

Нами было создано шесть правил для связи входных и выходных переменных:

1. If (x1 is низкий) and (x2 is низкий) then (y is 50) (1)

2. If (x1 is низкий) and (x2 is средний) then (y is 4x1-x2) (1)

3. If (x1 is низкий) and (x2 is высокий) then (y is 50) (1)

4. If (x1 is средний) then (y is 0) (1)

5. If (x1 is высокий) and (x2 is низкий) then (y is 2x1-2x2-3) (1)

6. If (x1 is высокий) and (x2 is высокий) then (y is 2x1+2x2+1) (1)

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

Рис. 14. Графическое изображение правил

Метод дефаззификации - взвешенное среднее (wtaver).

2.5 Анализ результатов

В результате была получена аппроксимированная поверхность. Сравним её с изначальной поверхностью, построенной стандартными средствами MatLab, без использования систе...

Другие файлы:

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

Исследование работы алгоритма Мамдани в системах нечеткого вывода
Начальное представление систем нечеткого вывода: логический вывод, база знаний. Алгоритм Мамдани в системах нечеткого вывода: принцип работы, формиров...

Разработка метода сетевого оператора для аппроксимации логического вывода экспертной системы
Сущность интеллектуальных систем. Запись математического выражения в виде ориентированного графа. Особенности разработки генетического алгоритма для р...

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

Использование генетических алгоритмов для оптимизации базы правил
Характеристика методов нечеткого моделирования и изучение системы кластеризации в пакетах прикладных программ. Разработка и реализация алгоритма для о...