Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
697 views114 pages

274 - Soft Computing LECTURE NOTES

1) Genetic algorithms are adaptive heuristic search algorithms inspired by Darwin's theory of evolution and natural selection. They represent an intelligent exploitation of random search to solve optimization problems. 2) Optimization problems involve finding the best solution to a problem by minimizing or maximizing an objective function subject to constraints. Genetic algorithms are well-suited for large, complex search spaces. 3) Non-linear optimization methods include classical, enumerative, and stochastic techniques. Genetic algorithms fall under stochastic methods and emulate biological evolution to guide the search toward better solutions.

Uploaded by

pooja shivale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
697 views114 pages

274 - Soft Computing LECTURE NOTES

1) Genetic algorithms are adaptive heuristic search algorithms inspired by Darwin's theory of evolution and natural selection. They represent an intelligent exploitation of random search to solve optimization problems. 2) Optimization problems involve finding the best solution to a problem by minimizing or maximizing an objective function subject to constraints. Genetic algorithms are well-suited for large, complex search spaces. 3) Non-linear optimization methods include classical, enumerative, and stochastic techniques. Genetic algorithms fall under stochastic methods and emulate biological evolution to guide the search toward better solutions.

Uploaded by

pooja shivale
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 114

Genetic Algorithms & Modeling

What are GAs ?

• Genetic Algorithms (GAs) are adaptive heuristic search algorithm based on


the evolutionary ideas of natural selection and genetics.

• Genetic algorithms (GAs) are a part of Evolutionary computing, a rapidly


growing area of artificial intelligence. GAs are inspired by Darwin's theory
about evolution - "survival of the fittest".

• GAs represent an intelligent exploitation of a random search used to solve


optimization problems.

• GAs, although randomized, exploit historical information to direct the


search into the region of better performance within the search space.

• In nature, competition among individuals for scanty resources results in


the fittest individuals dominating over the weaker ones.

03

386
SC – GA - Introduction

• Introduction

Solving problems mean looking for solutions, which is best among others.

Finding the solution to a problem is often thought :

− In computer science and AI, as a process of search through the space of


possible solutions. The set of possible solutions defines the search space
(also called state space) for a given problem. Solutions or partial solutions
are viewed as points in the search space.

− In engineering and mathematics, as a process of optimization. The problems


are first formulated as mathematical models expressed in terms of functions
and then to find a solution, discover the parameters that optimize the model
or the function components that provide optimal system performance.

• Why Genetic Algorithms ?

It is better than conventional AI ; It is more robust.

j unlike older AI systems, the GA's do not break easily even if the

inputs changed slightly, or in the presence of reasonable noise.

• while performing search in large state-space, multi-modal state-space,


or n-dimensional surface, a genetic algorithms offer significant benefits
over many other typical search optimization techniques like - linear
programming, heuristic, depth-first, breath-first.

"Genetic Algorithms are good at taking large, potentially huge search


spaces and navigating them, looking for optimal combinations of things,
the solutions one might not otherwise find in a lifetime.” Salvatore
Mangano Computer Design, May 1995.

387
1.1 Optimization

Optimization is a process that finds a best, or optimal, solution for a


problem. The Optimization problems are centered around three factors :

• An objective function : which is to be minimized or maximized;


Examples:

In manufacturing, we want to maximize the profit or minimize the


cost .

In designing an automobile panel, we want to maximize the


strength.

• A set of unknowns or variables : that affect the objective function,


Examples:

In manufacturing, the variables are amount of resources used or


the time spent.

In panel design problem, the variables are shape and dimensions


of the panel.

• A set of constraints : that allow the unknowns to take on certain values


but exclude others;
Examples:

1. In manufacturing, one constrain is, that all "time" variables to be


non-negative.

• In the panel design, we want to limit the weight and put constrain
on its shape.

An optimization problem is defined as : Finding values of the variables


that minimize or maximize the objective function while satisfying the
constraints.

388
• Optimization Methods

Many optimization methods exist and categorized as shown below. The


suitability of a method depends on one or more problem characteristics to
be optimized to meet one or more objectives like :

− low cost,

− high performance,
− low loss

These characteristics are not necessarily obtainable, and requires


knowledge about the problem.

Optimization

Methods

Linear Non-Linear

Programming Programming

Classical Enumerative Stochastic

Methods Methods Methods

Fig. Optimization Methods

Each of these methods are briefly discussed indicating the nature of the
problem they are more applicable.

389
■ Linear Programming

Intends to obtain the optimal solution to problems that are

perfectly represented by a set of linear equations; thus require

a priori knowledge of the problem. Here the

− the functions to be minimized or maximized, is called objective


functions,

− the set of linear equations are called restrictions.

− the optimal solution, is the one that minimizes (or maximizes) the
objective function.

Example : “Traveling salesman”, seeking a minimal traveling distance.

■ Non- Linear Programming

Intended for problems described by non-linear equations.


The methods are divided in three large groups:

Classical, Enumerative and Stochastic.

Classical search uses deterministic approach to find best solution. These


methods requires knowledge of gradients or higher order derivatives. In
many practical problems, some desired information

are not available, means deterministic algorithms are inappropriate.

The techniques are subdivide into:

− Direct methods, e.g. Newton or Fibonacci −


Indirect methods.

390
Enumerative search goes through every point (one point at a time )
related to the function's domain space. At each point, all possible
solutions are generated and tested to find optimum solution. It is easy to
implement but usually require significant computation. In the field of
artificial intelligence, the enumerative methods are subdivided into two
categories:

− Uninformed methods, e.g. Mini-Max algorithm


− Informed methods, e.g. Alpha-Beta and A* ,

Stochastic search deliberately introduces randomness into the search


process. The injected randomness may provide the necessary impetus to
move away from a local solution when searching for a global optimum.
e.g., a gradient vector criterion for “smoothing” problems. Stochastic
methods offer robustness quality to optimization process. Among the
stochastic techniques, the most widely used are :

− Evolutionary Strategies (ES),


− Genetic Algorithms (GA), and
− Simulated Annealing (SA).

The ES and GA emulate nature’s evolutionary behavior, while SA is


based on the physical process of annealing a material.

09

391
SC – GA - Introduction

1.2 Search Optimization

Among the three Non-Linear search methodologies, just mentioned

in the previous slide, our immediate concern is Stochastic search

which means

− Evolutionary Strategies (ES), −

Genetic Algorithms (GA), and −

Simulated Annealing (SA).

The two other search methodologies, shown below, the Classical and the
Enumerative methods, are first briefly explained. Later the Stochastic
methods are discussed in detail. All these methods belong to Non-Linear
search.

Search

Optimization

Classical Stochastic Search Enumerative

Search (Guided Random Search) Search

392
Evolutionary Genetic Simulated

Strategies Algorithms Annealing

(ES) (GA) (ES)

Fig Non- Linear search methods

10

393
SC – GA - Introduction

- Classical or Calculus based search

Uses deterministic approach to find best solutions of an optimization


problem.

− the solutions satisfy a set of necessary and sufficient conditions of the


optimization problem.

− the techniques are subdivide into direct and indirect methods.

Direct or Numerical methods :

− example : Newton or Fibonacci,

− tries to find extremes by "hopping" around the search space


and assessing the gradient of the new point, which guides the
search.

− applies the concept of "hill climbing", and finds the best

local point by climbing the steepest permissible gradient.

− used only on a restricted set of "well behaved" functions.

• Indirect methods :

− does search for local extremes by solving usually non-linear


set of equations resulting from setting the gradient of the
objective function to zero.

− does search for possible solutions (function peaks), starts by


restricting itself to points with zero slope in all directions.

394
11

395
SC – GA - Introduction

■ Enumerative Search

Here the search goes through every point (one point at a time) related to
the function's domain space.

− At each point, all possible solutions are generated and tested to find
optimum solution.

− It is easy to implement but usually require significant computation.


Thus these techniques are not suitable for applications with large
domain spaces.

In the field of artificial intelligence, the enumerative methods are


subdivided into two categories : Uninformed and Informed methods.

• Uninformed or blind methods :

− example: Mini-Max algorithm,

− search all points in the space in a predefined order,

− used in game playing.

• Informed methods :

− example: Alpha-Beta and A* ,

− does more sophisticated search

− uses domain specific knowledge in the form of a cost function


or heuristic to reduce cost for search.

396
Next slide shows, the taxonomy of enumerative search in AI domain.

12

397
SC – GA - Introduction

[Ref : previous slide Enumerative search]

The Enumerative search techniques follows, the traditional search and


control strategies, in the domain of Artificial Intelligence.

− the search methods explore the search space "intelligently"; means

evaluating possibilities without investigating every single possibility.

− there are many control structures for search; the depth-first search

and breadth-first search are two common search strategies.

− the taxonomy of search algorithms in AI domain is given below.

Enumerative Search

G (State, Operator, Cost)

No h(n) present User heuristics h(n)

Uninformed Search Informed Search

LIFO Stack FIFO Priority

Queue: g(n)

Depth-First Breadth-First Cost-First Generate Hill

Climbin
Search Search Search -and-test g

398
Impose fixed

Priority
depth limit

Queue: h(n)

Depth
Best first Problem Constraint Mean-end-
Limited satisfactio
search Reduction n analysis

Search

Priority Queue:

Gradually increase f(n)=h(n)+g(n

fixed depth limit

A*
Search AO* Search
Iterative

Deepening

DFS

Fig. Enumerative Search Algorithms in AI Domain

13

399
SC – GA - Introduction

• Stochastic Search

Here the search methods, include heuristics and an element of


randomness (non-determinism) in traversing the search space. Unlike

the previous two search methodologies

− the stochastic search algorithm moves from one point to another in

the search space in a non-deterministic manner, guided by heuristics.

− the stochastic search techniques are usually called Guided random


search techniques.

The stochastic search techniques are grouped into two major subclasses :

− Simulated annealing and

− Evolutionary algorithms.

Both these classes follow the principles of evolutionary processes.

• Simulated annealing (SAs)

− uses a thermodynamic evolution process to search minimum


energy states.

• Evolutionary algorithms (EAs)

− use natural selection principles.

400
− the search evolves throughout generations, improving the
features of potential solutions by means of biological inspired
operations.

− Genetic Algorithms (GAs) are a good example of this


technique.

The next slide shows, the taxonomy of evolutionary search algorithms. It


includes the other two search, the Enumerative search and Calculus based
techniques, for better understanding of Non-Linear search methodologies
in its entirety.

14

401
SC – GA - Introduction

• Taxonomy of Search Optimization

Fig. below shows different types of Search Optimization algorithms.

Search

Optimization

Calculus Guided Random Search Enumerative

Based techniques Techniques

Techniques

Indirect
Direct
Uninformed Informed
method
method
Search Search

Newton Finonacci

Tabu Hill Simulated Evolutionary

Search Climbing Annealing Algorithms

Genetic Genetic

Programming Algorithms

402
Fig. Taxonomy of Search Optimization techniques

We are interested in Evolutionary search algorithms.

Our main concern is to understand the evolutionary algorithms :

- how to describe the process of search,

- how to implement and carry out search,

- what are the elements required to carry out search, and

- the different search strategies

The Evolutionary Algorithms include :

- Genetic Algorithms and

- Genetic Programming

15

403
SC – GA - Introduction

1.3 Evolutionary Algorithm (EAs)

Evolutionary Algorithm (EA) is a subset of Evolutionary Computation (EC)


which is a subfield of Artificial Intelligence (AI).

Evolutionary Computation (EC) is a general term for several computational


techniques. Evolutionary Computation represents powerful search and
optimization paradigm influenced by biological mechanisms of evolution : that
of natural selection and genetic.

Evolutionary Algorithms (EAs) refers to Evolutionary Computational

models using randomness and genetic inspired operations. EAs involve


selection, recombination, random variation and competition of the
individuals in a population of adequately represented potential solutions.
The candidate solutions are referred as chromosomes or individuals.

Genetic Algorithms (GAs) represent the main paradigm of Evolutionary


Computation.

• GAs simulate natural evolution, mimicking processes the nature uses :


Selection, Crosses over, Mutation and Accepting.

• GAs simulate the survival of the fittest among individuals over


consecutive generation for solving a problem.

Development History

EC = GP + ES + EP + GA

404
Evolutionary Genetic Evolution Evolutionary Genetic

Computing Programming Strategies Programming Algorithms

Rechenberg Koza Rechenberg Fogel Holland

1960 1992 1965 1962 1970

16

405
SC – GA - Introduction

1.4 Genetic Algorithms (GAs) - Basic Concepts

Genetic algorithms (GAs) are the main paradigm of evolutionary


computing. GAs are inspired by Darwin's theory about evolution – the
"survival of the fittest". In nature, competition among individuals for
scanty resources results in the fittest individuals dominating over the
weaker ones.

− GAs are the ways of solving problems by mimicking processes nature


uses; ie., Selection, Crosses over, Mutation and Accepting, to evolve a
solution to a problem.

− GAs are adaptive heuristic search based on the evolutionary ideas of


natural selection and genetics.

− GAs are intelligent exploitation of random search used in optimization


problems.

− GAs, although randomized, exploit historical information to direct the


search into the region of better performance within the search space.

The biological background (basic genetics), the scheme of evolutionary


processes, the working principles and the steps involved in GAs are
illustrated in next few slides.

17

406
SC – GA - Introduction

■ Biological Background – Basic Genetics

Every organism has a set of rules, describing how that organism is


built. All living organisms consist of cells.

In each cell there is same set of chromosomes. Chromosomes are


strings of DNA and serve as a model for the whole organism.

A chromosome consists of genes, blocks of DNA.

Each gene encodes a particular protein that represents a trait


(feature), e.g., color of eyes.

Possible settings for a trait (e.g. blue, brown) are called alleles.

Each gene has its own position in the chromosome called its locus.

Complete set of genetic material (all chromosomes) is called a


genome.

Particular set of genes in a genome is called genotype.

The physical expression of the genotype (the organism itself after


birth) is called the phenotype, its physical and mental characteristics,
such as eye color, intelligence etc.

When two organisms mate they share their genes; the resultant
offspring may end up having half the genes from one parent and half
from the other. This process is called recombination (cross over) .

The new created offspring can then be mutated. Mutation means, that
the elements of DNA are a bit changed. This changes are mainly
caused by errors in copying genes from parents.

407
The fitness of an organism is measured by success of the organism in
its life (survival).

18

408
SC – GA - Introduction

[ continued from previous slide - Biological background ]

Below shown, the general scheme of evolutionary process in genetic along


with pseudo-code.

Parents

Parents
Initialization

Recombination

Population

Mutation

Termination

Offspring

Survivor

Fig. General Scheme of Evolutionary process

Pseudo-Code

BEGIN

INITIALISE population with random candidate solution.

EVALUATE each candidate;

409
REPEAT UNTIL (termination condition ) is satisfied DO

■ SELECT parents;

■ RECOMBINE pairs of parents;

■ MUTATE the resulting offspring;

■ SELECT individuals or the next generation;

END.

19

410
SC – GA - Introduction

• Search Space

In solving problems, some solution will be the best among others. The
space of all feasible solutions (among which the desired solution

resides) is called search space (also called state space).

− Each point in the search space represents one possible solution.

− Each possible solution can be "marked" by its value (or fitness) for the
problem.

− The GA looks for the best solution among a number of possible


solutions represented by one point in the search space.

− Looking for a solution is then equal to looking for some extreme value
(minimum or maximum) in the search space.

− At times the search space may be well defined, but usually only a few
points in the search space are known.

In using GA, the process of finding solutions generates other points


(possible solutions) as evolution proceeds.

20

411
SC – GA - Introduction

- Working Principles

Before getting into GAs, it is necessary to explain few terms.

− Chromosome : a set of genes; a chromosome contains the solution in


form of genes.

− Gene : a part of chromosome; a gene contains a part of solution. It


determines the solution. e.g. 16743 is a chromosome and 1, 6, 7, 4
and 3 are its genes.

− Individual : same as chromosome.

− Population: number of individuals present with same length of


chromosome.

− Fitness : the value assigned to an individual based on how far or close a


individual is from the solution; greater the fitness value better the
solution it contains.

− Fitness function : a function that assigns fitness value to the individual.


It is problem specific.

− Breeding : taking two fit individuals and then intermingling there

chromosome to create new two individuals.

− Mutation : changing a random gene in an individual.

− Selection : selecting individuals for creating the next generation.

Working principles :

412
Genetic algorithm begins with a set of solutions (represented by
chromosomes) called the population.

− Solutions from one population are taken and used to form a new
population. This is motivated by the possibility that the new population
will be better than the old one.

− Solutions are selected according to their fitness to form new solutions


(offspring); more suitable they are, more chances they have to
reproduce.

− This is repeated until some condition (e.g. number of populations or


improvement of the best solution) is satisfied.

21

413
SC – GA - Introduction

■ Outline of the Basic Genetic Algorithm

[Start] Generate random population of n chromosomes (i.e. suitable


solutions for the problem).

[Fitness] Evaluate the fitness f(x) of each chromosome x in the


population.

[New population] Create a new population by repeating following steps


until the new population is complete.

[Selection] Select two parent chromosomes from a population


according to their fitness (better the fitness, bigger the chance to
be selected)

[Crossover] With a crossover probability, cross over the parents to


form new offspring (children). If no crossover was performed,
offspring is the exact copy of parents.

[Mutation] With a mutation probability, mutate new offspring at

each locus (position in chromosome).

(d) [Accepting] Place new offspring in the new population

• [Replace] Use new generated population for a further run of the


algorithm

• [Test] If the end condition is satisfied, stop, and return the best
solution in current population

• [Loop] Go to step 2

Note : The genetic algorithm's performance is largely influenced by two


operators called crossover and mutation. These two operators are the
most important parts of GA.

414
22

415
SC – GA - Introduction

■ Flow chart for Genetic Programming

Start

Seed Population

Generate N individuals Genesis

Scoring : assign fitness

to each individual

Natural Select two individuals

Selection (Parent 1 Parent 2)

No

Reproduction Use crossover operator

Recombination to produce off- springs Crossover

Scoring : assign fitness Crossover

to off- springs Finished?

Yes
Survival of Fittest

Apply replacement Yes No Natural Select one off-spring

operator to incorporate Selection

416
new individual into

population
Apply Mutation operator

Mutation to produce Mutated

No offspring

Terminate?

Mutation Scoring : assign

Finished? fitness to off- spring


Yes

Finish

Fig. Genetic Algorithm – program flow chart

23

417
SC – GA - Encoding

◊ Encoding

Before a genetic algorithm can be put to work on any problem, a method is


needed to encode potential solutions to that problem in a form so that a
computer can process.

− One common approach is to encode solutions as binary strings: sequences of


1's and 0's, where the digit at each position represents the value of some
aspect of the solution.

Example :

A Gene represents some data (eye color, hair color, sight, etc.).

a Gene looks like : (11100010)

a Chromosome looks like: Gene1 Gene2 Gene3 Gene4

(11000010, 00001110, 001111010, 10100011)

A chromosome should in some way contain information about solution


which it represents; it thus requires encoding. The most popular way of
encoding is a binary string like :

Chromosome 1 : 1101100100110110

Chromosome 2 : 1101111000011110

Each bit in the string represent some characteristics of the solution.

− There are many other ways of encoding, e.g., encoding values as integer or
real numbers or some permutations and so on.

418
− The virtue of these encoding method depends on the problem to work on .

24

419
SC – GA - Encoding

■ Binary Encoding

Binary encoding is the most common to represent information contained.


In genetic algorithms, it was first used because of its relative simplicity.

− In binary encoding, every chromosome is a string of bits : 0 or 1, like

Chromosome 1: 101100101100101011100101

Chromosome 2: 111111100000110000011111

− Binary encoding gives many possible chromosomes even with a small


number of alleles ie possible settings for a trait (features).

− This encoding is often not natural for many problems and sometimes
corrections must be made after crossover and/or mutation.

Example 1:

One variable function, say 0 to 15 numbers, numeric values,

represented by 4 bit binary string.

Numeric 4–bit Numeric 4–bit Numeric 4–bit

value string value string value string

0 0000 6 0110 12 1100

1 0001 7 0111 13 1101

420
2 0010 8 1000 14 1110

3 0011 9 1001 15 1111

4 0100 10 1010

5 0101 11 1011

25

421
SC – GA - Encoding

[ continued binary encoding ]

Example 2 :

Two variable function represented by 4 bit string for each variable.

Let two variables X1 , X2 as (1011 0110) .

Every variable will have both upper and lower limits as X iL ≤ Xi ≤ XiU
Because 4-bit string can represent integers from 0 to 15,

so (0000 0000) and (1111 1111) represent the points for X1 , X2 as

( X1
L
, X2L ) and ( X1
U
, X2
U
) respectively.

Thus, an n-bit string can represent integers from


n n
0 to 2 -1, i.e. 2 integers.

Binary Coding Equivalent integer


Decoded binary substring

Let Xi is coded as a substring


2 10 Remainder
1 0 1 0 Si of length ni. Then decoded
binary substring Si is as

2 5 0 0x2 0 =0 K=ni - 1

Σ2kSk
2 2 1
1 =2
1x2 k=0

where Si can be 0 or 1 and the


1 0
2 =0
0x2
string S is represented as

3
1x2 =8 Sn-1 . . . . S3 S2 S1 S0

10

Example : Decoding value

422
Consider a 4-bit string (0111),

− the decoded value is equal to

23 x 0 + 22 x 1 + 21 x 1 + 20 x 1 = 7

− Knowing X L and X U corresponding to (0000) and (1111) ,


i i

the equivalent value for any 4-bit string can be obtained as

U L
(Xi − Xi )
L
Xi =Xi + --------------- x (decoded value of string)

ni
(2 −1)

− For e.g. a variable Xi ; let XiL =2 , and XiU = 17, find what value the
4-bit string Xi = (1010) would represent. First get decoded value for

Si = 1010 = 23 x 1 + 22 x 0 + 21 x 1 + 20 x 0 = 10 then

(17 -2)

Xi = 2 + ----------- x 10 = 12

(24 - 1)

The accuracy obtained with a 4-bit code is 1/16 of search space.

By increasing the string length by 1-bit , accuracy increases to 1/32.

26

423
SC – GA - Encoding

- Value Encoding

The Value encoding can be used in problems where values such as real
numbers are used. Use of binary encoding for this type of problems would
be difficult.

In value encoding, every chromosome is a sequence of some values.

The Values can be anything connected to the problem, such as


: real numbers, characters or objects.

Examples :

Chromosome A 1.2324 5.3243 0.4556 2.3293 2.4545

Chromosome B ABDJEIFJDHDIERJFDLDFLFEGT

Chromosome C (back), (back), (right), (forward), (left)

- Value encoding is often necessary to develop some new types of


crossovers and mutations specific for the problem.

27

424
SC – GA - Encoding

- Permutation Encoding

Permutation encoding can be used in ordering problems, such as traveling


salesman problem or task ordering problem.

In permutation encoding, every chromosome is a string of numbers

that represent a position in a sequence.

Chromosome A 153264798

Chromosome B 856723149

ƒ Permutation encoding is useful for ordering problems. For some


problems, crossover and mutation corrections must be made to leave
the chromosome consistent.

Examples :

1. The Traveling Salesman problem:

There are cities and given distances between them. Traveling


salesman has to visit all of them, but he does not want to travel more
than necessary. Find a sequence of cities with a minimal traveled
distance. Here, encoded chromosomes describe the order of cities the
salesman visits.

2. The Eight Queens problem :

There are eight queens. Find a way to place them on a chess board so
that no two queens attack each other. Here, encoding describes the
position of a queen on each row.

425
28

426
SC – GA - Encoding

• Tree Encoding

Tree encoding is used mainly for evolving programs or


expressions. For genetic programming :

− In tree encoding, every chromosome is a tree of some objects, such as


functions or commands in programming language.

− Tree encoding is useful for evolving programs or any other structures


that can be encoded in trees.

− The crossover and mutation can be done relatively easy way .

Example :

Chromosome A Chromosome B

+
do untill

x /

step wall

5 y

(+x(/5y)) ( do until step wall )

Fig. Example of Chromosomes with tree encoding

427
Note : Tree encoding is good for evolving programs. The programming
language LISP is often used. Programs in LISP can be easily parsed as a
tree, so the crossover and mutation is relatively easy.

29

428
SC – GA - Operators

3. Operators of Genetic Algorithm

Genetic operators used in genetic algorithms maintain genetic diversity.

Genetic diversity or variation is a necessity for the process of evolution.

Genetic operators are analogous to those which occur in the natural world:

− Reproduction (or Selection) ;

− Crossover (or Recombination); and

− Mutation.

In addition to these operators, there are some parameters of GA.

One important parameter is Population size.

− Population size says how many chromosomes are in population (in one
generation).

− If there are only few chromosomes, then GA would have a few possibilities
to perform crossover and only a small part of search space is explored.

− If there are many chromosomes, then GA slows down.

− Research shows that after some limit, it is not useful to increase population
size, because it does not help in solving the problem faster. The population
size depends on the type of encoding and the problem.

429
30

430
SC – GA - Operators

3.1 Reproduction, or Selection

Reproduction is usually the first operator applied on population. From the


population, the chromosomes are selected to be parents to crossover and
produce offspring.

The problem is how to select these chromosomes ?

According to Darwin's evolution theory "survival of the fittest" – the best


ones should survive and create new offspring.

− The Reproduction operators are also called Selection operators.

− Selection means extract a subset of genes from an existing population,


according to any definition of quality. Every gene has a meaning, so
one can derive from the gene a kind of quality measurement called
fitness function. Following this quality (fitness value), selection can be
performed.

− Fitness function quantifies the optimality of a solution (chromosome) so


that a particular solution may be ranked against all the other solutions.
The function depicts the closeness of a given ‘solution’ to the desired
result.

Many reproduction operators exists and they all essentially do same thing.
They pick from current population the strings of above average and insert
their multiple copies in the mating pool in a probabilistic manner.

The most commonly used methods of selecting chromosomes for parents


to crossover are :

431
− Roulette wheel selection,
− Rank selection
− Boltzmann selection, −

Tournament selection,
− Steady state selection.

The Roulette wheel and Boltzmann selections methods are illustrated next.

31

432
SC – GA - Operators

• Example of Selection

Evolutionary Algorithms is
to maximize the function f(x) = x2 with x in
i.e., x = 0, 1, . . . 30, 31.
the integer interval [0 , 31],

• The first step is encoding of chromosomes; use binary representation


for integers; 5-bits are used to represent integers up to 31.

• Assume that the population size is 4.

• Generate initial population at random. They are chromosomes or


genotypes; e.g., 01101, 11000, 01000, 10011.

• Calculate fitness value for each individual.

• Decode the individual into an integer (called phenotypes),

01101 → 13; 11000 → 24; 01000 → 8; 10011 → 19;

− Evaluate the fitness according to f(x) = x2 ,

13 → 169; 24 → 576; 8 → 64; 19 → 361.

4. Select parents (two individuals) for crossover based on their fitness in


pi. Out of many methods for selecting the best chromosomes, if
th
roulette-wheel selection is used, then the probability of the i string
n

in the population is pi = F i / (Σ Fj), where


j=1

F i is fitness for the string i in the population, expressed as f(x)

pi is probability of the string i being selected,

433
4. is no of individuals in the population, is population size, n=4
n * pi is expected count

String No Initial X value Fitness Fi p i Expected count

Population f(x) = x2 N * Prob i

1 01101 13 169 0.14 0.58

2 11000 24 576 0.49 1.97

3 01000 8 64 0.06 0.22

4 10011 19 361 0.31 1.23

Sum 1170 1.00 4.00

Average 293 0.25 1.00

Max 576 0.49 1.97

The string no 2 has maximum chance of selection.

32

434
SC – GA - Operators

• Roulette wheel selection (Fitness-Proportionate Selection)

Roulette-wheel selection, also known as Fitness Proportionate Selection, is


a genetic operator, used for selecting potentially useful solutions for
recombination.

In fitness-proportionate selection :

− the chance of an individual's being selected is proportional to its

fitness, greater or less than its competitors' fitness.

− conceptually, this can be thought as a game of Roulette.


Fig. Roulette-wheel Shows
8

individual with fitness


1

5%
8 2

20% 9%

13%

8%

8%
17%

20%

435
− the fitness of the individuals is

The Roulette-wheel simulates 8 individuals


calculated as the wheel is spun
with fitness values Fi, marked at its
circumference; e.g., n=8 times, each time selecting

an instance, of the string, chosen


th
− the 5 individual has a higher by the wheel pointer.
fitness than others, so the wheel

th
would choose the 5 individual more
than other individuals .

n
Probability of i th string is pi = F i / (Σ F j ) , where

j=1

• = no of individuals, called population size; pi = probability of ith


th
string being selected; Fi = fitness for i string in the population.
Because the circumference of the wheel is marked according to

a string's fitness, the Roulette-wheel mechanism is expected to

F
make copies of the ith string.

Average fitness = F Fj/n ; Expected count = (n =8 ) x pi

N=5

Cumulative Probability5 = Σ pi

i=1

33

436
SC – GA - Operators

• Boltzmann Selection

Simulated annealing is a method used to minimize or maximize a function.

− This method simulates the process of slow cooling of molten metal to


achieve the minimum function value in a minimization problem.

− The cooling phenomena is simulated by controlling a temperature like


parameter introduced with the concept of Boltzmann probability
distribution.

− The system in thermal equilibrium at a temperature T has its energy


distribution based on the probability defined by

P(E) = exp ( - E / kT ) were k is Boltzmann constant.

− This expression suggests that a system at a higher temperature has

almost uniform probability at any energy state, but at lower


temperature it has a small probability of being at a higher energy state.

− Thus, by controlling the temperature T and assuming that the search


process follows Boltzmann probability distribution, the convergence of
the algorithm is controlled.

34

437
SC – GA - Operators

3.2 Crossover

Crossover is a genetic operator that combines (mates) two chromosomes


(parents) to produce a new chromosome (offspring). The idea behind
crossover is that the new chromosome may be better than both of the
parents if it takes the best characteristics from each of the parents.
Crossover occurs during evolution according to a user-definable crossover
probability. Crossover selects genes from parent chromosomes and
creates a new offspring.

The Crossover operators are of many types.

− one simple way is, One-Point crossover.

− the others are Two Point, Uniform, Arithmetic, and Heuristic crossovers.

The operators are selected based on the way chromosomes are encoded.

35

438
SC – GA - Operators

• One-Point Crossover

One-Point crossover operator randomly selects one crossover point and


then copy everything before this point from the first parent and then
everything after the crossover point copy from the second parent. The
Crossover would then look as shown below.

Consider the two parents selected for crossover.

Parent 1 11011|00100110110

Parent 2 11011|11000011110

Interchanging the parents chromosomes after the crossover points -

The Offspring produced are :

Offspring 1 1 1 0 1 1 | 1 1 0 0 0 0 1 1 1 1 0

Offspring 2 1 1 0 1 1 | 0 0 1 0 0 1 1 0 1 1 0

Note : The symbol, a vertical line, | is the chosen crossover point.

36

439
SC – GA - Operators

► Two-Point Crossover

Two-Point crossover operator randomly selects two crossover points within


a chromosome then interchanges the two parent chromosomes between
these points to produce two new offspring.

Consider the two parents selected for crossover :

Parent 1 11011|0010011|0110

Parent 2 11011|1100001|1110

Interchanging the parents chromosomes between the crossover points -

The Offspring produced are :

Offspring 1 1 1 0 1 1 | 0 0 1 0 0 1 1 | 0 1 1 0

Offspring 2 1 1 0 1 1 | 0 0 1 0 0 1 1 | 0 1 1 0

37

440
SC – GA - Operators

► Uniform Crossover

Uniform crossover operator decides (with some probability – know as the


mixing ratio) which parent will contribute how the gene values in the
offspring chromosomes. The crossover operator allows the parent
chromosomes to be mixed at the gene level rather than the segment level
(as with one and two point crossover).

Consider the two parents selected for crossover.

Parent 1 1 1 0 1 1 0 0 1 0 0 1 1 0 1 1 0

Parent 2 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0

If the mixing ratio is 0.5 approximately, then half of the genes in the
offspring will come from parent 1 and other half will come from parent 2.
The possible set of offspring after uniform crossover would be:

Offspring 1 11 12 02 11 11 12 12 02 01 01 02 11 12 11 11 02

Offspring 2 12 11 01 12 12 01 01 11 02 02 11 12 01 12 12 01

Note: The subscripts indicate which parent the gene came from.

38

441
SC – GA - Operators

• Arithmetic

Arithmetic crossover operator linearly combines two parent chromosome


vectors to produce two new offspring according to the equations:

Offspring1 = a * Parent1 + (1- a) * Parent2

Offspring2 = (1 – a) * Parent1 + a * Parent2

where a is a random weighting factor chosen before each crossover


operation.

Consider two parents (each of 4 float genes) selected for crossover:

Parent 1 (0.3) (1.4) (0.2) (7.4)

Parent 2 (0.5) (4.5) (0.1) (5.6)

Applying the above two equations and assuming the weighting factor a =
0.7, applying above equations, we get two resulting offspring. The possible

set of offspring after arithmetic crossover would be:

Offspring 1 (0.36) (2.33) (0.17) (6.87)

Offspring 2 (0.402) (2.981) (0.149) (5.842)

39

442
SC – GA - Operators

ii Heuristic

Heuristic crossover operator uses the fitness values of the two parent
chromosomes to determine the direction of the search.

The offspring are created according to the equations:

Offspring1 = BestParent + r * (BestParent − WorstParent)

Offspring2 = BestParent

where r is a random number between 0 and 1.

It is possible that offspring1 will not be feasible. It can happen if r is


chosen such that one or more of its genes fall outside of the allowable
upper or lower bounds. For this reason, heuristic crossover has a user
defined parameter n for the number of times to try and find an r that
results in a feasible chromosome. If a feasible chromosome is not
produced after n tries, the worst parent is returned as offspring1.

40

443
SC – GA - Operators

3.3 Mutation

After a crossover is performed, mutation takes place.

Mutation is a genetic operator used to maintain genetic diversity from one


generation of a population of chromosomes to the next.

Mutation occurs during evolution according to a user-definable mutation


probability, usually set to fairly low value, say 0.01 a good first choice.

Mutation alters one or more gene values in a chromosome from its initial
state. This can result in entirely new gene values being added to the gene
pool. With the new gene values, the genetic algorithm may be able to
arrive at better solution than was previously possible.

Mutation is an important part of the genetic search, helps to prevent the


population from stagnating at any local optima. Mutation is intended to
prevent the search falling into a local optimum of the state space.

The Mutation operators are of many type.

− one simple way is, Flip Bit.

− the others are Boundary, Non-Uniform, Uniform, and Gaussian.

The operators are selected based on the way chromosomes are encoded .

444
41

445
SC – GA - Operators

■ Flip Bit

The mutation operator simply inverts the value of the chosen gene. i.e. 0
goes to 1 and 1 goes to 0.

This mutation operator can only be used for binary genes.

Consider the two original off-springs selected for mutation.

Original offspring 1 1 1 0 1 1 1 10 0 0 0 1 1 1 1 0

Original offspring 2 1 1 0 1 1 0 01 0 0 1 1 0 1 1 0

Invert the value of the chosen gene as 0 to 1 and 1 to 0

The Mutated Off-spring produced are :

Mutated offspring 1 1 1 0 0 1 1 10 0 0 0 1 1 1 1 0

Mutated offspring 2 1 1 0 1 1 0 11 0 0 1 1 0 1 0 0

42

446
SC – GA - Operators

• Boundary

The mutation operator replaces the value of the chosen gene with either
the upper or lower bound for that gene (chosen randomly).

This mutation operator can only be used for integer and float genes.

• Non-Uniform

The mutation operator increases the probability such that the amount of
the mutation will be close to 0 as the generation number increases. This
mutation operator prevents the population from stagnating in the early
stages of the evolution then allows the genetic algorithm to fine tune the
solution in the later stages of evolution.

This mutation operator can only be used for integer and float genes.

• Uniform

The mutation operator replaces the value of the chosen gene with a
uniform random value selected between the user-specified upper and
lower bounds for that gene.

This mutation operator can only be used for integer and float genes.

• Gaussian

The mutation operator adds a unit Gaussian distributed random value to


the chosen gene. The new gene value is clipped if it falls outside of the
user-specified lower or upper bounds for that gene.

This mutation operator can only be used for integer and float genes.

■ Basic Genetic Algorithm :

447
Examples to demonstrate and explain : Random population, Fitness, Selection,
Crossover, Mutation, and Accepting.

Example 1 :

Maximize the function f(x) = x2 over the range of integers from 0 . . . 31.

Note : This function could be solved by a variety of traditional methods


such as a hill-climbing algorithm which uses the derivative. One way is to
:

− Start from any integer x in the domain of f

− Evaluate at this point x the derivative f’

− Observing that the derivative is +ve, pick a new x which is at a small


distance in the +ve direction from current x

− Repeat until x = 31

See, how a genetic algorithm would approach this problem ?

Genetic Algorithm approach to problem - Maximize the function f(x) = x2

1.
Devise a means to represent a solution to the problem :

Assume, we represent x with five-digit unsigned binary integers.

2.
Devise a heuristic for evaluating the fitness of any particular solution :

The function f(x) is simple, so it is easy to use the f(x) value itself to rate
the fitness of a solution; else we might have considered a more simpler
heuristic that would more or less serve the same purpose.

3.
Coding - Binary and the String length :

448
GAs often process binary representations of solutions. This works well,
because crossover and mutation can be clearly defined for binary solutions. A
Binary string of length 5 can represents 32 numbers (0 to 31).

4.
Randomly generate a set of solutions :

Here, considered a population of four solutions. However, larger populations


are used in real applications to explore a larger part of the search. Assume,
four randomly generated solutions as : 01101, 11000, 01000, 10011. These
are chromosomes or genotypes.

5.
Evaluate the fitness of each member of the population :

The calculated fitness values for each individual are -

(a) Decode the individual into an integer (called phenotypes),

11000
01101 → 13; → 24; 01000 → 8; 10011 → 19;

(b) Evaluate the fitness according to f(x) = x 2 ,

13 24
→ 169; → 576; 8 → 64; 19 → 361.

(c) Expected count = N * Prob i , where N is the number of

individuals in the population called population size, here N = 4.

Thus the evaluation of the initial population summarized in table below .

String No Initial X value Fitness Prob i Expected count

i Population (Pheno f(x) = x2 (fraction N * Prob i

(chromosome) types) of total)

1 01101 13 169 0.14 0.58

2 11000 24 576 0.49 1.97

3 01000 8 64 0.06 0.22

4 10011 19 361 0.31 1.23

Total (sum) 1170 1.00 4.00

Average 293 0.25 1.00

449
Max 576 0.49 1.97

Thus, the string no 2 has maximum chance of selection.

SC – GA - Examples

6.
Produce a new generation of solutions by picking from the existing pool
of solutions with a preference for solutions which are better suited than
others:

We divide the range into four bins, sized according to the relative fitness of
the solutions which they represent.

Strings Prob i Associated Bin

01101 0.14 0.0 . . . 0.14

11000 0.49 0.14 . . . 0.63

01000 0.06 0.63 . . . 0.69

10011 0.31 0.69 . . . 1.00

By generating 4 uniform (0, 1) random values and seeing which bin they fall
into we pick the four strings that will form the basis for the next generation.

Random No Falls into bin Chosen string

0.08 0.0 . . . 0.14 01101

0.24 0.14 . . . 0.63 11000

0.52 0.14 . . . 0.63 11000

0.87 0.69 . . . 1.00 10011

7.
Randomly pair the members of the new generation

Random number generator decides for us to mate the first two strings
together and the second two strings together.

8.
Within each pair swap parts of the members solutions to create
offspring which are a mixture of the parents :

450
For the first pair of strings: 01101 , 11000

− We randomly select the crossover point to be after the fourth digit.

Crossing these two strings at that point yields:

01101 ⇒ 0 1 1 0 |1 ⇒ 01100

11000 ⇒ 1 1 0 0 |0 ⇒ 11001

For the second pair of strings: 11000 , 10011

− We randomly select the crossover point to be after the second digit.

Crossing these two strings at that point yields:

11000 ⇒ 1 1 |0 0 0 ⇒ 11011

10011 ⇒ 1 0 |0 1 1 ⇒ 10000

9.
Randomly mutate a very small fraction of genes in the population :

With a typical mutation probability of per bit it happens that none of the bits
in our population are mutated.

10.
Go back and re-evaluate fitness of the population (new generation) :

This would be the first step in generating a new generation of solutions.


However it is also useful in showing the way that a single iteration of the
genetic algorithm has improved this sample.

String No Initial X value Fitness Prob i Expected count

Population (Pheno f(x) = x2 (fraction

(chromosome) types) of total)

1 01100 12 144 0.082 0.328

2 11001 25 625 0.356 1.424

3 11011 27 729 0.415 1.660

4 10000 16 256 0.145 0.580

451
Total (sum) 1754 1.000 4.000

Average 439 0.250 1.000

Max 729 0.415 1.660

Observe that :

1. Initial populations : At start step 5 were

01101,11000, 01000,10011

After one cycle, new populations, at step 10 to act as initial population

01100,11001, 1 1 0 11 , 10000

■ The total fitness has gone from 1170 to 1754 in a single generation.

■ The algorithm has already come up with the string 11011 (i.e x = 27) as
a possible solution.

■ Example 2 : Two bar pendulum

Two uniform bars are connected by pins at A and B and supported

at A. Let a
horizontal force P acts at C.

A Given : Force P = 2, Length of bars ℓ1 = 2 ,

y ℓ2 = 2, Bar weights W1= 2, W2 = 2 . angles = Xi

ℓ1
θ 1
Find : Equilibrium configuration of the system if

B fiction at all joints are neglected ?

W1
ℓ2
C
θ
2 P Solution : Since there are two unknowns θ 1 and

θ 2, we use 4 – bit binary for each unknown.

XU - XL 90 - 0

452
W2 Accuracy = ----------- = --------- = 60

24 - 1 15
Fig. Two bar pendulum

Hence, the binary coding and the corresponding angles Xi are given as

XiU - XiL
th
Xi = XiL + ----------- Si where Si is decoded Value of the i chromosome.

24 - 1

e.g. the 6th chromosome binary code (0 1 0 1) would have the corresponding

angle given by Si = 0 1 0 1 = 23 x 0 + 22 x 1 + 21 x 0 + 20 x 1 = 5

90 - 0

Xi = 0 + ----------- x 5 = 30

15

The binary coding and the angles are given in the table below.

S. No. Binary code Angle S. No. Binary code Angle

Si Xi Si Xi

1 0000 0 9 1000 48

2 0001 6 10 1001 54

3 0010 12 11 1010 60

4 0011 18 12 1011 66

5 0100 24 13 1100 72

6 0101 30 14 1101 78

7 0110 36 15 1110 84

8 0111 42 16 1111 90

Note : The total potential for two bar pendulum is written as

(c) = - P[(ℓ1 sinθ 1 + ℓ2 sinθ 2 )] - (W1 ℓ1 /2)cosθ 1 - W2 [(ℓ2 /2) cosθ 2 + ℓ1 cosθ 1]
(Eq.1)

Substituting the values for P, W1 , W2 , ℓ1 , ℓ2 all as 2 , we get ,

∏ (θ 1 , θ 2 = - 4 sinθ 1 - 6 cosθ - 4 sinθ - 2 cosθ


) 1 2 2 = function f (Eq. 2)

453
θ1,θ2
lies between 0 and 90 both inclusive ie 0 ≤ θ 1 , θ 2 ≤ 90 (Eq. 3)

Equilibrium configuration is the one which makes ∏ a minimum .

Since the objective function is –ve , instead of minimizing the function f let us
maximize -f = f ’ . The maximum value of f ’ = 8 when θ 1 and θ 2 are zero.

Hence the fitness function F is given by F=–f–7=f’–7 (Eq. 4)

48

454
First randomly generate 8 population with 8 bit strings as shown in table below.

Population Population of 8 bit strings Corresponding Angles F=–f–7

No. (Randomly generated) (from table above)

θ1 , θ2

1 0000 0000 0 0 1

2 0010 0000 12 6 2.1

3 0001 0000 6 30 3.11

4 0010 1000 12 48 4.01

5 0110 1010 36 60 4.66

6 1110 1000 84 48 1.91

7 1110 1101 84 78 1.93

8 0111 1100 42 72 4.55

These angles and the corresponding to fitness function are shown below.

F=1 F=2.1 F=3.11 F=3.11

θ 1=0 θ 1=12 θ 1=6 θ 1=12

θ 2=0 θ 2=6 θ 2=30 θ 2=48

F=4.6 F=1.91 F=1.93 F=4.55

θ 1=36 θ 1=84 θ 1=84 θ 1=42

θ 2=60 θ 2=48 θ 2=78 θ 2=72

Fig. Fitness function F for various population

The above Table and the Fig. illustrates that :

455
− GA begins with a population of random strings.

− Then, each string is evaluated to find the fitness value.


− The population is then operated by three operators –

− The new population is further evaluated tested for termination.

− If the termination criteria are not met, the population is iteratively operated by
the three operators and evaluated until the termination criteria are met.

− One cycle of these operation and the subsequent evaluation procedure is


known as a Generation in GA terminology.

49

456
Hybrid Systems

Integration of NN FL GA

What is Hybridization ?

• Hybrid systems employ more than one technology to solve a problem.

• Hybridization of technologies can have pitfalls and therefore need to be


done with care.

― If one technology can solve a problem then a hybrid technology

ought to be used only if its application results in a better solution.

• Hybrid systems have been classified as :

− Sequential hybrid system: the technologies are used in pipelining


fashion;

− Auxiliary hybrid system: the one technology calls the other technology
as subroutine;

− Embedded hybrid system : the technologies participating appear to be


fused totally.

• Hybridization of fuzzy logic, neural networks, genetic algorithms has led

to creation of a perspective scientific trend known as soft computing.

− Neural networks mimic our ability to adapt to circumstances and learn


from past experience,

457
− Fuzzy logic addresses the imprecision or vagueness in input and output,
− Genetic algorithms are inspired by biological evolution, can systemize

random search and reach to optimum characteristics.

• Each of these technologies have provided efficient solution to wide range


of problems belonging to different domains. However, each of these
technologies has advantages and disadvantages. It is therefore
appropriate that Hybridization of these three technologies are done so as
to over come the weakness of one with the strength of other.

ƒ Introduction :

Hybridization - Integration of NN , FL , and GA

Fuzzy logic, Neural networks and Genetic algorithms are soft computing
methods which are inspired by biological computational processes and nature's
problem solving strategies.

Neural Networks (NNs) are highly simplified model of human nervous system
which mimic our ability to adapt to circumstances and learn from past experience.
Neural Networks systems are represented by different architectures like single and
multilayer feed forward network. The networks offers back proposition
generalization, associative memory and adaptive resonance theory.

Fuzzy logic addresses the imprecision or vagueness in input and output


description of the system. The sets have no crisp boundaries and provide a
gradual transition among the members and non-members of the set elements.

Genetic algorithms are inspired by biological evolution, can systemize random


search and reach to optimum characteristics.

458
Each of these technologies have provided efficient solution to wide range of
problems belonging to different domains. However, each of these technologies
suffer from advantages and disadvantages.

It is therefore appropriate that Hybridization of these three technologies are


done so as to over come the weakness of one with the strength of other.

1.1 Hybrid Systems

Hybrid systems employ more than one technology to solve a problem.

Hybridization of technologies can have pitfalls and therefore need

to be done with care. If one technology can solve a problem then

a hybrid technology ought to be used only if its application results

in a better solution. Hybrid systems have been classified as

Sequential , Auxiliary and Embedded.

In Sequential hybrid system, the technologies are used in

pipelining fashion.

In Auxiliary hybrid system, one technology calls the other technology as


subroutine.

In Embedded hybrid system, the technologies participating appear to be


fused totally.

• Sequential Hybrid System

In Sequential hybrid system, the technologies are used in pipelining

459
fashion. Thus, one technology's output becomes another technology's
input and it goes on. However, this is one of the weakest form of
hybridization since an integrated combination of technologies is not
present.

Example: A Genetic algorithm preprocessor obtains the optimal


parameters for different instances of a problem and hands over the
preprocessed data to a neural network for further processing.

SC – Hybrid Systems - Introduction

• Auxiliary Hybrid System

In Auxiliary hybrid system, one technology calls the other technology as


subroutine to process or manipulate information needed. The second
technology processes the information provided by the first and hands it
over for further use. This type of hybridization is better than the
sequential hybrids.

Example : A neuron-genetic system in which a neural network employs a


genetic algorithm to optimize its structural parameters that defines its
architecture.

- Embedded Hybrid System

In Embedded hybrid system, the technologies participating are integrated


in such a manner that they appear intertwined. The fusion is so complete
that it would appear that no technology can be used without the others for
solving the problem.

Example : A NN-FL hybrid system may have an NN which receives fuzzy


inputs, processes it and extracts fuzzy outputs as well.

460
1.2 Neural Networks, Fuzzy Logic, and Genetic Algorithms Hybrids

Neural Networks, Fuzzy Logic, and Genetic Algorithms are three

distinct technologies.

Each of these technologies has advantages and disadvantages. It is

therefore appropriate that hybridization of these three technologies are

done so as to over come the weakness of one with the strength

of other.

■ Neuro-Fuzzy Hybrid

Neural Networks and Fuzzy logic represents two distinct methodologies to


deal with uncertainty. Each of these has its own merits and demerits.

Neural Networks :

− Merits : Neural Networks, can model complex nonlinear relationships


and are appropriately suited for classification phenomenon into
predetermined classes.

− Demerits : Neural Network's output, precision is often limited to least

squares errors; the training time required is quite large; the training
data has to be chosen over entire range where the variables are
expected to change.

Fuzzy logic :

461
− Merits : Fuzzy logic system, addresses the imprecision of inputs and
outputs defined by fuzzy sets and allow greater flexibility in formulating
detail system description.

Integration of NN and FL, called Neuro-Fuzzy systems, have the potential to

extend the capabilities of the systems beyond either of these two technologies
applied individually. The integrated systems have turned out to be useful in :

− accomplishing mathematical relationships among many variables in a


complex dynamic process,

− performing mapping with some degree of imprecision, and

− controlling nonlinear systems to an extent not possible with


conventional linear control systems.

There are two ways to do hybridization :

− One, is to provide NNs with fuzzy capabilities, there by increasing the


network's expressiveness and flexibility to adapt to uncertain
environments.

− Second, is to apply neuronal learning capabilities to fuzzy systems so


that the fuzzy systems become more adaptive to changing
environments. This method is called NN driven fuzzy reasoning.

- Neuro-Genetic Hybrids

The Neural Networks and Genetic Algorithms represents two distinct


methodologies.

462
Neural Networks : can learn various tasks from examples, classify
phenomena and model nonlinear relationships.

Genetic Algorithms : have offered themselves as potential candidates for the


optimization of parameters of NN.

Integration of GAs and NNs has turned out to be useful.

− Genetically evolved nets have reported comparable results against their


conventional counterparts.

− The gradient descent learning algorithms have reported difficulties in

leaning the topology of the networks whose weights they optimize.

− GA based algorithms have provided encouraging results especially with


regard to face recognition, animal control, and others.

− Genetic algorithms encode the parameters of NNs as a string of


properties of the network, i.e. chromosomes. A large population of
chromosomes representing many possible parameters sets, for the
given NN, is generated.

− GA-NN is also known as GANN have the ability to locate the


neighborhood of the optimal solution quicker than other conventional
search strategies.

− The drawbacks of GANN algorithms are : large amount of memory


required to handle and manipulate chromosomes for a given network;
the question is whether this problem scales as the size of the networks
become large.

463
Genetic Hybrids
Fuzzy
-

Fuzzy systems have been integrated with GAs.

The fuzzy systems like NNs (feed forward) are universal approximator in
the sense that they exhibit the capability to approximate general nonlinear
functions to any desired degree of accuracy.

464
The adjustments of system parameters called for in the process, so that
the system output matches the training data, have been tackled using
GAs. Several parameters which a fuzzy system is involved with like
input/output variables and the membership function that define the fuzzy
systems, have been optimized using GAs.

1.3 Typical Hybrid Systems

The Systems considered are listed below.

1. Genetic algorithm based back propagation


network (Neuro Genetic Hybrid)
2. Fuzzy back propagation network
(Neuro – Fuzzy Hybrid with Multilayer Feed forward Network as the
host architecture)

3. Simplified Fuzzy ARTMAP

(Neuro – Fuzzy Hybrid with Recurrent Network as the host architecture)

4. Fuzzy Associative Memory

( Neuro – Fuzzy Hybrid with single layer Feed forward architecture)

5. Fuzzy logic controlled Genetic


algorithm (Fuzzy – Genetic Hybrid)

• Genetic Algorithm (GA) based Back Propagation Network (BPN)

Neural networks (NNs) are the adaptive system that changes its structure based
on external or internal information that flows through the network. Neural network
solve problems by self-learning and self-organizing.

Back Propagation Network (BPN) is a method of training multi-layer neural


networks. Here learning occurs during this training phase.

465
The steps involved are:

− The pattern of activation arriving at the output layer is compared with the

correct output pattern to calculate an error signal.

− The error signal is then back-propagated from output to input for

adjusting the weights in each layer of the BPN.

− The Back-Propagation searches on the error surface using gradient descent

method to minimize error E = 1/2 Σ ( T j – O j )2 where T j is target output


and O j is the calculated output by the network.

Limitations of BPN :

− BPN can recognize patterns similar to those they have learnt, but do not
have the ability to recognize new patterns.

− BPN must be sufficiently trained to extract enough general features


applicable to both seen and unseen; over training to network may have
undesired effects.

Genetic Algorithms (GAs) are adaptive search and optimization algorithms, mimic
the principles of nature.

− GAs are different form traditional search and

− Optimization exhibit simplicity, ease of operation, minimal requirements, and


global perspective.

Hybridization of BPN and GAs

− The BPN determines its weight based on gradient search technique and

therefore it may encounter a local minima problem.

466
− GAs do not guarantee to find global optimum solution, but are good in
finding quickly good acceptable solution.

− Therefore, hybridization of BPN and GAs are expected to provide many


advantages compare to what they alone can.

The GA based techniques for determining weights in a BPN are explained next.

15

467
2.1 GA based techniques for determining weights in a BPN

Genetic algorithms work with population of individual strings.

The steps involved in GAs are:

− each individual string represent a possible solution of the problem


considered,

− each individual string is assigned a fitness value,

− high fit individuals participate in reproduction, yields new strings as

offspring and they share some features with each parents,

− low fit individuals are kept out from reproduction and so die,

− a whole new population of possible solutions to the problem is

generated by selecting high fit individuals from current generation,

− this new generation contains characteristics which are better than

their ancestors,

− processing this way after many generation, the entire population

inherits the best and fit solution.

However, before a GA is executed :

− a suitable coding for the problem is devised,

468
− a fitness function is formulated,

− parents have to be selected for reproduction and crossover to generate


offspring.

All these aspects of GAs for determining weights of BPN are illustrated in
next few slides.

16

469
SC – Hybrid Systems – GA based BPN

• Coding

Assume a BPN configuration ℓ - m – n where

− ℓ is input , m is hidden and n is output neurons.

− number of weights to be determined are (ℓ + n) m.

− each weight (gene) is a real number.

− assume number of digits (gene length) in weight are d .

− a string S represents weight matrices of input-hidden and the hidden-


output layers in a linear form arranged as row-major or column-major
selected.

− population size is the randomly generated initial population of p

chromosomes.

Example :

Consider a BPN configuration ℓ - m – n where ℓ = 2 is input , m = 2 is

hidden and n = 2 is output neuron.

Input neuron Hidden neurons output neurons − number of weights is (ℓ + n) m

W11 V11 = ( 2 + 2) . 2 = 8

1 1 1
− each weight is real number and
W12 V12

W21 V21 assume number of digits in


Inputs Outputs

W22 V22 weight are d=5

470
2 2 2 − string S representing

Input layer Hidden layer output layer chromosome of weights is 8 x 5

= 40 in length
Fig. BPN with 2 – 2 - 2

− Choose a population size p = 40

ie choose 40 chromosomes

Gene Gene Gene Gene Gene Gene Gene Gene

← k=0 k=1 → k=3 → k=4 → k=5


→ ← ← k=2 → ← ← ← → ← k=6 → ← k=7 →

84321 46234 78901 32104 42689 63421 46421 87640

Chromosome

32478 76510 02461 84753 64321 14261 87654 12367

Chromosome

Fig. Some randomly generated chromosome made of 8 genes

representing 8 weights for BPN

17

471
SC – Hybrid Systems – GA based BPN

• Weight Extraction

Extract weights from each chromosomes, later to determine the fitness


values.

Let x1 , x2 , . . . . x d , .... x L represent a chromosome and

Let xkd+1 , xkd+2 , . . x(k + 1)d represent kth gene (k ≥ 0) in the chromosomes.

The actual weight wk is given by


d-2 d-3
xkd+2 10 + xkd +3 10 + . . . + x(k + 1)d , if 5 ≤ xkd +1 ≤ 9

+ 10d-2

wk =
d-2
xkd +2 10 + xkd +3 10d-3 + . . . + x(k + 1)d , if 0 ≤ xkd +1 < 5

10d-2

Example : [Ref Fig. BPN previous slide]

The Chromosomes are stated in the Fig. The weights extracted from all

the eight genes are :

• Gene 0 : 84321 ,

Here we have, k = 0 , d = 5 , and xkd +1 is x1 such that

5 ≤ x1 = 8 ≤ 9. Hence, the weight extracted is

4 x 103 + 3 x 102 + 2 x 10 + 1
W0 = + 3
= +4.321

10

■ Gene 1 : 46234 ,

Here we have, k = 1 , d = 5 , and xkd +1 is x6 such that

472
0 ≤ x6 = 4 ≤ 5. Hence, the weight extracted is

6 x 103 + 2 x 102 + 3 x 10 + 4

W1 = − 103 = − 6.234

• Similarly for the remaining genes

Gene 2 : 78901 yields W2 = + 8.901

Gene 3 : 32104 yields W3 = − 2.104

Gene 4 : 42689 yields W4 = − 2.689

Gene 5 : 63421 yields W5 = + 3.421

Gene 6 : 46421 yields W6 = − 6.421

Gene 7 : 87640 yields W7 = + 7.640

18

473
SC – Hybrid Systems – GA based BPN

■ Fitness Function :

A fitness is devised for each problem.

Example :

The matrix on the right, represents a set of input I (I11 , I21) (T11 , T21)

(I12 , I22) (T12 , T22)


and output T for problem P to be solved.

(I13 , I23) (T13 , T23)


Generate initial population P0 of size p = 40.

Let C01 , C01 , . . . , C040 represent the 40 chromosomes.

Let w 01 , w 0
2 , . . . . w 040 be the weight sets extracted, using the Eq.

in the previous slides, from each of the chromosome C0i , i = 1, 2, . . . , 40 .

0
Let o 01 , o 2 , o 03 be the calculated outputs of BPN.

Compute root mean square error :

E 1 = (T11 – O11)2 + (T21 – O21)2 ,

E 2 = (T12 – O12)2 + (T22 – O22)2

E3 = (T13 – O13)2 + (T23 – O23)2

The root mean square of error is

E = [(E1 + E2 + E3) / 3 ] 1/2

Compute Fitness F1 :

474
The fitness for the chromosome
F1
C01 is given by

F1 = 1 / E .

Similarly, find the fitness F2 for the chromosome C02


and

so on the fitness Fn for the chromosome C0n

475
Algorithm

Let ( Ii , Ti ) , i = 1 , 2 , . . . , N represents the input-output pairs of the

problem to be solved by BPN with configuration ℓ - m – n ; where

I = (I1i , I2i ,, ..., Iℓi) and

T i = (T1i , T2i ,,..., Tn i )

For each chromosome C i , i = 1,2,.. ., p belonging to current the

population P i whose size is p

Extract weights w i form C i using Eq. 2.1 in previous slide;

Keeping w i as a fixed weight, train the BPN for the N input instances;

Calculate error E i for each of the input instances using the formula below

2
E i =Σ ( T j i – O ji ) where O i is the output vector calculated by BPN;

Find the root mean square E of the errors E i ,i=1,2,...,N

1/2
i.e. E =(( Σ E i )/N)

Calculate the Fitness value F i for each of the individual string of the

population as F i =1/E

Output F i for each C i , i = 1 , 2 , . . . , p ;

476
}

Thus
the Fitness values Fi for all chromosomes in the initial

population are
computed. The population size so
is p = 40, Fi,i=1

■ 2 , . . , 40 are computed.

A schematic for the computation of fitness values is illustrated below.

Initial

Population of Extracted

Chromosomes weight sets

C 01 w 01
Compute
Training BPN

Fitness
0 0
C 2 w 2

Extract Input Output

----

--- F i =1/E

weights weights Error E


----

---

C040 W
0
40 Fitness

Values

477
Fig. Computation of Fitness values for the population

21

478
SC – Hybrid Systems – GA based BPN

• Reproduction of Offspring

Before the parent chromosomes reproduce offspring :

First, form a mating pool by excluding that chromosome C ℓ with least

fitness F min and then replacing it with a duplicate copy of C k with

highest fitness F max ;

i.e., the best fit individuals have multiple copies while worst fit

individuals die off.

Having formed the mating pool, select parent pair at random. Chromosomes
of respective pairs are combined using crossover operator. Fig. below shows
:

− two parent chromosomes Pa and Pb,

− the two point crossover,

− exchange of gene segments by the parent pairs, and

− the offspring Oa and Ob are produced.

Pa Pb

Parent

Chromosomes A B

Crossover Crossover Crossover Crossover

Point 1 Point 1 Point 1 Point 1

479
Offspring B A

Oa Ob

Fig. Two – point crossover operator

22

480
Example :

− Consider the initial population of chromosomes P0 generated, with

their fitness value F i , where i = 1 , 2 , . . , 40 ,

− Let F max = Fk be maximum and F min =F ℓ be minimum fitness value

for 1 ≤ ℓ , k ≤ 40 where ℓ≠k

− Replace all chromosomes having fitness value F min with copies of

chromosomes having fitness value F max

Fig. below illustrates the Initial population of chromosomes and the

formation of the mating pool.

Initial population P0 Mating pool

C 01 F1 C01 F1

C 02 F2 Max Fitness C02 F2

value Fmax

Chromosomes C0 k Fk C0 k Fk

C01 to C040 C0ℓ F ℓ C0ℓ F max


Min Fitness

---- value Fmin ----

---- ----

C040 F40 C040 F40

Fig. Formation of Mating pool

max
F min is replaced by F

481
k Selection of Parent Chromosomes

The previous slide illustrated Reproduction of the Offspring.

Here, sample "Selection Of Parents" for the "Two Points Crossover" operator

to produce Offspring Chromosomes are illustrated.

Chromosomes - Mating Pool

C11 C12 C1k C1ℓ C140

Selected Parent Pairs

Fig. Random Selection of Parent Chromosomes

The Crossover Points of the Chromosomes are randomly chosen for each
parent pairs as shown in the Fig. below.

Chromosomes -Mating Pool

C11 C12 C1k C1ℓ C140

Crossover

points

482
Selected Parent Pairs

Fig. Randomly chosen Crossover points of Parent Chromosomes

The Genes are exchanged for Mutation as shown in the Fig. below.

Chromosomes -Mating Pool

C11 C12 C1k C1ℓ C140

C11 C12 C1k C1ℓ C140

New Population P1

Fig. New population P1 after application of two point Crossover operator

Thus new population P1 is created comprising 40 Chromosomes which are


the Offspring of the earlier population generation P0 .

24

483
SC – Hybrid Systems – GA based BPN

• Convergence

For any problem, if GA is correctly implemented, the population evolves over


successive generations with fitness value increasing towards the global
optimum.

Convergence is the progression towards increasing uniformity.

A population is said to have converged when 95% of the individuals

constituting the population share the same fitness value.

Example :

Let a population P1 undergoes the process of selection, reproduction,

and crossover.

− the fitness values for the chromosomes in P1 are computed.

− the best individuals replicated and the reproduction carried out using two-
point crossover operators form the next generation P2 of the
chromosomes.

− the process of generation proceeds until at one stage 95% of the

chromosomes in the population Pi converge to the same fitness value.

− at that stage, the weights extracted from the population Pi are the final
weights to be used by BPN.

484
• Fuzzy Back Propagation Network

Neural Networks and Fuzzy logic (NN-FL) represents two distinct methodologies
and the integration of NN and FL is called Neuro-Fuzzy systems.

Back Propagation Network (BPN) is a method of training multi-layer neural


networks where learning occurs during this training phase.

Fuzzy Back Propagation Network (Fuzzy-BPN) is a hybrid architecture. It is,


Hybridization of BPN by incorporating fuzzy logic.

Fuzzy-BPN architecture, maps fuzzy inputs to crisp outputs. Here, the Neurons
uses LR-type fuzzy numbers.

The Fuzzy-Neuron structure, the architecture of fuzzy BP, its learning


mechanism and algorithms are illustrated in next few slides.

3.1 LR-type Fuzzy Numbers

The LR-type fuzzy number are special type of representation of fuzzy


numbers. They introduce functions called L and R.

• Definition
~

A fuzzy member M is of L-R type if and only if

m–x
L for x≤m, α 0
µ ~ (x) = α

M m–x
R for x ≤ m , β 0

485
β

where L is a left reference

R is a right reference, ~

m, is called mean of M is a real number,

α, β are left and right spreads respectively.


~
µ~ is the membership function of fuzzy member M

The functions L and R are defined as follows:

m–x
m–x
L = max (0,1- )
α α

m–x
m–x
R = max (0,1- )

α α

~
LR-type fuzzy number M can be represented as (m, α, β) LR shown below.

Member ship

deg µ ~ (x)

00 α m, β x

Fig. A triangular fuzzy number (m, α, β).

486
Note : If α and β are both zero, then L-R type function indicates a crisp
value. The choice of L and R functions is specific to problem.

487
• Operations on LR-type Fuzzy Numbers
~ ~ = (n, γ , δ)
Let M = (m, α , β) LR and N LR be two L R-type fuzzy

numbers. The basic operations are

• Addition

(m, α , β) LR (n, γ , δ) LR = (m + n, α + γ , β + δ ) LR

• Substraction

(m, α , β) LR (n, γ , δ) LR = (m - n, α + δ , β + γ ) LR

■ Multiplicaion

(m, α , β) LR (n, γ , δ) LR = (mn , mγ + nα , mδ + nβ) LR for m≥ 0 ,


n≥ 0

( m,
α , β) LR , , δ) LR = (mn , mα - mδ , nβ - mγ ) RL for m<0 , n≥ 0
(n,

β) LR γ

, δ) LR = (mn , - nβ - mδ , -nα - mγ ) LR for m<0 ,


(n, γ
( m,
α

n<0

■ Scalar Multiplicaion

λ*(m, α , β) LR = (λm,
, λβ) , 0 , λ

λ R

LR
λα ∈

λ*(m,
, β) = (λm, - , -λβ) , λ<0 , λ

α LR RL R

λα

488
489
SC – Hybrid Systems – Fuzzy BPN

■ Fuzzy Neuron

The fuzzy neuron is the basic element of Fuzzy BP network. Fig. below
shows the architecture of the fuzzy neuron.

The fuzzy neuron computes the crisp output given by

n ~ ~ ~

O = f (NET) = f ( CE ( Σ Wi . Ii )) where I0 = (1, 0, 0) is the bias.

i=1

Here, the fuzzy weighted summation is given by

~ n ~ ~

net = Σ Wi ▪ Ii is first computed and

i=0
~

NET = CE ( net ) is computed next

The function CE is the centroid of triangular fuzzy number, that has

m as mean and α , β as left and right spreads explained before, can

be treated as defuzzification operation, which maps fuzzy weighted

summation to crisp value.

490
~ ~ ~ ~

If net = ( netm , netα , netβ ) is the fuzzy weighted summation

Then function CE is given by

~ ~ ~ ~ ~ ~ ~

, net net ) = netm + 1/3 (


CE ( net ) = CE ( netm
α , β netβ – netα ) = NET

The function f is a sigmoidal function that performs nonlinear mapping


between the input and output. The function f is obtained as :

f (NET) = 1 / ( 1 + exp ( - NET ) ) = O is final crisp output value.

■ Architecture of Fuzzy BP

Fuzzy Back Propagation Network (BP) is a 3-layered feed forward


architecture. The 3 layers are: input layer, hidden layer and output layer.
Considering a configuration of ℓ-input neurons, m-hidden neurons and n-
output neurons, the architecture of Fuzzy BP is shown below.

491
492
SC – Hybrid Systems – Fuzzy AM

• Fuzzy Associative Memory

A fuzzy logic system contains the sets used to categorize input data (i.e.,
fuzzification), the decision rules that are applied to each set, and then a way
of generating an output from the rule results (i.e., defuzzification).

In the fuzzification stage, a data point is assigned a degree of

membership (DOM) determined by a membership function. The member-

ship function is often a triangular function centered at a given point.

The Defuzzification is the name for a procedure to produce a real

(non-fuzzy) output .

Associative Memory is a type of memory with a generalized addressing

method. The address is not the same as the data location, as in

traditional memory. An associative memory system stores mappings

of specific input representations to specific output representations.

Associative memory allows a fuzzy rule base to be stored. The inputs are

the degrees of membership, and the outputs are the fuzzy system’s output.

Fuzzy Associative Memory (FAM) consists of a single-layer feed-forward


fuzzy neural network that stores fuzzy rules "If x is Xk then y is Yk" by means
of a fuzzy associative matrix.

FAM has many applications; one such application is modeling the


operations of washing machine.

33

493
The problem indicates, that there are two inputs and one-output
variables. The inference engineer is constructed based on fuzzy rule :

“ If < input variable > AND < input variable >


THEN < output variable >”

According to the above fuzzy rule, the Fuzzy Associative Memory


(FSM) of X, Y, and T variables are listed in the Table below.

Weight (X)

Washing time (T)

S M L

S M L L

Stream (Y) M S M L

L S S L

Table 1. Fuzzy associative memory (FSM) of Washing Machine

■ Operations : To wash the clothes −


Turn on the power,

 The machine automatically detects the weight of the clothes as


(X) = 3.2 K.g. ,

− The machine adjusts the water stream (Y) to 32 liter/min.,

35

494
• Fuzzy Representation :

The fuzzy sets representation, while X = 3.2 Kg and Y = 32 liter/min.,


according to the membership functions, are as follows:

The fuzzy set of X3.2 Kg = { 0.8/S, 0.2/M, 0/L }

The fuzzy set of Y32 liters/min. = { 0.4/S, 0.8/M, 0/L }

■ Defuzzification

The real washing time is defuzzied by the Center of gravity (COG)


defuzzification formula. The washing time is calculated as :

Z COG = Σn µc (Z j ) Z j / Σn µc (Z j ) where

j=1 j=1

j = 1, . . . , n , is the number of quantization levels of the output,

Z j
is the control output at the quantization level j,

µc (Z j )
represents its membership value in the output fuzzy set.

Referring to Fig in the previous slide and the formula for COG, we
get the fuzzy set of the washing time as w = { 0.8/20, 0.4/35, 0.2/60
} The calculated washing time using COG formula T = 41.025 min.

495
■ Simplified Fuzzy ARTMAP

ART is a neural network topology whose dynamics are based on


Adaptive Resonance Theory (ART). ART networks follow both
supervised and unsupervised algorithms.

− The Unsupervised ARTs are similar to many iterative clustering


algorithms where "nearest" and "closer" are modified slightly by
introducing the concept of "resonance". Resonance is just a matter
of being within a certain threshold of a second similarity measure.

− The Supervised ART algorithms that are named with the suffix
"MAP", as ARTMAP. Here the algorithms cluster both the inputs and
ART1:
targets and associate two sets of clusters.
ART2 :

The basic ART system is an unsupervised learning model.

The ART systems have many variations : ART1, ART2, Fuzzy ART,
ARTMAP.

The simplest variety of ART networks, accepting only binary


inputs.

It extends network capabilities to support continuous inputs.

ARTMAP : Also known as Predictive ART. It combines two slightly modified

ART-1 or ART-2 units into a supervised learning structure. Here, the first
unit takes the input data and the second unit takes the correct output
data, then used to make the minimum possible adjustment of the
vigilance parameter in the first unit in order to make the correct
classification.

496
The Fuzzy ARTMAP model is fuzzy logic based computations incorporated

in the ARTMAP model.

Fuzzy ARTMAP is neural network architecture for conducting supervised


learning in a multidimensional setting. When Fuzzy ARTMAP is used on a
learning problem, it is trained till it correctly classifies all training data.
This feature causes Fuzzy ARTMAP to ‘over-fit’ some data sets, especially
those in which the underlying pattern has to overlap. To avoid the
problem of ‘over-fitting’ we must allow for error in the training process.

• Supervised ARTMAP System

ARTMAP is also known as predictive ART. The Fig. below shows a


supervised ARTMAP system. Here, two ART modules are linked by an

inter-ART module called the Map Field. The Map Field forms predictive
associations between categories of the ART modules and realizes a
match tracking rule. If ARTa and ARTb are disconnected then each
module would be of self-organize category, groupings their respective
input sets.

Fig.Supervised ARTMAP system

497
In supervised mode, the mappings are learned between input vectors
a and b. A familiar example of supervised neural networks are feed-
forward networks with back-propagation of errors.

• Comparing ARTMAP with Back-Propagation Networks

ARTMAP networks are self-stabilizing, while in BP networks the new


information gradually washes away old information. A consequence of
this is that a BP network has separate training and performance
phases while ARTMAP systems perform and learn at the same time

− ARTMAP networks are designed to work in real-time, while BP


networks are typically designed to work off-line, at least during
their training phase.

498
− ARTMAP systems can learn both in a fast as well as in a slow match
configuration, while, the BP networks can only learn in slow
mismatch configuration. This means that an ARTMAP system learns,
or adapts its weights, only when the input matches an established
category, while BP networks learn when the input does not match
an established category.

− In BP networks there is always a danger of the system getting


trapped in a local minimum while this is impossible for ART
systems. However, the systems based on ART modules learning
may depend upon the ordering of the input patterns.

499

You might also like