genetic algorithms csci-2300 introduction to algorithms
Post on 23-Feb-2016
59 views
Embed Size (px)
DESCRIPTION
Genetic Algorithms CSCI-2300 Introduction to Algorithms. David Goldschmidt, Ph.D. Rensselaer Polytechnic Institute April 28, 2014. Evolutionary Computing. Evolutionary computing produces high-quality partial solutions to problems through natural selection and survival of the fittest - PowerPoint PPT PresentationTRANSCRIPT
Artificial Intelligence CIS 342
Genetic AlgorithmsCSCI-2300 Introduction to AlgorithmsDavid Goldschmidt, Ph.D.Rensselaer Polytechnic InstituteApril 28, 2014Evolutionary ComputingEvolutionary computing produceshigh-quality partial solutions to problems throughnatural selection andsurvival of the fittest
Compare to naturalbiological systems thatadapt and learn over time
Genetic Algorithm ExampleFind the maximum value of function f(x) = x2 + 15x
Represent problem using chromosomes built from four genes:http://www.webgraphing.comGenetic Algorithm ExampleInitial random population of size N = 6:
Genetic Algorithm ExampleDetermine chromosome fitness foreach chromosome:
218 100.0
fitness function here issimply the original functionf(x) = x2 + 15x
Genetic Algorithm ExampleUse fitness ratios to determine which chromosomes are selected for crossoverand mutation operations:Genetic Algorithm ExampleConverge on a near-optimal solution:
Convergence Example
local maximumglobal maximumGenetic Algorithms Step 1Represent the problem domain asa chromosome of fixed lengthUse a fixed number of genes to represent a solutionUse individual bits or characters for efficientmemory use and speed
e.g. Traveling Salesman Problem (TSP) http://www.lalena.com/AI/Tsp/
Genetic Algorithms Step 2Define a fitness function f(x) to measurethe quality of individual chromosomes
The fitness function determineswhich chromosomes carry over to the next generation which chromosomes are crossed over with one anotherwhich chromosomes are individually mutated
Genetic Algorithms Step 3Establish 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
. . .Genetic Algorithms Step 4Calculate the fitness of eachindividual chromosome using f(x): f(x1), f(x2), ..., f(xN)
Order the population based on fitness values
Genetic Algorithms Step 5Using pc, select pairs of chromosomesfor crossover
Using pm, select chromosomes for mutation
Chromosomes are selectedbased on their fitnessvalues using aroulette wheel approach:
Genetic Algorithms Step 6Create a pair of offspring chromosomes by applying a crossover operation:
Genetic Algorithms Step 6Mutate an offspring chromosome by applyinga mutation operation:Genetic Algorithms Steps 7 & 8Step 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
Genetic Algorithms Steps 9 & 10Step 9:Replace the initial population withthe new population
Step 10:Go back to Step 4 and repeat the processuntil termination criteria are satisfiedTypically repeat this process for 50-5000+ generations
IterationCrossword Puzzle ConstructionGiven:Dictionary of valid wordsand phrasesEmpty crossword grid
Problem:Fill the crossword grid suchthat all words both acrossand down are valid(assign clues later)
Crossword Puzzle ConstructionGenetic Algorithm (GA)Evolve a solution by crossovers andmutations through many generationsInitial population of crossword grids:Random letters?Random letters based on Scrabble frequencies?Random words from dictionary?Fitness of each grid is number of valid wordsTermination CriteriaWhen do we stop?Pause a genetic algorithm after agiven number of generations, thencheck the fittest chromosomesIf 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
?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 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!) Computational Complexity
PNPGenetic algorithms are often well-suited to producing reasonable solutions to intractable problemsIntractable problems are problems withexcessive computational complexityi.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 Genetic AlgorithmsConsider the Traveling Salesman Problem (TSP) in which a salesman aims to visit n cities exactly once covering the least distance http://mathworld.wolfram.com/TravelingSalesmanProblem.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)! stepssee http://bio.math.berkeley.edu/classes/195/2000/lec14/index.html Genetic Algorithms Exampleyikes!Use a genetic algorithm to evolve a near-optimal solution to the TSPLabel 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 populatione.g. combining ABCDEF and BDAFCE may result in ABCFCE Genetic Algorithms ExampleKey challenge of developing a genetic algorithm is often the representation of the problemFor TSP, consider a standard ordering ABCDEF, assigning the code 123456All other sequences encoded based on the removal of letters
Basic crossover works...Genetic Algorithms Example
All other sequences encoded based on the removal of letters from standard orderingSequence BDAFCE has code 231311B 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
Genetic Algorithms Example
Crossing ACEDB with ABCED...
Crossover OperationGenetic Algorithms Example
Combining ACEDB with ABCED......yields ACBED
from A.K. Dewdneys The (New) Turing Omnibus, Computer Science Press, New York, 1993Genetic Algorithms Exampleanother approach: http://www.dna-evolutions.com/dnaappletsample.html Genetic AlgorithmsAdvantages of genetic algorithms:Often outperform brute force approaches by randomly jumping around the search spaceIdeal for problem domains in which near-optimal (as opposed to exact) solutions are adequate
Disadvantages of genetic algorithms:Might not find any satisfactory partial solutionsTuning can be a challenge