[om-list] Fuzzy Logic Operators

Mark Butler butlerm at middle.net
Sat Oct 11 22:54:11 EDT 2003


Fuzzy Logic Operators

Traditional fuzzy logic uses the non analytic functions min() and max() 
or logical and and logical or operators respectively.  It is easy to see 
that min(x,y) = x AND y and max(x,y) = x OR y for x and y in {0,1}.  
However, the correctness of the behavior in the zone in between  the 
endpoints is not so obvious.

 The first problem with min() and max() functions is that the output is 
insensitive to one or the other of the inputs over virtually the whole 
range.  Humans arguably consider incremental evidence to be contributory 
even in the presence of much stronger evidence, which makes this an 
unwelcome behavior in a fuzzy logical operator.  In addition, min and 
max are only piecewise analytic, with no derivatives along the boundary 
x = y.  That makes them highly unsuitable for symbolic processing.

Let use consider a linear alternative using [0,1] fuzzy logic.  x*y is a 
very nice candidate for an AND function that matches all the boundary 
conditions.  If we further guess that (1 - x) makes a nice NOT function, 
we can apply Demorgan's law and get an OR function of x + y - x*y.  
Perfunctory testing verifies that this meets all the boundary conditions 
required of an OR function as well.  This set of functions is analytic, 
sensitive to all inputs, and easy to manipulate symbolically.

Furthermore we can transform into operator functions for [-1,+1] 
symbolic logic by substituting (z + 1)/2 for each z, yielding - x for 
NOT(x), (1 + x + y - x*y)/2 for OR(x,y) and (x*y + x + y - 1)/2 for 
AND(x,y).  The NOT function is simpler , but the AND  and OR functions 
are somewhat more complex.  What is interesting to see is that in 
bipolar form, the AND and OR functions are very similar, where in 
monopolar form they are quite different.

A summary follows:

 Operator     Traditional   Linear Monopolar           Linear Bipolar
----------    -----------   -----------------    --------------------------
   NOT           1 - x            1 - x                      - x
   AND           min(x,y)         x * y          ( x*y + x + y  - 1  ) / 
2          
   OR            max(x,y)      x + y - x*y       (   1 + x + y - x*y ) / 2

To demonstrate the advantages of linear form, I will list the derivative 
of each of these functions with respect to x

  Operator     Traditional   Linear Monopolar           Linear Bipolar
----------    -----------   -----------------    --------------------------
   NOT            -1               -1                        -1
   AND          1 or 0             y                     (y + 1) / 
2          
   OR           0 or 1           1 - y                   (1 - y) / 2


The first derivative of the traditional AND function with respect to x 
is 1 for all x < y, and 0 for x > y.  Likewise 0 for x < y and 1 for x > 
y for the traditional OR function.  This discontinuity is very 
inconvenient in many applications, so the bilinear analytic forms should 
be strongly preferred for that reason among others.

  - Mark






-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://six.pairlist.net/pipermail/om-list/attachments/20031011/9a7c0f54/attachment.html


More information about the om-list mailing list