2.7 Digital Fuzzy Sets and Multivalued Logic
2.7.1 Introduction
This notebook deals with digital fuzzy sets and ukasiewicz multivalued logic arithmetic operations. We'll be using Fuzzy Logic, along with standard Mathematica functions.
This loads the package.
In[1]:=
2.7.2 Creating Digital Fuzzy Sets
One of the ways by which fuzzy membership functions and fuzzy systems may be categorized is according to whether the membership functions are continuous or discrete.
Definition 1
A continuousuniversal space membership function has a value defined for each point in universal space and a continuousuniversal space system operates on and produces continuousuniversal space membership functions.
If a continuousuniversal space membership function A(u) can take on any value (the grade of membership) in the continuous interval [0, 1], then the continuousuniversal space membership function A(u) is called an analog fuzzy sets.
A : U [ 0, 1]
Numerical processing using digital computers requires finite data with finite precision. In engineering practice, we are often forced to make compromises. No matter how elegant the theory, system complexity often demands a numerical approach to analysis.
Definition 2
A discreteuniversal space membership function has a value (the grade of membership) only at discrete points in universal space and a discreteuniversal space system operates on and produces discreteuniversal space membership functions.
A : {u1, u2, u3, ... , us } [ 0, 1]
If a discreteuniversal membership function can take only a finite number, n2 of distinct values, then we call this fuzzy set a digital fuzzy set.
A : {u1, u2, u3, ... , us } {0/n  1, 1/n  1, 2/n  1, ... , n  2/n1, n  1/n  1}
For digital implementation, an analog fuzzy set's membership function is discretized along both the universal space and membershipvalue dimensions.
From the standpoint of practical applications, these approximations will not be troublesome. In most applications, especially when using computational techniques, a finite number of the elements of set U and the grade of membership A(u) is taken into consideration.
An assumption of denumerability of the universal space U permits a very simple graphic interpretation of the fuzzy sets defined in U (Stachowicz and Kochanska, 1985). The elements of the collection of objects of space U, due to it denumerability, can be arranged in a sequence. One can plot for each element a segment of the length corresponding to the value of the membership function of the given element in the fuzzy set under consideration.
Assume that universal space is quantized into 32 discrete values with increment equal 1 ( UniversalSpace {0, 31, 1}), while membershipvalues can take n = 23 distinct values (that is, they are encoded in three bits). So we dedicated 32 x 3 = 96 bits for each linguistic value.
Example 1
Fuzzy set with continuous U. Let U = + be the set of possible ages for teens. Then the fuzzy set A = " about 10 years old" may be expressed as
In[2]:=AAnalog[u_]=1/(1+((u10)/4)^4);
In[3]:=Plot[ AAnalog[u],{u,0,31}, AxesLabel>{"Age","A"},PlotLabel>" Analog Fuzzy Set"];
Now, let UniversalSpace > {0, 31, 1} then the discrete fuzzy set A has a form :
In[4]:=ADiscrete=CreateFuzzySet[AAnalog,UniversalSpace>{0,31,1}];
In[5]:=FuzzyPlot[ADiscrete, AxesLabel>{"Age","A"},PlotLabel>" Discrete Fuzzy Set", GridLines>Automatic];
Finally, a digital fuzzy set A (ukasiewicz Set) with discrete universal space and n = 8 levels has the following form:
In[6]:=ADigital=ToDigital[ADiscrete,8]
Out[6]=
In[7]:=FuzzyPlot[ADigital, AxesLabel>{"Age","A"},PlotLabel>" Digital Fuzzy Set", GridLines>Automatic];
Let's compare the level sets for discrete and digital form of the fuzzy set A.
In[8]:=Map[LevelSet,{ADiscrete,ADigital}]
Out[8]=
Let's compare the discrete and digital form of the fuzzy set A using the concept of the Hamming distance.
In[9]:=HammingDistance[ADiscrete,ADigital]
Out[9]=
2.7.3 ukasiewicz Multivalued Logic
For any given n, the truth values in a multivalued logic are labeled by rational numbers in the unit [0, 1]. These values are obtained by evenly dividing the interval between 0 and 1, exclusive. These values can also be interpreted as degrees of truth.
The first series of nvalued logic was proposed by the great Polish logician Jan ukasiewicz in the early 1930s as a generalization of his threevalued logic. He defines logical connectives by the following equations:
p' = 1  q
p q = min ( p, q ),
p q = max ( p, q ),
p q = min ( 1, 1  p + q ),
p q = 1  p  q .
ukasiewicz, in fact, used negation and implication as primitives and defined the other logic operations using these two primitives as follows:
p q = ( p q ) q,
p q = ( p' q' )' ,
p q = ( p q ) ( qp ).
The sequence ( L2, L3, ... , Linf) of these logics contains two extreme cases L2 and Linf. Logic L2 is the classical twovalued logic. Logic Linf is an infinitevalued logic and is isomorphic to fuzzy set theory based on the standard fuzzy operators. Under this correspondence, operations of negation, conjunction, and disjunction on fuzzy propositions are defined in the same way as the operations of complementation, intersection, and union on fuzzy sets.
Example 2
The introduction of new intermediate truth value in threevalued logic naturally affects the truthtable definitions of the five connectives of classical logic. Jan ukasiewicz used only negation and implication as primitives and defined the other logic operations in terms of these two primitives.
In[10]:=SetOptions[FuzzySet,UniversalSpace>{0,7,1}]; SetOptions[FuzzyPlot,ShowDots>True];
In[12]:=Luk1=DigitalSet[1,3,3,5];
In[13]:=Luk2=DigitalSet[3,3,5,7];
In[14]:=Complement[Luk1]; FuzzyPlot[Luk1,Complement[Luk1]];
In[16]:=Impl= Implication[Luk1,Luk2];
In[17]:=FuzzyPlot[Luk1,Luk2,Impl];
Let's perform the standard min intersection:
In[18]:=IntA=Intersection[Luk1, Luk2];
This operation can also be performed using the Implication and Complement primitives.
In[19]:=IntB=Complement[Implication[Implication[Complement[Luk1],Complement[Luk2]],Complement[Luk2]]];
In[21]:=Equality[IntA,IntB]
Out[21]=
Modus ponens, for example, may be expressed as the following proposition:
[( p q ) p ] q
In[22]:=Modusponens=Implication[Intersection[Implication[Luk1,Luk2],Luk1],Luk2];
In[23]:=FuzzyPlot[Luk1,Luk2,Modusponens];
References
G. J. Klir and T. A. Folger, Fuzzy Sets, Uncertainty, and Information, Prentice Hall, Englewood Cliffs, NJ, 1988.
G. J. Klir and Bo Yuan, Fuzzy Sets and Fuzzy Logic: Theory and Applications, Prentice Hall, Upper Saddle River, NJ, 1995.
G. J. Klir, Ute H. St. Clair, and Bo Yuan, Fuzzy Set Theory, Prentice Hall, Upper Saddle River, NJ, 1997.
M. S. Stachowicz and M. E. Kochanska, Graphic interpretation of fuzzy sets and fuzzy relations, Mathematics at the Service of Man, Edited by A. Ballester, D. Cardus, and E. Trillas, based on materials of Second World Conf., Universidad Politecnica Las Palmas, Spain, 1982.
H. J. Zimmermann, Fuzzy Set Theory and Its Applications, 3rd ed., Kluwer Academic Publishers, Boston, MA, 1996.
