Legacy Documentation

Fuzzy Logic (2004)

This is documentation for an obsolete product.
Current products and services

 Documentation /  Fuzzy Logic /  Demonstration Notebooks /

Fuzzy NumbersAdditional Examples

2.7 Digital Fuzzy Sets and Multivalued Logic

2.7.1 Introduction

This notebook deals with digital fuzzy sets and CapitalLSlashukasiewicz 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 continuous-universal space membership function has a value defined for each point in universal space and a continuous-universal space system operates on and produces continuous-universal space membership functions.

If a continuous-universal space membership function A(u) can take on any value (the grade of membership) in the continuous interval [0, 1], then the continuous-universal space membership function A(u) is called an analog fuzzy sets.

A : U Rule [ 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 discrete-universal space membership function has a value (the grade of membership) only at discrete points in universal space and a discrete-universal space system operates on and produces discrete-universal space membership functions.

A : {u1, u2, u3, ... , us } Rule [ 0, 1]

If a discrete-universal membership function can take only a finite number, nGreaterEqual2 of distinct values, then we call this fuzzy set a digital fuzzy set.

A : {u1, u2, u3, ... , us } Rule {0/n - 1, 1/n - 1, 2/n - 1, ... , n - 2/n-1, n - 1/n - 1}

For digital implementation, an analog fuzzy set's membership function is discretized along both the universal space and membership-value 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 Rule {0, 31, 1}), while membership-values 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 = DoubleStruckCapitalR+ 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+((u-10)/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 (CapitalLSlashukasiewicz 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 CapitalLSlashukasiewicz 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 n-valued logic was proposed by the great Polish logician Jan CapitalLSlashukasiewicz in the early 1930s as a generalization of his three-valued logic. He defines logical connectives by the following equations:

    p' = 1 - q

    p And q = min ( p, q ),

    p Or q = max ( p, q ),

    p DoubleRightArrow q = min ( 1, 1 - p + q ),

    p DoubleLeftRightArrow q = 1 - VerticalSeparator p - q VerticalSeparator.

CapitalLSlashukasiewicz, in fact, used negation and implication as primitives and defined the other logic operations using these two primitives as follows:

    p Or q = ( p DoubleRightArrow q ) DoubleRightArrow q,

    p And q = ( p' Or q' )' ,

    pDoubleLeftRightArrow q = ( p DoubleRightArrow q ) And ( qDoubleRightArrowp ).

The sequence ( L2, L3, ... , Linf) of these logics contains two extreme cases L2 and Linf. Logic L2 is the classical two-valued logic. Logic Linf is an infinite-valued 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 three-valued logic naturally affects the truth-table definitions of the five connectives of classical logic. Jan CapitalLSlashukasiewicz 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 DoubleRightArrow q ) And p ] DoubleRightArrow 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.

Fuzzy NumbersAdditional Examples