# 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 (start)
• Construct membership functions for them. (start)
• Construct knowledge base of rules (start)
• 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)

### 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

• 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.

• 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.

## Useful Video Courses

Video

78 Lectures 7 hours

Video

#### Artificial intelligence in Javascript Game development- Tic Tac Toe AI

87 Lectures 9.5 hours

Video

#### Introduction to Artificial Intelligence: AI for beginners

10 Lectures 1 hours

Video

#### Artificial Intelligence : The Future Of Programming

15 Lectures 54 mins

Video

#### Artificial Intelligence Level 1: Cogito

11 Lectures 1 hours

Video

#### Artificial Intelligence Level 2: Rise of the Machines

20 Lectures 2 hours