lesson 8 (fuzzy controllers)
TRANSCRIPT
Models for Inexact Reasoning
Fuzzy Logic – Lesson 8Fuzzy Controllers
Master in Computational Logic
Department of Artificial Intelligence
Fuzzy Controllers
• Fuzzy Controllers are special expert systems
– KB expressed in terms of fuzzy inference rules
– Use of an inference engine
• FC can use knowledge elicited from human operators (conversely to classical control)
– This is crucial in many control problems due to
• Difficult or impossible to build precise mathematical models
• Acquired models are difficult or expensive to use– Nonlinearities,
– Time-varying processes
– Difficulty to obtain precise measurements from sensors, etc.
Fuzzy Controllers
• Knowledge of an experienced human can substitute precise, mathematical models
– Often this knowledge is difficult or impossible to express in precise terms
– However, an imprecise linguistic description can be easily articulated by the operator
• Example:
IF the temperature is very high
AND the pressure is slightly low
THEN the heat change should be slightly negative
Operative Cycle of a FC
• A FC operates by repeating the cycle:
1. Measurements are taken of all relevant variables
2. Fuzzification: conversion of the measurements into fuzzy sets to express their uncertainties
3. Fuzzified measurements are used by the inference engine to evaluate the control rules
• The result of this evaluation is one or more fuzzy sets defined on the universe of possible actions
4. Defuzzification: the outcome is converted into a single crisp value (best representative of the fuzzy set)
Design of Fuzzy Controllers
• Step 1: Identification of I/O variables
– Range their values
– Select meaningful linguistic states for each variable
• Use fuzzy numbers to carry out this task
• Examples:– Approximately zero
– Positive small
– Negative small, etc.
Step 1: Example
• Let us suppose we have identified the following variables:
[ ] [ ][ ]
Input: , , ,Output: ,
e a a e b bv c c∈ − ∈ −
∈ −&
• We have identified seven linguistic states for each of the three variables
NL – Negative Large PL – Positive Large
NM – Negative Medium PM – Positive Medium
NS – Negative Small PS – Positive Small
AZ – Approximately Zero
Step 1: Example
• Possible fuzzy quantization of the range [-a, a] by triangular-shaped fuzzy numbers
Step 2: Fuzzification
• In this step a fuzzification function is introduced for each input variable
[ ]: ,ef a a− → ℜ
• ℜ denotes the set of all fuzzy numbers
• fe(x0) is a fuzzy number chosen by fe as a fuzzy approximation to measurement e = x0
• In some applications measurements are not fuzzified
• They are used directly as facts
Fuzzification: Example
ε is a parameter to be tunedOther shapes can be used instead of triangular functions
Step 3: Design of the KB
• In this phase, control knowledge is formu-lated in terms of fuzzy inference rules
• Two possibilites:
– Elicit the rules from experienced human operators
– Learn the rules from empirical data by suitable learning methods
• Most often using artificial neural networks
• Canonical form of rules:
If and , then
, , are fuzzy numbers chosen from the linguistic states
e A e B v C
A B C
= = =&
Step 4: Design of the Inference Engine
• Rules in the KB can be expressed as:
( ) ( ) ( )( )( )0 0 0 0
If , is then is ,
where: , min ,
, ( )A B A B
e e
e e A B v C
x y x y
e e f x f y
µ µ µ×
×
=
= ×
&
&
• Then, we obtain the following:
( ) ( )
1 1 1
2 2 2
0 0
Rule 1: If , is , then is Rule 2: If , is , then is
Rule n: If , is , then is Fact: , is
n n n
e e
e e A B v Ce e A B v C
e e A B v Ce e f x f y
××
××
=====
&&
KKKKKKKKKKKKKKKKKK&
&
Conclusion: is v C==========================
• Inferences: Interpolation method
Step 5: Defuzzification
• Purpose: convert each conclusion (fuzzy set) into a single real number (crisp)
• The resulting number defines the action to be taken by the fuzzy controller
• Different defuzzification methods
– Center of area (aka center of gravity)
– Center of maxima
– Mean of maxima