Представление нечетких знаний - Нечеткая логика
Нечеткая логика – это надмножество классической булевой логики, расширяющее ее возможности и позволяющее применить концепцию неопределённости в логических выводах. Она была введена Л.Заде как способ моделирования неопределенностей естественного языка. Концептуальное отличие нечеткой логики от классической заключается в том, что она интерпретирует не только значениями «истина» и «ложь», но и промежуточными значениями. В основе нечеткой логики лежит теория нечетких множеств. В классической теории множеств, подмножество 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. Нечеткое правило логического вывода представляет собой упорядоченную пару (А, В), где А — нечеткое подмножество пространства входных значений 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 и др.
Читайте также:
|
,

