Download Soft Computing : Optimization Techniques using Genetic Algorithms

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Hybrid (biology) wikipedia , lookup

Medical genetics wikipedia , lookup

Human genetic variation wikipedia , lookup

Point mutation wikipedia , lookup

Koinophilia wikipedia , lookup

History of genetic engineering wikipedia , lookup

Ploidy wikipedia , lookup

Epistasis wikipedia , lookup

Skewed X-inactivation wikipedia , lookup

Group selection wikipedia , lookup

Designer baby wikipedia , lookup

Polymorphism (biology) wikipedia , lookup

Genetic drift wikipedia , lookup

Y chromosome wikipedia , lookup

Chromosome wikipedia , lookup

X-inactivation wikipedia , lookup

Genome (book) wikipedia , lookup

Neocentromere wikipedia , lookup

Polyploid wikipedia , lookup

Karyotype wikipedia , lookup

Population genetics wikipedia , lookup

Gene expression programming wikipedia , lookup

Microevolution wikipedia , lookup

Transcript
SOFT COMPUTING
(Optimization Techniques using GA)
Dr. N.Uma Maheswari
Professor/CSE
PSNA CET
GA Quick Overview
• Developed: USA in the 1970’s
• Early names: J. Holland, K. DeJong, D. Goldberg
• Typically applied to:
– discrete optimization
• Attributed features:
– not too fast
– good heuristic for combinatorial problems
• Special Features:
– Traditionally emphasizes combining information from good parents
(crossover)
– many variants, e.g., reproduction models, operators
5/23/2017
Dr.N.Uma Maheswari, PSNACET
2
Search Space
Initialization
• Initially many individual solutions are randomly generated to
form an initial population, covering the entire range of
possible solutions (the search space)
• Each point in the search space represents one possible solution
marked by its value( fitness)
Selection
A proportion of the existing population is selected to bread a
new bread of generation.
5/23/2017
Dr.N.Uma Maheswari, PSNACET
3
Search Space cont…
Reproduction
• Generate a second generation population of solutions from those selected
through genetic operators: crossover and mutation.
Termination
• A solution is found that satisfies minimum criteria
• Fixed number of generations found
• Allocated budget (computation, time/money) reached
•
The highest ranking solution’s fitness is reaching or has reached
5/23/2017
Dr.N.Uma Maheswari, PSNACET
4
Classes of Search Techniques
5/23/2017
Dr.N.Uma Maheswari, PSNACET
5
Genetics
Chromosome
• All Living organisms consists of cells. In each cell there is a
same set of Chromosomes.
• Chromosomes are strings of DNA and consists of genes,
blocks of DNA.
• Each gene encodes a trait, for example color of eyes. Possible
settings for a trait (e.g. blue, brown) are called alleles. Each
gene has its own position in the chromosome. This position is
called locus.
5/23/2017
Dr.N.Uma Maheswari, PSNACET
6
Genetics Cont…
Reproduction
• During reproduction, recombination (or crossover) occurs first.
Genes from parents combine to form a whole new
chromosome. The newly created
offspring can then be mutated. The changes are mainly caused
by errors in copying genes from parents.
• The fitness of an organism is measure by success of the
organism in its life (survival)
5/23/2017
Dr.N.Uma Maheswari, PSNACET
7
Principle Of Natural Selection
• “Select The Best, Discard The Rest”
 Two important elements required for any problem before a
genetic algorithm can be used for a solution are:
 Method for representing a solution (encoding)
ex: string of bits, numbers, character
 Method for measuring the quality of any proposed solution,
using fitness function
ex: Determining total weight
5/23/2017
Dr.N.Uma Maheswari, PSNACET
8
GA Elements
5/23/2017
Dr.N.Uma Maheswari, PSNACET
9
Nature Vs Computer - Mapping
Nature
Population
Individual
Fitness
Chromosome
Gene
Reproduction
5/23/2017
Computer
Set of solutions.
Solution to a problem.
Quality of a solution.
Encoding for a Solution.
Part of the encoding of a solution.
Crossover
Dr.N.Uma Maheswari, PSNACET
10
5/23/2017
Dr.N.Uma Maheswari, PSNACET
11
Genetic algorithms
• Holland’s original GA is now known as the
simple genetic algorithm (SGA)
• Other GAs use different:
– Representations
– Mutations
– Crossovers
– Selection mechanisms
5/23/2017
Dr.N.Uma Maheswari, PSNACET
12
Fitness function
• Quantifies the optimality of a solution (that is, a chromosome):
that particular chromosome may be ranked against all the other
chromosomes
• A fitness value is assigned to each solution depending on how
close it actually is to solving the problem.
• Ideal fitness function correlates closely to goal + quickly
computable.
• For instance, knapsack problem
Fitness Function = Total value of the things in the knapsack
5/23/2017
Dr.N.Uma Maheswari, PSNACET
13
Encoding
• Encoding of chromosomes is one of the problems, when you
are starting to solve problem with GA. Encoding very depends
on the problem.
• Binary Encoding: In binary encoding every chromosome is a
string of bits, 0 or 1. A101100101100101011100101
B111111100000110000011111
5/23/2017
Dr.N.Uma Maheswari, PSNACET
14
Encoding contd…
• Permutation Encoding: In permutation encoding, every
chromosome is a string of numbers, which represents number in a
sequence. Eg:Chrom A:124356765
• Real Value Encoding: In value encoding, every chromosome is a
string of some values. Values can be anything connected to problem,
form numbers, real numbers or chars to some complicated objects.
eg: Chromosome A: 5.3243 0.4556 2.3293 2.4545
• Tree Encoding: In tree encoding every chromosome is a tree of
some objects, such as functions or commands in programming
language.
5/23/2017
Dr.N.Uma Maheswari, PSNACET
15
Recombination
Main idea: "Select The Best, Discard The Rest”.
The process that chooses solutions to be
preserved and allowed to reproduce and
selects which ones must to die out.
• The main goal of the recombination operator
is to emphasize the good solutions and
eliminate the bad solutions in a population (
while keeping the population size constant )
5/23/2017
Dr.N.Uma Maheswari, PSNACET
16
SGA operators: Selection
• Main idea: better individuals get higher chance
– Chances proportional to fitness
– Implementation: roulette wheel technique
1/6 = 17%
A
3/6 = 50%
B
C
» Assign to each individual a part of the
roulette wheel
» Spin the wheel n times to select n
individuals
fitness(A) = 3
fitness(B) = 1
2/6 = 33%
fitness(C) = 2
5/23/2017
An example after Goldberg ‘89 (1)
• Simple problem: max x2 over {0,1,…,31}
• GA approach:
– Representation: binary code, e.g. 01101  13
– Population size: 4
– 1-point xover, bitwise mutation
– Roulette wheel selection
– Random initialisation
• We show one generational cycle done by hand
So, how to select the best?

Roulette Selection

Rank Selection

Steady State Selection

Tournament Selection
Roulette wheel selection
Main idea: the fitter is the solution with the
most chances to be chosen
HOW IT WORKS ?
x2 example: selection
X2 example: crossover
X2 example: mutation
Crossover
 Crossover- Many genetic algorithms use strings of binary
symbols for chromosomes, as in our Knapsack example, to
represent solutions.
 Crossover means choosing a random position in the string
(say, after 2 digits) and exchanging the segments either to the
right or to the left of this point with another string partitioned
similarly to produce two new off spring.
5/23/2017
Dr.N.Uma Maheswari, PSNACET
25
Cross Over-Single-site
Crossover methods
• Single Point Crossover- A random point is chosen on the
individual chromosomes (strings) and the genetic material is
exchanged at this point.
5/23/2017
Dr.N.Uma Maheswari, PSNACET
27
Uniform Crossover using Mask
Two Dimensional Crossover-Matrix Crossover
GA Cycle
Outline of the Basic Genetic
Algorithm
1. [Start] Generate random population of n chromosomes
(suitable solutions for the problem)
2. [Fitness] Evaluate the fitness f(x) of each chromosome x in
the population
3. [New population] Create a new population by repeating
following steps until the new population is complete
5/23/2017
Dr.N.Uma Maheswari, PSNACET
32
4. [Selection] Select two parent chromosomes from a population
according to their fitness (the better fitness, the bigger chance
to be selected) The idea is to choose the better parents.
5. [Crossover] With a crossover probability cross over the
parents to form a new offspring (children). If no crossover
was performed, offspring is an exact copy of parents.
6. [Mutation] With a mutation probability mutate new offspring
at each locus (position in chromosome).
5/23/2017
Dr.N.Uma Maheswari, PSNACET
33
7. [Accepting] Place new offspring in a new population
8. [Replace] Use new generated population for a further run of
algorithm
9. [Test] If the end condition is satisfied, stop, and return the
best solution in current population
10. [Loop] Go to step 2
5/23/2017
Dr.N.Uma Maheswari, PSNACET
34
Flow Diagram of the Genetic
Algorithm Process
Describe
Problem
Generate
Initial
Solutions
Step 1
Test: is initial
solution good enough?
Yes
Stop
No
Step 2
Step 3
Step 4
Step 5
5/23/2017
Select parents
to reproduce
Apply crossover process
and create a set of offspring
Apply random
mutation
Dr.N.Uma
Maheswari,
PSNACET
35
5/23/2017
Dr.N.Uma Maheswari, PSNACET
38