Unit-4 Soft Comp Fuzzy Logic

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

Unit-4

Evolutionary computing:

Evolutionary Computation is a sub-field of Computational Intelligence, a branch of Machine


Learning and Artificial Intelligence. The applications of Evolutionary Computation are
numerous, from solving optimization problems, designing robots, creating decision trees, tuning
data mining algorithms, training neural networks, and tuning hyperparameters.

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 a field of optimization theory where instead of using classical


numerical methods to solve optimization problems, we use inspiration from biological evolution
to ‘evolve’ good solutions.

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.

Some characteristics of Soft computing


 Soft computing provides an approximate but precise solution for real-life problems.
 The algorithms of soft computing are adaptive, so the current process is not affected by any kind of change
in the environment.
 The concept of soft computing is based on learning from experimental data. It means that soft computing
does not require any mathematical model to solve the problem.
 Soft computing helps users to solve real-world problems by providing approximate results that
conventional and analytical models cannot solve.
 It is based on Fuzzy logic, genetic algorithms, machine learning, ANN, and expert systems.

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.

string1 = "xyz" and string2 = "xyw"

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 methods


The guiding principle of soft computing is to exploit the tolerance for imprecision, uncertainty,
approximate, reasoning and partial truth in order to close resemblance with human like decision making.
Soft Computing is the fusion of methodologies for example fuzzy logic, artificial neural networks, and
genetic algorithms, support vector machine and relevance vector machine, etc

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.

 Provides rapid dissemination of important results in soft computing technologies


 Encourages the integration of soft computing techniques and tools into both everyday and
advanced applications
 Connects the ideas and techniques of soft computing with other disciplines
 94% of authors who answered a survey reported that they would definitely publish or probably
publish in the journal again
Applications of soft computing
There are several applications of soft computing where it is used. Some of them are listed below:

 It is widely used in gaming products like Poker and Checker.


 In kitchen appliances, such as Microwave and Rice cooker.
 In most used home appliances - Washing Machine, Heater, Refrigerator, and AC as well.
 Apart from all these usages, it is also used in Robotics work (Emotional per Robot form).
 Image processing and Data compression are also popular applications of soft computing.
 Used for handwriting recognition.

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.

Need of soft computing


Sometimes, conventional computing or analytical models does not provide a solution to some real-world
problems. In that case, we require other technique like soft computing to obtain an approximate solution.

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

Elements of soft computing


Soft computing is viewed as a foundation component for an emerging field of conceptual intelligence.
Fuzzy Logic (FL), Machine Learning (ML), Neural Network (NN), Probabilistic Reasoning (PR), and
Evolutionary Computation (EC) are the supplements of soft computing. Also, these are techniques used
by soft computing to resolve any complex problem.

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 (FL)

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 Network (ANN)

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.

Artificial Neural Networks (ANN)

are mutually connected with brain cells and created using regular computing programming. It is like as the human
neural system.

Genetic Algorithms (GA)

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.

In addition, a genetic algorithm is a subset of a large branch of computation.

Soft computing vs hard computing


Hard computing uses existing mathematical algorithms to solve certain problems. It provides a precise
and exact solution of the problem. Any numerical problem is an example of hard computing.

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

It depends on approximation and It is mainly based on binary logic and numerical


Dependency
dispositional. systems.

Computation
Parallel computation Sequential computation
type

Result/Output Approximate result Exact and precise result

Neural Networks, such as Madaline, Any numerical problem or traditional methods of


Example
Adaline, Art Networks. solving using personal computers.
The term fuzzy refers to things that are not clear or are vague. In the real world many times we encounter
a situation when we can’t determine whether the state is true or false, their fuzzy logic provides very
valuable flexibility for reasoning. In this way, we can consider the inaccuracies and uncertainties of any
situation. 

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 

Its Architecture contains four parts :

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

There are largely three types of fuzzifiers:  

 Singleton fuzzifier
 Gaussian fuzzifier
 Trapezoidal or triangular fuzzifier

What is Fuzzy Control? 

 It is a technique to embody human-like thinkings into a control system.


 It may not be designed to give accurate reasoning but it is designed to give acceptable reasoning.
 It can emulate human deductive thinking, that is, the process people use to infer conclusions from
what they know.
 Any uncertainties can be easily dealt with the help of fuzzy logic.

Advantages of Fuzzy Logic System 

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

Rule-based (production) systems

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.

Applications of Rule-based systems


A classic example of a rule-based system is the domain-specific expert system that uses rules to
make deductions or choices.[1] For example, an expert system might help a doctor choose the
correct diagnosis based on a cluster of symptoms, or select tactical moves to play a game.

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.

A typical rule-based system has four basic components:


 A list of rules or rule base, which is a specific type of knowledge base.
 An inference engine or semantic reasoner, which infers information or takes action based on the
interaction of input and the rule base. The interpreter executes a production system program by
performing the following match-resolve-act cycle: [4]

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

 Temporary working memory.


 A user interface or other connection to the outside world through which input and output
signals are received and sent.

You might also like