Fuzzy Logic: Human-Like Decision Making: Lecture 9 of Artificial Intelligence

Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

Lecture 9 of Artificial Intelligence

Fuzzy Logic:
Human-like decision making

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/1


Topics of this lecture
• Definition of fuzzy set • ファジィ集合の定義
• Membership function • メンバシップ関数
• Notation of fuzzy set • ファジィ集合の記述方法
• Operations of fuzzy set • ファジィ集合の演算
• Fuzzy number and • ファジィ数とその演算
operations • 拡張原理
• Extension principle • ファジィルール
• Fuzzy rules • 非ファジィ化
• De-fuzzification • ファジィ制御
• Fuzzy control

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/2


History of fuzzy logic

• The opposite word (antonym) of


fuzzy is crisp. Fuzzy means un-clear
or ambiguous, and crisp means
clear, clean, and sharp.
• Fuzzy logic was proposed by Zadeh
in 1965, and was applied in steam
engine control by Mamdani in 1974.
• Fuzzy logic was made practically
useful in Japan in the 1990s.

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/3


Conventional set vs. fuzzy set
• X: universe of discourse. Set A is defined by
A={ x |m(x)=T ⋀ x in X}
where m(x) is a membership function.
– For conventional set, the range of m(x) is {T, F}
– For fuzzy set, the range of m(x) is [0,1]. So, the above definition
cannot be used for fuzzy set. We cannot say clearly if x is in A or
not when 0<m(x) < 1.

Examples of fuzzy set


 young people, old people, kind people
 temperature is hot, just good, a little bit cold

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/4


Description of fuzzy set
• Membership function of a fuzzy set A: mA: X[0,1]
• If the universe of discourse X={x1,x2,…,xN}, A is
described as follows:

A = mA(x1)/x1+ mA(x2)/x2+…+ mA(xN)/xN


= SmA(xi)/xi
where / is a separator, and + is the logic OR.
• If X is a continuous space, integral is used instead of
the summation.

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/5


Operations of fuzzy sets
Meaning Set notation Logic notation Membership function

Equivalence
A B m A ( x)  mB ( x) m A ( x)  mB ( x)

Implication
A B m A ( x)  mB ( x) m A ( x)  mB ( x)

Complement
(negation) A m A (x) m A ( x)  1  m A ( x)

Union, OR
(disjunction) A B m A ( x)  mB ( x) m AB ( x)  max{m A ( x), mB ( x)}
Intersection, AND
(conjunction) A B m A ( x)  mB ( x) m AB ( x)  min{ m A ( x), mB ( x)}

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/6


Examples

Upper-left: AND
Lower-left: OR
Upper-right: Negation

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/7


Example 5.1 p. 89
• The universe of discourse:
X={Masahiro, Tsuyoshi, Takuya, Saburo, Masami}

• Fuzzy sets A=“young persons” and B=“Tall persons” are


defined by
– A = 0.4/Masahiro+0.6/Tsuyoshi+0.8/Takuya+1.0/Saburo+0.9/Masami
– B = 0.3/Masahiro+0.5/Tsuyoshi+0.9/Takuya+0.6/Saburo+0.9/Masami

• The OR and AND of A and B are as follows:


– A∪B=0.4/Masahiro+0.6/Tsuyoshi+0.9/Takuya+1.0/Saburo+1.0/Masami
– A∩B =0.3/Masahiro+0.5/Tsuyoshi+0.8/Takuya+0.6/Saburo+0.9/Masami

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/8


Fuzzy number
• A fuzzy number is a fuzzy set of (real) numbers.
• The membership function mA of a fuzzy number A
satisfies the following properties:
– There is an x, such that mA(x)=1;
– The support {x| mA(x)>0} is bounded;
– The a-cut {x| mA(x)>a} is closed.
• Examples of fuzzy number:
– The distance between Aizuwakamatsu city and Sendai is about
200 km.
– If we go from Aizuwakamatsu city to Sendai by train, it takes
about 2 hours.

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/9


Computation with fuzzy numbers
• Based on the extension principle, a binary operation ◦
between two fuzzy numbers can be calculated by

C  A  B : m AB ( y )  sup {m A ( x1 )  m B ( x2 )}
x1  x2  y

Superior (上限)
• The operation ◦ can be , , , or .
About 2 About 4 About 6
About 6 is more ambiguous!

1 2 3 4 5 6 7 8 9 10 11 12

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/10


Linguistic values of a fuzzy number
• To inference (reasoning) with fuzzy numbers, we may read a fuzzy
number using “about”, “approximately”, or “roughly”, but these
representations may not help us to understand the physical meaning.
• For example, to say a body temperature is about 39 degree, we may
not understand that this number if relatively dangerous for an adult
person. Rather, if we say the body temperature is “very high” or
“very dangerous”, we can get the meaning more easily.

Very Young Young Old Very old


1

0 10 20 30 40 50 60 70 80 90 100 Age

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/11


Fuzzy rules
Number of attributes : N
Number of rules : K
The k - th fuzzy rule :

Rk : if ( x1  Fk 1  x2  Fk 2    x N  FkN )then ( y  Bk )

, k  1,2,, K ; j  1,2,, N , are


where Bk , Fkj  
linguistic values.
Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/12
Example of fuzzy rule

Nurui On

T S
10 20 30 40 50 1 2 3 4 5

If (Temperature = Nurui)Then (Oidaki = On)

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/13


Pattern matching for fuzzy rules
For a given input datum x  ( x1 , x2 ,, x N ), the similarity
between x and the condition of the k - th rule is

S ( x, Rk )  m Fk 1 ( x1 )  m Fk 2 ( x2 )    m FkN ( x N )

where  is defined as the " min".

The similarity can also be considered


the degree of matching.
Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/14
Fuzzy inference
For a given input datum x  ( x1 , x2 ,, x N ), we can make
a fuzzy decision as follows :
Step 1 : Find the membership function of the result B* ,
which is also a fuzzy number using the following equation :

mB ( y )  mR ( x )  mR ( x )    mR ( x )
*
1 2 K

where  is " max" , and m Rk ( x )  S ( Rk )  m Bk ( y ).

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/15


Fuzzy inference
Step 2: The final output is calculated as follows:

b *

 Y
y  m B* ( y )dy

m
Y B*
( y )dy

• This is the gravity center of the fuzzy number B*.


• We may also use median or the maximum value.
• The process for finding a concrete number from a fuzzy
number is called de-fuzzification.

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/16


Example 5.3 pp. 93-96
• According to Japanese
Road laws, road around the
corner must be constructed
based on the relation
between the curvature and
the speed limitation.
• For example, if the speed
limit is 50 km/h, the radius of
the curve must be 100m or
more (see Table 5.4 in p.
94).

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/17


Fuzzy rules for speed control
• R1: If(v=Normal∧ Speed (v) Curvature Break (b)
r=Sharp curve) (radius r)
Normal Slow curve As is
Then(B=Weak)
• R2: If(v=A little fast∧ Normal Normal As is
r=Sharp curve) Normal Sharp curve Weak
Then(B=Weak)
A little fast Slow curve As is
• R3: If(v=Fast∧
r=Normal) A little fast Normal As is
Then(B=Weak)
A little fast Sharp curve Weak
• R4: If(v=Fast∧
Fast Slow curve As is
r=Sharp curve)
Then(B=Strong) Fast Normal Weak
Fast Sharp curve Strong

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/18


Linguistic values of the fuzzy numbers

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/19


Proper speed for a given condition
Step 1: First, find the similarity (degree of matching) for
each rule as follows:

• S(R1)=min(mnormal(65), msharp(90))=min(0,0.8)=0
• S(R2)=min(ma little fast(65), msharp(90))=min(0.75,0.8)=0.75
• S(R3)=min(mfast(65), mnormal(90))=min(0.25,0.2)=0.20
• S(R4)=min(mfast(65), msharp(90))=min(0.25,0.8)=0.25

mB ( y )  max[min(0.75, mweak ( y )), min(0.25, mstrong ( y ))]


*

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/20


Proper speed for a given condition
• Step 2: Defuzzification

b *

 Y
y  m B* ( y )dy
=20.7 km/h
m
Y B*
( y )dy

• That is, if the speed is reduced from 65 to 44.3


km/h, the car can pass the curve safely.

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/21


Problems in using fuzzy control
• Fuzzy control is a kind of soft control that uses human
knowledge. The performance depends on the
membership functions of the linguistic values.
• To find the optimal membership functions, we must use
some other tools.
• For example, we may genetic algorithm to fine-tune the
parameters of the membership functions (e.g. to
determine the shape or type).
• We may also use neural networks to capture the best
membership functions through learning.

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/22


Homework for lecture 9 (1)
• Solve problem 5.4 in p. 97 in the textbook.
• That is, for the membership functions of the linguistic
values in Example 5.3, find their equations and draw the
figures.
• Submit before end of the exercise class.

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/23


Homework for lecture 9 (2)
• Based on the skeleton program, write a program to
implement a fuzzy system for speed control, and test
your program using v=70 km/h and r=90 m.
• Plot the results using “gnuplot”, and save the 3-D figure.
• The name file should be “plot.png”, and the coordinates
are as follows:

– (X, Y, Z) = (v, r, b)

• From the figure, try to describe the relation between b


and (v, r), and add your description in “summary_09.txt”.
Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec09/24
Quizzes for lecture 9
(1) Find the compliment set of A given in Example 5.1. (3) Below is a fuzzy rule for controlling a robot based
on light sensors.

Rs : if ( x1  VeryBright  x2  VeryBright 
(2) Using the extension principle, find the membership x3  VeryDark  x4  VeryDark )
function of “fuzzy 5”, when “fuzzy 2” and “fuzzy 3”
are defined below. then( y  GoForwardQuickly)

Suppose that the minimum and maximum values of each


Fuzzy 2 sensor are 0 and 1024. Try to define the membership
Fuzzy 3 functions for the linguistic values VeryBright and

VeryDark.

1 2 3 4 5 6 7 8 9 10 11 12

0 512 1024

Produced by Qiangfu Zhao (Since 2008), All rights reserved © AI Lec05/25

You might also like