# Artificial Intelligence - Fuzzy Logic Systems

Fuzzy Logic Systems (FLS) produce acceptable but definite output in response to incomplete, ambiguous, distorted, or inaccurate (fuzzy) input.

## What is Fuzzy Logic?

Fuzzy Logic (FL) is a method of reasoning that resembles human reasoning. The approach of FL imitates the way of decision making in humans that involves all intermediate possibilities between digital values YES and NO.

The conventional logic block that a computer can understand takes precise input and produces a definite output as TRUE or FALSE, which is equivalent to humanâ€™s YES or NO.

The inventor of fuzzy logic, Lotfi Zadeh, observed that unlike computers, the human decision making includes a range of possibilities between YES and NO, such as −

CERTAINLY YES |

POSSIBLY YES |

CANNOT SAY |

POSSIBLY NO |

CERTAINLY NO |

The fuzzy logic works on the levels of possibilities of input to achieve the definite output.

### Implementation

It can be implemented in systems with various sizes and capabilities ranging from small micro-controllers to large, networked, workstation-based control systems.

It can be implemented in hardware, software, or a combination of both.

## Why Fuzzy Logic?

Fuzzy logic is useful for commercial and practical purposes.

- It can control machines and consumer products.
- It may not give accurate reasoning, but acceptable reasoning.
- Fuzzy logic helps to deal with the uncertainty in engineering.

## Fuzzy Logic Systems Architecture

It has four main parts as shown −

**Fuzzification Module**− It transforms the system inputs, which are crisp numbers, into fuzzy sets. It splits the input signal into five steps such as −

LP |
x is Large Positive |

MP |
x is Medium Positive |

S |
x is Small |

MN |
x is Medium Negative |

LN |
x is Large Negative |

**Knowledge Base**− It stores IF-THEN rules provided by experts.**Inference Engine**− It simulates the human reasoning process by making fuzzy inference on the inputs and IF-THEN rules.**Defuzzification Module**− It transforms the fuzzy set obtained by the inference engine into a crisp value.

The **membership functions work on** fuzzy sets of variables.

### Membership Function

Membership functions allow you to quantify linguistic term and represent a fuzzy set graphically. A **membership function** for a fuzzy *set A* on the universe of discourse X is defined as μ_{A}:X → [0,1].

Here, each element of *X* is mapped to a value between 0 and 1. It is called **membership value** or **degree of membership**. It quantifies the degree of membership of the element in *X* to the fuzzy set *A*.

- x axis represents the universe of discourse.
- y axis represents the degrees of membership in the [0, 1] interval.

There can be multiple membership functions applicable to fuzzify a numerical value. Simple membership functions are used as use of complex functions does not add more precision in the output.

All membership functions for **LP, MP, S, MN,** and **LN** are shown as below −

The triangular membership function shapes are most common among various other membership function shapes such as trapezoidal, singleton, and Gaussian.

Here, the input to 5-level fuzzifier varies from -10 volts to +10 volts. Hence the corresponding output also changes.

## Example of a Fuzzy Logic System

Let us consider an air conditioning system with 5-level fuzzy logic system. This system adjusts the temperature of air conditioner by comparing the room temperature and the target temperature value.

### Algorithm

- Define linguistic variables and terms.
- Construct membership functions for them.
- Construct knowledge base of rules.
- Convert crisp data into fuzzy data sets using membership functions. (fuzzification)
- Evaluate rules in the rule base. (Inference Engine)
- Combine results from each rule. (Inference Engine)
- Convert output data into non-fuzzy values. (defuzzification)

### Logic Development

**Step 1: Define linguistic variables and terms**

Linguistic variables are input and output variables in the form of simple words or sentences. For room temperature, cold, warm, hot, etc., are linguistic terms.

Temperature (t) = {very-cold, cold, warm, very-warm, hot}

Every member of this set is a linguistic term and it can cover some portion of overall temperature values.

**Step 2: Construct membership functions for them**

The membership functions of temperature variable are as shown −

**Step3: Construct knowledge base rules**

Create a matrix of room temperature values versus target temperature values that an air conditioning system is expected to provide.

RoomTemp. /Target | Very_Cold | Cold | Warm | Hot | Very_Hot |
---|---|---|---|---|---|

Very_Cold | No_Change | Heat | Heat | Heat | Heat |

Cold | Cool | No_Change | Heat | Heat | Heat |

Warm | Cool | Cool | No_Change | Heat | Heat |

Hot | Cool | Cool | Cool | No_Change | Heat |

Very_Hot | Cool | Cool | Cool | Cool | No_Change |

Build a set of rules into the knowledge base in the form of IF-THEN-ELSE structures.

Sr. No. | Condition | Action |
---|---|---|

1 | IF temperature=(Cold OR Very_Cold) AND target=Warm THEN | Heat |

2 | IF temperature=(Hot OR Very_Hot) AND target=Warm THEN | Cool |

3 | IF (temperature=Warm) AND (target=Warm) THEN | No_Change |

**Step 4: Obtain fuzzy value**

Fuzzy set operations perform evaluation of rules. The operations used for OR and AND are Max and Min respectively. Combine all results of evaluation to form a final result. This result is a fuzzy value.

**Step 5: Perform defuzzification**

Defuzzification is then performed according to membership function for output variable.

## Application Areas of Fuzzy Logic

The key application areas of fuzzy logic are as given −

**Automotive Systems**

- Automatic Gearboxes
- Four-Wheel Steering
- Vehicle environment control

**Consumer Electronic Goods**

- Hi-Fi Systems
- Photocopiers
- Still and Video Cameras
- Television

**Domestic Goods**

- Microwave Ovens
- Refrigerators
- Toasters
- Vacuum Cleaners
- Washing Machines

**Environment Control**

- Air Conditioners/Dryers/Heaters
- Humidifiers

## Advantages of FLSs

Mathematical concepts within fuzzy reasoning are very simple.

You can modify a FLS by just adding or deleting rules due to flexibility of fuzzy logic.

Fuzzy logic Systems can take imprecise, distorted, noisy input information.

FLSs are easy to construct and understand.

Fuzzy logic is a solution to complex problems in all fields of life, including medicine, as it resembles human reasoning and decision making.

## Disadvantages of FLSs

- There is no systematic approach to fuzzy system designing.
- They are understandable only when simple.
- They are suitable for the problems which do not need high accuracy.