# Genetic Algorithms CSCI-2300 Introduction to Algorithms - PowerPoint PPT Presentation

PPT – Genetic Algorithms CSCI-2300 Introduction to Algorithms PowerPoint presentation | free to download - id: 580025-OTgxY

The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
Title:

## Genetic Algorithms CSCI-2300 Introduction to Algorithms

Description:

### Genetic Algorithms CSCI-2300 Introduction to Algorithms David Goldschmidt, Ph.D. Rensselaer Polytechnic Institute April 29, 2013 Evolutionary Computing Evolutionary ... – PowerPoint PPT presentation

Number of Views:121
Avg rating:3.0/5.0
Slides: 32
Provided by: ETS67
Category:
Tags:
Transcript and Presenter's Notes

Title: Genetic Algorithms CSCI-2300 Introduction to Algorithms

1
Genetic AlgorithmsCSCI-2300 Introduction to
Algorithms
• David Goldschmidt, Ph.D.
• Rensselaer Polytechnic Institute
• April 29, 2013

2
Evolutionary Computing
• Evolutionary computing produceshigh-quality
partial solutions to problems throughnatural
selection andsurvival of the fittest
• Compare to naturalbiological systems thatadapt
and learn over time

3
Genetic Algorithm Example
• Find the maximum value of function
• f(x) x2 15x
• Represent problem using chromosomes built from
four genes

http//www.webgraphing.com
4
Genetic Algorithm Example
• Initial random population of size N 6

5
Genetic Algorithm Example
• Determine chromosome fitness foreach chromosome
• 218
100.0

6
Genetic Algorithm Example
• Use fitness ratios to determine which chromosomes
are selected for crossoverand mutation
operations

7
Genetic Algorithm Example
• Converge on a near-optimal solution

8
Convergence Example
global maximum
local maximum
9
Genetic Algorithms Step 1
• Represent the problem domain asa chromosome of
fixed length
• Use a fixed number of genes to represent a
solution
• Use individual bits or characters for
efficientmemory use and speed
• e.g. Traveling Salesman Problem (TSP)
http//www.lalena.com/AI/Tsp/

10
Genetic Algorithms Step 2
• Define a fitness function f(x) to measurethe
quality of individual chromosomes
• The fitness function determines
• which chromosomes carry over to the next
generation
• which chromosomes are crossed over with one
another
• which chromosomes are individually mutated

11
Genetic Algorithms Step 3
• Establish our genetic algorithm parameters
• Choose the size of the population, N
• Set the crossover probability, pc
• Set the mutation probability, pm
• Randomly generate an initial populationof
chromosomes
• x1, x2, ..., xN

12
Genetic Algorithms Step 4
• Calculate the fitness of eachindividual
chromosome using f(x)
• f(x1), f(x2), ..., f(xN)
• Order the population based on fitness values

13
Genetic Algorithms Step 5
• Using pc, select pairs of chromosomesfor
crossover
• Using pm, select chromosomes for mutation
• Chromosomes are selectedbased on their
fitnessvalues using aroulette wheel approach

14
Genetic Algorithms Step 6
• Create a pair of offspring chromosomes by
applying a crossover operation

15
Genetic Algorithms Step 6
• Mutate an offspring chromosome by applyinga
mutation operation

16
Genetic Algorithms Steps 7 8
• Step 7
• Place all generated offspringchromosomes in a
new population
• Step 8
• Go back to Step 5 until the size of the new
population is equal to the size of the initial
population, N

17
Genetic Algorithms Steps 9 10
• Step 9
• Replace the initial population withthe new
population
• Step 10
• Go back to Step 4 and repeat the processuntil
termination criteria are satisfied
• Typically repeat this process for 50-5000
generations

18
Iteration
19
Crossword Puzzle Construction
• Given
• Dictionary of valid wordsand phrases
• Empty crossword grid
• Problem
• Fill the crossword grid suchthat all words both
acrossand down are valid
• (assign clues later)

20
Crossword Puzzle Construction
• Genetic Algorithm (GA)
• Evolve a solution by crossovers andmutations
through many generations
• Initial population of crossword grids
• Random letters?
• Random letters based on Scrabble frequencies?
• Random words from dictionary?
• Fitness of each grid is number of valid words

21
Termination Criteria
• When do we stop?
• Pause a genetic algorithm after agiven number of
generations, thencheck the fittest chromosomes
• If the fittest chromosomes are fitbeyond a given
threshold,terminate the genetic algorithm
• Also consider stopping when the highest fitness
value does not change for a large number of
generations

?
22
Computational Complexity
• How long does it take for an algorithm toproduce
a solution?
• Depends on the size of the input andthe
complexity of the algorithm
• The size of the input is n
• The complexity of the algorithm is
classifiedbased on its expected run time

23
Computational Complexity
• Big-O notation measures the expected run timeof
an algorithm (i.e. its computational complexity)
• Constant time O(1)
• Logarithmic time O(log n)
• Linear time O(n)
• Linearithmic time O(n log n)
• Quadratic time O(n2)
• Exponential time O(c n)
• Factorial time O(n!)

P
NP
24
Genetic Algorithms
• Genetic algorithms are often well-suited to
producing reasonable solutions to intractable
problems
• Intractable problems are problems withexcessive
computational complexity
• i.e. in the Nondeterministic Polynomial (NP)
class of problems
• A reasonable solution is a partial or inexact
solution that adequately solves the problem in
polynomial time

25
Genetic Algorithms Example
• Consider the Traveling Salesman Problem (TSP) in
which a salesman aims to visit n cities exactly
once covering the least distance
• http//mathworld.wolfram.com/TravelingSalesmanPro
blem.html
• http//www.tsp.gatech.edu/games/index.html
• Starting at any given node, choose from n1
remaining nodes, then choose from n2 remaining
nodes, etc.
• Testing every possible route takes (n1)! steps
• see http//bio.math.berkeley.edu/classes/195/2000/
lec14/index.html

26
Genetic Algorithms Example
• Use a genetic algorithm to evolve a near-optimal
solution to the TSP
• Label cities A, B, C, D, E, F, etc.
• Example circuits ABCDEF, BDAFCE, FBECAD
• How do we perform crossover operations?
• Basic crossovers might result in invalid
membersof the population
• e.g. combining ABCDEF and BDAFCE may result in
ABCFCE

27
Genetic Algorithms Example
• Key challenge of developing a genetic algorithm
is often the representation of the problem
• For TSP, consider a standard ordering ABCDEF,
assigning the code 123456
• All other sequences encoded
based on the removal
of letters
• Basic crossover works...

28
Genetic Algorithms Example
• All other sequences encoded based on
the removal of letters from standard
ordering
• Sequence BDAFCE has code 231311
• B is 2 in ABCDEF
• D is 3 in ACDEF
• A is 1 in ACEF
• F is 3 in CEF
• C is 1 in CE
• E is 1 in E

29
Genetic Algorithms Example
• Crossing ACEDB with ABCED...
• Crossover Operation

30
Genetic Algorithms Example
another approach http//www.dna-evolutions.com/d
naappletsample.html
• Combining ACEDB with ABCED...
• ...yields ACBED
• from A.K. Dewdneys The (New) Turing Omnibus,
Computer Science Press, New York, 1993

31
Genetic Algorithms
• Advantages of genetic algorithms
• Often outperform brute force approaches by
randomly jumping around the search space
• Ideal for problem domains in which near-optimal
(as opposed to exact) solutions are adequate
• Disadvantages of genetic algorithms
• Might not find any satisfactory partial solutions
• Tuning can be a challenge