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



МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Коломенский институт (филиал)

федерального государственного бюджетного образовательного учреждения

высшего образования

«МОСКОВСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

 

 

Кафедра автоматизации производства и информационных технологий

 

П.С. Романов

 

Методические указания по выполнению лабораторной работы

По дисциплине

«СИСТЕМЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА»

Моделирование системы нечеткого вывода по Сугено с помощью пакета SciFLT системы Scilab

 

 

Коломна – 2019


Содержание

1. Введение .......................................................................................................................... 2
2. Нечеткое управление………………………………………………………………….. 2
2.1. Этапы нечеткого вывода………………………………………………………………. 3
2.2. Алгоритмы нечеткого вывода Мамдани и Сугено………………………………….. 7
3. Редактор системы нечеткого вывода. Построение нечетких систем в Scilab. Система нечеткого вывода по Сугено………………………………………………..   9
4. Задание для лабораторной работы.................................................................................. 26
5. Структура отчета.............................................................................................................. 26
6. Исходные данные……………………………………………………………………… 26
7. Литература........................................................................................................................ 27

Введение

Лабораторная работа выполняется на основе теории нечетких множеств на ПК с использованием систем Scilab и Microsoft WORD в среде Windows ХР/7/8/10.

Цели работы:

изучение основ нечеткой логики

изучение метода построения нечеткой системы в модуле SciFLT системы SciLAB;

получение умений и навыков:

построения системы нечеткого вывода по Сугено с помощью пакета SciFLT системы Scilab;

в анализе полученных результатов.

 

Нечеткое управление

 

Система нечеткого вывода – это процесс получения нечетких заключений о требуемом управлении объектом на основе нечетких условий или предпосылок, представляющих собой информацию о текущем состоянии объекта. Этот процесс соединяет в себе все основные концепции теории нечетких множеств: функции принадлежности, лингвистические переменные, методы нечеткой импликации и т.п.

В любой модели преобразования нечеткой информации в той или иной форме присутствуют три процедуры:

преобразование текущих значений входных переменных в значения лингвистических переменных;

нечеткий вывод значений, выходных лингвистических переменных;

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

Общая схема обработки нечеткой информации выглядит следующим образом (рис.1).

Рис.1. Общая схема обработки нечеткой информации

 

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

Точные исходные данные с датчиков сведений переводятся в значения лингвистических переменных в специальном блоке, получившем название «фаззификатор». Далее реализуются процедуры нечеткого вывода на множестве продукционных правил, составляющих базу знаний системы обработки информации, в результате чего формируются выходные лингвистические значения. Последние переводятся в точные значения результатов вычислений в специальном блоке, получившем название «дефаззификатор». На выходе последнего формируются точные заключения о результатах вывода. В базе знаний хранятся также параметры процедур фаззификации и дефаззификации, например виды функций принадлежности и их параметры, способы агрегирования информации, методы приведения к четкости и т.д. Эта концептуальная схема лежит в основе так называемого нечеткого контроллера, используемого в интеллектуальных системах обработки неопределенной информации, в частности, в системах интеллектуального управления, в том числе и системах управления интеллектуальных роботов (ИР).

 

Этапы нечеткого вывода

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

Рис.2. Диаграмма процесса нечеткого вывода в системах нечеткого управления

 

Рассмотрим этапы нечеткого вывода.

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

Нечеткое высказывание. Нечеткой импликацией или просто – импликацией нечетких высказываний А и В (записывается: А → В и читается – «из А следует В», «Если А, то В» ) называется бинарная логическая операция, результат которой является нечетким высказыванием, истинность которого может принимать значение, определяемое по одной из следующих формул.

Классическая нечеткая импликация, предложенная Л. Заде:

T(A →B) = max{min{T(A), T(B)}, 1-Т(A))}

Нечеткая импликация, предложенная Э. Мамдани: Т (A → B) = min {Т(A), T(B)}.

Нечетким высказыванием будем называть высказывание вида "β IS α", где: β - лингвистическая переменная; α - один из термов этой переменной. Пример: «Бронежилет IS легкий». Здесь «Бронежилет» — это лингвистическая переменная, а «легкий» её значение.

Упрощенно, правилом нечетких продукций (далее просто правилом) называют классическое правило вида «ЕСЛИ… ТО ...», где в качестве условий и заключений используются нечеткие высказывания. Записываются правила в виде: IF (β1 ISα1) AND (β2 ISα2) THEN (β3 ISα3).

Кроме «AND» используются логическая связка «OR». Но такую запись обычно стараются избегать, разделяя такие правила на несколько более простых (без «OR»). Также каждое из нечетких высказываний в условии любого правила будем называть подусловием. Аналогично, каждое из высказываний в заключении называется подзаключением.

«ЕСЛИ A ТО B», «IF A THEN B»;

A – условие ядра (или антецедент), B – заключение ядра (или консеквент), ═> – знак логической секвенции или следования.

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

ПРАВИЛО <1>: ЕСЛИ «уровень жидкости малый» И «расход жидкости большой» ТО «приток жидкости большой»

ПРАВИЛО <2>: ЕСЛИ «уровень жидкости малый» И «расход жидкости средний» ТО «приток жидкости большой»

ПРАВИЛО <3>: ЕСЛИ «уровень жидкости малый» И «расход жидкости малый» ТО «приток жидкости средний»

ПРАВИЛО <4>: ЕСЛИ «уровень жидкости средний» И «расход жидкости большой» ТО «приток жидкости большой».

ПРАВИЛО <5>: ЕСЛИ «уровень жидкости средний» И «расход жидкости средний» ТО «приток жидкости средний»

ПРАВИЛО <6>: ЕСЛИ «уровень жидкости средний» И «расход жидкости малый» ТО «приток жидкости малый»

ПРАВИЛО <7>: ЕСЛИ «уровень жидкости большой» И «расход жидкости большой» ТО «приток жидкости средний»

ПРАВИЛО <8>: ЕСЛИ «уровень жидкости большой» И «расход жидкости средний» ТО «приток жидкости малый»

ПРАВИЛО <9>: ЕСЛИ «уровень жидкости большой» И «расход жидкости малый» ТО «приток жидкости малый»

Фаззификация (введение нечеткости) – это установка соответствия между численным значением входной переменной системы нечеткого вывода и значением функции принадлежности соответствующего ей терма лингвистической переменной.

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

Если текущие уровень и расход жидкости 2.5 м и 0.4 м 3 /cек соответственно, то при фаззификации получаем степени истинности элементарных нечетких высказываний (рис.3):

«уровень жидкости малый» – с=0.75; «уровень жидкости средний» – с=0.25;

«уровень жидкости большой» – с= 0.00; «расход жидкости малый» – с=0.00;

«расход жидкости средний» – с=0.49; «расход жидкости большой» – с=1.00.

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

Рис.3. Функции принадлежности при фаззификации

 

Например, нечеткое логическое «И» двух элементарных высказываний A, B : T( A ∩ B )=min{T(A);T(B)}:

ПРАВИЛО <1>: антецедент – «уровень жидкости малый» И «расход жидкости большой»; степень истинности антецедента min{0.75;1.00}=0.75.

ПРАВИЛО <2>: антецедент – «уровень жидкости малый» И «расход жидкости средний»; степень истинности антецедента min{0.75;0.50}=0.49 .

ПРАВИЛО <3>: антецедент – «уровень жидкости малый» И «расход жидкости малый», степень истинностиантецедента min{0.75;0.00}=0.00 .

ПРАВИЛО <4>: антецедент – «уровень жидкости средний» И «расход жидкости большой», степень истинности антецедента min{0.25;1.00}=0.25 .

ПРАВИЛО <5>: антецедент – «уровень жидкости средний» И «расход жидкости средний», степень истинности антецедента min{0.25;0.50}=0.25.

ПРАВИЛО <6>: антецедент – «уровень жидкости средний» И «расход жидкости малый», степень истинности антецедента min{0.25;0.00}=0.00 .

ПРАВИЛО <7>: антецедент – «уровень жидкости большой» И «расход жидкости большой», степень истинности антецедента min{0.00;1.00}=0.00.

ПРАВИЛО <8>: антецедент – «уровень жидкости большой» И «расход жидкости средний», степень истинности антецедента min{0.00;0.50}=0.00.

ПРАВИЛО <9>: антецедент – «уровень жидкости большой» И «расход жидкости малый», степень истинности антецедента min{0.00;0.00}=0.00 .

Активизация в системах нечеткого вывода – это процедура или процесс нахождения степени истинности каждого из элементарных логических высказываний (подзаключений), составляющих консеквенты(заключения) ядер всех нечетких продукционных правил.

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

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

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

Функции принадлежности μ (y) каждого из элементарных подзаключений консеквентов всех продукционных правил находятся при помощи одного из методов нечеткой композиции:

min–активизация – μ( y )=min{ c;μ( x ) } ;

prod-активизация – μ (y) =c μ (x) ;

average-активизация – μ (y) =0.5(c + μ (x) ) ;

где c – степени истинности нечетких высказываний.

Активизация подзаключений(рис.4).

Рис.4. Функции принадлежности всех подзаключений при min активизации

 

Аккумуляция (или аккумулирование) в системах нечеткого вывода – это процесс нахождения функции принадлежности для каждой из выходных лингвистических переменных. Объединение функций принадлежности всех подзаключений проводится как правило классически ∀x∈X μAB(x)=max{μA(x); μB(x)} (max-объединение), также могут использоваться операции:

алгебраического объединения ∀x∈X μA+B(x)=μA(x)+μB(x)-μA(x)⋅μB(x),

граничного объединения ∀x∈X μAÅB(x)= min{μA(x)+μB(x);1},

драстического объединения x∈X μAB(x)= {μB(x), если μA(x)=0,

      μA(x), если μB(x)=0,

      1, в остальных случаях,

а также λ – суммы ∀x∈X μ(A+B)(x)= λμA(x)+(1-λ)μB(x), λ∈[0;1].

Пример. Функция принадлежности лингвистической переменной «приток жидкости», полученная в результате аккумуляции всех подзаключений при max-объединении будет выглядеть следующим образом.

Рис.5. Функция принадлежности лингвистической переменной «приток жидкости»

 

Дефаззификация в системах нечеткого вывода – это процесс перехода от функции принадлежности выходной лингвистической переменной к её четкому (числовому) значению. Цель ‑ получить количественные значения для каждой выходной переменной.

1. Метод центра тяжести (Centre of Gravity) заключается в расчете центроида площади

(результат дефаззификации обозначен на рис.5 зеленой линией)

2. Метод центра площади (Centre of Area) заключается в расчете абсциссы u, делящей площадь, ограниченную кривой функции принадлежности μ (x), так называемой биссектрисы:

(результат дефаззификации обозначен на рис.5 синей линией)

3. Метод левого модального значения y=xmin;

4. Метод правого модального значения y=xmax

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

метод центра тяжести y= 0.39875 м3 /сек ; метод центра площади y= 0.40938 м3 /сек;

метод левого модального значения y= 0.21 м3 /сек ;

метод правого модального значения y= 0.50 м3 /сек.

 


Дата добавления: 2019-09-13; просмотров: 505; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!