Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Интеллектуальные системы, основанные на нечеткой логике
Описанные выше положения можно применять для логического вывода утверждений. Например, если известно, что х Î А и А Í В, то из аксиомы вывода имеем х Î В. Пусть А - множество всех народных депутатов, а В - множество тех, кто пользуется правом бесплатного проезда в общественном транспорте. Тогда утверждение о вхождении А в В трансформируется в правило вывода: " Если лицо является народным депутатом, то оно пользуется правом бесплатного проезда в общественном транспорте". Если множества не сравнимы непосредственно, может потребоваться дополнительное функциональное преобразование, которое позволит рассматривать одно множество как подмножество другого. Например, результатом преобразования посылки " температура в комнате 30° С" для кондиционера может служить указание " включить вентилятор". Все значения температур, при которых необходимо его включение, образуют подмножество во множестве условий, приводящих к включению вентилятора. Преобразование производится функцией управления, роль которой в данном случае может выполнять термостат. Нечеткое правило логического вывода представляет собой упорядоченную пару (А, В), где А - нечеткое подмножество пространства входных значений X, В - нечеткое подмножество пространства выходных значений Y. Система нечеткого вывода - это отображение Iразм(X) в Iразм(Y) разм (Z) - оператор определения размерности пространства Z. Число элементов в Iразм(X) в Iразм(Y) бесконечно велико, поэтому невозможно задать правила нечеткого вывода соответствующими парами точек. Однако они могут быть описаны в терминах теории нечетких множеств. Например, вполне работоспособная система кондиционирования может быть описана правилами: " если температура в комнате высокая, то скорость вращения вентилятора высокая" и " если температура в комнате низкая, то скорость вращения вентилятора низкая". Подобные правила вывода используются в нечетких экспертных системах. Как правило, они имеют вид: если цена велика и спрос низкий, то оборот мал, где цена и спрос - входные переменные; оборот - выходное значение; велика, низкий и мал - функции принадлежности (нечеткие множества), определенные на множествах значений цены, спроса и оборота соответственно. Нечеткие правила вывода образуют базу правил. Важно то, что в нечеткой экспертной системе в отличие от традиционной работают все правила одновременно, но степень их влияния на выход может быть различной. Принцип вычисления суперпозиции многих влияний на окончательный результат лежит в основе нечетких экспертных систем. Процесс обработки нечетких правил вывода в экспертной системе состоит из четырех этапов: 1. вычисление степени истинности левых частей правил (между " если" и " то") - определение степени принадлежности входных значений нечетким подмножествам, указанным в левой части правил вывода; 2. модификация нечетких подмножеств, указанных в правой части правил вывода (после " то"), в соответствии со значениями истинности, полученными на первом этапе; 3. объединение (суперпозиция) модифицированных подмножеств; 4. скаляризация результата суперпозиции - переход от нечетких подмножеств к скалярным значениям. Для определения степени истинности левой части каждого правила нечеткая экспертная система вычисляет значения функций принадлежности нечетких подмножеств от соответствующих значений входных переменных. Например, для правила (1) определяется степень вхождения конкретного значения переменной цена в нечеткое подмножество велика, то есть истинность предиката " цена велика". К вычисленным значениям истинности могут применяться логические операции. Наиболее часто используются следующие определения операций нечеткой логики: truth(НЕ х) = 1 - truth(x), truth(x И у) = min {truth(x), truth(y)}, truth(x ИЛИ у) = max{truth(x), truth(y)}, где х и у - высказывания; truth(z) - степень истинности высказывания г. Полученное значение истинности используется для модификации нечеткого множества, указанного в правой части правила. Для выполнения такой модификации используют один из двух методов: " минимума" (correlation-min encoding) и " произведения" (correlation-product encoding). Первый метод ограничивает функцию принадлежности для множества, указанного в правой части правила, значением истинности левой части (рисунок 4).
Рисунок 4 - Метод " минимума"
Во втором методе значение истинности левой части используется как коэффициент, на который умножаются значения функции принадлежности (рисунок 5).
Рисунок 5 - Метод " произведения"
Результат выполнения правила - нечеткое множество. Говоря более строго, происходит ассоциирование переменной и функции принадлежности, указанных в правой части. Выходы всех правил вычисляются нечеткой экспертной системой отдельно, однако в правой части нескольких из них может быть указана одна и та же нечеткая переменная. Как было сказано выше, при определении обобщенного результата необходимо учитывать все правила. Для этого система производит суперпозицию нечетких множеств, связанных с каждой из таких переменных. Эта операция называется нечетким объединением правил вывода. Например, правая часть правил если цена мала, то спрос велик если цена велика, то спрос мал содержит одну и ту же переменную - спрос. Два нечетких подмножества, получаемые при выполнении этих правил, должны быть объединены экспертной системой. Традиционно суперпозиция функций принадлежности нечетких множеств m1F(x), m2F(x), …, mnF(x) определяется как: msumF(x)=max{miF(x)} x, iÏ [1, n]. Графическое представление подобной суперпозиции приведено на рисунок 6.
Рисунок 6 - Метод " Max Combination"
Другой метод суперпозиции состоит в суммировании значений всех функций принадлежности (графическая интерпретация приведена на рисунке 7): .
Рис. 7. Метод " Sum Combination"
Самым простым (но наименее часто используемым) является подход, когда суперпозиция не производится. Выбирается одно из правил вывода, результат которого используется в качестве интегрального результата. Конечный этап обработки базы правил вывода – переход от нечетких значений к конкретным скалярным. Процесс преобразования нечеткого множества в единственное значение называется " скаляризацией" или " дефазификацией" (defuzzification).Чаще всего в качестве такого значения используется " центр тяжести" функции принадлежности нечеткого множества (centroid defuzzification method) (рисунок 8).
Рис. 8. Скаляризация методом " центра тяжести"
Другой распространенный подход - использование максимального значения функции принадлежности (modal defuzzification method) (рисунок 9). Конкретный выбор методов суперпозиции и скаляризации осуществляется в зависимости от желаемого поведения нечеткой экспертной системы.
Рис. 9. Скаляризация методом " максимума"
Рассмотрим пример того, как обрабатываются нечеткие правила вывода в экспертной системе, управляющей вентилятором комнатного кондиционера. Задача кондиционера - поддерживать оптимальную температуру воздуха в комнате, охлаждая его, когда жарко, и нагревая, когда холодно. Пусть, изменяя скорость вращения вентилятора, прогоняющего воздух через охлаждающий элемент, мы можем менять температуру воздуха, тогда алгоритм работы кондиционера может быть задан следующими правилами: 1) если температура воздуха в комнате высокая, то скорость вращения вентилятора высокая; 2) если температура воздуха в комнате средняя, то скорость вращения вентилятора средняя; 3) если температура воздуха в комнате низкая, то скорость вращения вентилятора низкая; Для того чтобы система могла обрабатывать эти правила, надо задать функции принадлежности для нечетких подмножеств, определенных на значениях температуры (t) и скорости вращения вентилятора (у). Пусть температура воздуха в комнате находится в пределах от 0°С до 60°С - в противном случае кондиционер вряд ли поможет. Функцию принадлежности для нечеткого подмножества низкая, определенную на интервале изменения температуры, можно задать, например, так (рисунок 10):
Рисунок 10 – Нечеткое подмножество " низкая", определенное на множестве значений температуры
Если температура меньше 12°С, то это - определенно низкая температура для комнаты (mТнизкая(t)=1, t 12). Температуру выше 20°С никак нельзя назвать низкой (mТнизкая(t)=0, t 20). В промежутке между этими значениями функция принадлежности линейно убывает - с увеличением температуры уменьшается истинность утверждения " температура воздуха в комнате низкая". Аналитически mТнизкая(t) выражается следующим образом: Сходные рассуждения позволяют нам задать функции принадлежности для оставшихся подмножеств: средняя и высокая (рисунок 11-12).
Рисунок 11 – Нечеткое подмножество " средняя", определенное на множестве значений температуры
Рисунок 12 – Нечеткое подмножество " высокая", определенное на множестве значений температуры
Определим нечеткие подмножества для скорости вращения вентилятора. Пусть она может изменяться от 0 до 1000 об/мин. Вполне допустимым будет следующий вариант определения функций принадлежности для нечетких подмножеств низкая, средняя и высокая (рисунок 13-15). Рисунок 13 – Нечеткое подмножество " низкая", определенное на множестве значений скорости вращения вентилятора
Рисунок 14 – Нечеткое подмножество " средняя", определенное на множестве значений скорости вращения вентилятора
Рисунок 15 – Нечеткое подмножество " высокая", определенное на множестве значений скорости вращения вентилятора
Рассмотрим теперь, как нечеткая экспертная система определяет скорость вращения вентилятора в зависимости от температуры воздуха в комнате. Пусть эта температура равна 22°С. Сначала экспертной системе надо определить истинность левых частей правил вывода при подстановке в них текущего значения температуры. Для этого она должна найти степень вхождения t = 22°С в каждое из указанных слева нечетких подмножеств. В левых частях правил указаны три подмножества, заданных на интервале значений температуры: высокая, низкая и средняя. Степень вхождения находим, вычисляя значение функций принадлежности каждого из подмножеств от t = 22°С: mTвысокая(22)=0.2; mТсредняя(22)=0.8; mТнизкая(22)=0.
Значения истинности левой части каждого правила используются для модификации нечеткого множества, указанного в его правой части. Модификацию будем производить описанным выше методом " произведения", (correlation product encoding). На рис. 9.16 изображено, как трансформируются находящиеся в правых частях правил нечеткие подмножества высокая, средняя и низкая.
Рисунок 16 – Модификация нечетких подмножеств, определенных на интервале изменения скорости вращения вентилятора
Далее нечеткой экспертной системе необходимо обобщить результаты действия всех правил вывода, то есть произвести суперпозицию полученных нечетких множеств. Воспользуемся для этого методом " Max Combination" (рисунок 6). Результат объединения нечетких множеств показан на рисунке 17. Теперь необходимо осуществить переход от суперпозиции множеств к скалярному значению. Скаляризацию произведем методом " центра тяжести". Иллюстрация того, как получается результат, представлена на рисунке 18. Рисунок 18. Получение скалярного значения скорости вращения вентилятора методом " центра тяжести" для t = 22° С
Центр тяжести фигуры на рисунке 18 находится в точке v =560.5691. Это и будет значением скорости вращения вентилятора, которое выдаст экспертная система при температуре воздуха в комнате равной 22°С. При других значениях температуры функция принадлежности обобщенного результата выполнения всех правил, изображенная на рисунке 18, будет меняться. Вот как она будет выглядеть, если на вход экспертной системы поступит значение t = 28°С (рисунок 19). Центр тяжести в этом случае находится в точке v =746.6667, поэтому управляемый нашей системой вентилятор будет вращаться с такой скоростью, когда в комнате 28°С.
Рисунок 19 – Получение скалярного значения скорости вращения вентилятора методом " центра тяжести" для t = 28°С
Описанные выше операции выполняются каждый раз, когда требуется результат логического вывода. В системах, управляющих динамическими процессами, эта последовательность действий выполняется циклически. В силу того, что результаты правил вычисляются раздельно, нечеткие экспертные системы эффективно реализуются на базе параллельных вычислительных систем. Возникает вопрос, оправдана ли настолько сложная система при управлении таким простым устройством, как вентилятор? Практика показывает, что оправдана. Так, например, кондиционеры, основанные на нечеткой логике, обеспечивают меньшие, по сравнению с традиционными, колебания температуры. Также они дают существенную экономию электроэнергии. Далее, используя один из пакетов нечеткой логики, мы увидим, как экспертная система, основанная на приведенных выше правилах, функционирует в динамике. Также мы сравним ее работу с обычной схемой управления на базе термостата, использующейся в большинстве устройств охлаждения.
Контрольные вопросы 1. Дайте определение неточных знаний. 2. Что такое н ечеткий вывод знаний? 3. Дайте определение понятия Немонотонность вывода. 4. Опишите основные принципы Основы нечеткой логики. 5. Приведите примеры иИнтеллектуальные системы, основанные на нечеткой логике
|