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

  1. Define linguistic variable and terms
  1. Construct membership functions for them
  1. Construct knowledge base of rules
  1. Obtain fuzzy value (Fuzzification)
  1. Perform defuzzification
  1. Evaluate rules in the rule base (Inference engine)
  1. 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