[Биография]      [Диссертация]     [Ссылки]     [Содержание библиотеки]     [Почта]

Нечёткая экспертная система

Источник:
inf.susu.ac.ru/~pollak/expert/fuzzy/doc4.htm
Нечеткая экспертная система - экспертная система, которая для вывода решения использует место Булевой логики совокупность нечетких функций принадлежности и правил. Правила в нечеткой экспертной системе имеют обычно вид, подобный следующему: Если x низок, и y высок, тогда z = средний,где x b y - входные переменные ( для которых известны значения ), z -выходная переменная ( значение, которое будет вычислено), низко - функция принадлежности (нечеткое подмножество) определенная на x, высоко - функция принадлежности, определенная на y, и среднее - функция принадлежности, определенная на z. Антецедент правила (предпосылка правила) описывает, когда правило применяется, в то время как заключение (следствие правила) назначает функцию принадлежности к каждому из выведенных значений переменных. Большинство инструментальных средств, работающих с нечеткими экспертными системами позволяют применять в правиле несколько заключений. Совокупность правил в нечеткой экспертной системе известна как база знаний. В общем случае вывод решения происходит за три (или четыре) шага.
1. С помощью функций ПРИНАДЛЕЖНОСТИ, определенных на входных переменных, вычисляются их фактические значения и определяется степень уверенности для каждой предпосылки правила.
2. Используя процедуру ВЫВОДА, вычисляется значение истинности для предпосылки каждого правила, которое применяется к заключению каждого правила. В результате этого каждой переменной вывода для каждого правила назначается одно значения из нечеткого подмножества значений. Обычно в качестве для вывода используется МИНИМИЗАЦИЯ или правила ПРОДУКЦИИ. При МИНИМИЗИРУЮЩЕМ логическом выводе , выходная функция принадлежности ограничена сверху в соответствии с вычисленной степенью истинности предпосылок (нечеткое логическое И). В логическом выводе с использованием ПРОДУКЦИЙ , выходная функция принадлежности масштабируется с помощью вычисленной степенью истинности предпосылки правила. 
3. Используя КОМПОЗИЦИЮ, все нечеткие подмножества, назначенные для каждой выходной переменной объединяются вместе и формируется единственное нечеткое подмножество значение для каждой выводимой переменной .Наконец снова, обычно используются функции MAX или SUM . При использовании композиции MAX объединенное выходное нечеткое подмножество значений создается путем нахождения максимума из всех нечетких подмножеств, назначенных переменным в соответствии с правилом вывода (нечеткое логическое ИЛИ). В композиции SUM объединенное выходное нечеткое подмножество создается суммированием всех нечетких значений из подмножеств, назначенных для переменной вывода с помощью правил вывода.
4. Наконец - (необязательный) процесс точной интерпретации , который используется тогда, когда полезно преобразовывать нечеткий набор значений выводимых переменных к точным значениям. Имеется достаточно большое количество методов перехода к точным значениям (по крайней мере 30). Два из общих методов - это методы Полной интерпретации и по Максимуму.В методе полной интерпретации, точное значение выводимой переменной вычисляется как значение "центра тяжести" функции принадлежности для нечеткого значения. В методе Максимума в качестве точного значения выводимой переменной принимается максимальное значение функции принадлежности нечеткого соответствия.
Пример: :
Предположм, что переменные x, y, и z имеют значения из интервала [0,10], и что определены следующие правила и функции принадлежности :
Низко (t) = 1 - (t / 10)
Высоко (t) = t / 10
Правило 1: если x низок и y низок тогда z высок 
Правило 2: если x низок и y высок тогда z низок
Правило 3: если x высок и y низок тогда z низок
Правило 4: если x высок и y высок тогда z высок
Обратите внимание, что вместо назначения единственного значения выводимой переменной z, каждому правилу назначено нечеткое подмножество значений из множества(низко или высоко).
Примечания:
1. В этом примере, низко (t) +high (t) =1.0 для всех t. Это общесправедливое утверждение .
2. Значение t, для которого низко (t) является максимальным то же самое, что и значение t, для которого высоко (t) является минимальным, и наоборот.
3. Для всех переменных используются одни и те же функции принадлежности . При решении задачи , функции принадлежности, определенные на входных переменных, применяются к их фактическим значениям и вычисляется степень истинности для каждой предпосылки правила. Степень истинности для предпосылок правила иногда обозначается как АЛЬФА. Если предпосылка правила имеет степень истинности, отличную от нуля, то говорят, что правило АКТИВИЗИРУЕТСЯ.
Например
X; y низко(x) высоко (x) низко (y) высоко (y) alpha1 alpha2 alpha3  alpha4
0.0  0.0  1.0  0.0  1.0 0.0  1.0 0.0 0.0 0.0
0.0 3.2 1.0 0.0 0.68 0.32 0.68  0.32 0.0  0.0
0.0   6.1 1.0 0.0 0.39 0.61 0.39 0.61 0.0 0.0
0.0 10.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0
3.2 0.0 0.68 0.32 1.0 0.0 0.68 0.0 0.32 0.0
6.1 0.0 0.39 0.61 1.0 0.0 0.39 0.0 0.61 0.0
10.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 0.0
3.2 3.1 0.68 0.32 0.69 0.31 0.68 0.31 0.32 0.31
3.2 3.3 0.68 0.32 0.67 0.33 0.67 0.33 0.32 0.32
10.0 10.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 1.0
   В процессе вывода вычисляется значение истинности для предпосылок каждого правила и применяется заключение каждого правила. Это приводит к тому, что каждой выводимой переменной в каждом правиле назначается одно значение из нечеткого подмножества значений. 
   Минимизация и Правила продукции - два МЕТОДА ВЫВОДА или ПРАВИЛА ВЫВОДА. При минимизирующем логическом выводе, функция принадлежности вывода ограничена сверху значением вычисленной степени истинности для предпосылки правила. Это соответствует традиционной интерпретации операции нечеткого логического И. В логическом выводе с использованием правил продукции функция принадлежности вывода масштабируется вычисленной степенью истинности предпосылки правила. 
Например, рассмотрим правило 1 для значений x = 0.0 и y = 3.2. Как показано в таблице , степень истинности предпосылки равна 0.68. Для этого правила, при использовании минимизирующего логического вывода, z получит значение из нечеткого подмножества значений, определенное функцией принадлежности: 
Rule1 (z) = {z / 10, если z < = 6.8
                 0.68, если z> = 6.8}
Для тех же самых условий, логический вывод с использованием правил продукции назначит z значение из нечеткого подмножества значений, определенной функцией принадлежности: :
Rule1 (z) = 0.68 * высоко (z)
              = 0.068 * z
   Заметьте, что терминология, использованная здесь, является слегка нестандартной. В большинстве статей, термин " метод вывода " используется для обозначения комбинации действий, упомянутых здесь как "вывод" и "композиция". Таким образом вы сможете встретить в литературе такие термины как вывод " MinMax " и вывод "Product - Sum " Они - комбинация композиции MAX и Минимизирующего вывода, или композиция SUM и Правил Продукций соответственно. Опишем два процесса отдельно.
   В процессе композиции все нечеткие подмножества значений, полученные для каждой выводимой переменной, объединяются для формирования единственного нечеткого подмножества для каждой выводимой переменной. Композиция MAX и композиция Sum - два ПРАВИЛА КОМПОЗИЦИИ . 
   При использовании композиции MAX, объединенное выходное нечеткое подмножество создается взятием максимумального значения по всем нечетким подмножествам значений, полученных для выводимой переменной в соответствии с правилом вывода.
  При использовании композиции SUM, объединенное выходное нечеткое подмножество значений создается взятием суммы по всем значениям из нечетких подмножеств, полученным для выводимой переменной согласно правилу вывода.Заметьте, что может получиться более чем одно значение ! По этой причине, композиция SUM используется только тогда, когда она сопровождается методом точной интерпретации типа метода Полной интерпретации, который не имеет проблем с таким случаем. Иначе композиция Sum может быть объединена c нормализацией, что снова приводит к универсальному методу. 
Например, пусть x = 0.0 и y = 3.2. МИНИМУМИЗИРУЮЩИЙ логический вывод назначил бы для z следующие значения из четырех нечетких подмножеств: 
Rule1 (z) = {z / 10, если z <= 6.8
       0.68, если z> = 6.8}
Rule2 (z) = {0.32, если z <= 6.8
       1 - z / 10, если z> = 6.8}
Rule3 (z) = 0.0
Rule4 (z) = 0.0
Композиция MAX привела бы к такому нечеткому подмножеству:
Нечеткий (z) = {0.32, если z <= 3.2
                       Z / 10, если 3.2 < = z < = 6.8
                       0.68, если z> = 6.8}
Логический вывод согласно правилам продукции назначил бы для z следующие значения из четырех нечетких подмножеств:
Rule1 (z) = 0.068 * z
Rule2 (z) = 0.32 - 0.032 * z
Rule3 (z) = 0.0
Rule4 (z) = 0.0
Композиция SUM привела бы к нечеткому подмножеству:
нечеткий(z) = 0.32+ 0.036 * z
     Иногда полезно только исследовать нечеткие подмножества, которые являются результатом композиционного процесса, но более часто это НЕЧЕТКОЕ ЗНАЧЕНИЕ необходимо преобразовать к единственному ТОЧНОМУ ЗНАЧЕНИЮ. Именно это выполняет процесс точной интерпретации. Два наиболее общих метода -это метод полной интерпретации и интерпретация по максимуму функции принадлежности. В методе полной интерпретации, точное значение выводимой переменной вычисляется как значение "центра тяжести" функции принадлежности для нечеткого значения. В методе Максимума в качестве точного значения выводимой переменной принимается максимальное значение функции принадлежности нечеткого соответствия. Имеется несколько вариаций метода максимума , которые отличаются тем, что они делают, когда имеется более чем одно значение переменной, в котором достигается максимальное значение функции принадлежности. Один из них возвращает среднее из значений переменных, для в которых достигается максимальное значение функции принадлежности. 

Например, вернемся к нашему предыдущему примеру. Использование MaxMin логического вывода и метода, определяющего " среднее значение из максимумов " вычисляет точное значение z = 8.4.
     Использование логического вывода Sum- Product и метода точной интерпретации приводит к точному значение z, равному 5.6 . Вычисления выполнялись следующим образом. Как было сказано, все переменные (включая z) имеют значения в диапазоне [0, 10]. Вычислять центр тяжести функции f (x), это значит разделить момент функции на площадь функции. Вычислить момент f (x), это значит вычислить интеграл x*f (x) dx, а вычислить площадь f (x), это значит вычислить интеграл f (x) dx. В нашем случае, мы должны были вычислить площадь как интеграл от функции (0.32+0.036*z) в диапазоне от 0 до 10 dz, который равен ( 0.32 * 10 + 0.018*100) =( 3.2 + 1.8) =5.0, а момент функции равен интегралу из (0.32*z+0.036*z*z) dz в диапзоне от 0 до 10 , или ( 0.16 * 10 * 10 + 0.012 * 10 * 10 * 10) = ( 16 + 12) =28. Наконец, центр тяжести есть - 28/5 или 5.6. 

Замечание: Иногда объединение композиции и процесса точного представления нечетких соответствий упрощает математические зависимости для вычисления окончательного результата значения переменной