84400 (Нечетко-логические модели и алгоритмы), страница 2
Описание файла
Документ из архива "Нечетко-логические модели и алгоритмы", который расположен в категории "". Всё это находится в предмете "математика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "математика" в общих файлах.
Онлайн просмотр документа "84400"
Текст 2 страницы из документа "84400"
Если Вы зададитесь целью свести значение целевой функции (расхода топлива) к минимуму, причем сделать это, не прибегая к созданию системы, по цене сравнимой со стоимостью автомобиля, Вам понадобится инструмент, который может решать такую задачу при непрерывно меняющихся входных значениях и который может легко подстраиваться под изменение оценочных критериев (например, движение в городе/на трассе). Причем инструмент должен быть прост в управлении и понятен Вам без долгого изучения специальных дисциплин.
1.2. Fuzzy thinking. Системы, основанные на принципах.
Прежде, чем приступить к описанию конкретных пакетов, необходимо иметь в виду следующее обстоятельство: пути решения каждой конкретной задачи могут быть весьма разнообразны. Современный математический аппарат предоставляет целый спектр методов, приемов и инструментов для решения практически любой задачи. Все они воплощены в виде алгоритмов в разнообразных программных продуктах.
Приступая к решению очередной задачи и выбирая для нее подходящий "молоток", Вы беспокоитесь не только о самом факте существования решения, но и о эффективности собственно "молотка", то есть о том, за какое время и с какими затратами задача будет решаться.
Существующие подходы к эффективному решению задач таковы:
1. Если Вы знаете правила, по которым действует объект Вашего внимания, вы можете их обобщить и свести в некоторую систему, действующую и генерирующую выводы по схеме "если - то - иначе". Такой подход "на правилах" реализован, например, в техническом анализе и успешно применяется достаточно давно.
2. Если Вы правил поведения объекта не знаете, но подразумеваете их присутствие, то вы создаете систему, которая вначале обучается на некотором множестве примеров (представленных в виде "набор входных значений - критерии оценки - правильные выводы"), а затем адекватно строит выводы на новых входных данных. Такой подход "на примерах" реализован в применении нейросетей и показывает высокие результаты точности оценок и прогнозов.
3. Если Вы не знаете ни правил поведения объекта, ни того, известны ли они вообще и могут ли быть получены, вы пытаетесь смоделировать объект, применяя известные Вам правила и зависимости, что называется, "по аналогии", а затем делаете выводы о том, насколько объект соответствует модели. Такой подход "на моделях" реализован в современной "теории хаоса" и позволяет оценивать события, качественно изменяющиеся за малые промежутки времени.
4. Если правил, примеров и моделей достаточно много, возникают принципы действия объекта - "правила взаимодействия правил (примеров, моделей и т.д.)". То есть Вы можете оценивать и управлять объектом не только на микро-уровне (правила), но и на макро-уровне (принципы). Эти принципы также можно обобщать и сводить к некоторым системам. Этот подход "на принципах" реализован с помощью применения fuzzy-математики в разнообразных инструментальных пакетах: от несложных электронных таблиц до совершенных экспертных систем.
Решение конкретной задачи предполагает комбинации перечисленных подходов.
Коротко перечислим отличительные преимущества fuzzy-систем по сравнению с прочими :
-
возможность оперировать входными данными, заданными нечетко: например, непрерывно изменяющиеся во времени значения (динамические задачи), значения, которые невозможно задать однозначно (результаты статистических опросов, рекламные компании и т.д.);
-
возможность нечеткой формализации критериев оценки и сравнения: оперирование критериями "большинство", "возможно", предпочтительно" и т.д.;
-
возможность проведения качественных оценок как входных данных, так и выводимых результатов: вы оперируете не только собственно значениями данных, но их степенью достоверности (не путать с вероятностью!) и ее распределением;
-
возможность проведения быстрого моделирования сложных динамических систем и их сравнительный анализ с заданной степенью точности: оперируя принципами поведения системы, описанными fuzzy-методами, вы во-первых, не тратите много времени на выяснение точных значений переменных и составление уравнений, которые их описывают, во-вторых, можете оценить разные варианты выходных значений.
Математический аппарат, предоставляющий такие возможности, детально описан в специальной литературе как комбинация множественных и вероятностных приемов.
В программных пакетах и системах этот аппарат реализован в полной мере, но внешне не виден, спрятан "за кадром", что делает процесс освоения этих инструментов более доступным и интуитивно понятным.
2. Базовые понятия нечеткой логики
Вспомните прогноз погоды на любом из телевизионных каналов: завтра температура воздуха +5 градусов С, возможен дождь. В этом случае даже профессиональные синоптики не могут точно сказать будет дождь или нет. Это и есть проявление нечеткой логики: погода завтра может быть в данном случае как просто пасмурной, так и дождливой: события здесь предсказываются с некоторой долей уверенности (рангом).
Р
ассмотрим теперь другой пример, связанный с возрастом человека (рис.2.1). До 16 лет нельзя однозначно утверждать, что человек молодой (например, 15-летие относится к термину молодой с рангом около 0,9 ). Зато диапазону от 16 до 30 лет можно смело присвоить ранг 1, т.е. человек в этом возрасте молодой. После 30 лет человек вроде уже не молодой, но еще и не старый, здесь принадлежность (ранг) термина молодой возрасту будет принимать значения в интервале от 0 до 1. И чем больше возраст человека, тем мень ше становится его принадлежность к молодым, т.е. ранг будет стремиться к 0.
Рис.2.1. Нечеткое множество для термина молодой.
Рассуждая таким образом, было получено нечеткое множество, описывающее понятие молодости для всего диапазона возрастов человека. Если ввести остальные термины (например, очень молодой, старый и т.д.) , то можно охарактеризовать такую переменную как возраст, состоящую из нескольких нечетких множеств и полностью перекрывающую весь жизненный период.
К нечетким множествам можно применять следующие операции:
1.объединение
2.пересечение
3.дополнение
4.концентрация
5.размывание (или размытие)
Фаззификация - сопоставление множества значений х ее функции принадлежности М(х), т.е. перевод значений х в нечеткий формат (пример с термином молодой).
Дефаззификация - процесс, обратный фаззификации.
Все системы с нечеткой логикой функционируют по одному принципу: показания измерительных приборов фаззифицируются (переводятся в нечеткий формат), обрабатываются (см. ниже), дефаззифицируются и в виде привычных сигналов подаются на исполнительные устройства.
Степень принадлежности - это не вероятность , т.к. неизвестна функция распределения , нет повторяемости экспериментов. Так, если взять из рассмотренного ранее примера прогноза погоды два взаимоисключающих события: будет дождь и не будет и присвоить им некоторые ранги, то сумма этих рангов необязательно будет равна 1, но если равенство все-таки есть, то нечеткое множество считается нормированным. Значения функции принадлежности M(x) могут быть взяты только из априорных знаний , интуиции (опыта) , опроса экспертов.
В нечеткой логике вводится понятие лингвистической переменной, значениями которой являются не числа , а слова естественного языка , называемые термами. Например, в случае управления мобильным роботом можно ввести две лингвистические переменные: ДИСТАНЦИЯ (расстояние до помехи) и НАПРАВЛЕНИЕ (угол между продольной осью робота и направлением на помеху).
Рассмотрим лингвистическую переменную ДИСТАНЦИЯ. Значениями ее можно определить термыДАЛЕКО, СРЕДНЯЯ, БЛИЗКО и ОЧЕНЬ БЛИЗКО.Для физической реализации лингвистической переменной необходимо определить точные физические значения термов этой переменной. Пусть переменная ДИСТАНЦИЯ может принимать любое значение из диапазона от нуля до бесконечности. Согласно положениям теории нечетких множеств, в таком случае каждому значению расстояния из указанного диапазона может быть поставлено в соответствие некоторое число от нуля до единицы, которое определяет степень принадлежности данного физического расстояния (допустим 40 см) к тому или иному терму лингвистической переменной ДИСТАНЦИЯ Степень принадлежности определяется так называемой функцией принадлежности М(d), где d-расстояние до помехи. В нашем случае расстоянию 40 см. можно задать степень принадлежности к терму ОЧЕНЬ БЛИЗКО равную 0,7 , а к терму БЛИЗКО– 0,3 (см. рис.2.2.). Конкретное определение степени принадлежности может проходить только при работе с экспертами.
Рис.2.2. Лингвистическая переменная и функция принадлежности.
Переменной НАПРАВЛЕНИЕ, которая может принимать значения в диапазоне от 0 до 360 градусов, зададим термы ЛЕВОЕ, ПРЯМО И ПРАВОЕ.
Теперь необходимо задать выходные переменные. В рассматриваемом примере достаточно одной, которая будет называться РУЛЕВОЙ УГОЛ. Она может содержать термы: РЕЗКО ВЛЕВО, ВЛЕВО, ПРЯМО, ВПРАВО, РЕЗКО ВПРАВО. Связь между входом и выходом запоминается в таблице нечетких правил (рис.2.3.).
Рис.2.3. Таблица нечетких правил.
Каждая запись в данной таблице соответствует своему нечеткому правилу, например:
Если ДИСТАНЦИЯ БЛИЗКО и НАПРАВЛЕНИЕ ПРАВОЕ, тогда РУЛЕВОЙ УГОЛ РЕЗКО ВЛЕВО
Таким образом, мобильный робот с нечеткой логикой будет работать по следующему принципу: данные с сенсоров о расстоянии до помехи и направлении на нее будут фаззифицированы, обработаны согласно табличным правилам, дефаззифицированы и полученные данные в виде управляющих сигналов поступят на привода робота.
Применение традиционной нечеткой логики в современных системах крайне ограниченно следующими факторами:
-
как правило, сложная система управления имеет большее количество входов, чем самое заурядное нечеткое приложение;
-
добавление входных переменных увеличивает сложность вычислений экспоненциально;
-
как следствие предыдущего пункта, увеличивается база правил, что приводит к трудному ее восприятию (напомню, база правил набирается вручную);
-
операции в рельном масштабе требуют специального железа.
Исходя из этих причин, Steven Goodridge предлагает использовать систему, обрабатывающую большие данные с помощью нескольких нечетких микроконтроллеров, объединенных вместе. Этот подход позволяет качественно управлять трудно описываемыми нечеткими процессами. Каждый элемент, получившейся нечеткой сети обозначается как нечеткий узел. Теперь, если связать выход одного узла со входом другого, все вычисления заметно упрощаются. Этот подход назван нечетким предвычислением (рис.2.4.).
Рис.2.4. Нечеткие предвычисления.
Кроме того, выходы нечетких узлов можно объединять с помощью мультиплексора - таким образом достигается более гладкий переход между множеством получающихся после обработки базы правил рекомендаций(рис.2.5.).
Рис. 2.5. Нечеткий мультиплексор
3. Общая структура устройств нечеткого логики
3.1. Микроконтроллер нечеткой логики
Общая структура микроконтроллера, использующего нечеткую логику, показана на рис.1. Она содержит в своем составе следующие составные части:
-
блок фаззификации;
-
базу знаний;
-
блок решений;
-
блок дефаззификации.
Блок фаззификации преобразует четкие (сrisp) величины, измеренные на выходе объекта управления, в нечеткие величины, описываемые лингвистическими переменными в базе знаний.
Блок решений использует нечеткие условные (if – then) правила, заложенные в базе знаний, для преобразования нечетких входных данных в требуемые управляющие воздействия, которые носят также нечеткий характер.