Fuzzy Logic
Introduction
Method of reasoning that resembles human reasoning
"degrees of truth" rather than the usual "true or false" (1 or 0) Boolean on which modern computer is based on
Superset of Boolean logic which handles the concept of partial truth
Truth values ranges from "completely true" and "completely false"
It is multi-valued logic and allows intermediate values to be defined
There's uncertainty due to incomplete and imprecise knowledge
Primarily used from developing sophisticated control systems
Fills gap in engineering design methods which is based on purely mathematical e.g. linear control design and logic-based approaches e.g. expert systems.
Applications
Advantages
Automobile and other vehicle subsystems
Automatic control system
Auto-focus in cameras
Prediction, diagnostic and advisory systems
User interface and neural language processing
Embedded systems in domestic appliances
Very Large Scale Integrated circuits micro controller
Fuzzy expert system and fuzzy interface
Hybrid system with artificial neural networks
Disadvantages
Easy to understand, flexible and tolerant of imprecise data
Can be modified by adding or deleting rules due to its flexibility
May not be accurate
Requires tuning of membership functions which is difficult to estimate
Not suitable for large or complex problems
Understandable only for simple problems
Easy to construct and understand
No systematic approach to fuzzy system designing
Control machines and consumer products
Gives acceptable reasoning
Helps to deal with the uncertainty in engineering
System Architecture
Fuzzification Module
Knowledge Base
Inference Engine
Defuzzification Module
Transforms the inputs into fuzzy sets
Stores "IF-THEN" rules provided by experts
Stimulates human reasoning process by making fuzzy inference on the inputs and "IF-THEN" rules
Transforms the fuzzy set obtained by inference engine into crisp value
Algorithm
- Define linguistic variable and terms
- Construct membership functions for them
- Construct knowledge base of rules
- Obtain fuzzy value (Fuzzification)
- Perform defuzzification
- Evaluate rules in the rule base (Inference engine)
- Combine results from each rule (Inference engine)
Linguistic variable are input and output variables
Membership functions quantifies linguistic term and represent a fuzzy set graphically
Builds set of rules into knowledge base in the form of "IF-THEN-ELSE" sturctures
Converts crisp data into fuzzy sets using membership functions
Convert output data into non-fuzzy values according to membership function