0% found this document useful (0 votes)
14 views

Soft Computing Paradigm

Soft computing is an approach to build systems that are tolerant to imprecision and uncertainty. It aims to solve problems where precise modeling is difficult. Soft computing uses techniques like fuzzy logic, neural networks, evolutionary computation and machine learning. Evolutionary computation techniques like genetic algorithms and swarm intelligence are inspired by biological evolution and can solve optimization problems. Genetic algorithms represent solutions as chromosomes and evolve them over generations using operations like selection, crossover and mutation.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Soft Computing Paradigm

Soft computing is an approach to build systems that are tolerant to imprecision and uncertainty. It aims to solve problems where precise modeling is difficult. Soft computing uses techniques like fuzzy logic, neural networks, evolutionary computation and machine learning. Evolutionary computation techniques like genetic algorithms and swarm intelligence are inspired by biological evolution and can solve optimization problems. Genetic algorithms represent solutions as chromosomes and evolve them over generations using operations like selection, crossover and mutation.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 46

Soft Computing Paradigm

What is Soft Computing?


 The idea behind soft computing is to model cognitive
behavior of human mind.

 Soft computing is foundation of conceptual intelligence


in machines.

 Unlike hard computing , Soft computing is tolerant of


imprecision, uncertainty, partial truth, and
approximation.
Hard Vs Soft Computing Paradigms
∙ Hard computing
− Based on the concept of precise modeling and analyzing
to yield accurate results.
− Works well for simple problems, but is bound by the
NP-Complete set.
∙ Soft computing
− Aims to surmount NP-complete problems.
− Uses inexact methods to give useful but inexact answers
to intractable problems.
− Represents a significant paradigm shift in the aims of
computing - a shift which reflects the human mind.
− Tolerant to imprecision, uncertainty, partial truth, and
approximation.
− Well suited for real world problems where ideal models
are not available.
Difference b /w Soft and Hard Computing
Soft Computing
Hard Computing

Conventional computing requires a Soft computing is tolerant of


precisely stated analytical model. imprecision.

Often requires a lot of computation time. Can solve some real world problems in
reasonably less time.

Not suited for real world problems for Suitable for real world problems.
which ideal model is not present.

It requires full truth Can work with partial truth

It is precise and accurate Imprecise.

High cost for solution Low cost for solution


Unique Features of Soft Computing
 Soft Computing is an approach for constructing
systems which are
− computationally intelligent,
− possess human like expertise in particular domain,
− can adapt to the changing environment and can learn
to do better
− can explain their decisions
Components of Soft Computing
∙ Components of soft computing include:
− Fuzzy Logic (FL)
− Evolutionary Computation (EC) - based on the
origin of the species
 Genetic Algorithm
 Swarm Intelligence
 Ant Colony Optimizations

− Neural Network (NN)


− Machine Learning (ML)
Evolutionary Computation

Genetic and Swarm Computing


Evolutionary Computation -EC
∙ General term for several computational
techniques inspired by biological evolution
∙ Mostly involve meta-heuristic optimization
algorithms such as:
− Evolutionary algorithms
 comprising genetic algorithms, evolutionary
programming, etc)
− Swarm intelligence
 comprising ant colony optimization and particle
swarm optimization)
Advantages of EC
 Conceptual Simplicity
 Broad Applicability
 Hybridization with Other Methods
 Parallelism
 Robust to Dynamic Changes
 Solves Problems that have no Solutions
Genetic Algorithms
 Genetic algorithms are inspired by Darwin's
theory of natural evolution.
 In the natural world, organisms that are poorly
suited for an environment die off, while those
well-suited, prosper.
 Genetic algorithms search the space of
individuals for good candidates.
 The chance of an individual's being selected is
proportional to the amount by which its fitness is
greater or less than its competitors' fitness.
Contd..
 Algorithm begins with a set of initial solutions (represented by
set of chromosomes) called population.
 A chromosome is a string of elements called genes.
 Solutions from one population are taken and are used to form a
new population by generating offsprings.
 New population is formed using old population and offspring
based on their fitness value.
 Promising candidates are kept and allowed to reproduce
 This is motivated by a hope, that the new population will be
better than the old one.
 Genetic algorithms are broadly applicable and have the
advantage that they require little knowledge encoded in the
system.
Outline of the Basic Genetic Algorithm
 [Start] Generate random population of n chromosomes
(suitable solutions for the problem).
 [Fitness] Evaluate the fitness f(x) of each chromosome x in
the population.
 Repeat until terminating condition is satisfied
− [Selection] Select two parent chromosomes from a population
according to their fitness (the better fitness, the bigger chance to
be selected).
− [Crossover] Crossover the parents to form new offsprings
(children). If no crossover was performed, offspring is the exact
copy of parents.
− [Mutation] Mutate new offspring at selected position(s) in
chromosome).
− [Accepting] Generate new population by placing new offsprings.
 Return the best solution in current population
Issues involved
 How to create chromosomes and what
type of encoding to choose?
 How to perform Crossover and
Mutation, the two basic operators of
GA?
 How to select parents for crossover?
Termination of Loop

•Reaching some (known/hoped for) fitness.


•Reaching some maximum allowed number
of generations.
•Reaching some minimum level of
diversity.
•Reaching some specified number of
generations without fitness improvement.
Advantages and Disadvantages of GA
 Applicable when little knowledge is encoded in
the system.
 Effective way of finding a reasonable solution to a
complex problem quickly.
 NP-complete problems can be solved in efficient
way.
 Parallelism and easy implementation is an
advantage.
 However, they give very poor performance on
some problems as might be expected from
knowledge-poor approaches.
Criteria for GA Approaches
 Completeness: Any solution should have its
encoding
 Non redundancy: Codes and solutions should

correspond one to one


 Soundness: Any code (produced by genetic
operators) should have its corresponding solution
 Characteristic perseverance: Offspring should
inherit useful characteristics from parents.
Contd…

 The following questions need to be answered:


 How to create chromosomes and what type of encoding to choose?
 How to perform Crossover and Mutation, the two basic operators of
GA?
 How to select parents for crossover?
 Representation of GA : Binary strings
 Recombination operator : N-point or uniform
 Mutation operator :Bitwise bit-flipping with fixed
probability
 Parent selection: Fitness-Proportionate
 Survivor selection: All children replace parents
 Emphasis on crossover
 Speciality:
Evaluation (Fitness) Function
 Represents the requirements that the population
should adapt to
◦ quality function or objective function
 The fitness is calculated by first decoding the
chromosome and then the evaluating the objective
function.
 Fitness function is and indicator of how close the
chromosome is to the optimal solution
 Typically we talk about fitness being maximised
◦ Some problems may be best posed as minimisation
problems, but conversion is trivial
Parent Selection Mechanism
 Depending on their finesses -Assigns variable probabilities of
individuals acting as parents
 Usually probabilistic
◦ high quality solutions more likely to become parents than low
quality
◦ but not guaranteed
◦ even the worst in current population usually has non-zero
probability of becoming a parent
 This stochastic nature can aid escape from local optima
Survivor Selection-Replacement
 Most EAs use fixed population size so need a way of
going from (parents + offspring) to next generation
 Often deterministic

◦ Fitness based : e.g., rank parents + offspring and take best


◦ Age based: make as many offspring as parents and delete all
parents
 Sometimes do combination of above two
Encoding of a Chromosome
 A chromosome should contain information about
solution that it represents.
 The commonly used way of encoding is a binary
string.
Chromosome 1: 1101100100110110
Chromosome 2: 1101111000011110
 Each bit in the string represents some
characteristics of the solution.
 There are many other ways of encoding. The
encoding depends mainly on the problem.
Crossover
 Crossover operates on selected genes
from parent chromosomes and creates
new offspring.
 The simplest way is to choose some
crossover point randomly
• copy everything before this point from the first
parent and then copy everything after the
crossover point from the other parent.
Contd…
 Example: ( | is the crossover point):
Chromosome 1 11011 | 00100110110
Chromosome 2 11011 | 11000011110
Offspring 1 11011 | 11000011110
Offspring 2 11011 | 00100110110
 There are other ways to make crossover, for
example we can choose more crossover points.
 Crossover can be quite complicated and depends
mainly on the encoding of chromosomes.
 Specific crossover made for a specific problem can
improve performance of the genetic algorithm.
Mutation
 Mutation operation randomly changes the offspring resulted
from crossover.
 Mutation is intended to prevent falling of all solutions in the
population into a local optimum of the problem.
 In case of binary encoding we can switch a few randomly
chosen bits from 1 to 0 or from 0 to 1.
 Mutation can be then illustrated as follows:
Original offspring 1 1101111000011110
Original offspring 2 1101100100110110
Mutated offspring 1 1100111000011110
Mutated offspring 2 1101101100110100
 The technique of mutation (as well as crossover) depends
mainly on the encoding of chromosomes.
Crossover and Mutation Schemes

 As already mentioned, crossover and


mutation are two basic operations of GA.
 Performance of GA depends on the encoding
and also on the problem.
 There are several encoding schemes to
perform crossover and mutation.
Binary Encoding Schemes
Binary Encoding
1. Crossover
 Single point crossover:
• one crossover point is selected,
• binary string from the beginning of the chromosome to the
crossover point is copied from the first parent,
• the rest is copied from the other parent

11001011+11011111 = 11001111
Contd…
 Two point crossover:
 two crossover points are selected,
 binary string from the beginning of the chromosome to the
first crossover point is copied from the first parent,
 the part from the first to the second crossover point is
copied from the other parent and
 the rest is copied from the first parent again

11001001 + 11011111 = 11011101


Contd…
 Arithmetic crossover: Arithmetic operation is
performed to make a new offspring
11001011 + 11011111 = 11001001 (AND)

 Uniform crossover: bits are randomly copied from the


first and second parent
11101010 + 11010101 = 11010011

2. Mutation
Bit inversion: selected bits are inverted
11010011 => 11110010
Permutation Encoding
1. Crossover : Single point crossover -
• one crossover point is selected,
• the genes are copied from the first parent till the crossover
point, then
• the other parent is scanned and if the gene is not yet copied
in the offspring, it is added
• Note: there are more ways to produce the rest after
crossover point
(1 2 3 4 5 6 7 8 9) + (4 5 3 6 8 9 7 2 1) =
(1 2 3 4 5 6 8 9 7)
2. Mutation: Order changing -
• two numbers are selected and exchanged
(1 2 3 4 5 6 8 9 7) => (1 8 3 4 5 6 2 9 7)
Value Encoding
1. Crossover
All crossovers methods from binary encoding can be used
2. Mutation
Adding (for real value encoding) - a small number is added to
(or subtracted from) selected values
(1.29 5.68 2.86 4.11 5.55) => (1.29 5.68 2.73 4.22 5.55)

Tree Encoding
1. Crossover
Tree crossover - one crossover point is selected in both parents,
and the parts below crossover points are exchanged to produce
new offspring
2. Mutation
Changing operator, number - selected nodes are changed
Advantages and Disadvantages of GA
 Applicable when little knowledge is encoded in
the system.
 Effective way of finding a reasonable solution to a
complex problem quickly.
 NP-complete problems can be solved in efficient
way.
 Parallelism and easy implementation is an
advantage.
 However, they give very poor performance on
some problems as might be expected from
knowledge-poor approaches.
Contd..
 There are NP-complete problems that can not be solved
algorithmically in efficient way.
 NP stands for nondeterministic polynomial and it means
that it is possible to guess the solution and then check it in
polynomial time.
 If we have some mechanism to guess a solution, then we
would be able to find a solution in some reasonable or
polynomial time .
 The characteristic for NP-problems is that algorithm is
usually O(2n) and it is not usable when n is large.
 For such problems, GA works well.
 But the disadvantage of GAs is in their computational
time.
 They can be slower than some other methods.
 Some of the problems are listed below
 Choosing encoding and fitness function can be difficult.
 GAs may have a tendency to converge towards local
optima or even arbitrary points rather than the global
optimum in many problems..
 GAs cannot effectively solve problems in which
the only fitness measure is right/wrong, as there is
no way to converge on the solution.
 In these cases, a random search may find a
solution as quickly as a GA.
GA Applications
 Control
 Design
 Scheduling
 Robotics
 Machine Learning
 Signal Processing
 Game Playing
 Combinatorial Optimization
More Specific Applications of GA

 TSP and sequence scheduling


 Finding shape of protein molecules
 Strategy planning
 Nonlinear dynamical systems - predicting,
data analysis
 Designing neural networks, both architecture
and weights
 Evolving LISP programs (genetic programming)
Genetic programming

 Genetic programming starts with randomly


created computer programs and evolves programs
progressively over a series of generations similar
to genetic algorithm.
 Furthermore, genetic programming is useful in
finding solutions where the variables are
constantly changing.
 A population of random trees representing
programs is constructed.
 The genetic operators (crossover, reproduction, etc.) are
performed on these trees.
 In order to create these individuals, two distinct sets are
defined:
 the terminal set T, and
 the function set F.
 The terminal set includes variables, as well as constants.
 All the functions and terminals must be compatible (i.e.
can pass information between each other).
 Random tree is generated until all the branches end in
terminals.
 To generate a population of programs, just generate as
many trees as needed.
The steps required in GP

 Initially generate a population of random compositions of


the functions and terminals of the problem (computer
programs).
 Execute each program in the population and assign it a
fitness value according to how well it solves the problem.
 Create a new population of computer programs.
 Copy the best existing programs.
 Create new computer programs by mutation.
 Create new computer programs by crossover.
 The best computer program that appeared in any
generation is designated as the result of genetic
programming.
Coding Scheme

 In tree encoding every chromosome is a tree of


some objects, such as functions or commands in
programming language.
 LISP programming language is often used for this,
as programs in LISP are represented in this form
of list and can be easily parsed as a tree.
 The crossover and mutation operations can be
done easily.
Chromosome
x + (10 – y)  (plus x (minus 10 y))

plus

x minus

10 y
Fitness Function
 The most difficult and important concept of GP is
the fitness function.
 The fitness function determines how well a
program is able to solve the problem.
 It varies greatly from one type of program to the
next.
 For example, if one were to create a genetic
program to set the time of a clock, the fitness
function would simply be the amount of time that
the clock is wrong.
Crossover Operation on two parents

Chromosome A Chromosome B
x + (10 – y)  (plus x (minus 10 y)) (x + 5) * y  (mult (plus x 5) y)

plus mult

x minus plus y

10 y x 5
Offspring 1 Offspring 2
x + (y + 5)  (plus x (plus y 5)) (10 – y) * x  (mult (minus 10 y) x)

plus mult

x plus minus x

y 5 10 y
Crossover Operation with identical parents

Chromosome A Chromosome B
x * y + (4 – y)  (plus (mult x y) (minus 4 y)) x * y + (4 – y)  (plus (mult x y)
(minus 4 y))
plus
plus
mult minus
mult minus

x y 4 y
x y 4 y
Offspring 1 Offspring 2
x *y + x * y  (plus (mult x y) (mult x y))) (4 – y) + (4 – y)  (plus (minus 4 y)
(minus 4 y))
plus
plus
mult mult
Advantages of genetic programming over geneticminus algorithm is
minus
that
x
identical parents
y x
can yield
y
different offsprings, while in
genetic algorithms identical parents would
4 yield identical
y 4 y
offspring.
Mutation
Chromosome
x * y + (4 – y)  (plus (mult x y) (minus 4 y))

plus

mult minus

x y 4 y
Mutated chromosome with variable ‘y’ replaced by variable ‘x’
x * y + (4 – x)  (plus (mult x y) (minus 4 x))

plus

mult minus

x y 4 x
Mutated chromosome with function ‘mult’ replaced by function ‘plus’
x * y + (4 – y)  (plus (mult x y) (minus 4 y))

plus

plus minus

x y 4 x

You might also like