Реферат: «Нечеткая логика в системах управления»

Московская Государственная Академия Приборостроения иИнформатики

РЕФЕРАТ

по теория систем и системного анализа

«Нечеткая логика в системахуправления»

Выполнил: Пяров Тимур Р
ЭФ2, 2 курс, 35.14

2002
Москва
Оглавление TOC o «1-3» h z u

Нечеткаялогика в системах управления. PAGEREF _Toc10444241 h 3

Немноготеории. PAGEREF _Toc10444242 h 3

Фаззификация(переход к нечеткости) PAGEREF _Toc10444243 h 5

Лингвистическиепеременные. PAGEREF _Toc10444244 h 6

Функциипринадлежности. PAGEREF _Toc10444245 h 6

Разработканечетких правил. PAGEREF _Toc10444246 h 7

Дефаззификация(устранение нечеткости) PAGEREF_Toc10444247 h 8

Методцентра максимума (СоМ) PAGEREF _Toc10444248 h 9

Методнаибольшего значения (МоМ) PAGEREF _Toc10444249 h 9

Методцентроида (СоА) PAGEREF _Toc10444250 h 9

Описаниесистемы… PAGEREF _Toc10444251 h 10

Off-line-оптимизация. PAGEREF _Toc10444252 h 11

On-line-оптимизация. PAGEREF _Toc10444253 h 11

Реализация. PAGEREF _Toc10444254 h 11

Литература. PAGEREF _Toc10444255 h 13


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

<img src="/cache/referats/11546/image001.jpg" align=«left» hspace=«10» vspace=«10» v:shapes="_x0000_s1026">Впоследнее время нечеткая технология завоевывает все больше сторонников средиразработчиков систем управления. Взяв старт в 1965 году из работ профессораЛотфи Заде [1], за прошедшее время нечеткая логика прошла путь от почтиантинаучной теории, практически отвергнутой в Европе и США, до банальнойситуации конца девяностых годов, когда в Японии в широком ассортиментепоявились «нечеткие» бритвы, пылесосы, фотокамеры [4, 10]. Сам термин «fuzzy»так прочно вошел в жизнь, что на многих языках он даже не переводится. В Россиив качестве примера можно вспомнить рекламу стиральных машин и микроволновыхпечей фирмы Samsung, обладающих искусственным интеллектом на основе нечеткойлогики.
Тем не менее, столь масштабный скачок в развитии нечетких систем управленияне случаен. Простота и дешевизна их разработки заставляет проектировщиков всечаще прибегать к этой технологии. Бурный рост рынка нечетких систем <img src="/cache/referats/11546/image002.jpg" align=«right» hspace=«10» vspace=«10» v:shapes="_x0000_s1027">показан на рис. 1.
После поистине взрывного старта прикладных нечетких систем в Японии [2, 3,5, 6] многие разработчики США и Европы наконец-то обратили внимание на этутехнологию. Но время было упущено, и мировым лидером в области нечетких системстала Страна восходящего солнца [7, 8], где к концу 1980-х годов был налаженвыпуск специализированных нечетких контроллеров, выполненных по технологии СБИС[9]. В такой ситуации Intel нашла поистине гениальное решение. Имея большоеколичество разнообразных контроллеров от MCS-51 до MCS-96, которые напротяжении многих лет успешно использовались во многих приложениях, корпорациярешила создать средство разработки приложений на базе этих контроллеров, но сиспользованием технологии нечеткости. Это позволило избежать значительныхзатрат на конструирование собственных нечетких контроллеров, а система отIntel, получившая название fuzzy TECH, завоевала огромную популярность нетолько в США и Европе, но и прорвалась на японский рынок.

Немного теории

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

<img src="/cache/referats/11546/image003.jpg" hspace=«10» vspace=«10» v:shapes="_x0000_i1025">

На рис. 2 показаны области наиболее эффективного применения современныхтехнологий управления. Как видно, классические методы управления хорошоработают при полностью детерминированном объекте управления и детерминированнойсреде, а для систем с неполной информацией и высокой сложностью объектауправления оптимальными являются нечеткие методы управления. (В правом верхнемуглу рисунка приведена еще одна современная технология управления — сприменением искусственных нейронных сетей, но мы не станем столь глубоковдаваться в достижения ученых.)

Вернемся к теории и кратко рассмотрим такие понятия, как «нечеткие правила»,«нечеткий вывод» да и сам термин «нечеткое управление».

Классическая логика развивается с древнейших времен. Ее основоположникомсчитается Аристотель. Логика известна нам как строгая и сугубо теоретическаянаука, и большинство ученых (кроме разработчиков последнего поколениякомпьютеров) продолжают придерживаться этого мнения. Вместе с тем классическаяили булева логика имеет один существенный недостаток — с ее помощью невозможноописать ассоциативное мышление человека. Классическая логика оперирует толькодвумя понятиями: ИСТИНА и ЛОЖЬ, и исключая любые промежуточные значения.Аналогично этому булева логика не признает ничего кроме единиц и нулей. Все этохорошо для вычислительных машин, но попробуйте представить весь окружающий васмир только в черном и белом цвете, вдобавок исключив из языка любые ответы навопросы, кроме ДА и НЕТ. В такой ситуации вам можно только посочувствовать.Решить эту проблему и призвана нечеткая логика. С термином «лингвистическаяпеременная» можно связать любую физическую величину, для которой нужно иметьбольше значений, чем только ДА и НЕТ. В этом случае вы определяете необходимоечисло термов и каждому из них ставите в соответствие некоторое значениеописываемой физической величины. Для этого значения степень принадлежностифизической величины к терму будет равна единице, а для всех остальных значений- в зависимости от выбранной функции принадлежности. Например, можно ввестипеременную ВОЗРАСТ и определить для нее термы ЮНОШЕСКИЙ, СРЕДНИЙ и ПРЕКЛОННЫЙ.Обсудив с экспертами значения конкретного возраста для каждого терма, вы сполной уверенностью можете избавиться от жестких ограничений логики Аристотеля.

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

Одним из основных методов представления знаний в экспертных системах являютсяпродукционные правила, позволяющие приблизиться к стилю мышления человека.Любое правило продукций состоит из посылок и заключения. Возможно наличиенескольких посылок в правиле, в этом случае они объединяются посредствомлогических связок И, ИЛИ. Обычно продукционное правило записывается в виде:«ЕСЛИ (посылка) (связка) (посылка)… (посылка) ТО (заключение)».

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

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

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

Рассмотрим подробнее эти шаги на примере поставляемой с пакетом fuzzy TECHмодели контейнерного крана. Пусть вам, как маститому крановщику, необходимоперегрузить контейнер с баржи на железнодорожную платформу. Вы управляетемощностью двигателя тележки крана, заставляя ее двигаться быстрее или медленнее.От скорости перемещения тележки, в свою очередь, зависит расстояние до цели иамплитуда колебания контейнера на тросе. Вследствие того, что стратегияуправления краном сильно зависит от положения тележки, применение стандартныхконтроллеров для этой задачи весьма затруднительно. Вместе с тем математическаямодель движения груза, состоящая из нескольких дифференциальных уравнений,может быть составлена довольно легко, но для ее решения при различных исходныхданных потребуется довольно много времени. К тому же исполняемый код программыбудет большим и не поворотливым. Нечеткая система справляется с такой задачейочень быстро — несмотря на то, что вместо сложных дифференциальных уравненийдвижения груза весь процесс движения описывается терминами естественного языка:«больше», «средне», «немного» и т. п. То есть так, будто вы даете указаниясвоему товарищу, сидящему за рычагами управления.

Фаззификация (переход к нечеткости)

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

Рассмотрим этот этап подробнее. Прежде всего, введем понятие«лингвистической переменной» и «функции принадлежности».

Лингвистические переменные

В нечеткой логике значения любой величины представляются не числами, асловами естественного языка и называются ТЕРМАМИ. Так, значениемлингвистической переменной ДИСТАНЦИЯ являются термы ДАЛЕКО, БЛИЗКО и т. д.

Конечно, для реализации лингвистической переменной необходимо определитьточные физические значения ее термов. Пусть, например, переменная ДИСТАНЦИЯможет принимать любое значение из диапазона от 0 до 60 метров. Как же нампоступить? Согласно положениям теории нечетких множеств, каждому значениюрасстояния из диапазона в 60 метров может быть поставлено в соответствиенекоторое число, от нуля до единицы, которое определяет СТЕПЕНЬ ПРИНАДЛЕЖНОСТИданного физического значения расстояния (допустим, 10 метров) к тому или иномутерму лингвистической переменной ДИСТАНЦИЯ. В нашем случае расстоянию в 50метров можно задать степень принадлежности к терму ДАЛЕКО, равную 0,85, а ктерму БЛИЗКО — 0,15. Конкретное определение степени принадлежности возможнотолько при работе с экспертами. При обсуждении вопроса о термах лингвистическойпеременной интересно прикинуть, сколько всего термов в переменной необходимодля достаточно точного представления физической величины. В настоящее времясложилось мнение, что для большинства приложений достаточно 3-7 термов накаждую переменную. Минимальное значение числа термов вполне оправданно.Такоеопределение содержит два экстремальных значения (минимальное и максимальное) исреднее. Для большинства применений этого вполне достаточно. Что касаетсямаксимального количества термов, то оно не ограничено и зависит целиком отприложения и требуемой точности описания системы. Число же 7 обусловленоемкостью кратковременной памяти человека, в которой, по современнымпредставлениям, может храниться до семи единиц информации.

В заключение дадим два совета, которые помогут в определении числа термов:

n исходите из стоящей перед вами задачи и необходимой точности описания,помните, что для большинства приложений вполне достаточно трех термов впеременной;

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

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

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

<img src="/cache/referats/11546/image004.jpg" hspace=«10» vspace=«10» v:shapes="_x0000_i1026">

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

Подведем некоторый итог этапа фаззификации и дадим некое подобие алгоритмапо формализации задачи в терминах нечеткой логики.

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

Шаг 2. После определения значений с единичной принадлежностьюнеобходимо определить значение параметра с принадлежностью «0» к данному терму.Это значение может быть выбрано как значение с принадлежностью «1» к другомутерму из числа определенных ранее.

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

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

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

Разработканечетких правил

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

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

Процесс вычисления нечеткого правила называется нечетким логическим выводоми подразделяется на два этапа: обобщение и заключение.

Пусть мы имеем следующее правило:

ЕСЛИ ДИСТАНЦИЯ=средняя И

УГОЛ=малый, ТО МОЩНОСТЬ=средняя.

Обратимся к примеру с контейнерным краном и рассмотрим ситуацию, когдарасстояние до платформы равно 20 метрам, а угол отклонения контейнера на тросекрана равен четырем градусам. После фаззификации исходных данных получим, чтостепень принадлежности расстояния в 20 метров к терму СРЕДНЯЯ лингвистическойпеременной ДИСТАНЦИЯ равна 0,9, а степень принадлежности угла в 4 градуса ктерму МАЛЫЙ лингвистической переменной УГОЛ равна 0,8.

На первом шаге логического вывода необходимо определить степеньпринадлежности всего антецедента правила. Для этого в нечеткой логикесуществуют два оператора: MIN(…) и MAX(…). Первый вычисляет минимальноезначение степени принадлежности, а второй — максимальное значение. Когдаприменять тот или иной оператор, зависит от того, какой связкой соединеныпосылки в правиле. Если использована связка И, применяется оператор MIN(…).Если же посылки объединены связкой ИЛИ, необходимо применить оператор MAX(…).Ну а если в правиле всего одна посылка, операторы вовсе не нужны. Для нашегопримера применим оператор MIN(…), так как использована связка И. Получимследующее:

MIN(0,9;0,8)=0,8.

Следовательно, степень принадлежности антецедента такого правила равна 0,8.Операция, описанная выше, отрабатывается для каждого правила в базе нечеткихправил.

Следующим шагом является собственно вывод или заключение. Подобным жеобразом посредством операторов MIN/MAX вычисляется значение консеквента.Исходными данными служат вычисленные на предыдущем шаге значения степенейпринадлежности антецедентов правил.

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

Дефаззификация (устранение нечеткости)

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

Результат нечеткого вывода, конечно же, будет нечетким. В примере с краномкоманда для электромотора крана будет представлена термом СРЕДНЯЯ (мощность),но для исполнительного устройства это ровно ничего не значит.

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

Метод центра максимума (СоМ)

Так как результатом нечеткого логического вывода может быть несколько термоввыходной переменной, то правило дефаззификации должно определить, какой изтермов выбрать. Работа правила СоМ показана на рис. 4.

<img src="/cache/referats/11546/image005.jpg" hspace=«10» vspace=«10» v:shapes="_x0000_i1027">


Методнаибольшего значения (МоМ)

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

<img src="/cache/referats/11546/image006.jpg" hspace=«10» vspace=«10» v:shapes="_x0000_i1028">

Метод центроида (СоА)

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

<img src="/cache/referats/11546/image007.jpg" hspace=«10» vspace=«10» v:shapes="_x0000_i1031">

Основные шаги разработки нечеткой системы управления с использованиемCAD-системы fuzzy TECH 3.0

Процесс разработки проекта нечеткой системы управления на fuzzy TECHразбивается, как уже говорилось, на четыре основных этапа. Все они схематичнопоказаны на рис. 7.

<img src="/cache/referats/11546/image008.jpg" hspace=«10» vspace=«10» v:shapes="_x0000_i1032">

Описание системы

На этом этапе при помощи средств, доступных в fuzzy TECH, задачаформализуется. Здесь необходимо описать лингвистические переменные, которые выбудете использовать; их функции принадлежности; описать стратегию управления посредствомнечетких правил, которые вы сможете объединить в единую базу правил или знанийо системе. В целом CASE-технология, на основе которой построен пакет, позволяетвсе эти действия выполнить только посредством общения с экраном ЭВМ, незаглядывая в программный код. Поэтому начальный этап проектирования вывоспримете с легкостью, несмотря на кажущуюся сложность. Можно дать один совет:обратите внимание на некоторые тонкости при разработке. Так, например, выможете установить разрядность машинного кода, генерируемого пакетом. Это влияетна формат величин, которые можно использовать (см. табл. ниже).

<hr size=«2» noshade" align=«center»><table cellspacing=«1» cellpadding=«0» ">

Тип данных

Минимальное значение

Максимальное значение

8-битовый целочисленный

255

16-битовый целочисленный

32786

32-битный целочисленный

2147483648

Двойная точность

1,7-308

1,7+308

<hr size=«2» noshade" align=«center»>Off-line-оптимизация

На этом этапе следует проверить работоспособность созданной системыпосредством всех средств fuzzy TECH. Отметим, что можно использовать заранеесозданный программный симулятор вашего объекта управления, подобно моделиконтейнерного крана. Для связи системы управления с моделью используетсяспециально разработанный протокол связи fTlink, в основу которого положенаконцепция обмена сообщениями Windows. Все необходимые средства для установлениясвязи с вашей моделью находятся в исходных текстах программ связи, поставляемыхс пакетом.

On-line-оптимизация

На этом шаге разрабатываемая система управления и реальный объект управлениясоединяются физической линией связи (см. рис. 8).

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

Реализация

На этом этапе необходимо получить окончательный вариант кода для конкретногомикроконтроллера и, если нужно, связать его с вашей основной программой. Обоптимальности создаваемого fuzzy TECH кода можно судить по данным табл. ниже.

Основу программного кода, генерируемого пакетом fuzzy TECH, составляетаппаратно-ориентированное на конкретный тип процессора ядро. Поставляемое спакетом fuzzy TECH MCU-96 программное ядро совместимо с такими контроллерами,как 8096BH, 8096-90, 80196KB/KC/KD, 80196 KR, 80196MC, 80196NT/NQ.

Важное замечание касается структуры генерируемого кода. Он, как правило,состоит из трех основных частей:

§ 

§ 

§ 

Найти объем ОЗУ и ПЗУ, потребный для работы и хранения вашей системы,помогут следующие формулы:

§ 

<img src="/cache/referats/11546/image009.jpg" hspace=«10» vspace=«10» v:shapes="_x0000_i1035">

Sv — объем необходимойоперативной памяти;

ni — число входных переменных;

no — число выходных переменных;

ti — число термов во входнойлингвистической переменной i;

tj — число термов в выходнойлингвистической переменной j;

M- константа, равная 1 для 8-битного кодаи 2 — для 16-битного;

C — константа, равная 28 байтам для MCU-96и 7 байт для MCU-51;

§ 

<img src="/cache/referats/11546/image010.jpg" hspace=«10» vspace=«10» v:shapes="_x0000_i1036">

Sf — размер базы правил вбайтах;

ni — число входных переменных;

no — число выходных переменных;

nr — число правил в базезнаний;

ti — число термов во входнойлингвистической переменной i;

tj — число термов в выходнойлингвистической переменной j;

Ir — число входных условий дляправила r;

Or — число выходных условий дляправила r;

M- константа, равная 1для 8-битного кода и 2 — для 16-битного.

Точный размер сгенерированного fuzzy TECH 3.0 кода указывается по окончаниипроцесса компиляции.

<hr size=«2» noshade" align=«center»><table cellspacing=«1» cellpadding=«0» ">

Платформа

20 правил
2 вх. и 1 вых.

20 FAM-правил
2 вх. И 1 вых.

80 правил
3 вх. и 1 вых.

MCS-96, 16 бит, 80С196KD,
встроенное ПЗУ, 20 Мгц

0,28 мс
0,84 Кбайт ПЗУ
63 байт ОЗУ

0,29 мс
0,87 Кбайт ПЗУ
63 байт ОЗУ

0,43 мс
1.27 Кбайт ПЗУ
69 байт ОЗУ

MCS-51, 8 бит, 80С51,
встроенное ПЗУ, 12 МГц

1,4 мс
0,54 Кбайт ПЗУ
25 байт ОЗУ

1,5 мс
0,58 Кбайт ПЗУ
25 байт ОЗУ

4,4 мс
1,0 Кбайт ПЗУ
29 байт ОЗУ

<hr size=«2» noshade" align=«center»>Литература

1.      Zade L. A. The concept of alinguistic variable and its application to approximate reasoning. Part1, 2, 3 // Information Sciences, n. 8 pp.199-249, pp.301-357; n. 9 pp. 43-80.

2.     

3.      Mamdani E. H. Applications of fuzzyalgorithms for simple dynamic plant. Porc. IEE. vol. 121, n. 12, pp.1585-1588, 1974.

4.      Smidth F. L. Computing with a humanface. New Scientist, 6 may, 1982.

5.      Yagashita O., Itoh O., and Sugeno M.Application of fuzzy reasoning to the water purification process, in IndustrialApplications of Fuzzy Control, Sugeno M, Ed. Amsterdam: North-Holand1985, pp.19-40.

6.     YasunobuS., Miyamoto S., and Ihara H. Fuzzy control for automatic train operationsystem, in Proc. 4th. IFAC/IFIP/IFORS Int. Congress on Control inTransportation Systems, Baden-Baden, April, 1983.

7.      Yasunobu S., and Hasegawa T. Predictivefuzzy control and its applications for automatic container crane operationsystem, in Proc. 2nd. IFSA Congress, Tokyo, Japan, Julie 1987.

8.     F.Fujitec, FLEX-8800 series elevator group control system, Fujitec Co., Ltd.,Osaka, Japan, 1988.

9.      Watanabe H., and Dettloff.Reconfigurable fuzzy logic processor: A full custom digital VLCI, in Int. Workshopon Fuzzy Systems Applications, Iiruka, Japan, Aug. 1988, pp. 49-50.

10. SangalliA., and Klir G.R. Fuzzy logic goes to market, New Scientist, 8 Feb., 1992.

еще рефераты
Еще работы по теории систем управления