Fuzzy Logic
Presented by
OVERVIEW
BACKGROUND
Professor Lotfi Zadeh, UC Berkeley, 1965 People do not require precise, numerical information input, and yet they are capable of highly adaptive control. Accepts noisy, imprecise input!
1970
1975
1980 1985 1990 Today, Fuzzy Logic Has Already Become the Standard Technique for Multi-Variable Control !
INFORM 1990-1998
1995 2000
Lexical Uncertainty: "Tall Men", "Hot Days", or "Stable Currencies" We Will Probably Have a Successful Business Year. The Experience of Expert A Shows That B Is Likely to Occur. However, Expert C Is Convinced This Is Not True.
Most Words and Evaluations We Use in Our Daily Reasoning Are Not Clearly Defined in a Mathematical Manner. This Allows Humans to Reason on an Abstract Level!
INFORM 1990-1998 Slide 5
... a person suffering from hepatitis shows in 60% of all cases a strong fever, in 45% of all cases yellowish colored skin, and in 30% of all cases suffers from nausea ...
INFORM 1990-1998
Slide 6
38.7C 41.4C
Fuzzy Set Theory:
38.7C
41.4C
37.2C
Slide 7
SF(43C)
0
36C 37C 38C 39C 40C 41C 42C
INFORM 1990-1998
Slide 8
INTRODUCTION
What is Fuzzy Logic? Problem-solving control system methodology Linguistic or "fuzzy" variables Example: IF (process is too hot) AND (process is heating rapidly) THEN (cool the process quickly)
INTRODUCTION (Contd.)
Advantages Mimicks human control logic Uses imprecise language Inherently robust Fails safely Modified and tweaked easily
INTRODUCTION (Contd.)
DEMOS
DEMOS (Contd.)
DEMOS (Contd.)
DEMOS (Contd.)
Robot Skating
DEMOS (Contd.)
Fuzzy Shower
http://ai.iit.nrc.ca/IR_public/fuzzy/fuzzyShower.html
http://www.aptronix.com/fuzzynet/java/pend/pendjava.htm
http://people.clarkson.edu/~esazonov/neural_fuzzy/loadsway/LoadSway.htm
APPROACH
Preliminary Evaluation
Assessment As to Whether Fuzzy Logic Is Applicable for the Given Application
Has Fuzzy Logic Been Previously Applied to a Similar Application With Success? Is It a Multi-Variable Type Control Problem? Do Operators and Engineers Possess Knowledge About Any Relevant Interdependencies of the Process Variables? Can Further Knowledge About the Process Behavior Be Gained By Observation Or Experiments? Is It Difficult to Obtain a Mathematical Model from the Process?
APPROACH (Contd.)
Usage
1. Define the control objectives and criteria What am I trying to control? What do I have to do to control the system? What kind of response do I need? What are the possible (probable) system failure modes? Determine the input and output relationships Choose a minimum number of variables for input to the FL engine Use the rule-based structure of FL Break the control problem down into a series of rules Create FL membership functions Define the meaning (values) of Input/Output terms used in the rules Test, evaluate, tune and retest
2.
3.
4.
5.
APPROACH (Contd.)
The Rule Matrix Error (Columns) Error-dot (Rows) Input conditions (Error and Error-dot) Output Response Conclusion (Intersection of Row and Column)
Zero Error
+ve Error
No change
Rule Matrix
APPLICATION
Simple Proportional Temperature Controller Components An electric heating element Variable-speed cooling fan Functionality Positive signal output: 0-100% heat Negative signal output: 0-100% cooling
APPLICATION (Contd.)
APPLICATION (Contd.)
Working Establish a meaningful system for representing the linguistic variables in the Rule Matrix "N" = "negative" error/ error-dot input level "Z" = "zero" error/ error-dot input level "P" = "positive" error/ error-dot input level "H" = "Heat" output response "-" = "No Change" to current output "C" = "Cool" output response
APPROACH
Usage
1. Define the control objectives and criteria What am I trying to control? What do I have to do to control the system? What kind of response do I need? What are the possible (probable) system failure modes? Determine the input and output relationships Choose a minimum number of variables for input to the FL engine Use the rule-based structure of FL Break the control problem down into a series of rules Create FL membership functions Define the meaning (values) of Input/Output terms used in the rules Test, evaluate, tune and retest
2. 3. 4. 5.
APPLICATION (Contd.)
1. Define the control objectives and criteria What am I trying to control? System temperature
What do I have to do to control the system? Proper balance and control of the functional devices What kind of response do I need? Stable Environment temperature What are the possible (probable) system failure modes? The lack of the No change region
APPLICATION (Contd.)
APPROACH
Usage
1. Define the control objectives and criteria What am I trying to control? What do I have to do to control the system? What kind of response do I need? What are the possible (probable) system failure modes? Determine the input and output relationships Choose a minimum number of variables for input to the FL engine Use the rule-based structure of FL Break the control problem down into a series of rules Create FL membership functions Define the meaning (values) of Input/Output terms used in the rules Test, evaluate, tune and retest
2. 3. 4. 5.
APPLICATION (Contd.)
2. Determine the input and output relationships Define the minimum number of possible input product combinations and corresponding output response conclusions
INPUT#1: ("Error", positive (P), zero (Z), negative (N)) INPUT#2: ("Error-dot", positive (P), zero (Z), negative (N)) CONCLUSION: ("Output", Heat (H), No Change (-), Cool (C)) INPUT#1 System Status Error = Command-Feedback P=Too cold, Z=Just right, N=Too hot
INPUT#2 System Status Error-dot = d(Error)/dt P=Getting hotter Z=Not changing N=Getting colder
OUTPUT Conclusion & System Response Output H = Call for heating - = Don't change anything C = Call for cooling
APPROACH
Usage
1. Define the control objectives and criteria What am I trying to control? What do I have to do to control the system? What kind of response do I need? What are the possible (probable) system failure modes? Determine the input and output relationships Choose a minimum number of variables for input to the FL engine Use the rule-based structure of FL Break the control problem down into a series of rules Create FL membership functions Define the meaning (values) of Input/Output terms used in the rules Test, evaluate, tune and retest
2. 3. 4. 5.
APPLICATION (Contd.)
3. Use the rule-based structure of FL
APPROACH
Usage
1. Define the control objectives and criteria What am I trying to control? What do I have to do to control the system? What kind of response do I need? What are the possible (probable) system failure modes? Determine the input and output relationships Choose a minimum number of variables for input to the FL engine Use the rule-based structure of FL Break the control problem down into a series of rules Create FL membership functions Define the meaning (values) of Input/Output terms used in the rules Test, evaluate, tune and retest
2. 3. 4. 5.
APPLICATION (Contd.)
4. Create FL membership functions that define the meaning (values) of Input/Output terms used in the rules
APPLICATION (Contd.)
A sample case
APPROACH
Usage
1. Define the control objectives and criteria What am I trying to control? What do I have to do to control the system? What kind of response do I need? What are the possible (probable) system failure modes? Determine the input and output relationships Choose a minimum number of variables for input to the FL engine Use the rule-based structure of FL Break the control problem down into a series of rules Create FL membership functions Define the meaning (values) of Input/Output terms used in the rules Test, evaluate, tune and retest
2. 3. 4. 5.