Fuzzy Logic
Soft Computing
Neural networks l Fuzzy logic l Neuro-Fuzzy control l Genetic algorithms
l
Reference
Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence Jyh-Shing Roger Jang, et al, Prentice-Hall, 1996
Fuzzy Logic History
1937, Max Black: Vagueness, an exercise in logical analysis, Phil. of Science, 4, 427-455 l 19xx, Jan Lukasiewicz l 1967, Lotfi Zadeh, UCB: Fuzzy Sets, in Information and Control J. l 1974, E.H. Mamdani, Control Systems l 1980s-90s: Bart Kosko, USC
l
Fuzzy Founders/Followers
Jan Lukasiewicz (1878-1956)
Lotfi Zadeh (1921-)
Bart Kosko
Prof. Zadeh:
As the complexity of a system increases, our ability to make precise and yet significant statements about its behavior diminishes until a threshold is reached beyond which precision and significance (or relevance) become almost mutually exclusive characteristics.
Fuzzy Jounrals
l l l l
IEEE Trans. on Fuzzy Systems International J. of Approximate Reasoning Intelligent and Fuzzy Systems Journal of Cybernetics
Fuzzy Logic Applications
Subway ride smoothness control l Camcorder auto-focus and jiggle control l Braking systems l Saturn automobile transmission l Copier quality control l Rice-cooker temperature control
l
More Applications of Fuzzy Logic
l
l l
Automatic control of dam gates for hydroelectricpowerplants (Tokyo Electric Power) Camera aiming for the telecast of sporting events (Omron) Cruise-control for automobiles (Nissan, Subaru) Positioning of wafer-steppers in the production of semiconductors (Canon) Prediction system for early recognition of earthquakes (Inst. of Seismology Bureau of Metrology, Japan) Controlling of subway systems in order to improve driving comfort, precision of halting and power economy (Hitachi)
Camcorder Application (Matsushita)
Camcorder with Image Stabilizer BASIC OPERATION: Saving a shot Divide the picture into 4 parts with 30 points each Save the signals received at these points Take the next shot and compare Compare the signals received by the new shot with the saved ones Stabilize or newly save respectively If there are small, equally oriented deviations (= vibrations) then transmit the saved shot. If there are big (= intended) or unequally oriented deviations (= movements) then transmit and save the new shot.
Fuzzy Logic for Camcorder
Air-Conditioning System (Mitsubishi)
Problem description: Industrial air-conditioning system that shall be able to react flexibly to changing ambient conditions Realization: 50 rules 6 linguistic variables Resolution: 8 bit Input variables: room temperature, wall temperature and temporal evaluation of these signals Development: 4 days to create the prototype 20 days for testing and integration 80 days for optimization with real test objects Implementation as pure software solution on standard microcontroller Results: Reduction of starting processes down to 40 percent of the standard solution Sustaining of the temperature even with interference factors (like open window, etc.) substantially improved Fewer sensors required, Established energy saving by testing: 24 percent
Fuzzy Silver Bullet?
l
Fuzzy logic may not provide any new mechanisms that werent there before. It provides a viewpoint, that helps expedite problem solving. Analogy: Object-Oriented Programming didnt create any new computable functions.
Fuzzy Set Basics
l
Classical (crisp) sets:
l Membership
in a set is all or nothing l Membership function cS: Universe {0, 1} l cS(x) = 1 iff x S
l
Fuzzy sets:
l Membership
range of real numbers
in a set is a degree l membership function cS: Universe [0, 1]
Linguistic Characterizations of Degree of Membership
l l
Consider the set of hot days in Claremont in 2003. Was Oct. 29 hot? It might have been called one of:
l l l
very hot sort of hot not hot
The answer depends on the observer, time, etc.
Sounds similar to probability, but isnt
l
Probability deals with uncertainty, likelihood Fuzzy logic deals with ambiguity, vagueness
Fuzzy Membership
Are these disks, cylinders, or rods?
Fuzzy Membership
Which of these is a pile of sand?
Membership function plots
is a pile 1
# grains of sand 0 10 100 1000 10000 100000
Crisp vs. Fuzzy Membership Functions
is a pile 1
fuzzy
crisp grains of sand
0 10 100 1000 10000 100000
More Crisp vs. Fuzzy Membership Functions
1 Crisp 0 1 Fuzzy 0 0 0 1 1 grade of membership universe of possibilities
Note: Universe can be continuous or discrete, ordered or unordered.
More Crisp vs. Fuzzy Membership Functions
1 Crisp 0 1 Fuzzy 0 1 Fuzzy members 0 0 0 1 0 1 1 grade of membership universe of possibilities
Matlabs Builtin Membership Functions
Discrete Universe Examples
Ideal number of courses to take (ordered universe) 1
0 0 Desirable place to live (unordered universe) 1 1 2 3 4 5 6 7
0 Beverly Hills Westwood Belair
Fuzzy-Set Operations
expressed using membership functions
1
A B
0
Fuzzy OR (union) Fuzzy AND (intersection)
cA U B(x) = max(cA (x), cB(x))
1
AUB
cA B(x) = min(cA (x), cB(x))
1
AB
Fuzzy Complement
cA(x) = 1 - cA(x).
Which Set-Theoretic Rules Hold?
AB = BA AB = BA (AB) C = A (BC) (AB) C = A (BC) (AB) C = (AC) (BC) (AB) C = (AC) (BC) (AB) = AB (AB) = AB etc.
Fuzzy Anomaly? The intersection of a set with its complement is not necessarily empty.
cA(x) = 1 - cA(x).
A A A
Fuzzy Implication
There is no single standard. A variety of versions exists: Larsen: Lukasiewicz: Mamdani: Standard strict: Goedel: Gaines: Kleene-Dienes: x y = xy x y = min(1, 1-x+y) x y = min(x, y) xy=x<y?1:0 xy=x<y?1:y x y = x < y ? 1 : y/x x y = max(1-x, y)
Kleene-Dienes-Luk: x y = 1-x+xy
Linguistic Rules
l
In Fuzzy Logic, rules are expressed qualitatively and linguistically, rather than quantitatively. The result is qualitatively understandable, yet can be interpreted quantitatively when desired. The interpretive framework can be adjusted to suit.
Linguistic Modifiers
degree 1 old
very old
20 70 age
Example: Composites of Young
and Old
Fuzzy If-Then Rules
Mamdani style If pressure is high then volume is small high small
Sugeno style (uses equations on rhs) If speed is medium then resistance = 5*speed medium resistance = 5*speed
Mamdani Control Model (next several slides)
Fuzzy Rule Base (to be described)
Pole-on-Cart (Inverted Pendulum) Example
Pole-on-Cart Balancing Example
l
Speed of cart
linguistic categories equated to fuzzy sets
Pole-on-Cart Balancing Example
l
Angle of pole
Pole-on-Cart Balancing Example
l
Angular velocity of pole
Fuzzy Rule Base (Kosko: FAM- Fuzzy Associative Memory)
Example of a fuzzy-logic rule represented in this table: If the angular velocity is zero and the angle is neg. low, then set the speed at neg. low. angular velocity angle
neg. high neg. high neg. low zero pos. low pos. hi neg. low zero neg. high neg. low zero low pos. low pos. high
neg. high
neg. low zero high
pos. low
pos. high
control speed as a function of angle and angular velocity
Fuzzification
In this case, the actual angle is a mixture of zero and pos. low.
Inference in a (Mamdani-style) Fuzzy System
l l l l
Start with quantitative input data Fuzzify the data Derive conclusion based on fuzzy data De-fuzzify the conclusion to get quantitative output
Fuzzification
Here the actual angular velocity is a mixture of zero and neg. low.
Applicable Rules:
angle is a mixture of zero and pos. low. angular velocity is a mixture of zero and neg. low angular velocity angle
neg. high neg. high neg. low zero pos. low pos. hi neg. low zero neg. high neg. low zero low pos. low pos. high
neg. high
neg. low zero high
pos. low
pos. high
Three entries in the rule base are applicable. We must determine how to combine them.
Use the diagrams to determine the degree to which each rule is applicable.
l
Consider the rule If angle is zero and angular velocity is zero, the speed is zero". The actual value belongs to the fuzzy set zero to a degree of 0.75 for "angle" and to a degree of 0.4 for "angular velocity".
Since this is an AND operation, the minimum criterion is used (for OR, the maximum would be used); the fuzzy set zero of the variable "speed" is cut at 0.4 and the patches are shaded up to that area.
Using min combination for AND
(This is for one of three speed rules: zero.) angle set
The vertical displacement of the min (0.4) is transferred to the speed diagram.
angular velocity set
zero set
Rule: If angle is zero and angular velocity is zero, the speed is zero
Similarly, for each of the (3) applicable rules we get an inferred speed.
speed
speed
neg. low set
pos. low set
We then combine the results of the three rules to get an output fuzzy set.
speed
zero set cut neg. low set cut pos. low set cut
Defuzzification
To actually set the speed, we need a number, not a fuzzy set. Various rules can be used to get the number. The most common one is to use the centroid of the fuzzy set.
speed
quantiative value of speed found at centroid
Centroid Review
Matlabs Defuzzification Rules
mom = mean of max lom = largest of max som = smallest of max
Control Surface for an Inverted Pendulum
Fuzzy Truck-Backer Applet /cs/cs152/fuzzy/truck
Programmable by user
Rule base
Control Surface for Truck-Backer
Another Truck Backer using only 9 Rules (/cs/cs152/fuzzy/fismat/fisdemo)
Kong & Kosko compared Fuzzy vs. Neural Controllers
Fuzzy
Neural
Kong & Kosko Derived Controller Functions
Fuzzy Neural
Kong & Kosko Konclusions
l
Fuzzy
l l
Neural
l l l
Regular path followed Trained by common-sense hand-coded rules Light-weight controller (comparisons and additions only)
Sometimes followed irregular path Training timeconsuming Controller computationally intensive
Applications of Fuzzy Logic to Training MLP Neural Networks
l
Control of variable learning rate in backpropagation (Choi, et al.): Let CE denote Change of Error, and CCE denote change of CE. Fuzzy Rules: l If CE is small with no recent sign changes, then increase LR. l If CE has recent sign changes, then decrease LR. l If CE is small, and CCE is small with no recent sign changes, then increase LR and momentum.
Application of Neural Networks to Fuzzy Logic
l
l l l
N. K. Kasabov. Learning Fuzzy Rules through Neural Networks. Proc. of the First New Zealand Intl. Conf. on Artificial Neural Networks and Expert Systems, pages 137--139, 1993. Learned fuzzy rules for forecasting gas demand. Used backpropagation network with five layers. The input layer contains two nodes - temperature and the month and the output layer is the gas demand figure. Fuzzy rules are then extracted from the net.
Sugeno Control Model
l l
Extends Mamdani model Fuzzy part is still in antecedent of rules, which are used for selection Consequent of rules is more complex: some function (such as a polynomial) of input variables
Fuzzy Inference System (FIS) Using Sugeno-Style Rules
If speed is low then resistance = 2 If speed is medium then resistance = 4*speed If speed is high then resistance = 8*speed MFs .8 .3 .1 2 Rule 1: w1 = .3; r1 = 2 Rule 2: w2 = .8; r2 = 4*2 Rule 3: w3 = .1; r3 = 8*2 More on this later Speed Resistance = S(wi*ri) / = 7.12 low medium high
Swi
Example: 1-input Sugeno
l
Rules:
l If
X is small, then Y = 0.1X + 6.4. l If X is medium, then Y = -0.5X + 4. l If X is large, then Y = X-2.
l
The following 2 slides show how these rules are combined using crisp vs. fuzzy logic.
demo sug1 (1)
(in /cs/cs152/matlab/soft)
demo sug1 (2)
Example: 2-input Sugeno
l
Rules:
l l l l
If X is small and Y is small, then Z = -X+Y+1. If X is small and Y is large, then Z = -Y+3. If X is large and Y is small, then Z = -X+3. If X is large and Y is large, then Z = X+Y+2.
MFs for demo sug2 (2-input)
Control surface for sug2
Tsukamoto model
l
Aggregate rule outputs by a weighted average, rather than defuzzification.
ANFIS
(Adaptive Neuro-Fuzzy Inference System)
Developed by J.-S. R. Jang l Uses Sugeno or Tsukamoto models l Similar to Radial Basis Function network
l
ANFIS
Fuzzy reasoning
A1 A2 x
A1
B1
w1
z1 = p1*x+q1*y+r1 z2 = p2*x+q2*y+r2
B2 y
z=
w1*z1+w2*z2 w1+w2
w2
ANFIS (Adaptive Neuro-Fuzzy Inference System)
x y
A2 B1 B2
P P
w1
w1*z1
S Swi*zi
w2*z2 w2
/ S
Swi
ANFIS: Parameter ID
l
Hybrid training method
nonlinear parameters
A1
linear parameters
w1*z1
x y
P P P P
w1
A2 B1 B2
S Swi*zi /
w4 w4*z4
Swi
S
backward pass steepest descent fixed
forward pass MF param. (nonlinear) Coef. param. (linear) fixed least-squares
Matlab Fuzzy Ball-Juggler Demo
Ball-Juggler Rule View
Contrary Opinion
WHY I DESPISE FUZZY FEEDBACK CONTROL, by Michael Athans http://www.lit.net/ieee/cdc98/debates/cdc98fuzzy-debate/ Asserts that fuzzy control only shown applicable to trivial (SISO) systems, not more complex (MIMO) systems.
Athans Asserted Shortcomings of Fuzzy Controllers
l l l l l l l
Fuzzy rules just generate nonlinear static functions Performance specifications vague or nonexistent Cannot generate differential equation controller rules Not easy to differentiate noisy sensor signals by finite differencing, as almost always done in fuzzy applications No utililization of dynamic (e.g. Kalman) filtering I have never seen a multiple-input multiple-output (MIMO) fuzzy control application Combinatorial complexity for high-order and multivariable applications