Алгоритмы нечеткой логики
Оглавление
Оглавление……………………………………………………
Введение…………………………………………………………
Общие сведения……………………………………………………….
Предмет исследования………………………………………………
Цель работы…………………………………………………
Задачи………………………………………………………………
Основная часть……………………..………………
1.1Предпосылки возникновения……
1.2Надмножество булевой логики. …………….………….........………..…..6
1.3 Основные этапы………………………………………………………….…8
1.4 Экспертные системы, основанные на нечеткой логике………….……..11
Заключение……………………………………………………
Список используемой литературы……………….………………..………15
Введение
Общие сведения
Мы живем во время информационной революции. Продукты этой революции видны всем: интернет, мобильные телефоны, компьютеры и т.д. Все это стало частью повседневной жизни. Информация играет центральную роль во всех наших делах.
В течение ряда прошедших лет наша способность понимать, конструировать и развивать машины с высоким «коэффициентом машинного интеллекта», сокращенно КМИ значительно усилилась в результате появления мягких вычислений. Мягкие вычисления (SC) – это консорциум вычислительных методологий, которые коллективно обеспечивают основы для понимания конструирования и развития интеллектуальных систем.В этом объединении главными компанентами SC являются нечеткая логика (FL), нейровычисления (NC), генетические вычисления (GC) и вероятностные вычисления (PC). По сравнению с традиционными жесткими вычислениями, мягкие вычисления более приспособлены для работы с неточными, неопределенными данными.
Более подробно остановимся на нечеткой логике.
Впервые термин нечеткая логика (fuzzylogic) был введен американским профессором не то иранского, не то азербайджанского происхождения (в разных источниках указывается по-разному) Лотфи Заде в 1965 году в работе “Нечеткие множества” в журнале “Информатика и управление”.
Основанием для создания новой теории послужил спор профессора со своим другом о том, чья из жен привлекательнее. К единому мнению они, естественно, так и не пришли. Это вынудило Заде сформировать концепцию, которая выражает нечеткие понятия типа “привлекательность” в числовой форме.
Актуальность
Проблема мягких вычислений актуальна в наше время, не смотря на некоторые недостатки. Так как не всегда приходится пользоваться четкими значениями.
Объект исследования
Алгоритмы нечеткой логики.
Предмет исследования
Использования алгоритмов нечеткой логики.
Цель работы
Показать актуальность нечеткой логики, Обобщить полученные знания.
Задачи
1.Изучить литературу по теме.
2.Рассмотреть принцип работы алгоритмов нечеткой логики.
Общие сведения
Мною изучена основная литература по данной теме, рассмотрены примеры, сделаны выводы.
Основная часть
1.1Предпосылки возникновения
Довольно часто оптимальное решение практической задачи трудно найти, используя классические методы математики. Причины этого состоят в следующем. Во-первых, не всегда возможно сделать приемлемое с точки зрения точности и компактности аналитическое описание решаемой задачи. Во многих случаях затраты на его разработку превысили бы эффект от решения, а кроме того, время, необходимое для получения аналитического описания, как правило, неприемлемо велико. Во-вторых, в жизни нам постоянно приходится оперировать неточными значениями и не вполне ясными понятиями, однако традиционные методы математики не допускают таких "вольностей". Осознание этих проблем привело к появлению новой математической дисциплины - нечеткой логики, претендующей на устранение противоречий между математикой и реальным миром.
Нечеткая логика (fuzzy logic) - это надмножество классической булевой логики. Она расширяет возможности классической логики, позволяя применять концепцию неопределенности в логических выводах. Употребление термина "нечеткий" применительно к математической теории может ввести в заблуждение. Более точно ее суть характеризовало бы название "непрерывная логика". Аппарат нечеткой логики столь же строг и точен, как и классический, но вместе со значениями "ложь" и "истина" он позволяет оперировать значениями в промежутке между ними. Говоря образно, нечеткая логика позволяет ощущать все оттенки окружающего мира, а не только чистые цвета.
Нечеткая логика как
новая область математики была
представлена в 60-х годах
профессором калифорнийского
Часто для иллюстрации связи нечеткой логики с естественными представлениями человека об окружающем мире приводят пример о пустыне. Определим понятие "пустыня" как "бесплодная территория, покрытая песком". Теперь рассмотрим простейшее высказывание: "Сахара - это пустыня". Нельзя не согласиться с ним, принимая во внимание, данное выше определение. Предположим, что с поверхности Сахары удалена одна песчинка. Осталась ли Сахара пустыней? Скорее всего, да. Продолжая удалять песчинки одну за другой, всякий раз оцениваем справедливость приведенного ранее высказывания. По прошествии определенного промежутка времени песка в Сахаре не останется и высказывание станет ложным. Но после какой именно песчинки его истинность меняется? В реальной жизни с удалением одной песчинки пустыня не исчезает. Пример показывает, что традиционная логика не всегда согласуется с представлениями человека. Для оценки степени истинности высказываний естественный язык имеет специальные средства (некоторые наречия и обороты, например: "в некоторой степени", "очень" и др.). С возникновением нечеткой логики они появились и в математике.
1.2 Надмножество булевой логики
Одно из базовых понятий традиционной логики - понятие подмножества. Подобно этому в основе нечеткой логики лежит теория нечетких подмножеств (нечетких множеств). Эта теория занимается рассмотрением множеств, определяемых не бинарными отношениями вхождения. Это означает, что принимается во внимание не просто то, входит элемент во множество или не входит, но и степень его вхождения, которая может изменяться от 0 до 1.
Пусть S - множество с конечным числом элементов, S={s1, s2,…, sn}, где n - число элементов (мощность) множества S. В классической теории множеств подмножество U множества S может быть определено как отображение элементов S на множество В = {0, 1}:
Нечеткое подмножество F может быть представлено как отображение элементов множества S на интервал I = [0, 1]. Это отображение определяется множеством упорядоченных пар:
U: S => В.
Это отображение может быть представлено множеством упорядоченных пар вида:
, I ∈
Где – i –ый элемент множества S; n - мощность множества S; - элемент множества В = {0, 1}. Если =1то является элементом подмножества U. Элемент "0" множества В используется для обозначения того, что не входит в подмножество U. Проверка истинности предиката "" осуществляется путем нахождения пары, в которой первый элемент. Если для этой пары то значением предиката будет "истина", в противном случае - "ложь".
Если U - подмножество S, то U может быть представлено n-мерным вектором где i-й элемент вектора равен "1", если соответствующий элемент множества S входит и в U, и "0" в противном случае. Таким образом, U может быть однозначно представлено точкой в n-мерном бинарном гиперкубе В = {0, 1}.
Нечеткое подмножество F может быть представлено как отображение элементов множества S на интервал I = [0, 1]. Это отображение определяется множеством упорядоченных пар:
, i ∈
Где - i-й элемент множества S; n - мощность множества S; - степень вхождения элемента в множество F. Значение равное 1, означает полное вхождение, =0 указывает на то, что элемент не принадлежит множеству F. Часто отображение задается функцией принадлежности x нечеткому множеству F. В силу этого термины "нечеткое подмножество" и "функция принадлежности" употребляются как синонимы. Степень истинности предиката "" определяется путем нахождения парного элементу значения определяющего степень вхождения в F.
Обобщая геометрическую интерпретацию традиционного подмножества на нечеткий случай, получаем представление F точкой в гиперкубе I = [0, 1]. В отличие от традиционных подмножеств точки, изображающие нечеткие подмножества, могут находиться не только на вершинах гиперкуба, но и внутри него
Рассмотрим пример определения нечеткого подмножества. Имеется множество всех людей S. Определим нечеткое подмножество Т всех высоких людей этого множества. Введем для каждого человека степень его принадлежности подмножеству Т. Для этого зададим функцию принадлежности (h), определяющую, в какой степени можно считать высоким человека ростом h сантиметров.
где h - рост конкретного человека в сантиметрах.
Пусть рост Михаила - 163 см, тогда истинность высказывания "Михаил высок" будет равна 0.21. Использованная в данном случае функция принадлежности тривиальна. При решении большинства реальных задач подобные функции имеют более сложный вид, кроме того, число их аргументов может быть большим.
Методы построения функций принадлежности для нечетких подмножеств довольно разнообразны. В большинстве случаев они отражают субъективные представления экспертов о предметной области. Так, например, кому-то человек ростом 180 см может показаться высоким, а кому-то - нет. Однако часто такая субъективность помогает снизить степень неопределенности при решении слабо формализованных задач. Как правило, для задания функций принадлежности используются типовые зависимости, параметры которых определяются путем обработки мнений экспертов. Представление произвольных функций при реализации автоматизированных систем часто затруднено, поэтому в реальных разработках такие зависимости аппроксимируются кусочно-линейными функциями.
Необходимо осознавать разницу между нечеткой логикой и теорией вероятностей. Заключается она в различии понятий вероятности и степени принадлежности. Вероятность определяет, насколько возможен один из нескольких взаимоисключающих исходов или одно из множества значений. Например, может определяться вероятность того, что утверждение истинно. Утверждение может быть либо истинным, либо ложным. Степень принадлежности показывает, насколько то или иное значение принадлежит определенному классу (подмножеству). Например, при определении истинности утверждения ее возможные значения не ограничены "ложью" и "истиной", а могут попадать и в промежуток между ними. Еще одно различие выражено в математических свойствах этих понятий. В отличие от вероятности для степени принадлежности не требуется выполнение аксиомы аддитивности.
1.3 Основные принципы
Вспомните прогноз погоды на любом из телевизионных каналов: завтра температура воздуха +5 градусов С, возможен дождь. В этом случае даже профессиональные синоптики не могут точно сказать будет дождь или нет. Это и есть проявление нечеткой логики: погода завтра может быть в данном случае как просто пасмурной, так и дождливой: события здесь предсказываются с некоторой долей уверенности (рангом).
Рассмотрим теперь другой пример, связанный с возрастом человека (рис.1.4). До 16 лет нельзя однозначно утверждать, что человек молодой (например, 15-летие относится к термину молодой с рангом около 0,9 ). Зато диапазону от 16 до 30 лет можно смело присвоить ранг 1, т.е. человек в этом возрасте молодой. После 30 лет человек вроде уже не молодой, но еще и не старый, здесь принадлежность (ранг) термина молодой возрасту будет принимать значения в интервале от 0 до 1. И чем больше возраст человека, тем мень ше становится его принадлежность к молодым, т.е. ранг будет стремиться к 0.
Рис.2.1. Нечеткое множество для термина молодой.
Рассуждая таким образом, было получено нечеткое множество, описывающее понятие молодости для всего диапазона возрастов человека. Если ввести остальные термины (например, очень молодой, старый и т.д.), то можно охарактеризовать такую переменную как возраст, состоящую из нескольких нечетких множеств и полностью перекрывающую весь жизненный период.
Фаззификация - сопоставление множества значений х ее функции принадлежности М(х), т.е. перевод значений х в нечеткий формат (пример с термином молодой).
Дефаззификация - процесс, обратный фаззификации.
Все системы с нечеткой логикой функционируют по одному принципу: показания измерительных приборов фаззифицируются (переводятся в нечеткий формат), обрабатываются, дефаззифицируются и в виде привычных сигналов подаются на исполнительные устройства. Для этого используются различного рода функции принадлежности: треугольные, трапециидальные, колоколообразные и другие. Выбор типа функции зависит от решаемой задачи. Операция Фаззификация, может быть интерпретирована, как переход в другое пространство. В новом пространстве производится обработка нечетких переменных с использованием логических операций. Затем полученный результат логической обработки с использованием обратного преобразования дефазификации переводится в исходное пространство числовых переменных.
К нечетким множествам можно применять следующие операции:
Объединение, пересечение, дополнение, концентрация, размытие.
1.Объединение
2.пересечение
3.Дополнение
4.Концентрация
5.Размытие
1.4 Экспертные системы, основанные на нечеткой логике
Описанные выше положения можно применять для логического вывода утверждений. Например, если известно, что A ∈ x и A ⊆B , то из аксиомы вывода имеем B ∈ x . Пусть А - множество всех народных депутатов, а В - множество тех, кто пользуется правом бесплатного проезда в общественном транспорте. Тогда утверждение о вхождении А в В трансформируется в правило вывода: "Если лицо является народным депутатом, то оно пользуется правом бесплатного проезда в общественном транспорте". Если множества не сравнимы непосредственно, может потребоваться дополнительное функциональное преобразование, которое позволит рассматривать одно множество как подмножество другого. Например, результатом преобразования посылки "температура в комнате 30°С" для кондиционера может служить указание "включить вентилятор". Все значения температур, при которых необходимо его включение, образуют подмножество во множестве условий, приводящих к включению вентилятора. Преобразование производится функцией управления, роль которой в данном случае может выполнять термостат.
Нечеткое правило логического вывода представляет собой упорядоченную пару (А, В), где А - нечеткое подмножество пространства входных значений X, В - нечеткое подмножество пространства выходных значений Y. Система нечеткого вывода - это отображение в , где разм(Z) - оператор определения размерности пространства Z. Число элементов в и бесконечно велико, поэтому невозможно задать правила нечеткого вывода соответствующими парами точек. Однако они могут быть описаны в терминах теории нечетких множеств. Например, вполне работоспособная система кондиционирования может быть описана правилами: "если температура в комнате высокая, то скорость вращения вентилятора высокая" и "если температура в комнате низкая, то скорость вращения вентилятора низкая". Подобные правила вывода используются в нечетких экспертных системах. Как правило, они имеют вид: если цена велика и спрос низкий, то оборот мал, где цена и спрос - входные переменные; оборот - выходное значение; велика, низкий и мал - функции принадлежности (нечеткие множества), определенные на множествах значений цены,
спроса и оборота
Нечеткие правила вывода образуют базу правил. Важно то, что в нечеткой экспертной системе в отличие от традиционной работают все правила одновременно, но степень их влияния на выход может быть различной. Принцип вычисления суперпозиции многих влияний на окончательный результат лежит в основе нечетких экспертных систем.
Процесс обработки нечетких правил вывода в экспертной системе состоит из 4 этапов:
1. вычисление степени истинности левых частей правил (между "если" и "то") - определение степени принадлежности входных значений нечетким подмножествам, указанным в левой
части правил вывода;
2. модификация нечетких
подмножеств, указанных в
3. объединение (суперпозиция) модифицированных подмножеств;
4. скаляризация результата суперпозиции - переход от нечетких подмножеств к скалярным значениям.
Для определения степени истинности левой части каждого правила нечеткая экспертная система вычисляет значения функций принадлежности нечетких подмножеств от соответствующих значений входных переменных. Например, для правила (1) определяется степень вхождения конкретного значения переменной цена в нечеткое подмножество велика, то есть истинность предиката "цена велика". К вычисленным значениям истинности могут применяться логические операции. Наиболее часто используются следующие определения операций нечеткой логики:
truth(HE x) = 1 - truth(x),
truth(x И у) = min{truth(x), truth(y)},
truth(x ИЛИ у) = max{truth(x), truth(y)},
Где х и у - высказывания; truth(z) - степень истинности высказывания z. Полученное значение истинности используется для модификации нечеткого множества, указанного в правой части правила. Для выполнения такой модификации используют один из двух методов: "минимума" (correlation-min encoding) и "произведения" (correlation-product encoding). Первый метод огра-ничивает функцию принадлежности для множества, указанного в правой части правила, значением истинности левой части.
Во втором методе значение истинности левой части используется как коэффициент, на который умножаются значения функции принадлежности. Результат выполнения правила - нечеткое множество. Говоря более строго, происходит ассоциирование переменной и функции принадлежности, указанных в правой части. Выходы всех правил вычисляются нечеткой экспертной системой отдельно, однако в правой части нескольких из них может быть указана одна и та же нечеткая переменная. Как было сказано выше, при определении обобщенного результата необходимо учитывать все правила. Для этого система производит суперпозицию нечетких множеств, связанных с каждой из таких переменных. Эта операция называется нечетким объединением правил вывода. Например, правая часть правил
содержит одну и ту же переменную - спрос. Два нечетких подмножества, получаемые при выполнении этих правил, должны быть объединены экспертной системой. Традиционно суперпозиция функций принадлежности нечетких множеств определяется как: .
Другой метод суперпозиции состоит в суммировании значений всех функций принадлежности. Самым простым (но и наименее часто используемым) является подход, когда суперпозиция не производится. Выбирается одно из правил вывода, результат которого используется в качестве интегрального результата. Конечный этап обработки базы правил вывода - переход от нечетких значений к конкретным скалярным. Процесс преобразования нечеткого множества в единственное значение называется "скаляризацией" или "дефазификацией" (deftizzification). Чаще всего в качестве такого значения используется "центр тяжести" функции принадлежности нечеткого множества (centroid defuzzification method).
Другой распространенный подход - использование максимального значения функции принадлежности (modal denazification method) (см. рис. 9.9). Конкретный выбор методов суперпозиции и скаляризации осуществляется в зависимости от желаемого поведения нечеткой экспертной системы.
Заключение
В результате проделанной работы было изучено большое количество литературы, были разобраны примеры, в которых излогался принцип работы алгоритмов нечеткой логики. Из рассмотренного видно, что это направление перспективно в будущем, так как нечеткая логика расширяет возможности классической логики, позволяя применять концепцию неопределенности в логических выводах. Довольно часто оптимальное решение практической задачи трудно найти, используя классические методы математики в таких ситуациях и используется нечеткая логика.
Аппарат нечеткой логики столь же строг и точен, как и классический, но вместе со значениями "ложь" и "истина" он позволяет оперировать значениями в промежутке между ними. Говоря образно, нечеткая логика позволяет ощущать все оттенки окружающего мира, а не только чистые цвета.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Батыршин И.З., 2001 - Основные операции нечеткой логики и их обобщения
2. Заде Л.А., 1970 - Принятие решений в расплывчатых условиях
3. Заде Л.А. - Роль мягких вычислений и нечеткой логики в понимании, конструировании и развитии информационных и интеллектуальных систем
4. Хаптахаева Н.Б., Дамбаева С.В., Аюшешва Н.Н., 2004 - Введение в теорию нечетких множеств

- Алгоритмы поиска в графе. Поиск в глубину и в ширину. Классификация рёбер
- Алгоритмы поиска максимального потока
- Алгоритмы поиска простых чисел
- Алгоритмы проведения анализа риска инновационного проекта
- Алгоритмы расчета основных показателей финансового состояния организации
- Алгоритмы решения задач систем массового обслуживания
- Алгоритмы сжатия данных
- Алгоритмы и системы счислений
- Алгоритмы и формы их представления. Блок схемы алгоритмов
- Алгоритмы и формы их представления. Блок схемы алгоритмов
- Алгоритмы кэширования данных и их эффективность
- Алгоритмы на графах
- Алгоритмы на графах
- Алгоритмы на графах. Графы, оргафы, деревья