Краткий курс по Нечеткой Логике и Нечеткому Управлению

       

Что такое нечеткая экспертная система?


Date: 21-APR-93

A fuzzy expert system is an expert system that uses a collection of

fuzzy membership functions and rules, instead of Boolean logic, to

reason about data. The rules in a fuzzy expert system are usually of a

form similar to the following:

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

    if x is low and y is high then z = medium

    если x - низко и y - высоко тогда z = среднее

where x and y are input variables (names for know data values), z is an

output variable (a name for a data value to be computed), low is a

membership function (fuzzy subset) defined on x, high is a membership

function defined on y, and medium is a membership function defined on z.

The antecedent (the rule's premise) describes to what degree the rule



applies, while the conclusion (the rule's consequent) assigns a

membership function to each of one or more output variables.  Most tools

for working with fuzzy expert systems allow more than one conclusion per

rule. The set of rules in a fuzzy expert system is known as the rulebase

or knowledge base.

Где x и y - входные переменные (имена для известных значений данных), z - переменная вывода (имя для значения данных, которое будет вычислено), низко - функция принадлежности (нечеткое подмножество) определенная на x, высоко - функция принадлежности, определенная на y, и среднее - функция принадлежности, определенная на z. Априорно (предпосылка правил) описывается, что степень правила применяется, в то время как заключение (следствие правила) назначает функцию принадлежности для каждой из переменных вывода. Большинство инструментальных средств для работы с нечеткими экспертными системами позволяет больше чем одно заключение на правило. Набор правил в нечеткой экспертной системе известен как база правил или база знаний.


The general inference process proceeds in three (or four) steps.

Общий логический вывод происходит в три (или четыре) шага.

1. Under FUZZIFICATION, the membership functions defined on the

   input variables are applied to their actual values, to determine the

   degree of truth for each rule premise.

1. НЕЧЕТКОСТЬ. Функции принадлежности, определенные на входных переменных применяются к их фактическим значениям, для определения степени правды для каждой предпосылки правила.

2. Under INFERENCE, the truth value for the premise of each rule is

   computed, and applied to the conclusion part of each rule.  This results

   in one fuzzy subset to be assigned to each output variable for each

   rule.  Usually only MIN or PRODUCT are used as inference rules. In MIN

   inferencing, the output membership function is clipped off at a height

   corresponding to the rule premise's computed degree of truth (fuzzy

   logic AND). In PRODUCT inferencing, the output membership function is

   scaled by the rule premise's computed degree of truth.

2. ЛОГИЧЕСКИЙ ВЫВОД. Значение истинности для предпосылки каждого правила вычислено, и применяется к части заключения каждого правила. Это приводит к одному нечеткому подмножеству, которое будет назначено к каждой переменной вывода для каждого правила. Обычно только МИНИМУМ или УМНОЖЕНИЕ используется как правила логического вывода. В логическом выводе МИНИМУМА, функция принадлежности вывода отсекается по высоте, соответствующей предпосылки правила вычисленной степень правды (нечеткая логика И). В логическом выводе УМНОЖЕНИЕ, функция принадлежности вывода масштабируется при помощи предпосылки правила вычисленной степень правды.

3. Under COMPOSITION, all of the fuzzy subsets assigned to each output

   variable are combined together to form a single fuzzy subset

   for each output variable.  Again, usually MAX or SUM are used. In MAX

   composition, the combined output fuzzy subset is constructed by taking



   the pointwise maximum over all of the fuzzy subsets assigned tovariable

   by the inference rule (fuzzy logic OR).  In SUM composition, the

   combined output fuzzy subset is constructed by taking the pointwise sum

   over all of the fuzzy subsets assigned to the output variable by the

   inference rule.

3. КОМПОЗИЦИЯ. Все нечеткие подмножества, назначенные к каждой переменной вывода(во всех правилах), объединены вместе, чтобы формировать одно нечеткое подмножество для каждой переменной вывода. Снова, обычно МАКСИМУМ или СУММА используются. При композиции МАКСИМУМ, комбинированый вывод нечеткого подмножества конструируется, принимая поточечный максимум по всеми нечеткими подмножествами, назначая переменной правила заключения (нечеткая логика ИЛИ). При композиции СУММЫ, комбинированный вывод нечеткого подмножества конструируется, принимая поточечно сумму по всеми нечеткими подмножествами, назначенными к переменной вывода правилом логического вывода.

4. Finally is the (optional) DEFUZZIFICATION, which is used when it is

   useful to convert the fuzzy output set to a crisp number.  There are

   more defuzzification methods than you can shake a stick at (at least

   30). Two of the more common techniques are the CENTROID and MAXIMUM

   methods.  In the CENTROID method, the crisp value of the output variable

   is computed by finding the variable value of the center of gravity of

   the membership function for the fuzzy value.  In the MAXIMUM method, one

   of the variable values at which the fuzzy subset has its maximum truth

   value is chosen as the crisp value for the output variable.

4. В заключение - (дополнительно) ПРИВЕДЕНИЕ К ЧЕТКОСТИ, которое используется, когда полезно преобразовать нечеткий набор выводов в четкое число. Имеется большее количество методы приведения к четкости (по крайней мере 30). Два наболее общих метода - ЦЕНТРАЛЬНЫЙ и МАКСИМАЛЬНЫЙ методы. В ЦЕНТРАЛЬНОМ методе, четкое значение переменной вывода вычисляется, нахождением значения переменной центра тяжести для функции принадлежности  нечеткого значения.


В МАКСИМАЛЬНОМ методе, одно из значений переменной, при которой нечеткое подмножество имеет максимальное значение истинности,  выбрано как четкое значение для переменной вывода.

Extended Example:

Расширенный пример:

Assume that the variables x, y, and z all take on values in the interval

[0,10], and that the following membership functions and rules are defined:

Примем, что переменные 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 = высоко

Notice that instead of assigning a single value to the output variable z, each

rule assigns an entire fuzzy subset (low or high).

Обратите внимание, что вместо того, чтобы назначать одно значение  переменной вывода z, каждое правило назначает все нечеткое подмножество (низко или высоко).

Notes:

Примечание:

1. In this example, low(t)+high(t)=1.0 for all t.  This is not required, but

   it is fairly common.

1. В этом примере, низко(t) + высоко(t) = 1.0 для всех t. Это не требуется, но это довольно общее.

2. The value of t at which low(t) is maximum is the same as the value of t at

   which high(t) is minimum, and vice-versa.  This is also not required, but

   fairly common.

2. Значение t, при котором низко(t) является максимальным - тоже значение t, при котором высоко(t) является минимальным, и напротив. Это также не требуется, но довольно общее.

3. The same membership functions are used for all variables.  This isn't

   required, and is also *not* common.

3. Те же самые функции принадлежности используются для всех переменных. Это не требуется, и также *не* общее.



In the fuzzification subprocess, the membership functions defined on the

input variables are applied to their actual values, to determine the

degree of truth for each rule premise.  The degree of truth for a rule's

premise is sometimes referred to as its ALPHA.  If a rule's premise has a

nonzero degree of truth (if the rule applies at all...) then the rule is

said to FIRE. For example,

В подпроцессе нечеткости, функции принадлежности, определенные на входных переменных применяются к их фактическим значениям, определяя степень правды для каждой предпосылки правила. Степень правды для предпосылки правила иногда упоминается как АЛЬФА. Если предпосылка правила имеет степень отличную от нуля правды (если правило применяется во всем ...) тогда правило говорят в ОГОНЕ(или ГОРИТ). Например,

x       y       low(x)  high(x) low(y)  high(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

In the inference subprocess, the truth value for the premise of each rule is

computed, and applied to the conclusion part of each rule.  This results in

one fuzzy subset to be assigned to each output variable for each rule.



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

MIN and PRODUCT are two INFERENCE METHODS or INFERENCE RULES.  In MIN

inferencing, the output membership function is clipped off at a height

corresponding to the rule premise's computed degree of truth.  This

corresponds to the traditional interpretation of the fuzzy logic AND

operation.  In PRODUCT inferencing, the output membership function is

scaled by the rule premise's computed degree of truth.

МИНИМУМ и УМНОЖЕНИЕ - два МЕТОДА ЛОГИЧЕСКОГО ВЫВОДА или ПРАВИЛ ЛОГИЧЕСКОГО ВЫВОДА. В логическом выводе МИНИМУМА, функция принадлежности вывода отсекается по высоте, соответствующей предпосылке правила вычисленной степени правды. Это соответствует к традиционной интерпретации нечеткой логической операции AND. В логическом выводе УМНОЖЕНИЯ, функция принадлежности вывода масштабируется предпосылкой правила вычисленной степень правды.

For example, let's look at rule 1 for x = 0.0 and y = 3.2.  As shown in the

table above, the premise degree of truth works out to 0.68.  For this rule,

MIN inferencing will assign z the fuzzy subset defined by the membership

function:

Например, давайте рассматривать правило 1 для x = 0.0 и y = 3.2. Как показано в таблице выше, степень предпосылки правды равна 0.68. Для этого правила, логический вывод МИНИМУМА назначит z нечеткое подмножество, определенное функцией принадлежности:

    rule1(z) = { z / 10, if z <= 6.8

                 0.68,   if z >= 6.8 }

    правило 1(z) = { z / 10, если z <= 6.8

                     0.68,   если z >= 6.8 }

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


Так как эта функция получается low(x) AND low(y) вырезается часть под графиком 1-(t/10) все значения степени больше 0.68 отбрасываются.

правило 1(z) = { 0.68,       если z <= 6.8

                 1-(z / 10), если z >= 6.8 }

For the same conditions, PRODUCT inferencing will assign z the fuzzy subset

defined by the membership function:

Для тех же самых условий, логический вывод УМНОЖЕНИЯ назначит z нечеткое подмножество, определенное функцией принадлежности:

    rule1(z) = 0.68 * high(z)

             = 0.068 * z

Note: The terminology used here is slightly nonstandard.  In most texts,

the term "inference method" is used to mean the combination of the things

referred to separately here as "inference" and "composition."  Thus

you'll see such terms as "MAX-MIN inference" and "SUM-PRODUCT inference"

in the literature.  They are the combination of MAX composition and MIN

inference, or SUM composition and PRODUCT inference, respectively.

You'll also see the reverse terms "MIN-MAX" and "PRODUCT-SUM" -- these

mean the same things as the reverse order.  It seems clearer to describe

the two processes separately.

Отметим: терминология, используемая здесь немного нестандартна. В большинстве текстов, термин "метод заключения" используется, чтобы обозначить комбинацию вещей, упоминаемых отдельно здесь как "заключение" и "композиция". Таким образом вы будете видеть такие термины как "заключение с  максимумом-минимумом" и "заключение суммы-произведения" в литературе. Они - комбинация композиции МАКСИМУМА и заключения МИНИМУМА, или композиции СУММЫ и заключение ПРОИЗВЕДЕНИЯ, соответственно. Вы будете также видеть обратные условия "МИНИМУМ-МАКСИМУМ", и "произведения- сумма" - они означают те же самые вещи как обратный порядок. Кажется более ясно описывать два процесса отдельно.



In the composition subprocess, all of the fuzzy subsets assigned to each

output variable are combined together to form a single fuzzy subset for each

output variable.

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

MAX composition and SUM composition are two COMPOSITION RULES.  In MAX

composition, the combined output fuzzy subset is constructed by taking

the pointwise maximum over all of the fuzzy subsets assigned to the

output variable by the inference rule.  In SUM composition, the combined

output fuzzy subset is constructed by taking the pointwise sum over all

of the fuzzy subsets assigned to the output variable by the inference

rule.  Note that this can result in truth values greater than one!  For

this reason, SUM composition is only used when it will be followed by a

defuzzification method, such as the CENTROID method, that doesn't have a

problem with this odd case. Otherwise SUM composition can be combined

with normalization and is therefore a general purpose method again.

Композиция МАКСИМУМА и композиция СУММЫ - два КОМПОЗИЦИОННЫХ ПРАВИЛА. В композиции МАКСИМУМА, комбинированый вывод нечеткое подмножество создано,  принимая поточечно максимум по всем нечетким подмножествами, назначая переменной вывода правила заключения. В композиции СУММЫ, комбинированный вывод нечеткое подмножество создано, принимая поточечную сумму над всеми нечеткими подмножествами, назначая переменной вывода правила заключения. Заметьте, что это может приводить к значениям истинности большее, чем один! По этой причине, композиция СУММЫ только используется, когда это будет сопровождаться привидением к четкости, типа ЦЕНТРАЛЬНОГО метода, который не имеет проблем с этим нечетным случаем. Иначе композиция СУММЫ может быть комбинирована с нормализацией и - следовательно универсальный метод снова.

For example, assume x = 0.0 and y = 3.2.  MIN inferencing would assign the



following four fuzzy subsets to z:

Например, примем x = 0.0 и y = 3.2. Логический вывод МИНИМУМА назначил бы следовательно четыре нечетких подмножества z:

      rule1(z) = { z / 10,     if z <= 6.8

                   0.68,       if z >= 6.8 }

      rule2(z) = { 0.32,       if z <= 6.8

                   1 - z / 10, if z >= 6.8 }

      rule3(z) = 0.0

      rule4(z) = 0.0

MAX composition would result in the fuzzy subset:

Композиция МАКСИМУМА привела бы к нечеткому подмножеству:

      fuzzy(z) = { 0.32,       if z <= 3.2

                   z / 10,     if 3.2 <= z <= 6.8

                   0.68,       if z >= 6.8 }

PRODUCT inferencing would assign the following four fuzzy subsets to z:

Логический вывод ПРОИЗВЕДЕНИЯ назначил бы следовательно четыре нечетких подмножества z:

      rule1(z) = 0.068 * z

      rule2(z) = 0.32 - 0.032 * z

      rule3(z) = 0.0

      rule4(z) = 0.0

SUM composition would result in the fuzzy subset:

Композиция СУММЫ привела бы к нечеткому подмножеству:

      fuzzy(z) = 0.32 + 0.036 * z

Sometimes it is useful to just examine the fuzzy subsets that are the

result of the composition process, but more often, this FUZZY VALUE needs

to be converted to a single number -- a CRISP VALUE.  This is what the

defuzzification subprocess does.

Иногда полезно только исследовать нечеткие подмножества, которые являются результатом процесса композиции, но более часто, это НЕЧЕТКОЕ ЗНАЧЕНИЕ должно быть преобразовано к единственному числу - ЧЕТКОЕ ЗНАЧЕНИЕ. Это - то, что подпроцесс приведения к четкости делает.

There are more defuzzification methods than you can shake a stick at.  A

couple of years ago, Mizumoto did a short paper that compared about ten

defuzzification methods.  Two of the more common techniques are the

CENTROID and MAXIMUM methods.  In the CENTROID method, the crisp value of



Earlier on in the FAQ, we state that all variables (including z) take on

values in the range [0, 10].  To compute the centroid of the function f(x),

you divide the moment of the function by the area of the function.  To compute

the moment of f(x), you compute the integral of x*f(x) dx, and to compute the

area of f(x), you compute the integral of f(x) dx.  In this case, we would

compute the area as integral from 0 to 10 of (0.32+0.036*z) dz, which is

Раньше в FAQ, мы формулируем, что все переменные (включая z) берут значения в диапазоне [0, 10]. Чтобы вычислять центр функции f(x), Вы делите момент функции на область функции. Чтобы вычислять момент f(x), Вы вычисляете интеграл x*f(x)dx, и вычисляете область f(x), Вы вычисляете интеграл f(x) dx. В этом случае, мы вычислили бы область как интеграл от 0 до 10 для (0.32 + 0.036*z)dz, который

    (0.32 * 10 + 0.018*100) =

    (3.2 + 1.8) =

    5.0

and the moment as the integral from 0 to 10 of (0.32*z+0.036*z*z) dz, which is

И момент как интеграл от 0 до 10 для (0. 32*z + 0.036*z*z)dz, который

    (0.16 * 10 * 10 + 0.012 * 10 * 10 * 10) =

    (16 + 12) =

    28

Finally, the centroid is 28/5 or 5.6.

В заключение, центр - 28/5 или 5.6.

Note: Sometimes the composition and defuzzification processes are

combined, taking advantage of mathematical relationships that simplify

the process of computing the final output variable values.

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

The Mizumoto reference is probably "Improvement Methods of Fuzzy

Controls", in Proceedings of the 3rd IFSA Congress, pages 60-62, 1989.


Содержание раздела