Unit-4 Soft Comp Fuzzy Logic
Unit-4 Soft Comp Fuzzy Logic
Unit-4 Soft Comp Fuzzy Logic
Evolutionary computing:
If you are familiar with data science and machine learning models, all statistical and ‘black box’
models are built of solving optimization problems. You might be familiar with these problems,
such as MSE, cross-entropy, MAE, etc, where in these instances we want to minimize these
values.
Evolutionary computation is commonly used instead of standard numerical method when there
is no known derivative of the fitness function (reinforcement type learning), or when the fitness
function has many local extrema that can trap sequential methods.
In evolutionary computation, we try to model these principles to find the best solution to a
problem. Each possible solution to a problem is represented as an individual in a pool of a
population, where we perform adaptation, natural selection, and selective breeding on those
possible solutions to ultimately find the best solution for the problem.
Soft computing is the reverse of hard (conventional) computing. It refers to a group of computational
techniques that are based on artificial intelligence (AI)
and natural selection. It provides cost-effective solutions to the complex real-life problems for which hard
computing solution does not exist.
Zadeh coined the term of soft computing in 1992. The objective of soft computing is to provide precise
approximation and quick solutions for complex real-life problems.
In simple terms, you can understand soft computing - an emerging approach that gives the amazing ability
of the human mind. It can map a human mind and the human mind is a role model for soft computing.
Note: Basically, soft computing is different from traditional/conventional computing and it deals
with approximation models.
Example
Soft computing deals with the approximation model. Yoi will understand with the help of examples of
how it deals with the approximation model.
Let's consider a problem that actually does not have any solution via traditional computing, but soft
computing gives the approximate solution.
Problem 1
Are string1 and string2 same?
Solution
No, the solution is simply No. It does not require any algorithm to analyze this.
Let's modify the problem a bit.
Problem 2
How much string1 and string2 are same?
Solution
Through conventional programming, either the answer is Yes or No.
But these strings might be 80% similar according to soft computing.
You have noticed that soft computing gave us the approximate solution.
Soft Computing is dedicated to system solutions based on soft computing techniques. It provides rapid
dissemination of important results in soft computing technologies, a fusion of research in evolutionary
algorithms and genetic programming, neural science and neural net systems, fuzzy set theory and fuzzy
systems, and chaos theory and chaotic systems.
Soft Computing encourages the integration of soft computing techniques and tools into both everyday and
advanced applications. By linking the ideas and techniques of soft computing with other disciplines, the
journal serves as a unifying platform that fosters comparisons, extensions, and new applications.
As we already said that, soft computing provides the solution to real-time problems and here you can see
that. Besides these applications, there are many other applications of soft computing.
Hard computing is used for solving mathematical problems that need a precise answer. It fails to provide
solutions for some real-life problems. Thereby for real-life problems whose precise solution does not exist,
soft computing helps.
When conventional mathematical and analytical models fail, soft computing helps, e.g., You can map even
the human mind using soft computing.
Analytical models can be used for solving mathematical problems and valid for ideal cases. But the real-
world problems do not have an ideal case; these exist in a non-ideal environment.
Soft computing is not only limited to theory; it also gives insights into real-life problems.
Like all the above reasons, Soft computing helps to map the human mind, which cannot be possible with
conventional mathematical and analytical models.
Any problems can be resolved effectively using these components. Following are three types of
techniques used by soft computing:
Fuzzy Logic
Artificial Neural Network (ANN)
Genetic Algorithms
Fuzzy logic is nothing but mathematical logic which tries to solve problems with an open and imprecise spectrum of
data. It makes it easy to obtain an array of precise conclusions.
Fuzzy logic is basically designed to achieve the best possible solution to complex problems from all the
available information and input data. Fuzzy logics are considered as the best solution finders.
Neural networks were developed in the 1950s, which helped soft computing to solve real-world problems,
which a computer cannot do itself. We all know that a human brain can easily describe real-world
conditions, but a computer cannot.
An artificial neural network (ANN)
emulates a network of neurons that makes a human brain (means a machine that can think like a human mind).
Thereby the computer or a machine can learn things so that they can take decisions like the human brain.
are mutually connected with brain cells and created using regular computing programming. It is like as the human
neural system.
Genetic algorithm is almost based on nature and take all inspirations from it. There is no genetic
algorithm that is based on search-based algorithms, which find its roots in natural selection and the
concept of genetics.
On the other hand, soft computing is a different approach than hard computing. In soft computing, we
compute solutions to the existing complex problems. The result calculated or provided by soft computing
are also not precise. They are imprecise and fuzzy in nature.
Parameters Soft Computing Hard Computing
Computation
Takes less computation time. Takes more computation time.
time
Computation
Parallel computation Sequential computation
type
In the boolean system truth value, 1.0 represents the absolute truth value and 0.0 represents the absolute
false value. But in the fuzzy system, there is no logic for the absolute truth and absolute false value. But
in fuzzy logic, there is an intermediate value too present which is partially true and partially false.
ARCHITECTURE
RULE BASE: It contains the set of rules and the IF-THEN conditions provided by the experts to
govern the decision-making system, on the basis of linguistic information. Recent developments
in fuzzy theory offer several effective methods for the design and tuning of fuzzy controllers.
Most of these developments reduce the number of fuzzy rules.
FUZZIFICATION: It is used to convert inputs i.e. crisp numbers into fuzzy sets. Crisp inputs are
basically the exact inputs measured by sensors and passed into the control system for processing,
such as temperature, pressure, rpm’s, etc.
INFERENCE ENGINE: It determines the matching degree of the current fuzzy input with respect
to each rule and decides which rules are to be fired according to the input field. Next, the fired
rules are combined to form the control actions.
DEFUZZIFICATION: It is used to convert the fuzzy sets obtained by the inference engine into a
crisp value. There are several defuzzification methods available and the best-suited one is used
with a specific expert system to reduce the error.
Membership function
Definition: A graph that defines how each point in the input space is mapped to membership value
between 0 and 1. Input space is often referred to as the universe of discourse or universal set (u), which
contains all the possible elements of concern in each particular application.
Singleton fuzzifier
Gaussian fuzzifier
Trapezoidal or triangular fuzzifier
This system can work with any type of inputs whether it is imprecise, distorted or noisy input
information.
The construction of Fuzzy Logic Systems is easy and understandable.
Fuzzy logic comes with mathematical concepts of set theory and the reasoning of that is quite
simple.
It provides a very efficient solution to complex problems in all fields of life as it resembles
human reasoning and decision-making.
The algorithms can be described with little data, so little memory is required.
Disadvantages of Fuzzy Logic Systems
Many researchers proposed different ways to solve a given problem through fuzzy logic which
leads to ambiguity. There is no systematic approach to solve a given problem through fuzzy logic.
Proof of its characteristics is difficult or impossible in most cases because every time we do not
get a mathematical description of our approach.
As fuzzy logic works on precise as well as imprecise data so most of the time accuracy is
compromised.
Application
It is used in the aerospace field for altitude control of spacecraft and satellites.
It has been used in the automotive system for speed control, traffic control.
It is used for decision-making support systems and personal evaluation in the large company
business.
It has application in the chemical industry for controlling the pH, drying, chemical distillation
process.
Fuzzy logic is used in Natural language processing and various intensive applications in Artificial
Intelligence.
Fuzzy logic is extensively used in modern control systems such as expert systems.
Fuzzy Logic is used with Neural Networks as it mimics how a person would make decisions, only
much faster. It is done by Aggregation of data and changing it into more meaningful data by
forming partial truths as Fuzzy sets.
The RBS is used to solve the problem by deriving the rules from the expert knowledge. Here, the rules have action
and condition parts, namely if and then, which is passed to the inference engine, as it has the working knowledge of
any problems, rule applier, and pattern matcher.
Rule-based (production) systems have a long history [10] and have been applied to a variety of applications. A rule-
based system has a knowledge base represented as a collection of “rules” that are typically expressed as “if-then”
clauses. The set of rules forms the knowledge base that is applied to the current set of facts. Rule-based systems
provide a method for representing inferential knowledge by using a simple “if-then” form, which is relatively easy
to state and understand. The rule paradigm is naturally understood by humans. The basic architecture of a production
rule system is shown in below figure.
In computer science, a rule-based system is used to store and manipulate knowledge to interpret
information in a useful way. It is often used in artificial intelligence applications and research.
Normally, the term rule-based system is applied to systems involving human-crafted or curated
rule sets. Rule-based systems constructed using automatic rule inference, such as rule-based
machine learning, are normally excluded from this system type.
Rule-based systems provide the computational mechanisms found in most expert systems.
Knowledge is specified via facts and IF–THEN rules, and modus ponens is used as the
underlying inference method to derive new conclusions from existing knowledge. These
production rules in many cases allow a straightforward encoding of expertise about a particular
domain, often as situation–action pairs where the IF part of the rule specifies aspects of a
situation leading to one or more actions as described in the THEN part. In principle, the rules and
facts in a rule-based system can be translated into equivalent logical sentences. A combination of
restrictions and additional constructs in their language, together with the tight integration
between language and evaluation mechanism, offers substantial practical advantages for rule-
based systems.
Rule-based systems can be used to perform lexical analysis to compile or interpret computer
programs, or in natural language processing.[2]
Rule-based programming attempts to derive execution instructions from a starting set of data and
rules. This is a more indirect method than that employed by an imperative programming
language, which lists execution steps sequentially.
Match: In this first phase, the left-hand sides of all productions are matched against the
contents of working memory. As a result a conflict set is obtained, which consists of
instantiations of all satisfied productions. An instantiation of a production is an ordered
list of working memory elements that satisfies the left-hand side of the production.
Conflict-Resolution: In this second phase, one of the production instantiations in the
conflict set is chosen for execution. If no productions are satisfied, the interpreter halts.
Act: In this third phase, the actions of the production selected in the conflict-resolution
phase are executed. These actions may change the contents of working memory. At the
end of this phase, execution returns to the first phase.