Introduction to Fuzzy Logic
Fuzzy Logic is a logic or control system of an n-valued logic system which uses the degrees of state “degrees of truth“of the inputs and produces outputs which depend on the states of the inputs and rate of change of these states (rather than the usual “true or false” (1 or 0), Low or High Boolean logic (Binary) on which the modern computer is based). It basically provides foundations for approximate reasoning using imprecise and inaccurate decisions and allows using linguistic variables.
It was developed in 1965, by Professor LoftiZadeh, at University of California, Berkley. The first application was to perform computer data processing based on natural values.
In more simple words, A Fuzzy logic stat can be 0, 1 or in between these numbers i.e. 0.17 or 0.54.
For example, In Boolean, we may say glass of hot water ( i.e 1 or High) or glass of cold water i.e. (0 or low), but in Fuzzy logic, We may say glass of warm water (neither hot nor cold).
let see another example,
Boolean Logic : Yes or No (0,1)
Fuzzy Logic: Certainly Yes, Possibly No, Can’t Say, Possible Yes etc.
- Also Read: What is ZigBee Technology and How it works?
Basic Architecture of Fuzzy Logic System
A Fuzzy Logic System consists of the following modules:
1. Fuzzifier: It accepts the measured variables as input and converts the numerical values to linguistic variables. It transforms the physical values as well as the error signals to a normalized fuzzy subset which consists of an interval for the input values range and membership functions that describe the probability of state of the input variables. The input signal is basically split into five states as in – Large Positive, Medium Positive, Small, Medium Negative and Large Negative.
2. Controller: It consists of the knowledge base as well as the inference engine. The knowledge Base stores the membership functions and the fuzzy rules, obtained by knowledge of system operation per the environment. The inference engine performs processing of the obtained membership functions and fuzzy rules. In other words, the inference engine assigns outputs based on linguistic information.
3. Defuzzifier: It performs the reverse process of the Fuzzifier. In other words, it converts the fuzzy values to the normal numerical or physical signals and sends them to the physical system to control the system operation.
- What is GSM and How does it Work?
- Fuzzy Logic System Operation
Fuzzy operation involves use of fuzzy sets and membership functions. Each fuzzy set is a representation of a linguistic variable that defines the possible state of output. Membership function is the function of a generic value in a fuzzy set, such that both the generic value and the fuzzy set belong to a universal set.
The degrees of membership of that generic value in the fuzzy set determines the output, based on the principle of IF-THEN. The memberships are assigned based on the assumption of outputs with the help of inputs and rate of change of inputs. A membership function is basically a graphical representation of the fuzzy set.
Consider a value ‘x’ such that x€X for all interval [0,1] and a fuzzy set A, which is a subset of X. Membership function of ‘x’ in the subset A is given as : fA(x). Note that ‘x’ denotes the membership value.
While the x-axis denotes the universal set, the y-axis denotes the membership degrees. These membership functions can be triangular, trapezoidal, singleton or Gaussian in shape.
Practical Fuzzy System Example
Let us design a simple fuzzy control system to control operation of a washing machine such that the fuzzy system controls the washing process, water intake, wash time and spin speed.
The input parameters here are the volume of clothes, degree of dirt and type of dirt. While the volume of clothes would determine the water intake, the degree of dirt in turn would be determined by the transparency of water and the type of dirt is determined by the time at which the water color remains unchanged.
Step 1: The first step would involve defining linguistic variables and terms. For the inputs, the linguistic variables are as given below
- Type of Dirt: {Greasy, Medium, Not Greasy }
- Quality of Dirt: {Large, Medium, Small }
For output, the linguistic variables are as given below
Wash Time: {Short, Very Short, Long, Medium, Very Long}
- You may also read: RFID Based Library Management System
Step 2: The second step involves construction of membership functions.
Given below are graphs determining membership functions for the two inputs are as given below:
Membership Functions for Quality of Dirt
Step 3: The third step involves developing a set of rules for the knowledge base. Given below are the set of rules using IF-THEN logic
- IF quality of dirt is Small AND Type of dirt is Greasy, THEN Wash Time is Long.
- IF quality of dirt is Medium AND Type of dirt is Greasy, THEN Wash Time is Long.
- IF quality of dirt is Large and Type of dirt is Greasy, THEN Wash Time is Very Long.
- IF quality of dirt is Small AND Type of dirt is Medium, THEN Wash Time is Medium.
- IF quality of dirt is Medium AND Type of dirt is Medium, THEN Wash Time is Medium.
- IF quality of dirt is Large and Type of dirt is Medium, THEN Wash Time is Medium.
- IF quality of dirt is Small AND Type of dirt is Non-Greasy, THEN Wash Time is Very Short.
- IF quality of dirt is Medium AND Type of dirt is Non-Greasy, THEN Wash Time is Medium.
- IF quality of dirt is Large and Type of dirt is Greasy, THEN Wash Time is Very Short.
- You may also read: What is Raspberry Pi? Creating Projects using Raspberry Pi
Step 4: The fuzzifier which initially had converted the sensor inputs to these linguistic variables, now applies the above rules to perform the fuzzy set operations (like MIN and MAX) to determine the output fuzzy functions. Based upon the output fuzzy sets, the membership function is developed.
Step 5: The final step is the defuzzification step where the Defuzzifier uses the output membership functions to determine the output washing time.
Note: The above-mentioned example is just a simple theoretical example. The practical model would be more complex and deploys Neuro-Fuzzy Logic for the same.
Applications
- Fuzzy Logic system can be used in Automotive systems, for applications like 4-Wheel steering, automatic gearboxes etc.
- Applications in the field of Domestic Applications include Microwave Ovens, Air Conditioners, Washing Machines, Televisions, Refrigerators, Vacuum Cleaners etc.
- Other applications include Hi-Fi Systems, Photo-Copiers, Humidifiers etc.
Advantages
- A Fuzzy Logic System is flexible and allow modification in the rules.
- Even imprecise, distorted and error input information is also accepted by the system.
- The systems can be easily constructed.
- Since these systems involve human reasoning and decision making, they are useful in providing solutions to complex solutions in different types of applications.
While there are numerous other advantages of this concept, still the loophole lies in the ability of the logic system for complex and ultra-accurate systems. This is a basic knowledge I had about Fuzzy Logic System and any other inputs are welcome in the below comments section.
You may also read