Principles Of Soft Computing Using Python Programming Learn How To Deploy Soft Computing Models In Real World Applications Gypsy Nandi pdf download
Principles Of Soft Computing Using Python Programming Learn How To Deploy Soft Computing Models In Real World Applications Gypsy Nandi pdf download
https://ebookbell.com/product/principles-of-soft-computing-using-
python-programming-nandi-gypsy-54007112
https://ebookbell.com/product/principles-of-soft-computing-2nd-ed-
with-cd-2nd-s-n-sivanandam-22047644
https://ebookbell.com/product/principles-of-soft-computing-3rd-
edition-s-n-sivanandam-s-n-deepa-43851648
https://ebookbell.com/product/principles-of-softmatter-dynamics-basic-
theories-noninvasive-methods-mesoscopic-aspects-1st-edition-rainer-
kimmich-auth-4205708
Biomechanics Of Soft Tissues Principles And Applications First Edition
Al Mayah
https://ebookbell.com/product/biomechanics-of-soft-tissues-principles-
and-applications-first-edition-al-mayah-6992720
https://ebookbell.com/product/bottomup-selforganization-in-
supramolecular-soft-matter-principles-and-prototypical-examples-of-
recent-advances-1st-edition-stefan-c-mller-5234902
https://ebookbell.com/product/principles-of-entrepreneurship-in-the-
industry-4-0-era-rajender-kumar-44864416
https://ebookbell.com/product/principles-of-entrepreneurship-in-the-
industry-40-era-rajender-kumar-44875364
https://ebookbell.com/product/principles-of-macroeconomics-
version-90-9th-edition-john-b-taylor-44887330
Principles of Soft Computing Using Python
Programming
IEEE Press
445 Hoes Lane
Piscataway, NJ 08854
IEEE Press Editorial Board
Sarah Spurgeon, Editor in Chief
Gypsy Nandi
Assam Don Bosco University
Guwahati, India
Copyright © 2024 by The Institute of Electrical and Electronics Engineers, Inc.
All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any
form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise,
except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without
either the prior written permission of the Publisher, or authorization through payment of the
appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers,
MA 01923, (978) 750-8400, fax (978) 750-4470, or on the web at www.copyright.com. Requests to
the Publisher for permission should be addressed to the Permissions Department, John Wiley &
Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at
http://www.wiley.com/go/permission.
Trademarks: Wiley and the Wiley logo are trademarks or registered trademarks of John Wiley &
Sons, Inc. and/or its affiliates in the United States and other countries and may not be used
without written permission. All other trademarks are the property of their respective owners.
John Wiley & Sons, Inc. is not associated with any product or vendor mentioned in this book.
Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best
efforts in preparing this book, they make no representations or warranties with respect to the
accuracy or completeness of the contents of this book and specifically disclaim any implied
warranties of merchantability or fitness for a particular purpose. No warranty may be created or
extended by sales representatives or written sales materials. The advice and strategies contained
herein may not be suitable for your situation. You should consult with a professional where
appropriate. Neither the publisher nor author shall be liable for any loss of profit or any other
commercial damages, including but not limited to special, incidental, consequential, or other
damages.
For general information on our other products and services or for technical support, please
contact our Customer Care Department within the United States at (800) 762-2974, outside the
United States at (317) 572-3993 or fax (317) 572-4002.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in
print may not be available in electronic formats. For more information about Wiley products,
visit our web site at www.wiley.com.
Contents
2 Fuzzy Computing 35
2.1 Fuzzy Sets 37
2.1.1 Features of Fuzzy Membership Functions 38
2.2 Fuzzy Set Operations 41
2.3 Fuzzy Set Properties 42
2.4 Binary Fuzzy Relation 45
2.5 Fuzzy Membership Functions 46
2.6 Methods of Membership Value Assignments 49
2.7 Fuzzification vs. Defuzzification 58
2.8 Fuzzy c-Means 62
Exercises 71
vi Contents
Index 327
xi
Preface
Chapter 4 – Deep Learning delves into the realm of deep neural networks,
which have revolutionized fields such as computer vision, natural language
processing, and speech recognition. This chapter provides an overview of deep
learning techniques, including convolutional neural networks (CNNs), recur-
rent neural networks (RNNs), generative adversarial networks (GANs), and
autoencoders.
Chapter 5 – Probabilistic Reasoning explores the world of probability and
its applications in soft computing. You will delve into random experiments, ran-
dom variables, and different perspectives on probability. Bayesian inference, belief
networks, Markovian models, and their applications in machine learning are also
covered.
Chapter 6 – Population Based Algorithms introduces genetic algorithms and
swarm intelligence techniques. You will discover how genetic algorithms work
and explore their applications in optimization problems. Additionally, you will
dive into swarm intelligence methods, including ant colony optimization (ACO)
and particle swarm optimization (PSO), with practical Python code examples.
Chapter 7 – Rough Set Theory delves into the Pawlak Rough Set Model and its
applications in information systems, decision rules, and decision tables. You will
explore the use of rough sets in various domains such as classification, clustering,
medical diagnosis, image processing, and speech analysis.
Chapter 8 – Hybrid Systems concludes our journey by discussing hybrid sys-
tems that combine different soft computing techniques, including neuro-genetic
systems, fuzzy-neural systems, and fuzzy-genetic systems. You will also explore
their applications in medical devices.
Soft computing is a vital tool used for performing several computing operations.
It uses one or more computational models or techniques to generate optimum
outcomes. To understand this concept, let us first clarify our idea about computa-
tion. In any computation operation, inputs are fed into the computing model for
performing some operations based on which results are accordingly produced.
In the context of computing, the input provided for computation is called
an antecedent, and the output generated is called the consequence. Figure 1.1
illustrates the basics of any computing operation where computing is done using
a control action (series of steps or actions). Here, in this example, the control
action is stated as p = f (q), where “q” is the input, “p” is the output, and “f ” is
the mapping function, which can be any formal method or algorithm to solve a
problem.
Hence, it can be concluded that computing is nothing but a mapping function
that helps in solving a problem to produce an output based on the input provided.
The control action for computing should be precise and definite so as to provide
accurate solution for a given problem.
Principles of Soft Computing Using Python Programming: Learn How to Deploy Soft Computing Models
in Real World Applications, First Edition. Gypsy Nandi.
© 2024 The Institute of Electrical and Electronics Engineers, Inc. Published 2024 by John Wiley & Sons, Inc.
2 1 Fundamentals of Soft Computing
is “a collection of methodologies that aim to exploit the tolerance for imprecision and
uncertainty to achieve tractability, robustness, and low solution cost.” Prof. Zadeh
also emphasized that “soft computing is likely to play an increasingly important role
in many application areas, including software engineering. The role model for soft
computing is the human mind.” Soft computing mimics the notable ability of the
human mind to reason and make decisions in an environment of improbability
and imprecision. The principal components of soft computing include fuzzy logic,
neurocomputing, and probabilistic reasoning (PR).
If you are wondering in which areas soft computing is being used in our day-
to-day lives, the simplest and most common examples include kitchen appliances
(rice cookers, microwaves, etc.) and home appliances (washing machines, refrig-
erators, etc.). Soft computing also finds its dominance in gaming (chess, poker,
etc.), as well as in robotics work. Prominent research areas such as data compres-
sion, image/video recognition, speech processing, and handwriting recognition
are some of the popular applications of soft computing.
Case A: The car Ziva uses a software program to make movement decisions.
The path coordinates for movement decisions are already included in the soft-
ware program with the help of which Ziva can take a predefined path to arrive
at its destination. Now, suppose, while moving, Ziva encounters an obstacle in
the path. In such a case, the software program can direct it to move to either to
1.2 Soft Computing versus Hard Computing 3
the right, or to the left, or to take a back turn. In this case, the self-driving car
is not modeled to identify the nature and complexity of the obstacle to make a
meaningful and proper decision. In this situation, the computation model used
for the car is deterministic in nature, and the output is also concrete. Undoubtedly,
there is less complexity in solving the problem, but the output is always fixed due
to the rigidness of the computation method.
Case B: The car Ziva uses a software program to make movement decisions.
However, in this case, the complexity of the program is more compared to the
complexity of the program defined in Case A. This is so as the car is much more
involved in complex decision-making. Ziva can now mimic the human brain in
making decisions when any kind of obstacle is met in between its travel.
Ziva, first of all, assesses the type of the obstacle, then decides whether it can
overcome the obstacle by any means, and finally, it keeps track of if any other
alternate path can be chosen instead of overcoming the obstacle found in the
same path. The decision to be taken by Ziva is not very crisp and precise, as there
are many alternative solutions that can be followed to reach destination point B.
For example, if the obstacle is a small stone, Ziva can easily climb up the stone
and continue on the same path, as it will lead to a computationally less-expensive
solution. However, if the obstacle is a big rock, Ziva may choose an alternative to
choose another path to reach the destination point.
Case C: Now, let us consider Case C, in which the software program is written
to let the self-driving car reach its destination by initially listing out all the possible
paths available to reach from source A to destination B. For each path available,
the cost of traveling the path is calculated and accordingly sorted to reach at the
fastest time possible. Finally, the optimum path is chosen, considering the mini-
mum cost as well as considering avoidance of any major obstacle. It can be realized
that Case C appends both the cases of Case A and Case B to inherit approaches
from both cases. It also adds some functionalities to tackle complex scenarios by
choosing an optimum decision to finally reach destination point B.
The above three cases can be summarized (as listed in Figure 1.2) to check the
points of differences among each of these cases. From each of the above three
cases, it can be observed that the nature of computation in each of the three cases
is not similar.
Notice that emphasis is given on reaching the destination point in the first case.
As the result is precise and fixed, the computation of the Case A type is termed
hard computing. Now, in the second case, the interest is to arrive at an approximate
result, as a precise result is not guaranteed by this approach. The computation of
the Case B type is termed soft computing. The third case inherits the properties
of both Case A and Case B, and this part of computing is referred to as hybrid
computing. Thus, computing in perspective of computer science can be broadly
categorized, as shown in Figure 1.3.
4 1 Fundamentals of Soft Computing
As we understood that soft computing can deal with imprecision, partial truth,
and uncertainty, its applications are varied, ranging from day-to-day applications
to various applications related to science and engineering. Some of the dominant
1.3 Characteristics of Soft Computing 5
Table 1.1 Important points of differences between soft computing and hard computing.
characteristics of soft computing are listed in Figure 1.4, and a brief discussion on
each of these characteristics is given next:
(a) Human expertise: Soft computing utilizes human expertise by framing fuzzy
if–then rules as well as conventional knowledge representation for solving
real-world problems that may consist of some degree of truth or false. In short,
where a concrete decision fails to represent a solution, soft computing tech-
niques work best to provide human-like conditional solutions.
(b) Biologically inspired computational models: Computational learning
models that follow the neural model of the human brain have been studied
and framed for complex problem solving with approximation solutions. A few
such popular neural network models include the artificial neural network
(ANN)-, convolutional neural network (CNN)-, and the recurrent neural
network (RNN)-based models. These models are commonly used for solving
classification problems, pattern recognition, and sentiment analysis.
(c) Optimization techniques: Complex optimization problems that are
inspired by nature are often used as soft computing techniques. For example,
6 1 Fundamentals of Soft Computing
Human
expertise
1.0 Biologically
a) Applicable inspired
to real- computational
world models
problems 2.0
b) 7.0
Characteristics
of soft
computing Optimization
Model-free
techniques
learning
3.0
6.0
Goal-driven Fault
tolerant
5.0
4.0
genetic algorithms (GA) can be used to select top-N fit people out of a human
population of a hundred people. The selection of the most fit people is done
by using the mutation properties inspired by biological evolution of genes.
(d) Fault tolerant: Fault tolerance of a computational model indicates the
capacity of the model to continue operating without interruption, even if
any software or hardware failure occurs. That is, the normal computational
process is not affected even if any of the software or hardware components fail.
(e) Goal-driven: Soft computing techniques are considered to be goal-driven.
This indicates that emphasis is given more on reaching the goal or destina-
tion than on the path considered to be taken from the current state to reach
the goal. Simulated annealing and GA are good examples of goal-driven soft
computing techniques.
(f) Model-free learning: The training models used in soft computing need not
be already aware of all the states in the environment. Learning of a step takes
place in due course of actions taken in the present state. In other words, it can
be said that there is a teacher who specifies beforehand all the precise actions
to be taken per condition or state. The learning algorithm indirectly only has a
critic that provides feedback as to whether the action taken can be rewarded or
punished. The rewards or punishments given help in better decision-making
for future actions.
1.4 Components of Soft Computing 7
The three principal components of soft computing include fuzzy logic-based com-
puting, neurocomputing, and GA. These three components form the core of soft
computing. There are a few other components of soft computing often used for
problem solving, such as machine learning (ML), PR, evolutionary reasoning, and
chaos theory. A brief summary of all these components of soft computing tech-
niques is explained next, along with an illustrative diagram, as given in Figure 1.5.
While fuzzy computing involves understanding fuzzy logic and fuzzy sets,
neural networks include the study of several neural network systems such as
artificial neural network (ANN) and CNN. Evolutionary computing (EC) involves
a wide range of techniques such as GA and swarm intelligence. Techniques for
ML are categorized mainly as supervised learning (SL), unsupervised learning,
and reinforcement learning (RL). Soft computing also involves a wide variety of
techniques such as chaos theory, PR, and evolutionary reasoning.
Components of
soft computing
Fully profitable
Is the XYZ courier service profitable?
Moderately profitable
Yes
(Value: 0.75)
(Value: 1)
Neither profitable nor
unprofitable (Value: 0.5)
No
Moderately unprofitable
(Value: 0)
(Value: 0.25)
Fully unprofitable
(Value: 0)
Figure 1.6 (a) Boolean (nonfuzzy) and (b) fuzzy logic-based solutions for a problem.
Let us understand this simple concept with the help of an example. For instance,
if we consider the question, “Is the XYZ Courier Service Profitable?” the reply to
this question can be simply stated as either “Yes” or “No.” If only two close-ended
choices are provided for this question, it can be considered as value 1 if the answer
given is “Yes” or 0 if the answer given is “No.” However, what if the profit is not
remarkably well, and only a moderate profit is incurred from the courier service?
If we have a deeper look at the question, there is a possibility that the answer can
be within a range between 0 and 1, as the amount of profitability level may be not
totally 100% profitable or 100% unprofitable. Here, the role of fuzzy logic comes
into play where the values can be considered in percentages (say, neither profit
nor loss, i.e., 0.5). Thus, fuzzy logic tries to deal with real-world situations, which
consider partial truth as a possible solution for a problem.
Figure 1.6(a) illustrates the two outcomes provided for the question “Is the
XYZ Courier Service Profitable?” The solution provided for the question in
this case is Boolean logic based, as only two extreme choices are provided for
responses. On the other hand, Figure 1.6(b) illustrates the various possibilities of
answers that can be provided for the same question “Is the XYZ Courier Service
Profitable?” Here, the concept of fuzzy logic is applied to the given question by
providing a few possibilities of answers such as “fully unprofitable,” “moderately
unprofitable,” “neither profitable nor unprofitable,” “moderately profitable,” and
“fully profitable.” The class membership is determined by the fuzzy membership
function. As seen in Figure 1.6(b), the membership degree (e.g., 0, 0.25, 0.5, 0.75,
and 1) is taken as output value for each response given.
One common example of using fuzzy sets in computer science is in the field
of image processing, specifically in edge detection. Edge detection is the process
of identifying boundaries within an image, which are areas of rapid-intensity
1.4 Components of Soft Computing 9
changes. Fuzzy logic can be used to make edge detection more robust and
accurate, especially in cases where the edges are not clearly defined. Let us
consider a grayscale image where each pixel’s intensity value represents its
brightness. To detect edges using fuzzy logic, one might define a fuzzy set for
“edgeness” that includes membership functions like “definitely an edge,” “possibly
an edge,” and “not an edge”. In such a case, the membership functions can be
defined as follows:
(a) Definitely an edge: If the intensity difference is high, the pixel is more likely
to be on an edge.
(b) Possibly an edge: If the intensity difference is moderate, the pixel might be
on an edge.
(c) Not an edge: If the intensity difference is low, the pixel is unlikely to be on
an edge.
Using these membership functions, you can assign degrees of membership to
each pixel for each of these fuzzy sets. For instance, a pixel with a high-intensity
difference would have a high degree of membership in the “definitely an edge”
fuzzy set.
A crisp set, as you may know, is a set with fixed and well-defined boundaries.
For instance, if the universal set (U) is a set of all states of India, a crisp set may be
a set of all states of North-East India for the universal set (U). A crisp set (A) can
be represented in two ways, as shown in Equations (1.1) and (1.2)
A = {a1 , a2 , a3 , … , an } (1.1)
A = {x|P(x)} (1.2)
Here, in Equation (1.2), the crisp set “A” consists of a collection of elements
ranging from a1 to an . Equation (1.2) shows the other way of representing a crisp
set “A,” where “A” consists of a collection of values of “x” such that it has got the
property P(x).
Now, a crisp set can also be represented using a characteristic function, as shown
in Equation (1.3):
{
1, if x belongs to A
𝜇A′ (x) = (1.3)
x, if x does not belong to A
A fuzzy set is a more general concept of the crisp set. It is a potential tool to
deal with uncertainty and imprecision. It is usually represented by an ordered pair
where the first element of the ordered pair represents the element belonging to a
set, and the second element represents the degree of membership of the element
to the set. The membership function value may vary from 0 to 1. Mathematically,
′
a fuzzy set A is represented as shown in Equation (1.4).
{
A′ = x, 𝜇A′ (x)|| xX} (1.4)
10 1 Fundamentals of Soft Computing
Here, the membership function value indicates the degree of belongingness and is
denoted by 𝜇A′ (x). Here, in Equation (1.4), “X” indicates the universal set, which
consists of a set of elements “x.” A membership function can either be any stan-
dard function (for example, the Gaussian function) or any user-defined function
in requirement to the problem domain. As this membership function is used to
represent the degree of truth in fuzzy logic, its value on the universe of discourse
“X” is defined as:
𝜇A′ (x) = [0, 1] (1.5)
Here, in Equation (1.5), each value of “X” represents an element that is mapped
to a value between 0 and 1.
The above explanations lead us to the understanding that a fuzzy set does
not have a crisp, clearly defined boundary; rather it contains elements with
only a partial degree of membership. Some of the standard properties of fuzzy
sets include commutative property, associative property, distributive property,
transitivity, and idempotent property. There are few other properties of fuzzy sets
that will be elaborately discussed in Chapter 2.
Also, there are three standard fuzzy set operators used in fuzzy logic – fuzzy
union, fuzzy intersection, and fuzzy complement. In case of complement oper-
ation, while a crisp set determines “Who do not belong to the set?,” a fuzzy set
determines “How many elements do not belong to the set?” Again, in case of union
operation, while a crisp set determines “Which element belongs to either of the set?,”
a fuzzy set determines “How much of the element is in either of the set?” Lastly, in
case of intersection operation, while a crisp set determines “Which element belongs
to both the sets?,” a fuzzy set determines “How much of the element is in both the
sets?” These fuzzy operations will also be elaborately discussed in Chapter 2.
Fuzzy logic systems have proved to be extremely helpful in dealing with
situations that involve decision-making. As some problems cannot be solved by
simply determining whether it is True/Yes or False/No, fuzzy logic is used to
offer flexibility in reasoning in order to deal with uncertainty in such a situation.
The applications of fuzzy logic are varied, ranging from domestic appliances to
automobiles, aviation industries to robotics.
Dendrites
Synapse
Axon
interconnection of one neuron with other neurons). The different parts of a neuron
are illustrated in Figure 1.7. A neuron gets fired only if certain conditions are met.
The signals received on each synapse may be of excitatory or inhibitory type.
When the excitatory signals exceed the inhibitory signals by certain quantified
threshold value, the neuron gets fired. Accordingly, either positive or negative
weights are assigned to signals – a positive weight is assigned to excitatory signals,
whereas a negative weight is assigned to inhibitory signals. This weight value indi-
cates the amount of impact of a signal on excitation of the neuron. The signals
multiplied by the weight in all the incoming synapse is summed up to get a final
cumulative value. If this value exceeds the threshold, then the neuron is excited.
This biological model has been mathematically formulated to accomplish optimal
solutions to different problems and is technically termed as “Artificial Neural Net-
work (ANN).” ANN has been applied in a large number of applications such as pat-
tern matching, pattern completion, classification, optimization, and time-series
modeling.
A simple example of an ANN is given in Figure 1.8. The nodes in ANN are orga-
nized in a layered structure (input layer, hidden layer, and output layer) in which
each signal is derived from an input and passes via nodes to reach the output.
Each black circular structure in Figure 1.8 represents a single neuron. The sim-
plest artificial neuron can be considered to be the threshold logic unit (TLU). The
TLU operation performs a weighted sum of its inputs and then outputs either a “0”
or “1.” An output of “1” occurs if the sum value exceeds a threshold value and a
“0” otherwise. TLU thus models the basic “integrate-and-fire” mechanism of real
neurons.
The basic building block of every ANN is the artificial neuron. At the entrance
section of an artificial neuron, inputs are assigned weights. For this, every input
value is multiplied by an individual weight (Figure 1.9). In the middle section of
the artificial neuron, a sum function is evaluated to find the sum of all the weighted
12 1 Fundamentals of Soft Computing
Input 1
Input 2 Output
Input 3
Input 1 x
Bias
inputs and bias. Next, toward the exit of the artificial neuron, the calculated sum
value is passed through an activation function, also called a transfer function.
ANN provides a simplified model of the network of neurons that occur in the
human or animal brain. ANN was initially found with the sole purpose of solving
problems in the same way that a human or animal brain does. However, more
and more research on ANN has led to the deviation of ANN from biology to solve
several challenging tasks such as speech recognition, medical diagnosis, computer
vision, and social network filtering.
Crossover Mutation
over time, and each variant is suitable for more specific types of problems and
data structures. At times, two or more evolutionary algorithms (EA) are applied
together for problem solving in order to generate better results. This makes EC
very popular in computer science, and a lot of research is explored in this area.
In general, EA mimic the behavior of biological species based on Darwin’s theory
of evolution and natural selection mechanism. The four main steps involved in EA
include – initialization, selection, use of genetic operators (crossover and mutation),
and termination. Each of these chronological steps makes an important contribu-
tion to the process of natural selection and also provides easy ways to modularize
implementations of EA. The four basic steps of EA are illustrated in Figure 1.10,
which begins with the initialization process and ends with the termination process.
The initialization step of EA helps in creating an initial population of solutions.
The initial population is either created randomly or created considering the ideal
condition(s). Once the population is created in the first step, the selection step is
carried out to select the top-N population members. This is done using a fitness
function that can accurately select the right members of the population. The next
step involves use of two genetic operators – crossover and mutation – to create
the next generation of population. Simply stated, these two genetic operators help
in creating new offspring from the given population by introducing new genetic
material into the new generation. Lastly, the EA involve the termination step to end
the process. The termination step occurs in either of the cases – the algorithm has
reached some maximum runtime, or the algorithm has reached some threshold
value based on performance.
Independent research work on EA led to the development of five main streams
of EA, namely, the evolutionary programming (EP), the evolution strategies
(ES), swarm intelligence, the GA, and the differential evolution (DE) (as shown
in Figure 1.11). A brief discussion on each of these subareas of EA is discussed in
the later part of this section.
● Evolutionary programming: The concept of EP was originally conceived by
Lawrence J. Fogel in the early 1960s. It is a stochastic optimization strategy
14 1 Fundamentals of Soft Computing
Evolutionary
programming
Evolutionary algorithms
Artificial bee
Swarm intelligence colony
Particle swarm
Genetic algorithms
optimization
Differential evolution
similar to GA. However, a study is made on the behavioral linkage of parents and
offspring in EP, while genetic operators (such as crossover operators) are applied
to produce better offspring from given parents in GA. EP usually involves four
main steps, as mentioned below. Step 1 involves choosing an initial population
of trial solutions. Step 2 and Step 3 are repeated either until a threshold value
for iteration exceeds or an adequate solution for the given problem is obtained:
⚬ Step 1: An initial population of trial solutions is chosen at random.
⚬ Step 2: Each solution is replicated into a new population. Each of these off-
spring solutions is mutated.
⚬ Step 3: Each offspring solution is assessed by computing its fitness.
⚬ Step 4: Terminate.
The three common variations of EP include the Classical EP (uses Gaussian
mutation for mutating the genome), the Fast EP (uses the Cauchy distribution
for mutating the genome), and the Exponential EP (uses the double exponential
distribution as the mutation operator). A few of the common application areas
of EP include path planning, traffic routing, game learning, cancer detection,
military planning, combinatorial optimization, and hierarchical system design.
● Evolution strategies: Evolution strategies (ES) is yet another optimization
Obstacle
Food
Nest
to the optimization problem, and the amount of nectar in the food sources
decides the quality or fitness of the given solution. In fact, the quality of
a food source depends on many factors, such as the amount of food source
available, the ease of extracting its nectar, and also its distance from the nest.
Depending on the number of food sources, the same number of employed
bees is chosen to solve a problem. It is the role of employed bees to carry on
the information about the quality of the food source and share this informa-
tion with the other bees.
The unemployed bees also play an active role in the food hunt. One type
of unemployed bee is the scout, which explores the environment near the
nest in search of food. The other type of unemployed bee is the onlooker,
which waits in the nest to get information about the quality of food sources
from the employed bees and establish the better food sources. Communica-
tion among bees related to the quality of food sources takes place through
the famous “waggle dance” of honey bees. This exchange of information
among the three types of bees is the most vital occurrence in the formation
of collective knowledge.
● Genetic algorithms: The concept of genetic algorithms (GA) was proposed by
John Holland in the 1960s. Later, Holland along with his colleagues and stu-
dents developed the concepts of GA at the University of Michigan in the 1960s
and 1970s as well. A genetic algorithm is a metaheuristic that is inspired by
Charles Darwin’s theory of natural evolution. GA are a part of the larger class of
EA that emphasize on selecting the fittest individuals for reproduction in order
to produce offspring. The generated offspring inherit the characteristics of their
parents and is therefore expected to have better fitness if the parents do have
good fitness values. Such offspring, in turn, will have a better chance of sur-
vival. If this process continues to repeat multiple times, at some point in time, a
generation of the fittest individuals will be formed.
There are basically five main phases of GA (as illustrated in Figure 1.13): pop-
ulation initialization, fitness function calculation, parent selection, crossover,
and mutation. Initially, a random population of size “n” consisting of several
individual chromosomes is chosen. Next, the fitness value of each of the indi-
vidual chromosomes is calculated based on a fitness function. The fitness value
plays a vital role in the decision-making of the selection of chromosomes for
crossover.
In the crossover phase, every two individual chromosomes selected are repro-
duced using a standard crossover operator. This results in the generation of two
offspring from each pair of chromosomes. The new offspring generated are then
mutated to produce a better set of individual chromosomes in the newly gener-
ated population. These entire five phases of GA are repeated until a termination
condition is met. Each iteration of the GA is called a generation, and the entire
18 1 Fundamentals of Soft Computing
Crossover
Mutation
set of generations is called a run. The final output (result) is the generation of
the fittest individuals that have the greatest chance of survival.
● Differential evolution: Differential evolution (DE) is a common evolutionary
algorithm stimulated by Darwin’s theory of evolution and has been studied
widely to solve diverse areas of optimization applications since its inception
by Storn and Price in the 1990s. The various steps involved in DE include
population initialization, mutation, crossover, selection, and result generation
(illustrated in Figure 1.14). Prior to applying these basic steps, the parameters
of DE need to be defined, such as the population size, the selection method,
the crossover method, and the perturbation rate (the weight applied to random
differential).
There are various popular variants of DE, some of which are mentioned below:
● The standard differential evolution (DE)
● The self-adaptive control parameters differential evolution (JDE)
● The adaptive differential evolution with optional external archive (JADE)
● The composite differential evolution (CODE)
● The self-adaptive differential evolution (SADE)
The applications of DE are varied, including synthesis and optimization of
heat-integrated distillation system, optimization of an alkylation reaction, digital
Population Fitness
initialization evaluation Mutation
Result Crossover
(fittest solution) Selection
Cluster 1
Cluster 2
Machine learning
algorithm
Cluster 3
Cluster 4
Figure 1.15 Machine learning algorithm used for training data to form clusters.
20 1 Fundamentals of Soft Computing
Machine learning
algorithm
Figure 1.16 Machine learning algorithm used for classifying email as spam or
legitimate.
or not spam. Once the algorithm gets fully trained and shows high accuracy in
prediction, this algorithm is now all ready to be used for such similar predictions
for the future.
The contribution of ML right from solving day-to-day tasks to solving complex
real-life problems is tremendous. In fact, many home appliances, health care
monitoring systems, mobile apps, and internet services heavily rely on using
ML. Also, popular virtual personal assistants such as Alexa, Siri, and Google Now
rely dominantly on the techniques of ML. These popular virtual assistants are a
perfect example of the usage of advanced ML, as it has a number of capabilities
that include voice interaction, playing audio, answering the door, dimming the
lights of a room, and reading the latest headlines. Again, traffic predictions using
GPS navigation services use ML techniques to provide live data to users regarding
traffic congestion while traveling. ML algorithms also help companies develop
chatboxes to solve user queries. It is expected that the contribution of ML in the
near future will continue exceeding, and researchers have to extensively depend
on such ML algorithms to build innovative tools and techniques.
There are mainly four types of ML – SL, unsupervised learning, semi-supervised
learning, and RL. Under the umbrella of SL are classification and regression,
which use a dataset having known inputs and outputs. Unsupervised learning, on
the other hand, uses a dataset to identify hidden patterns. Under the umbrella of
unsupervised learning falls clustering and association analysis. Semi-supervised
learning lies between SL and unsupervised learning and handles the drawbacks
of both these types of ML techniques.
Figure 1.17 illustrates the various types of ML used for different variety of data
and problems. All these types of ML have a special role to perform, which is
explained in brief next. Let us now try to understand these four types of ML in brief.
● Supervised learning (SL): Most of the ML techniques are based on SL, which
works on the basis of supervision. Basically, supervised learning techniques
train machines using “labeled” datasets. Such datasets have input variables
that are used by a mapping function to derive the output variable(s). This can
be mathematically expressed as P = f (Q), where Q is the input data, and P is the
1.4 Components of Soft Computing 21
Types of
machine learning
Classification Clustering
Regression Association
analysis
output. SL thus uses the input variables and the corresponding output having
“labeled” data to train machines by approximating the mapping function.
The training is carried out accurately to an extent such that when a new input
data (q1) is fed, a perfect prediction can be made to display the output variable
(P) for that data (q1).
To clear the idea of SL, let us consider a simple example. Let us assume that a
dataset that consists of images of three varying animals – say, dog, goat, and cat,
which are provided as input to the machine. The output variable, also called
the labeled variable, stores the values as either “dog,” “goat,” or “cat.” Now, a
SL model is trained with this labeled dataset that can differentiate among these
three animals and correctly predict the output. This learning model is illustrated
in Figure 1.18, in which the labeled data are trained, and the model is tested with
a test dataset (unlabeled data) to check the accuracy of the predicted output once
the training is completed. If the accuracy of prediction is very high, the model
can be set to be trained and ready for use for future predictions.
There are two main notable techniques of supervised ML – classification and
regression. Both these techniques have a similar goal of predicting the output
(dependent attribute) based on the series of input data provided. Classification
deals with prediction of discrete class label(s), whereas regression deals with
prediction of continuous quantity. Also, a classification problem is mainly eval-
uated using accuracy as the evaluation metric, whereas a regression problem is
usually evaluated using root mean square error (RSME).
(a) Classification: Classification is a type of supervised ML as it considers
“labeled” data to perform the task of prediction of output. The “labeled”
22 1 Fundamentals of Soft Computing
Prediction
Dog
Cat
Training Goat
Goat model
Dog
Cat
Dog
Goat
Dog Predicted output
Labeled data Test data
variables are termed as classifiers, which play a major role in training the
algorithm. It approximates a mapping function (f ) from input variables (Q)
to discrete output variables (P). For a given observation, the primary task of
classification is to predict the value of class. The technique of classification
is applied in many significant areas where new observations are needed to
be categorized, such as spam filtering, face detection, credit approval, fraud
detection, optical character recognition, market segmentation, and so on.
For a given observation, the primary task of classification is to predict the
value of class.
As shown in Figure 1.18, the problem given is of classification in which
the output to be obtained belongs to any of the three classes – cat, dog, or
goat. Another example of a problem of classification would be if the output
to be predicted is either Yes or No, such as “Diabetes” or “No Diabetes,” “Pro-
vide Loan” or “Do not Provide Loan,” “Spam Mail” or “Legitimate Mail,”
and so on.
Classification techniques are further classified under two models – the
lazy learners and the eager learners. In the case of lazy learning model, the
training time taken is comparatively less; however, the prediction time
is more compared to the eager learning model. Examples of lazy learners
include the k-Nearest Neighbor (kNN) classification model, and case-based
learning model. Eager learners construct the classification model from the
given training data even before receiving any test data. Examples of eager
learners include decision trees, Naïve Bayes, and ANNs.
(b) Regression: In regression, the main task is to approximate a mapping
function ( f ) from input variables (X) to a continuous output variable (Y ).
The continuous output variable (Y ) should denote a quantity and has to
be a real value, such as an integer or floating-point value. Given a new
set of input values, regression can make a prediction of the corresponding
quantitative output (y), based on the study of previous corresponding (x, y)
1.4 Components of Soft Computing 23
Standard regression
techniques
Cluster 1
Train
Generate
model
clusters
Cluster 2
Dataset
(without labels) Cluster 3
Predicted output
Actions
Reward
and RL is that SL makes a decision based on the initial input provided, whereas
RL makes a decision sequentially by considering the inputs generated at every
new phase of RL. The decisions made in RL at each level are independent of
each other, whereas the decisions made in SL rely on the decisions made at the
previous level.
This is called Bayes rule and is often used for updating a belief about a hypothesis
Q in the light of new evidence R.
Bayesian networks provide a natural representation of (casually induced)
conditional independence. It has replaced many rule-based systems by being less
rigorous and more robust. However, one major limitation of a Bayesian network
is that it typically requires initial knowledge of many probabilities. Another issue
is that the output is also largely dependent on the quality and extent of prior
knowledge.
● Chaos theory: Chaos theory is well-suited to be used for problems that are
highly sensitive to initial conditions. In such a case, a slight difference in ini-
tial conditions (for example, a change in initial value in the second place after
the decimal point) leads to highly diverging outcome. The chaotic behavior can
be experienced in our nature, such as changes in weather. Robert L. Devaney has
classified a dynamic system as chaotic based on the following three properties:
– It must be sensitive to initial conditions (the “butterfly effect”): The data points
in a chaotic system are arbitrarily in close approximation to each other with
significantly different future paths.
– It must be topologically mixing: The topological transitivity or topological mix-
ing relates to the evolution of the system over time such that any given region
may eventually overlap with another region.
– It must have dense periodic orbits: Every point in the space is approached arbi-
trarily closely by periodic orbits.
To sum up, chaos theory as defined by Kellert is “the qualitative study of
unstable aperiodic behavior in deterministic nonlinear systems” (Kellert 1993,
p. 2). As understood, a chaotic system is nonlinear and sensitive to initial
conditions. There is also no periodic behavior in such systems, and the motion
remains random. Considering these characteristics, a few applications based on
chaos theory include observation of weather patterns, stock market predictions,
algorithmic trading, bird migration patterns, observation of social phenomena,
robotics, and study of brain waves.
● Evidential reasoning: Evidential reasoning (ER) is a recent approach that
has been developed mainly on the basis of AI, decision theory, statistical
analysis, and computer technology. In decision theory, ER approach is a
generic evidence-based multi criteria decision analysis (MCDA) approach
and can deal with problems having uncertainties that include randomness
and ignorance. ER supports assessments, decision analysis, and evaluation
activities. For instance, ER contributes to the environmental impact assessment
for developing a proposal or a project related to the environment.
The ER approach constitutes the modeling framework of multi-criteria
decision-making (MCDM) problems using the following concepts:
Exercises 31
Exercises
Stuóla, as Stóla.
Stuoláre, as Stoláre.
Stuólo, a troope, a band, a squadron, a rout or company of men. Also a
knot or crew of good fellowes, a beauy of Ladies, a flocke of faire
women. Also a shoale of fishes, a flight of birdes, a swarme of Bees, &c.
Stuóra, as Stóia, a Mat.
Stuoráre, as Stoiáre, to mat.
Stuoráro, as Stoiáro.
Stupefáre, fáccio, féci, fátto, to astonish or dismay, to become abashed, to
driue into a dumpe, to be past all sence, to wonder and gaze at with
admiration. Also to be amazed or astonished. Also to stupifie.
Stupefattióne, stupefaction, amazement, astonishment, wonderment.
Stupefátto, astonished, dismaied, abashed, in a dump, past all sence, &c.
stupified. Looke Stupefáre.
Stupẻndo, admirable, wonderous, maruellous, working admiration.
Stupidézza, as Stupidità.
Stupidíre, dísco, díto, as Stupefáre.
Stupidità, stupidity, dulnesse, vnsensiblenesse, suddaine priuation of
sences, amazement, wonderment, astonishment, a benumming of the
minde.
Stúpido, stupide, sencelesse, blockish, dull and benummed in sences. Also
fearefull, abashed, amazed, astonished, dismaied, foolish.
Stupíre, písco, píto, to wonder at with admiration.
Stupíto, wondered at with admiration.
Stuporatióne, as Stupidità.
Stupóre, wonderment, amazement, suddaine lacke of sence or feeling.
Stuporóso, full of wonderment.
Stupráre, to rape, to rauish or deflower a virgin. Also to commit rape or
adulterie.
Stupratióne, a rauishing.
Stupratóre, a rauisher or deflowrer of women. Also an adulterer.
Stúpro, rape, rauishment, deflowring of women, adultery, whoredome.
Stupróso, adulterous, full of or giuen to whoredome, adultery or
rauishment.
Sturáre, to vnstop, to open, to vent.
Sturbaménto, a disturbance, a troubling.
Sturbáre, to disturbe, to trouble, to molest.
Sturbatióne, as Sturbaménto.
Stúrbo, trouble, disturbance, vexation.
Sturióne, the fish called Sturgion.
Sturmẻnto. Vsed for Stromẻnto.
Stúrno, as Stórno.
Suantaggiáre, to disuantage.
Suantággio, disaduantage, oddes.
Suantaggióso, disuantageous.
Suaporaménto, a breathing forth.
Suaporáre, to euaporate or breath forth.
Suariánza, variation, diuersity.
Suariáre, to vary, as Zauariáre.
Suariataménte, variously.
Suariáto, varied. Also motly coloured.
Suário, of or belonging to swine.
Suarióne, a varier, as Rauarióne.
Suáro, a fish called in Latin Lacertus.
Suasíbile, that may be perswaded.
Suasióne, perswasion, exhortation.
Suáso, perswaded or induced vnto with faire words. Also a kinde of
whitish pale colour that painters vse, some take it for a kind of sad gray.
Suasóre, a perswader with faire words.
Suasório, of or belonging to perswasion.
Suasório, perswasiue, alluring vnto.
Suáue, as Soáue, sweet, pleasant.
Suauità, sweetnesse, as Soauità.
Suázzo, a fish called a Turbut.
Suò. Vsed of Dante for Sótto, vnder, and much vsed in composed words.
Subagiráre, to wind vnder.
Subagitatióne, an vnder agitation or solliciting.
Subaltẻrnare, to succeed in order or by turne.
Subaltẻrnatióne, a succeeding in due order or by turne, subalternation.
Subaltẻrno, subalternall, succeeding in due order and by turne.
Subáre, to grunt as the sow doth for the boare to haue him doe his kind.
Subatióne, the appetite or stirring to generation in swine, the grunting of
the sow for the boare.
Subáto, as Subatióne.
Subátto, subdued or forced.
Subattríce, a lustfull sow or woman.
Subbarcáre, to bow vnder as a bow, to vnder arch, to vnder vault.
Subbẻntráre, to enter or come in vnder.
Súbbia, a Shooemakers awle.
Subbiáre, to pricke with an awle. Also to whistle.
Súbbio, a whistle. Also a Weauers yarne-beame. Also axle-tree.
Subbioláre, to rowle vpon a yarne-beame.
Súbbiolo, a little whistle. Also a little yarne-beame.
Subbísso, as it were Sottoabísso, a bottomlesse pit or gulfe, a dungeon of
hell.
Subbolíre, as Sobbolíre.
Subcelẻste, of vnder heauen.
Supẻrchiatóre, as Sopẻrchiatóre.
Supẻrchiatúra, as Sopẻrchiatúra.
Supẻrchio, as Sopẻrchio.
Supẻrchióso, as Sopẻrchióso.
Supẻrcíglio, the vpper eye-lid of a mans eye, the eye-browes, or ridge of
haires aboue the eye-lids. Also the knop, the brow, the top, the ridge, or
highest part of any great hill, rocke, or crag. Also the seueritie, grauitie,
pride, stately looke, or countenance of a man. Also the hanse of a dore,
or mantle of a chimnie, &c.
Supẻrciglióso, that hath big eye-lids, or eye-browes. Also high-looking,
sur-ie, or grim in countenance, disdainefull, or haughtie-minded.
Supẻreminẻnte, supereminent, being, appearing, or aloft aboue others.
Supẻreminẻnza, a prerogatiue, or excellencie aboue others.
Supẻressentiále, superessentiall.
Supẻressentialità, superessentialitie.
Superéuole, as Superábile.
Supẻrficiále, superficiall, not very deepe.
Supẻrficiáre, to peruse over superficially.
Supẻrficiáro, a superficiall man, one that hath no deepe skill. Also of or
belonging to the out-side of a thing. Also he that buildeth a house on
another mans ground, and therefore payeth quitrent.
Supẻrfície, the surface, the superficies or outside of any thing.
Supẻrfluaménte, with superfluitie.
Supẻrfluáre, to ouerflow, to run ouer, to abound, to exceed, to bee
superfluous.
Supẻrfluíre, ísco, íto, as Supẻrfluáre.
Supẻrfluità, superfluitie, more then needes, profusenesse, ouerplus.
Supẻrfluo, superfluous, ouer-much, enough, and much to spare, profuse,
that runneth ouer.
Supẻrfúgio, a flying away.
Supẻrfusióne, as Embrocatióne.
Supẻrfúso, powred vpon, ouerflowed.
Súperi, as Superióri.
Supẻrimpendẻnte, hanging ouer.
Supẻrinfóndere, to infuse from aboue.
Supẻrinfúso, infused from aboue.
Superióre, superior, vppermost, former, senior, higher, chiefer, elder, in
better place.
Superióri, superiors, seniors, elders, ancestors, predecessors. Also Gods,
Angels, Saints, or they that are in Heauen.
Superiorità, superioritie, preheminence, senioritie, abouenesse, eldership.
Supẻrlatióne, the figure hiperbole, or excessiue amplifying. Also a surname
giuen to one by excellencie.
Supẻrlatiuaménte, superlatiuely, in the highest degree.
Suspẻttóso, as Sospẻttóso.
Suspicáre, as Sospẻttáre.
Suspicóso, as Sospẻttóso.
Suspírio, as Sospírio.
Suspirióso, sighfull, panting, purcie, short-winded.
Suspittióne, as Sospittióne.
Susseguẻnte, subsequent, next following or succeeding.
Susseguẻnteménte, succeedingly.
Susseguẻnza, a subsequence, a consequence.
Sussequẻnte, as Susseguẻnte.
Sussidiáli, as Sussidiárij.
Sussidiáre, to helpe, to aide, to relieue, to supply, to stand by to aide and
defend. Also to subsidie or taske with subsidies.
Sussidiárij soldáti, subsidiarie souldiers or such as serue for defence of
others, or that come or are sent to aide others. Also of or belonging to
subsidies or helpes.
Sussídio, subsidie, helpe, reliefe, supply, assistance. Also a refuge or
rescue. Also aide or succour at a pinch or need.
Sussiẻgo, as Sossiẻgo.
Sussistẻnte, subsisting.
Sussistẻnza, subsistence.
Sussístere, sísto, sistéi, sistúto, to subsist.
Sussoláre, of or belonging aboue the Sunne.
Sussuráre, to whisper, to mutter or murmure. Also to humme or buzze as
Bees. Also to charme or forespeake with whispring words. Also to make
a low, a soft or still noise as a gentle winde among trees, or a gentle-
gliding streame among pible-stones, or as birds chirping and chattring
among woods.
Sussuratióne, a priuie whispring, murmuring, humming or buzzing.
Sussuratóre, a priuie whisprer, murmurer, buzzer, hummer, charmer or
muttrer, a secret carie-tales, a priuie backbiter, &c.
Sussúrro, a priuie whispring, a soft murmure, a low humming or buzzing,
a soft still noise of a gentle winde, of a running streame, of chirping
birds.
Sussurróne, as Sussuratóre.
Sussurroneggiáre, as Sussuráre.
Sústa, the name of one of the chiefe cables in a ship.
Sustánte, vp-standing, standing vpright.
Sustántia, as Sostánza.
Sustantiále, as Sostantiále.
Sustantíuo, as Sostantiuo.
Sustáre, to binde vp the sailes of a Ship.
Susteniménto, as Sosteniménto.
Sustentácolo, that holdeth vp.
Sustentáre, as Sostenére.
Sustentaménto, as Sosteniménto.
Sustentatióne, as Sostentatióne.
Susterẻllo, ci restórono i dẻnti susterẻlli.
Sustituíre, as Sostituíre.
Sustituíto, as Sostituíto.
Sustitutióne, as Sostitutióne.
Sustitutíuo, that may be substituted.
Sustitúto, as Sostituíto.
Susuráre, as Sussuráre, &c.
Susúrno, as Olfattório.
Sutéla, subtletie, craftie working, wilie deceite, cauillation inuented with
purpose to deceiue a couenant.
Sutelóso, a craftie wrangler, a subtle cauiller, one full of cauillations.
Súto, as Státo, the Participle of Éssere, bin. Also sewed or seamed.
Sutóre, a Shoemaker, a Souter.
Sutório, souterlie, shoemaker-like.
Suttẻrfuggíre, as Sottẻrfuggíre.
Suttẻrfúgio, as Sottẻrfúgio.
Suttilità, as Sottilità.
Suttilizzáre, as Sottigliáre.
Sútto, dry, dried, wiped dry. Also suckt or drawen dry. Also barren.
Sutúra, a suture, a seame, a fastning or ioyning together. Also the twist or
line vnder a mans yard. Also a ioyning together of bones in the head,
like to a thing drawen together with long stitches: or that manner of
composition seene in the head, wherein the bones being indented one
within another, are like the teeth of a Sawe.
Sutúra rẻtta. Looke Sagittále.
Súuaro, as Súuero.
Suuerétto, a place full of Corke-trees.
Súuero, the tree or wood Corke.
Súui, for Iui sópra, thereupon.
Sù uía, on away, vp and away.
Suuotáre, to emptie.
T.
ebookbell.com