What is fuzzy logic?
Fuzzy logic is a computing approach that deals with varying degrees of truth, rather than a “completely true or completely false” approach. The binary true or false approach is known as Boolean logic. Fuzzy logic is used when the situation is vague. Fuzzy Logic Systems (FLS) generate acceptable but definite output in response to incomplete, ambiguous, distorted, or inaccurate (fuzzy) input.
In the 1960s, Lofti Zadeh of the University of California at Berkeley was working on getting computers to understand natural language. He realized that natural language, like many other things in life, could not be translated into absolute terms of 1 (True) and 0 (False).
He figured that traditional computer logic could not handle vague data. He realized that there are many values between True and False that traditional computer logic did not consider. These could include:
- Definitely true
- Possible true
- Can’t say
- Possible false
- Definitely false
With this in mind, Lofti Zadeh first described Fuzzy Logic in 1965. Fuzzy Logic makes decisions in a similar fashion as humans but does it much faster than we humans could.
The main aim behind developing fuzzy logic from fuzzy set theory was to create a conceptual framework for linguistically represented knowledge.
Essentially, Fuzzy Logic is a technique of reasoning that resembles human reasoning. The fuzzy logic approach imitates the manner of decision making in humans that involves all intermediate possibilities between digital values YES and NO. It works on the levels of possibilities of input to achieve the definite output.
It is possible to implement fuzzy logic in systems with various sizes and capabilities ranging from small micro-controllers to large, networked, workstation-based control systems. Fuzzy Logic can be implemented in hardware, software, or a combination of both, hardware as well as software.
Fuzzy logic is an extension of crisp logic. In crisp logic like binary logic, the variables are either true or false. Certain classifications are made through the use of crisp logic. A member can be in only one set.
However, in fuzzy logic, the member may be in in one or more sets. The membership degree of an element could be defined through the use of a characteristic function called membership function in the fuzzy logic.
In the fuzzy logic, after selecting fuzzy sets that will be utilized, a membership function for the sets must be assigned. A membership function is a typical curve that converts the numerical value of input within a range of 0 to 1, indicating that the input belongs to a fuzzy set.
Fuzzy sets in every input and output variable are defined by the assigned membership function. The membership functions for inputs and outputs need to be defined by expert experience
What are the advantages of Fuzzy logic?
Fuzzy logic is quite useful and beneficial for commercial and practical purposes. It has the ability to control machines and consumer products. Even though it might not provide accurate reasoning, it will provide an acceptable level of reasoning. Fuzzy logic even aids in dealing with the uncertainty in engineering.
- It does not require precise inputs - it can handle vague or distorted inputs.
- Feedback sensors can be reprogrammed situationally.
- The algorithms do not occupy large memory space.
- The systems can use vague inputs to solve complex problems, similar to the way humans do.
- Fuzzy logic systems are flexible and can have their rules modified.
- These systems can make use of inexpensive sensors, reducing system costs.
- Their structure is simple and they are very easy to construct.
- Mathematical concepts within fuzzy reasoning are rather simple.
- Fuzzy logic is a solution to complicated issues in various fields of life since it resembles human reasoning and decision making.
What are the disadvantages of Fuzzy logic?
- Since they work with vague data and inputs, these systems might not be very accurate.
- They depend on human knowledge and expertise.
- Their rules need to be updated on a regular basis.
- To validate Fuzzy logic systems, they need to undergo a huge amount of testing.
- Fuzzy logic systems cannot recognize neural networks or machine learning.
- Fuzzy logic may present too many possible solutions for a problem, causing ambiguity.
- No systematic approach to fuzzy system designing exists.
- Fuzzy logic systems are only understandable when they are simple.
- Fuzzy logic systems can only be used for problems that do not require a very high degree of accuracy.
What is the architecture of a Fuzzy logic system?
Rule base or knowledge base
This contains the set of rules and conditions given to the system by the human experts. Recent developments have helped reduce the number of fuzzy rules required.
Fuzzification module
The fuzzification module is used to transform crisp inputs into fuzzy sets. Crisp inputs refer to exact inputs that are measured by sensors and sent to the fuzzy system for processing.
Inference engine
The inference engine determines the degree to which the fuzzy inputs match each rule. Based on this, it determines which rule needs to be fired, and the fired rules are then combined to form the control actions.
Defuzzification module
The defuzzification module transforms the fuzzy sets that the inference engine obtains into crisp values.
What are the applications of Fuzzy Logic?
Fuzzy logic is used in a range of ways. Here are some of the domains in which it is employed:
- Transportation - Fuzzy logic is used here for vehicle speed control and traffic control. It is even used to control train schedules.
- Medicine - It is used in diagnostic radiology and diagnostic support systems.
- Artificial Intelligence - It is used in Natural Language Processing (NLP) and has other applications in AI as well.
- Enterprise decision support - It is used in decision support systems in large organizations.
- Chemical industry - Fuzzy logic is used to control pH levels, drying, and chemical distillation process.
Along with these, there are many other applications of Fuzzy Logic in a variety of domains.