Баннер
Баннер

Представление нечетких знаний - Нечеткая логика

Оглавление
Представление нечетких знаний
Нечеткая логика
Моделирование неопределенности в рассуждениях
Обратимость правил
Все страницы

Нечеткая логика – это надмножество классической булевой логики, расширяющее ее возможности и позволяющее применить концепцию неопределённости в логических выводах. Она была введена Л.Заде как способ моделирования неопределенностей естественного языка.   Концептуальное отличие нечеткой логики от клас­сической заключается в том, что она интерпретирует не только значениями «истина» и «ложь», но и промежуточными значениями.

В основе нечеткой логики лежит теория нечетких множеств. В классической теории множеств, подмножество U множества S может быть определено как  отображение  элементов S в элементы множества {0, 1},

            U: S ?  {0, 1}

Это отображение может быть представлено как совокупность упорядоченных пар, с точно одной упорядоченной парой, сопоставленной с каждым элементом S. Первый элемент упорядоченной пары — элемент множества S,  второй элемент — элемент из множества {0, 1}. Значение нуль  используется, чтобы представить непринадлежность к множеству, а значение один используется для представления принадлежности. Истинность или ложность утверждения 

           X находится в U

определяется,  исходя из упорядоченных пар, чей первый элемент — x. Утверждение  истинно, если второй элемент упорядоченной пары — 1, и  ложно, если это — 0. Точно так же нечеткое подмножество F множества S может быть определено как совокупность упорядоченных пар, первым элементом которых является S, а второй элемент находится в интервале [0, 1] с точно одной упорядоченной парой, представленной для каждого элемента S. Он определяет отображение  элемента из множества   S в значения на интервале [0, 1]. Это означает, что переход от полной принадлежности объекта классу к полной го непринадлежности происходит не скачком, а плавно, постепенно, причем принадлежность элемента множеству выражается числом из интервала [0, 1]. Значение нуль используется для представления полной непринадлежности, значение один используется для представления полной принадлежности, и значения между ними используется для  представления промежуточных значений степени принадлежности. Множество S называется универсальным множеством нечеткого подмножества F. Отображение часто описывается с помощью  функции принадлежности F. Степень, с которой утверждение 

              X находится в F

является истинным,  определяется  упорядоченной  парой, первый элемент которой x.  Второй элемент упорядоченной пары  — степень истинности  утверждения. Практически термины «функция принадлежности» и «нечеткое подмножество» взаимозаменяемы.

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

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

Пример. Лингвинистическая переменная «рост» определяется через набор (карликовый, низкий, средний, высокий, очень высокий).

В литературе встречается  такая запись:

,

где    B ­– нечеткое множество;

m(x) – функция принадлежности;

xi i-е значение базовой шкалы.

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

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

«Высокая_цена_автомобиля_1» =

«Высокая_цена_автомобиля_2» =

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

Нечеткая переменная характеризуется тройкой <a, X, A>, где  a — на­именование переменной; X —  универсальное множество (область опре­де­ления a); A —  нечеткое множество на X,  описывающее огра­ни­че­ния на значения нечеткой переменной a.

Лингвинистической переменной называется набор <b, T, X, G, M>, b — наименование лингвинистической переменной; T — множество ее значений (терм-множество), представляющих собой наименование не­чет­ких переменных, областью определения каждой из которых является мно­жество X,  G — синтаксическая процедура, позволяющая оперировать эле­ментами терм-множества T,  в частности генерировать новые термы (зна­че­ния); M — семантическая процедура, позволяющая превратить каждое но­вое значение лингвинистической переменной, образуемое процедурой G, в нечеткую переменную, то есть сформировать соответствующее нечеткое множество.

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

Стандартные определения в нечеткой логике (логике Заде):

Истинно (не x) = 1.0 – истинно (x);

Истинно (x и y) = минимум (истинно  (x), истинно  (y));

Истинно (x или y) = максимум (истинно (x), истинно (y)) .

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

ИЛИ (x, y) = –  x y.

Нечеткое правило логического вывода представляет собой упорядоченную пару (А, В), где А — нечеткое подмножество пространства входных значений X, В — нечеткое подмножество пространства выходных значений Y. Как правило, оно имеют вид:

если цена велика и спрос низкий, то оборот мал,         

где     цена и спрос — входные переменные;

оборот — выходное значение;

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

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

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

1)     Вычисление степени истинности левых частей правил (между «если» и «то») — определение степени принадлежности входных значений нечетким подмножествам, указанным в левой части правил вывода.

2)     Модификация нечетких подмножеств, указанных в правой части правил вывода (после «то»), в соответствии со значениями истинности,  полученными на первом этапе.

3)     Объединение (суперпозиция) модифицированных подмножеств.

4)     Скаляризация результата суперпозиции — переход от нечетких подмножеств к скалярным значениям.

Для определения степени истинности левой части каждого правила не­четкая управляющая система вычисляет значения функций при­над­леж­нос­ти нечетких подмножеств от соответствующих значений входных пе­ре­мен­­ных. Например, определение  степени вхождения конкретного  зна­че­ния переменной цена в нечеткое подмножество велика, то есть истинность пре­диката «цена велика».  Полученное значение истинности используется для модификации нечеткого множества, указанного в правой части правила. Для выполнения такой модификации используют один из двух методов: «минимум» (correlation-min encoding) или «произведение» (correlation-product encoding).

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

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

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

если цена мала, то спрос велик

если цена велика, то спрос мал

содержит одну и ту же переменную — спрос. Два нечетких подмножества,  получаемые при выполнении этих правил, должны быть объединены управляющей системой.

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

Конечный этап обработки базы правил вывода — переход от нечетких значений к конкретным скалярным. Процесс преобразования не­чет­кого множества в единственное значение называется «скаляризацией» или «дефазификацией» (defuzzification).

При переходе от нечеткого вывода к четкому выходу могут использоваться различные способы:

·        метод центра тяжести (определяется абсцисса центра тяжести кривой по функцией принадлежности);

·        метод первого максимума (выбирается первый элемент нечеткого множества при котором достигается максимум значения функции принадлежности);

·        метод среднего максимума;

·        метод наименьшего максимума.

Чаще всего используется «центр тяжести» функции принадлежности нечеткого множества. Конкретный выбор методов суперпозиции и скаляризации осу­ществля­ется в зависимости от желаемого поведения нечеткой управ­ля­ю­щей системы.

Кроме описанного алгоритма нечеткого вывода используются другие способы:

·        алгоритм Мамдани (Mamdani);

·        алгоритм Цукамото (Tsukamoto);

·        алгоритм Сугэно (Sugeno);

·        алгоритм Ларсена (Larsen).

Определим  в общем области применения нечёткого управления.

Использование нечеткого управления рекомендуется:

·        для очень сложных процессов, когда не существует простой мате­ма­тической модели;

·        для нелинейных процессов высоких порядков;

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

Использование нечёткого управления не рекомендуется применять в следующих ситуациях:

·        приемлемый результат может быть получен с помощью общей теории управления;

·        уже существует формализованная и адекватная математическая модель;

·        проблема не разрешима.

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

·        автоматическое управление воротами плотины на гидро­электро­станциях;

·        упрощенное управление роботами;

·        наведение телекамер  при трансляции спортивных событий;

·        замена экспертов при анализе работы биржи;

·        эффективное и стабильное управление автомобильными двигателями;

·        управление экономичной скоростью автомобилей;

·        улучшение эффективности и оптимизация промышленных систем управления;

·        оптимизированное планирование автобусных расписаний;

·        системы архивации документов;

·        системы прогнозирования  землетрясений;

·        медицина: диагностика рака;

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

·        распознавание рукописных символов в карманных компьютерах (записных книжках);

·        распознавание движения изображения в видеокамерах;

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

·        управление освещенностью в камкодерах;

·        компенсация вибраций в камкодерах;

·        однокнопочное управление стиральными машинами;

·        распознавание  рукописных текстов, объектов, голоса;

·        вспомогательные средства полета вертолетов;

·        моделирование судебных процессов;

·        САПР  производственных процессов;

·        управление скоростью линий и температурой при производстве стали;

·        управление метрополитенами для повышения удобства вождения, точности остановки и экономии энергии;

·        оптимизация потребления бензина в автомобилях;

·        повышение чувствительности и эффективности управления лифтами;

·        повышение безопасности ядерных реакторов.

На рынке представлено множество программных продуктов, использующих нечеткую логику: Бизнес-Прогноз, CubiCalc, RuleMaker, FIDE, FuzzyNET, FuzzyCLIPS, FuNeGen, NEFCON-I, Fuzzy Logic Toolbox системы MatLab, FuzzyXL, FuzzyCalc и др.





Читайте также:

Добавить комментарий


Защитный код
Обновить




Разделы



Главная Представление знаний Представление нечетких знаний