Скачать .docx |
Курсовая работа: Нечеткая логика в процессе моделирования
Федеральное агентство по образованию
ГОУ ВПО «Марийский Государственный Университет»
Кафедра информатики и методики обучения информатики
Курсовая работа
на тему: «Нечеткая логика в процессе моделирования»
Выполнила:
студентка ФМФ МТ-43
А.Б.Конакова
Проверила:
_____О.Е.Кропотова
Йошкар-Ола
2009
Содержание
Введение......................................................................................................... 3
1. Нечеткая логика – математические основы.............................................. 5
1.1. История нечеткой логики................................................................. 5
1.2. Математический аппарат.................................................................. 6
1.3. Формы задания функций принадлежности..................................... 9
1.4. Нечеткий логический вывод........................................................... 12
1.5. Гибридные методы объединения................................................... 14
2. Моделирование....................................................................................... 18
2.1. Определение моделирования и его виды....................................... 18
2.2. Процесс моделирования.................................................................. 21
3. Заключение.............................................................................................. 24
4. Приложение1. Моделирование работы светофора с нечеткой логикой 26
5. Литература.............................................................................................. 32
Введение
Проблемы принятия решений в сложных условиях занимают в настоящее время особое место в информационных технологиях. Математические методы широко применяются для описания и анализа сложных экономических, социальных и других систем. Теория оптимизации создала совокупность методов, помогающих при использовании ЭВМ эффективно принимать решения при известных и фиксированных параметрах или когда параметры - случайные величины с известными законами распределения. Существует, однако, ряд задач, которые не поддаются формальному описанию в силу того, что часть параметров представляют собой неточно или качественно заданные величины, для которых переход от «принадлежности к классу» к «непринадлежности» непрерывен. Традиционные методы недостаточно пригодны для решения подобных задач именно потому, что они не в состоянии описать возникающую неопределенность.
Целью курсовой работы является изучить нечеткую логику в системе моделирования.
Для достижения данной цели поставлены были следующие задачи:
изучить литературу по данной теме;
рассмотреть исторические аспекты нечеткой логики;
охарактеризовать математический аппарат нечеткого множества;
определить формы кривых задания функций принадлежности;
рассмотреть алгоритму нечеткого вывода;
определение понятие и виды моделирования;
изучить процесс моделирования;
смоделировать работу светофора на основе нечеткой логики.
В основе нечеткой логики лежит теория нечетких множеств, где функция принадлежности элемента множеству не бинарна (да/нет), а может принимать любое значение в диапазоне 0-1. Это дает возможность определять понятия, нечеткие по самой своей природе: "хороший", "высокий", "слабый" и т.д. Нечеткая логика дает возможность строить базы знаний и экспертные системы нового поколения, способные хранить и обрабатывать неточную информацию. Системы, основанные на нечеткой логике, разработаны и успешно внедрены в таких областях, как управление технологическими процессами, управление транспортом, управление бытовой техникой, медицинская и техническая диагностика, финансовый менеджмент, финансовый анализ, биржевое прогнозирование, распознавание образов, исследование рисковых и критических операций, прогнозирование землетрясений, составление автобусных расписаний, климатический контроль в зданиях.
1. Нечеткая логика - математические основы
1.1. История нечеткой логики
Впервые термин нечеткая логика был введен американским профессором азербайджанского происхождения Лотфи Заде в 1965 году в работе «Нечеткие множества» в журнале «Информатика и управление».
Основанием для создания новой теории послужил спор профессора со своим другом о том, чья из жен привлекательнее. К единому мнению они не пришли. Это вынудило Заде сформировать концепцию, которая выражает нечеткие понятия типа “привлекательность” в числовой форме.
Нечеткая логика основана на теории нечетких множеств и отличается от классической теории четких множеств. Если для четких множеств результатом вычисления характеристической функции могут быть только два значения – 0 или 1, то для нечетких множеств это количество бесконечно, но ограничено диапазоном от нуля до единицы.
В начале 1920-х годов польский математик Лукашевич трудился над принципами многозначной математической логики, в которой значениями предикатов могли быть не только «истина» или «ложь».
В 1937 г. еще один американский ученый Макс Блэк в своей статье в журнале «Философия науки» впервые применил многозначную логику Лукашевича к спискам как множествам объектов и назвал такие множества неопределенными. И только почти через 30 лет после этой работы Блэка Заде на основе логики Лукашевича построил полноценную алгебраическую систему. Спустя 10 лет теоретическая алгебра Заде благодаря Ибрагиму Мамдани из Лондонского Колледжа Королевы Марии была использована в системных командах. Именно, Мамдани в 1975 г. спроектировал первый функционирующий на основе алгебры Заде контроллер, управляющий паровой турбиной.
Для нечеткой логики нашлись столь четко очерченные области применения, что стало возможным создание мощных инструментальных средств, позволяющих спрятать множество нетривиальных низкоуровневых математических операций за удобными пользовательскими интерфейсами и выразительными проблемно-ориентированными графическими метафорами. Фундаментальные математические операции нечеткой логики настолько четко определены, что они давно и успешно реализованы «в железе» (точнее, в системах команд) серийно выпускаемых микроконтроллеров.
В Японии это направление переживает настоящий бум. Здесь функционирует специально созданная организация – LaboratoryforInternationalFuzzyEngineeringResearch (LIFE). Программой этой организации является создание более близких человеку вычислительных устройств. LIFE объединяет 48 компаний, в числе которых Hitachi, Mitsubishi, NEC, Sharp, Sony, Honda, Mazda, Toyota. Из зарубежных (не японских) участников LIFE можно выделить IBM, Fuji, Xerox; к деятельности LIFE проявляет также интерес NASA.
1.2. Математический аппарат
Характеристикой нечеткого множества выступает функция принадлежности. Обозначим через MFc (x) – степень принадлежности к нечеткому множеству C, представляющей собой обобщение понятия характеристической функции обычного множества. Тогда нечетким множеством С называется множество упорядоченных пар вида C={MFc (x)/x}, MFc (x) [0,1]. Значение MFc (x)=0 означает отсутствие принадлежности к множеству, 1 – полную принадлежность.
Проиллюстрируем это на простом примере. Формализуем неточное определение "горячий чай". В качестве x (область рассуждений) будет выступать шкала температуры в градусах Цельсия. Очевидно, что она будет изменяется от 0 до 100 градусов. Нечеткое множество для понятия "горячий чай" может выглядеть следующим образом:
C={0/0; 0/10; 0/20; 0,15/30; 0,30/40; 0,60/50; 0,80/60; 0,90/70; 1/80; 1/90; 1/100}.
Так, чай с температурой 60 С принадлежит к множеству "Горячий" со степенью принадлежности 0,80. Для одного человека чай при температуре 60 С может оказаться горячим, для другого – не слишком горячим. В этом проявляется нечеткость задания соответствующего множества.
Рассмотрим другой пример, связанный с возрастом человека (в соответствии с рисунком 1). До 16 лет нельзя однозначно утверждать, что человек молодой (например, 15-летие относится к термину молодой с рангом около 0,9). Но диапазону от 16 до 30 лет можно смело присвоить ранг 1, т.е. человек в этом возрасте молодой. После 30 лет человек вроде уже не молодой, но еще и не старый, здесь принадлежность (ранг) термина молодой возрасту будет принимать значения в интервале от 0 до 1. И чем больше возраст человека, тем меньше становится его принадлежность к молодым, т.е. ранг будет стремиться к 0.
Рисунок 1.
Нечеткое множество для термина молодой.
Таким образом, получено нечеткое множество, описывающее понятие молодости для всего диапазона возрастов человека. Если ввести остальные термины (например, очень молодой, старый и т.д.), то можно охарактеризовать такую переменную как возраст, состоящую из нескольких нечетких множеств и полностью перекрывающую весь жизненный период.
Для нечетких множеств, как и для обычных, определены основные логические операции (в соответствии с рисунком 2). Самыми основными, необходимыми для расчетов, являются пересечение и объединение.
Пересечение двух нечетких множеств (нечеткое "И"): A B: MFAB
(x)=min(MFA
(x), MFB
(x)).
Объединение двух нечетких множеств (нечеткое "ИЛИ"): A B: MFAB
(x)=max(MFA
(x), MFB
(x)).
Пересечение |
Объединение |
|
Дополнение |
Концентрация |
|
Размывание или размытие |
Рисунок 2. Операции над нечеткими множествами
В теории нечетких множеств разработан общий подход к выполнению операторов пересечения, объединения и дополнения, реализованный треугольных нормах и конормах. Приведенные выше реализации операций пересечения и объединения – наиболее распространенные случаи t-нормы и t-конормы.
Для описания нечетких множеств используются понятия нечеткой и лингвистической переменных.
Нечеткая переменная описывается набором (N,X,A), где N – это название переменной, X – универсальное множество (область рассуждений), A – нечеткое множество на X.
Значениями лингвистической переменной могут быть нечеткие переменные, т.е. лингвистическая переменная находится на более высоком уровне, чем нечеткая переменная. Каждая лингвистическая переменная состоит из:
·названия;
·множества своих значений, которое также называется базовым терм-множеством T. Элементы базового терма-множества представляют собой названия нечетких переменных;
·универсального множества X;
·синтаксического правила G, по которому генерируются новые термы с применением слов естественного или формального языка;
·семантического правила P, которое каждому значению лингвистической переменной ставит в соответствие нечеткое подмножество множества X.
Рассмотрим нечеткое понятие как "Цена акции". Это есть название лингвистической переменной. Сформируем для нее базовое терм-множество, которое будет состоять из трех нечетких переменных: "Низкая", "Умеренная", "Высокая" и зададим область рассуждений в виде X=[100;200] (единиц). Затем построим функцию принадлежности для каждого лингвистического терма из базового терм-множества T.
1.3. Формы задания функций принадлежности
Существует свыше десятка типовых форм кривых для задания функций принадлежности. Наибольшее распространение получили: треугольная, трапецеидальная и гауссова функции принадлежности.
Треугольная функция принадлежности (в соответствии с рисунком 3) определяется тройкой чисел (a, b, c), и ее значение в точке x вычисляется согласно выражению:
При (b-a)=(c-b) имеем случай симметричной треугольной функции принадлежности, которая может быть однозначно задана двумя параметрами из тройки (a, b, c).
Аналогично для задания трапецеидальной функции принадлежности необходима четверка чисел (a, b, c, d):
При (b-a)=(d-c) трапецеидальная функция принадлежности принимает симметричный вид.
Рисунок 3.
Типовые кусочно-линейные функции принадлежности.
Функция принадлежности гауссова типа (в соответствии с рисунком 4) описывается формулой
и оперирует двумя параметрами. Параметр c обозначает центр нечеткого множества, а параметр σ отвечает за крутизну функции.
Рисунок 4.
Гауссова функция принадлежности.
Совокупность функций принадлежности для каждого терма из базового терм-множества T обычно изображаются вместе на одном графике. На рисунке 5 приведен пример описанной выше лингвистической переменной "Цена акции", на рисунке 6 – формализация неточного понятия "Возраст человека". Так, для человека 48 лет степень принадлежности к множеству "Молодой" равна 0, "Средний" – 0,47, "Выше среднего" – 0,20.
Рисунок 5.
Описание лингвистической переменной "Цена акции".
Рисунок 6.
Описание лингвистической переменной "Возраст".
Количество термов в лингвистической переменной редко превышает 7.
1.4. Нечеткий логический вывод
Основой для проведения операции нечеткого логического вывода является база правил, содержащая нечеткие высказывания в форме "Если-то" и функции принадлежности для соответствующих лингвистических термов. При этом должны соблюдаться следующие условия:
1.Существует хотя бы одно правило для каждого лингвистического терма выходной переменной.
2.Для любого терма входной переменной имеется хотя бы одно правило, в котором этот терм используется в качестве предпосылки (левая часть правила).
В противном случае имеет место неполная база нечетких правил.
Пусть в базе правил имеется m правил вида:
Результатом нечеткого вывода является четкое значение переменной на основе заданных четких значений .
В общем случае механизм логического вывода включает четыре этапа (в соответствии с рисунком 7): введение нечеткости (фазификация), нечеткий вывод, композиция и приведение к четкости, или дефазификация.
Рисунок 7.
Система нечеткого логического вывода.
Алгоритмы нечеткого вывода различаются главным образом видом используемых правил, логических операций и разновидностью метода дефазификации. Разработаны модели нечеткого вывода Мамдани, Сугено, Ларсена, Цукамото.
Рассмотрим подробнее нечеткий вывод на примере механизма Мамдани. Это наиболее распространенный способ логического вывода в нечетких системах. В нем используется минимаксная композиция нечетких множеств. Данный механизм включает в себя следующую последовательность действий.
1.Процедура фазификации: определяются степени истинности, т.е. значения функций принадлежности для левых частей каждого правила (предпосылок). Для базы правил с m правилами обозначим степени истинности как
2. Нечеткий вывод. Сначала определяются уровни "отсечения" для левой части каждого из правил:
Далее находятся "усеченные" функции принадлежности:
3. Композиция, или объединение полученных усеченных функций, для чего используется максимальная композиция нечетких множеств:
где MF(y) – функция принадлежности итогового нечеткого множества.
4. Дефазификация, или приведение к четкости. Существует несколько методов дефазификации. Например, метод среднего центра, или центроидный метод:
Геометрический смысл такого значения – центр тяжести для кривой MF(y). Рисунок 8 графически показывает процесс нечеткого вывода по Мамдани для двух входных переменных и двух нечетких правил R1 и R2.
Рисунок 8.
Схема нечеткого вывода по Мамдани.
1.5. Гибридные методы объединения
В результате объединения нескольких технологий искусственного интеллекта появился специальный термин – "мягкие вычисления", который ввел Л. Заде в 1994 году. В настоящее время мягкие вычисления объединяют такие области как: нечеткая логика, искусственные нейронные сети, вероятностные рассуждения и эволюционные алгоритмы. Они дополняют друг друга и используются в различных комбинациях для создания гибридных интеллектуальных систем.
Ниже приведены примеры таких объединений.
Нечеткие нейронные сети. Такие сети осуществляют выводы на основе аппарата нечеткой логики, однако параметры функций принадлежности настраиваются с использованием алгоритмов обучения нейронных сетей. Поэтому для подбора параметров таких сетей применим метод обратного распространения ошибки, изначально предложенный для обучения многослойного персептрона. Для этого модуль нечеткого управления представляется в форме многослойной сети. Нечеткая нейронная сеть, как правило, состоит из четырех слоев: слоя фазификации входных переменных, слоя агрегирования значений активации условия, слоя агрегирования нечетких правил и выходного слоя.
Адаптивные нечеткие системы . Классические нечеткие системы обладают тем недостатком, что для формулирования правил и функций принадлежности необходимо привлекать экспертов той или иной предметной области, что не всегда удается обеспечить. Адаптивные нечеткие системы решают эту проблему. В таких системах подбор параметров нечеткой системы производится в процессе обучения на экспериментальных данных. Алгоритмы обучения адаптивных нечетких систем относительно трудоемки и сложны по сравнению с алгоритмами обучения нейронных сетей, и, как правило, состоят из двух стадий:
1. Генерация лингвистических правил;
2. Корректировка функций принадлежности.
Первая задача относится к задаче переборного типа, вторая – к оптимизации в непрерывных пространствах. При этом возникает определенное противоречие: для генерации нечетких правил необходимы функции принадлежности, а для проведения нечеткого вывода – правила. Кроме того, при автоматической генерации нечетких правил необходимо обеспечить их полноту и непротиворечивость. Значительная часть методов обучения нечетких систем использует генетические алгоритмы.
Нечеткие запросы. Нечеткие запросы к базам данных – перспективное направление в современных системах обработки информации. Данный инструмент дает возможность формулировать запросы на естественном языке, например: "Вывести список недорогих предложений о съеме жилья близко к центру города", что невозможно при использовании стандартного механизма запросов. Для этой цели разработана нечеткая реляционная алгебра и специальные расширения языков SQL для нечетких запросов.
Нечеткие ассоциативные правила. Нечеткие ассоциативные правила – инструмент для извлечения из баз данных закономерностей, которые формулируются в виде лингвистических высказываний. Здесь введены специальные понятия нечеткой транзакции, поддержки, и достоверности нечеткого ассоциативного правила.
Нечеткие когнитивные карты. Нечеткие когнитивные карты были предложены Б. Коско в 1986 г. и используются для моделирования причинных взаимосвязей, выявленных между концептами некоторой области. В отличие от простых когнитивных карт, нечеткие когнитивные карты представляют собой нечеткий ориентированный граф, узлы которого являются нечеткими множествами. Направленные ребра графа не только отражают причинно-следственные связи между концептами, но и определяют степень влияния (вес) связываемых концептов. Активное использование нечетких когнитивных карт в качестве средства моделирования систем обусловлено возможностью наглядного представления анализируемой системы и легкостью интерпретации причинно-следственных связей между концептами. Основные проблемы связаны с процессом построения когнитивной карты, который не поддается формализации. Кроме того, необходимо доказать, что построенная когнитивная карта адекватна реальной моделируемой системе. Для решения данных проблем разработаны алгоритмы автоматического построения когнитивных карт на основе выборки данных.
Нечеткая кластеризация. Нечеткие методы кластеризации, в отличие от четких методов (например, нейронные сети Кохонена), позволяют одному и тому же объекту принадлежать одновременно нескольким кластерам, но с различной степенью. Нечеткая кластеризация во многих ситуациях более "естественна", чем четкая, например, для объектов, расположенных на границе кластеров. Наиболее распространены: алгоритм нечеткой самоорганизации c-means и его обобщение в виде алгоритма Густафсона-Кесселя.
Также существуют объединения, такие как нечеткие деревья решений, нечеткие сети Петри, нечеткая ассоциативная память, нечеткие самоорганизующиеся карты и другие гибридные методы.
2. Моделирование
2.1. Определение моделирования
Моделирование (от лат. modulus - мера, образец, норма) - исследования на лабораторных моделях физических процессов, протекающих в отдельных телах или сооружениях. Если эти модели удовлетворяют основным положениям теории подобия, то исследование их дает возможность получить количественную и качественную характеристики действительного процесса
Моделирование — исследование объектов познания на их моделях; построение и изучение моделей реально существующих предметов, процессов или явлений с целью получения объяснений этих явлений, а также для предсказания явлений, интересующих исследователя.
Модель - объект произвольной природы, который отражает главные, с точки зрения решаемой задачи, свойства объекта моделирования.
Выделяют главные функции модели:
-упрощение получения информации о свойствах объекта;
-передача информации и знаний;
-управление и оптимизация объектами и процессами;
-прогнозирование;
-диагностика.
В силу многозначности понятия «модель» в науке и технике не существует единой классификации видов моделирования: классификацию можно проводить по характеру моделей, по характеру моделируемых объектов, по сферам приложения моделирования (в технике, физических науках, кибернетике и т. д.).
Можно выделить следующие виды моделирования:
·Информационное моделирование
·Компьютерное моделирование. Компьютерные модели проще и удобнее исследовать в силу их возможности проводить вычислительные эксперименты, в тех случаях, когда реальные эксперименты затруднены из-за финансовых или физических препятствий или могут дать непредсказуемый результат. Логичность и формализованность компьютерных моделей позволяет выявить основные факторы, определяющие свойства изучаемого объекта-оригинала (или целого класса объектов), в частности, исследовать отклик моделируемой физической системы на изменения ее параметров и начальных условий.
Построение компьютерной модели базируется на абстрагировании от конкретной природы явлений или изучаемого объекта-оригинала и состоит из двух этапов - сначала создание качественной, а затем и количественной модели. Компьютерное же моделирование заключается в проведении серии вычислительных экспериментов на компьютере, целью которых является анализ, интерпретация и сопоставление результатов моделирования с реальным поведением изучаемого объекта и, при необходимости, последующее уточнение модели и т. д.
·Математическое моделирование. Математическая модель — это эквивалент объекта, отражающий в математической форме важнейшие его свойства — законы, которым он подчиняется, связи, присущие составляющим его частям, и т. д. Существует в триадах «модель-алгоритм-программа». Создав триаду «модель-алгоритм-программа», исследователь получает в руки универсальный, гибкий и недорогой инструмент, который вначале отлаживается, тестируется в пробных вычислительных экспериментах. После того, как адекватность (достаточное соответствие) триады исходному объекту установлена, с моделью проводятся разнообразные и подробные «опыты», дающие все требуемые качественные и количественные свойства и характеристики объекта.
·Математико-картографическое моделирование
·Молекулярное моделирование. Молекулярное моделирование — это собирательное название, относящееся к теоретическим подходам и вычислительным методам моделирования или изображения поведения молекул. Эти методы используются компьютерной химии, вычислительной биологии и науке о материалах для изучения молекулярных систем различных размеров. Простейшие вычисления могут быть выполнены вручную, но компьютеры становятся необходимы при расчётах систем любого разумного масштаба.
·Цифровое моделирование
·Логическое моделирование
·Педагогическое моделирование
·Психологическое моделирование. Психологическое моделирование — создание формальной модели психического или социально-психологического процесса, то есть формализованной абстракции данного процесса, воспроизводящей его некоторые основные, ключевые, по мнению данного исследователя, моменты с целью его экспериментального изучения либо с целью экстраполяции сведений о нём на то, что исследователь считает частными случаями данного процесса.
·Статистическое моделирование. Статистическое и эконометрическое моделирование — исследование объектов познания на их статистических моделях; построение и изучение моделей реально существующих предметов, процессов или явлений с целью получения объяснений этих явлений, а также для предсказания явлений или показателей, интересующих исследователя. Оценка параметров таких моделей производится с помощью статистических методов. Например: метод максимального правдоподобия, метод наименьших квадратов, метод моментов.
·Структурное моделирование
·Физическое моделирование. Физическое моделирование — метод экспериментального изучения различных физических явлений, основанный на их физическом подобии. Метод состоит в создании лабораторной физической модели явления в уменьшенных масштабах, и проведении экспериментов на этой модели. Выводы и данные, полученные в этих экспериментах, распространяются затем на явление в реальных масштабах. В широком смысле, любой лабораторный физический эксперимент является моделированием, поскольку в эксперименте наблюдается конкретный случай явления в частных условиях, а требуется получить общие закономерности для всего класса подобных явлений в широком диапазоне условий.
·Экономико-математическое моделирование
·Имитационное моделирование. Имитационное моделирование — это метод исследования, при котором изучаемая система заменяется моделью, с достаточной точностью описывающей реальную систему и с ней проводятся эксперименты с целью получения информации об этой системе. Экспериментирование с моделью называют имитацией (имитация — это постижение сути явления, не прибегая к экспериментам на реальном объекте).
·Эволюционное моделирование. Эволюционное моделирование использует признаки теории Дарвина для построения интеллектуальных систем (методы группового учета, генетические алгоритмы).
·Историческое моделирование
·Нечеткое моделирование
·Модельное моделирование .
2.2. Процесс моделирования
Процесс моделирования включает три элемента:
субъект (исследователь),
объект исследования,
модель, определяющую отношения познающего субъекта и познаваемого объекта.
Первый этап построения модели предполагает наличие некоторых знаний об объекте-оригинале. Познавательные возможности модели обусловливаются тем, что модель отображает (воспроизводит, имитирует) какие-либо существенные черты объекта-оригинала. Вопрос о необходимой и достаточной мере сходства оригинала и модели требует конкретного анализа. Очевидно, модель утрачивает свой смысл как в случае тождества с оригиналом (тогда она перестает быть моделью), так и в случае чрезмерного во всех существенных отношениях отличия от оригинала. Таким образом, изучение одних сторон моделируемого объекта осуществляется ценой отказа от исследования других сторон. Поэтому любая модель замещает оригинал лишь в строго ограниченном смысле. Из этого следует, что для одного объекта может быть построено несколько «специализированных» моделей, концентрирующих внимание на определенных сторонах исследуемого объекта или же характеризующих объект с разной степенью детализации.
На втором этапе модель выступает как самостоятельный объект исследования. Одной из форм такого исследования является проведение «модельных» экспериментов, при которых сознательно изменяются условия функционирования модели и систематизируются данные о ее «поведении». Конечным результатом этого этапа является множество знаний о модели.
На третьем этапе осуществляется перенос знаний с модели на оригинал — формирование множества знаний. Одновременно происходит переход с «языка» модели на «язык» оригинала. Процесс переноса знаний проводится по определенным правилам. Знания о модели должны быть скорректированы с учетом тех свойств объекта-оригинала, которые не нашли отражения или были изменены при построении модели.
Четвертый этап — практическая проверка получаемых с помощью моделей знаний и их использование для построения обобщающей теории объекта, его преобразования или управления им.
Моделирование — циклический процесс. Это означает, что за первым четырехэтапным циклом может последовать второй, третий и т.д. При этом знания об исследуемом объекте расширяются и уточняются, а исходная модель постепенно совершенствуется. Недостатки, обнаруженные после первого цикла моделирования, обусловленные малым знанием объекта или ошибками в построении модели, можно исправить в последующих циклах.
3. Заключение
Отличительные особенности fuzzy-систем по сравнению с прочими:
·возможность оперировать входными данными, заданными нечетко: например, непрерывно изменяющиеся во времени значения (динамические задачи), значения, которые невозможно задать однозначно (результаты статистических опросов, рекламные компании и т.д.);
·возможность нечеткой формализации критериев оценки и сравнения: оперирование критериями "большинство", "возможно", предпочтительно" и т.д.;
·возможность проведения качественных оценок как входных данных, так и выводимых результатов;
·возможность проведения быстрого моделирования сложных динамических систем и их сравнительный анализ с заданной степенью точности: оперируя принципами поведения системы, описанными fuzzy-методами, не уделяется много времени на выяснение точных значений переменных и составление уравнений, которые их описывают и можно оценить разные варианты выходных значений.
В отличие от традиционной математики, требующей на каждом шаге моделирования точных и однозначных формулировок закономерностей, нечеткая логика предлагает совершенно иной уровень мышления, благодаря которому творческий процесс моделирования происходит на наивысшем уровне абстракции, при котором постулируется лишь минимальный набор закономерностей.
Существует, однако, ряд задач, которые не поддаются формальному описанию в силу того, что часть параметров представляют собой неточно или качественно заданные величины, для которых переход от «принадлежности к классу» к «непринадлежности» непрерывен. Традиционные методы недостаточно пригодны для решения подобных задач именно потому, что они не в состоянии описать возникающую неопределенность.
Подход на основе теории нечетких множеств является альтернативой общепринятым количественным методам анализа систем.
Он имеет следующие отличительные черты: вместо или дополнение к числовым переменным используются нечеткие величины и лингвистические переменные, отношения между переменными описываются при помощи нечетких высказываний и алгоритмов. Такой подход дает приближенные, но в, то, же время эффективные способы описания поведения систем настолько сложных и плохо определенных, что они не поддаются точному математическому моделированию. Теоретические же основания данного подхода вполне точны и строги в математическом смысле и не являются сами по себе источником неопределенности. В каждом конкретном случае степень точности решения может быть согласована с требованиями задачи. Подобная гибкость составляет одну из важных черт рассматриваемого метода.
4. Приложение 1.
Моделирование работы светофора с нечеткой логикой.
Цель:
Исследование возможностей светофора с нечеткой логикой, установленного на перекрестке, при различных интенсивностях потоков автомашин и сравнение его работы с обычным светофором.
Постановка:
В обычном светофоре время работы зеленого и красного света, а также время цикла фиксированы. Это создает некоторые трудности в движении машин, особенно, при изменении их потоков в часы пик, что довольно часто приводит к появлению автомобильных пробок.
В предлагаемом нечетком светофоре время цикла остается постоянным, однако, время его работы в режиме зеленого света должно меняться в зависимости от количества подъезжающих к перекрестку машин.
Пусть время цикла традиционного и нечеткого светофоров будет одинаковым и равным 1мин.=60сек. Длительность зеленого света обычного светофора зададим 30сек., тогда красный свет будет гореть тоже 30сек.
Для работы нечеткого светофора на перекрестке улиц Север-Юг (СЮ) и Запад-Восток (ЗВ) необходимо установить 8 датчиков (в соответствии с рисунком 9), которые считают проехавшие мимо них машины.
Рисунок 9.
Расположение датчиков на перекрестке.
Светофор использует разности показаний четырех пар датчиков: (Д1-Д2), (Д3-Д4), (Д5-Д6) и (Д7-Д8). Таким образом, если для улицы СЮ горит зеленый свет, машины проезжают перекресток и показания двух пар датчиков равны: Д1=Д2, Д5=Д6, а, следовательно, их разность равна нулю. В это же время на улице ЗВ перед светофором останавливаются машины, которые успели проехать только Д4 и Д7. В результате можно рассчитать суммарное количество автомобилей на этой улице следующим образом:
(Д4-Д3)+(Д7-Д8)=(Д4-0)+(Д7-0)=Д4+Д7.
Для сравнения работы обоих светофоров введем показатель эффективности, в качестве которого будем рассматривать число машин, не проехавших перекресток за один цикл светофора.
Данную задачу можно сравнить с системой массового обслуживания (СМО), по двум каналам которой поступают заявки на обслуживание в виде автомашин. Показатель эффективности в этом случае число заявок, получивших отказ.
Решение:
Для решения поставленной задачи используется пакет Matlab, т.к. он имеет в своем составе fuzzy-приложение, необходимое для моделирования работы нечеткого светофора.
Более подробно рассмотрим проектирование нечеткой подпрограммы. Здесь однозначно должны быть определены все входы и выходы.
Поскольку работа светофора зависит от числа машин на обеих улицах и текущего времени зеленого света, для нашей подпрограммы предлагается использовать 3 входа: число машин на улице СЮ по окончанию очередного цикла, число машин на улице ЗВ по окончанию цикла и время зеленого света нечеткого светофора.
Теперь для каждой переменной надо задать лингвистические термы, соответствующие некоторым диапазонам четких значений. Так, для переменной время зеленого света предлагается использовать три терма (в соответствии с рисунком 10):
·малое (10-25сек.);
·среднее(20-40сек.);
·большое(35-50сек.).
Рисунок 10.
Функция принадлежности первой входной переменной.
Степень принадлежности четких значений термам задается с помощью функций принадлежности (в нашем случае эти функции имеют форму трапеции).
Аналогично, термы для двух оставшихся переменных будут (в соответствии с рисунком 11):
·очень малое (0-18);
·малое (16-36);
·среднее (34-56);
·большое (54-76);
·очень большое (72-90).
Рисунок 11.
Функция принадлежности второй и третьей входных переменных.
Функции принадлежности здесь также имеют форму трапеции.
Так как суть работы светофора состоит в изменении времени зеленого света, в качестве выходного параметра предлагается использовать величину этого изменения. Термы в этом случае будут следующие (в соответствии с рисунком 12):
·уменьшить (-20-0сек.);
·не изменять (-15-15сек.);
·увеличить (0-20сек.).
Рисунок 12.
Функция принадлежности выходной переменной.
Функции принадлежности имеют форму Гаусса.
Кроме того, в подпрограмму записывается таблица правил на основе условных высказываний, которая формирует выходное значение исходя из величин входных параметров, например:
Если (число машин на улице СЮ = малое) и (число машин на улице ЗВ = большое) и (время зеленого света на улице СЮ = большое), то (время зеленого света = уменьшить).
Результаты моделирования работы светофора с нечеткой логикой
Основная программа работает следующим образом: с помощью встроенного в Matlab генератора случайных чисел происходит генерирование числа машин за один цикл светофора для улиц СЮ и ЗВ.
Часть машин из этого числа успевает проехать на зеленый свет, остальные останавливаются перед перекрестком, ожидая окончания действия красного света светофора. Все те автомобили, которые остались стоять перед светофором после одного цикла, считаются не обслуженными заявками.
За показатель эффективности данной системы принимается среднее число не обслуженных заявок за заданное количество циклов светофора. Соответственно, чем меньшее значение имеет показатель эффективности, тем большее количество машин пропускает светофор.
Число циклов светофора не должно быть слишком малым, т.к. в этом случае не получается объективной информации, или слишком большим, т.к. программа будет очень долго вычислять требуемую величину. Рекомендуемое количество циклов - 100.
Таким образом, алгоритм программы следующий: на светофор с датчиков поступает информация о количестве автомобилей на двух улицах. Эти данные переводятся в нечеткий формат согласно заданным функциям принадлежности, далее, внутри подпрограммы происходит их обработка, полученное значение изменения времени зеленого света дефаззифицируется (т.е. переводится обратно в четкий формат) и поступает в виде управляющего сигнала на светофор. В соответствии с этим сигналом время зеленого света светофора в следующем цикле будет другим.
Результат вычислений представлен в виде графика на рисунке 13.
Рисунок 13.
Результаты вычислений.
Таким образом, что нечеткая логика, в некоторых простейших случаях, позволяет улучшить качество управления объектами. Решающую роль в оптимизации показателей эффективности играют эксперты, которые определяют количество входных и выходных переменных, число термов для каждой переменной, виды функций принадлежности, т.к. изменение этих параметров приводит к улучшению или ухудшению процесса управления объектом.
Важнейшим недостатком нечеткой логики является отсутствие единого метода моделирования систем, т.е. для каждого случая приходится заново проектировать нечеткую подпрограмму, определяя шаг за шагом все параметры и строя свою таблицу решений.
5. Литература
1. Заде Л.А. Понятие лингвистической переменной и его применение к принятию приближенных решений/ Л.А.Заде. – М.:Мир,1976.–166с.
2. Круглов В.В. Интеллектуальные информационные системы: компьютерная поддержка систем нечеткой логики и нечеткого вывода/ В.В.Круглов, М.И.Дли. – М.: Физматлит, 2002. –198с.
3. Круглов В.В. Нечеткая логика и искусственные нейронные сети/ В.В.Круглов, М.И.Дли, Р.Ю.Голунов. – М.: Физматлит, 2001.–221с.
4. Леоленков А.В. Нечеткое моделирование в среде MATLABи fuzzyTECH/ А.В.Леоленков. – СПб, 2003.–719с.
5. Самарский А.А. Математическое моделирование: идеи, методы, примеры/ А.А.Самарский, А.П.Михайлов. – М.:Наука, 1997. – 320с.