CIS*6080 Genetic Algorithms Instructor: Robert Collier E-mail: [email protected] Map Colouring Colour the regions of a map such that adjacent nodes are assigned different colours. Robert Collier.
Download ReportTranscript CIS*6080 Genetic Algorithms Instructor: Robert Collier E-mail: [email protected] Map Colouring Colour the regions of a map such that adjacent nodes are assigned different colours. Robert Collier.
Slide 1
CIS*6080
Genetic Algorithms
Instructor:
Robert Collier
E-mail:
[email protected]
Slide 2
Map Colouring
Colour the regions of a map such that adjacent nodes are assigned different colours.
Robert Collier
2
Slide 3
Graph Colouring Example
Colour the nodes such that adjacent nodes are assigned different colours.
If the graph is planar, only four colours are necessary.
This graph isn't planar, so it might not be possible (with only four colours).
How many possible solutions (i.e. candidate solutions) exist?
Robert Collier
3
Slide 4
Graph Colouring Example
The graph is made up of 30 nodes and this example is using 4 colours.
What would the solution (if one actually exists) actually look like?
Colours
= { #FF0000, #0000FF, #007F00, #FF00FF }
Nodes
= { Node01, Node02, Node03, ..., Node 30}
Solution
= { Node01 = #FF0000, Node02 = #0000FF, ..., Node 30 = #007F00}
How many possible solutions are there?
4 4 4 4 4 ... 4 = 430
= 1 152 921 504 606 846 976
At a rate of 1 solution / second, how long will it take to check them all ?
1267650600228229401496703205376 / (60 60 24 365.25)
36 533 877 880 years
Robert Collier
4
Slide 5
Graph Colouring Example
There may or may not be a perfect solution to this problem, but consider...
The left solution violates 21 constraints while the right solution violates only 3.
Therefore we can conclude that the right solution is superior to the left.
Even if there is no perfect solution, there is a solution as good or better than all others.
Robert Collier
5
Slide 6
Definition: The Genetic Algorithm
The Genetic Algorithm is a Population Simulation that uses the
principles of Darwinian Evolution to solve Optimization Problems.
Robert Collier
6
Slide 7
Course Outline
Instructor:
Robert Collier
Office Hours:
E-mail:
Course Website:
Wednesdays (by appointment)
[email protected]
http://www.uoguelph.ca/~collierr/CIS6080/index.htm
Course Objectives:
The primary objectives of this course are:
to introduce students to the simple genetic algorithm,
to explore each of the component processes that drive the mechanism, and
to explore many of the different variations on these component processes.
The secondary objective of this course is:
to teach students how to conduct a comparative evaluation of two algorithms.
Robert Collier
7
Slide 8
Course Outline
Description:
This course introduces the student to basic genetic algorithms, which are based on
the process of natural evolution. It is explored in terms of its mathematical
foundation and applications to optimization in various domains.
Evaluation:
Assignment 1
15%
Assignment 2
15%
Assignment 3
15%
Final Project
55%
Optional Bonus Assignment
10%
Robert Collier
8
Slide 9
Course Overview
Lecture Topics:
Week 1
Foundational Material
Week 2
The Simple Genetic Algorithm
Weeks 3, 4
Component Process: Selection
Weeks 5, 6
Component Process: Variation
Weeks 7, 8
Component Process: Replication
Weeks 9, 10
Experimental Design and Statistical Analysis
Week 11
Genetic Programming, Artificial Life, etc.
Week 12
Learning Classifier Systems
Robert Collier
9
Slide 10
Foundational Material
The Genetic Algorithm is a Population Simulation that uses the
principles of Darwinian Evolution to solve Optimization Problems.
Optimization Problems is the domain of problems to be solved.
Darwinian Evolution provided the inspiration for the technique.
Population Simulations model the environment where evolution was observed.
Robert Collier
10
Slide 11
Optimization Problems
The objective is to find the best possible solution from the set of feasible solutions.
This implies:
a)
that some solutions are better than others
b)
there must be a way to quantify relative superiority
Contrast the set of Optimization Problems with:
Decision Problems
i.e. Does a particular entity meet certain criteria?
Search Problems
i.e. Where is a particular entity located in the space of all entities?
Counting Problems
i.e. How many of a particular entity are contained in the space of entities?
Robert Collier
11
Slide 12
Optimization Problems
The objective is to find the best possible solution from the set of feasible solutions.
This implies:
a)
that some solutions are better than others
b)
there must be a way to quantify relative superiority
Common Optimization Problems:
Map Colouring
Robert Collier
12
Slide 13
Optimization Problems
The objective is to find the best possible solution from the set of feasible solutions.
This implies:
a)
that some solutions are better than others
b)
there must be a way to quantify relative superiority
Common Optimization Problems:
Traveling Salesman
Sudbury
North Bay
Ottawa
Sudbury
North Bay
Ottawa
Kingston
Kingston
Toronto
London
Windsor
Robert Collier
Toronto
Hamilton
London
Hamilton
Windsor
13
Slide 14
Optimization Problems
The objective is to find the best possible solution from the set of feasible solutions.
This implies:
a)
that some solutions are better than others
b)
there must be a way to quantify relative superiority
Common Optimization Problems:
Knapsack Problem
50
30
100
Robert Collier
90
40
50
90
100
30
90
40
14
Slide 15
Simplistic Approaches
Exhaustive Approach
Every element of the set of feasible solutions can be tested.
Greedy Approach
A candidate solution can often be constructed in stages, and the component added
at each stage is the one offering the most immediate benefit.
Consider the implications of these approaches?
Example: How can the minimum of y = x2 be found (without the derivative)?
F(x) =
Why look at neighbours?
Why the superior neighbour?
x=
Robert Collier
15
Slide 16
Complex Candidate Solution Spaces
The set of candidate solutions is typically a space of candidate solutions...
... however, this space can be very complex.
F'(x) =
x=
Robert Collier
16
Slide 17
Complex Candidate Solution Spaces
The set of candidate solutions is typically a space of candidate solutions...
... however, this space can be very complex.
F'(x) =
x=
For a two dimensional solution (i.e. an ordered pair (x, y)),
the space is often conceptualized as a landscape.
An intuitive approach directly results from this analogy...
Robert Collier
17
Slide 18
Hill Climbing Approach
solution = selectRandomSolution()
best_fitness_so_far = getFitnessOf(solution)
other_solutions_remaining = TRUE
WHILE other_solutions_remaining
other_solutions_remaining = FALSE
other_solutions = getNeighbouringSolutions(solution)
FOR EACH neighbouring_solution IN other_solutions
IF getFitnessOf(neighbouring_solution) > best_fitness_so_far
best_fitness_so_far = getFitnessOf(neighbouring_solution)
solution := neighbouring_solution
other_solutions_remaining = TRUE
END IF
END FOR
END WHILE
RETURN solution
Robert Collier
18
Slide 19
Simulated Annealing Approach
solution = selectRandomSolution()
current_fitness = getFitnessOf(solution)
temperature = starting_temperature
WHILE termination_criteria_not_met
neighbouring_solution = getRandomNeighbour(solution)
IF getFitnessOf(neighbouring_solution) > best_fitness_so_far
current_fitness = getFitnessOf(neighbouring_solution)
solution = neighbouring_solution
ELSE
IF random < exp(- (current_fitness - getFitnessOf(neighbouring_solution)) )
temperature
current_fitness = getFitnessOf(neighbouring_solution)
solution = neighbouring_solution
END IF
END IF
reduce(temperature)
END WHILE
RETURN solution
Robert Collier
19
Slide 20
Summary of Optimization Problems
Optimization Problems are solved by finding the best possible solution
(i.e. the optima) from the space of candidate solutions.
Some candidate solutions are better than others.
Some candidate solutions are closer together and some are further apart.
Candidate solution spaces are often complex, and hill climbing alone is
not sufficient (as they become trapped at local optima)
Processes observed in the natural world (i.e. annealing, evolution) can
serve as inspiration for effective optimization approaches.
Robert Collier
20
Slide 21
Foundational Material
The Genetic Algorithm is a Population Simulation that uses the
principles of Darwinian Evolution to solve Optimization Problems.
Optimization Problems is the domain of problems to be solved.
Darwinian Evolution provided the inspiration for the technique.
Population Simulations model the environment where evolution was observed.
Robert Collier
21
Slide 22
Relevant Biology
Important Definitions
Robert Collier
Chromosome
a structure defining an organism's properties
Gene
a component of a chromosome
Trait
a property encoded by one of more genes
Allele
a possible value setting for a trait
Locus
a position in a chromosome
Genotype
the genetic constitution of an organism
Phenotype
the physical constitution of an organism
22
Slide 23
Context for the Analogous Biology
Solutions to the map colouring problem discussed previously...
Colours
= { #FF0000, #0000FF, #007F00, #FF00FF }
Nodes
= { Node01, Node02, Node03, ..., Node 50}
Solution
= { Node01 = #FF0000, Node02 = #0000FF, ..., Node 50 = #007F00}
How could a chromosome be constructed from this information?
Possible Encodings:
String? Character? Integer? Binary? Other?
Integer Valued Chromosome
013213021302130132031230 ... 13203
Binary Chromosome
010100101111010101111010 ... 01011
Traits? Alleles? Loci?
Robert Collier
23
Slide 24
Biomimicry and the Natural World
Leonardo Da Vinci's sketch of a flying machine was inspired by the form of a bird.
Biomimicry uses natural processes as inspiration for solving problems. Why?
... because the natural world has solved many complex problems. How?
... through the process of natural selection.
Robert Collier
24
Slide 25
Natural Selection
The process by which traits become more or less common,
according to the survival and/or reproduction of organisms with those traits.
carbonaria
typica
These moths are an example of a solution to the problem of camouflage.
Robert Collier
25
Slide 26
The Evolutionary Mechanism
“as new modifications will necessarily continue to operate, however
slowly, not only will there continually be found new species, new genera,
and new orders, but each species will vary in some part of its structure
and form ... individuals which from special causes are transported into
very different situations from those where the others occur, and then
constantly submitted to other influences - the former, I say, assume new
forms, and then they constitute a new species”
Jean-Baptiste Lamarck
Philosophie Zoologique, 1809
... believed there were complexifying and adaptive forces at work
... believed that traits acquired over an organism's life could be transferred to offspring
Robert Collier
26
Slide 27
The Evolutionary Mechanism
Darwin proposed the process of Natural Selection
Instead of Lamarck's complexifying force, genetic variation causes diversity in
the chromosomes of living things, and those better suited to their environment
are more likely to survive and pass the various traits to their offspring.
What are the key elements of this process?
Variation
Evaluation
Selection
Replication
Robert Collier
27
Slide 28
Summary of Darwinian Evolution
Genetic algorithm terminology borrows heavily from biology.
The natural world has already solved many complex problems.
Natural selection states that variations appear in populations, and those
variations that are beneficial are transmitted to future generations.
The component processes of the evolutionary mechanism are:
Evaluation, Selection, Variation, and Replication
Any system with these processes is an evolving system.
Robert Collier
28
Slide 29
Foundational Material
The Genetic Algorithm is a Population Simulation that uses the
principles of Darwinian Evolution to solve Optimization Problems.
Optimization Problems is the domain of problems to be solved.
Darwinian Evolution provided the inspiration for the technique.
Population Simulations model the environment where evolution was observed.
Robert Collier
29
Slide 30
Simulation Basics
"The imitation of the operation of a real-world process or system over time."
A population of organisms ...
... in which the likelihood that an organism survives or reproduces is proportional
the degree to which that organism can solve a particular optimization problem.
The components of the evolutionary mechanism:
Robert Collier
Variation
Selection
Evaluation
Replication
30
Slide 31
Population Simulation
Two Simplifying Assumptions:
1. Each member of the population lives for exactly one generation.
2. The population size never changes (i.e. complete replacement)
Population at Time t
Terminate?
Robert Collier
Population at Time t+1
The Evolutionary
Mechanism
31
Slide 32
Overview of the Genetic Algorithm
Initialization
Evaluation
Replication
Variation
Terminate?
false
Selection
true
Termination
Robert Collier
32
Slide 33
The remaining slides have been
omitted from this preview.
This graduate level course in genetic
algorithms was developed and taught by
Robert Collier, MSc, BSc.
It was most recently offered at the
University of Guelph during the summer
2011 semester.
CIS*6080
Genetic Algorithms
Instructor:
Robert Collier
E-mail:
[email protected]
Slide 2
Map Colouring
Colour the regions of a map such that adjacent nodes are assigned different colours.
Robert Collier
2
Slide 3
Graph Colouring Example
Colour the nodes such that adjacent nodes are assigned different colours.
If the graph is planar, only four colours are necessary.
This graph isn't planar, so it might not be possible (with only four colours).
How many possible solutions (i.e. candidate solutions) exist?
Robert Collier
3
Slide 4
Graph Colouring Example
The graph is made up of 30 nodes and this example is using 4 colours.
What would the solution (if one actually exists) actually look like?
Colours
= { #FF0000, #0000FF, #007F00, #FF00FF }
Nodes
= { Node01, Node02, Node03, ..., Node 30}
Solution
= { Node01 = #FF0000, Node02 = #0000FF, ..., Node 30 = #007F00}
How many possible solutions are there?
4 4 4 4 4 ... 4 = 430
= 1 152 921 504 606 846 976
At a rate of 1 solution / second, how long will it take to check them all ?
1267650600228229401496703205376 / (60 60 24 365.25)
36 533 877 880 years
Robert Collier
4
Slide 5
Graph Colouring Example
There may or may not be a perfect solution to this problem, but consider...
The left solution violates 21 constraints while the right solution violates only 3.
Therefore we can conclude that the right solution is superior to the left.
Even if there is no perfect solution, there is a solution as good or better than all others.
Robert Collier
5
Slide 6
Definition: The Genetic Algorithm
The Genetic Algorithm is a Population Simulation that uses the
principles of Darwinian Evolution to solve Optimization Problems.
Robert Collier
6
Slide 7
Course Outline
Instructor:
Robert Collier
Office Hours:
E-mail:
Course Website:
Wednesdays (by appointment)
[email protected]
http://www.uoguelph.ca/~collierr/CIS6080/index.htm
Course Objectives:
The primary objectives of this course are:
to introduce students to the simple genetic algorithm,
to explore each of the component processes that drive the mechanism, and
to explore many of the different variations on these component processes.
The secondary objective of this course is:
to teach students how to conduct a comparative evaluation of two algorithms.
Robert Collier
7
Slide 8
Course Outline
Description:
This course introduces the student to basic genetic algorithms, which are based on
the process of natural evolution. It is explored in terms of its mathematical
foundation and applications to optimization in various domains.
Evaluation:
Assignment 1
15%
Assignment 2
15%
Assignment 3
15%
Final Project
55%
Optional Bonus Assignment
10%
Robert Collier
8
Slide 9
Course Overview
Lecture Topics:
Week 1
Foundational Material
Week 2
The Simple Genetic Algorithm
Weeks 3, 4
Component Process: Selection
Weeks 5, 6
Component Process: Variation
Weeks 7, 8
Component Process: Replication
Weeks 9, 10
Experimental Design and Statistical Analysis
Week 11
Genetic Programming, Artificial Life, etc.
Week 12
Learning Classifier Systems
Robert Collier
9
Slide 10
Foundational Material
The Genetic Algorithm is a Population Simulation that uses the
principles of Darwinian Evolution to solve Optimization Problems.
Optimization Problems is the domain of problems to be solved.
Darwinian Evolution provided the inspiration for the technique.
Population Simulations model the environment where evolution was observed.
Robert Collier
10
Slide 11
Optimization Problems
The objective is to find the best possible solution from the set of feasible solutions.
This implies:
a)
that some solutions are better than others
b)
there must be a way to quantify relative superiority
Contrast the set of Optimization Problems with:
Decision Problems
i.e. Does a particular entity meet certain criteria?
Search Problems
i.e. Where is a particular entity located in the space of all entities?
Counting Problems
i.e. How many of a particular entity are contained in the space of entities?
Robert Collier
11
Slide 12
Optimization Problems
The objective is to find the best possible solution from the set of feasible solutions.
This implies:
a)
that some solutions are better than others
b)
there must be a way to quantify relative superiority
Common Optimization Problems:
Map Colouring
Robert Collier
12
Slide 13
Optimization Problems
The objective is to find the best possible solution from the set of feasible solutions.
This implies:
a)
that some solutions are better than others
b)
there must be a way to quantify relative superiority
Common Optimization Problems:
Traveling Salesman
Sudbury
North Bay
Ottawa
Sudbury
North Bay
Ottawa
Kingston
Kingston
Toronto
London
Windsor
Robert Collier
Toronto
Hamilton
London
Hamilton
Windsor
13
Slide 14
Optimization Problems
The objective is to find the best possible solution from the set of feasible solutions.
This implies:
a)
that some solutions are better than others
b)
there must be a way to quantify relative superiority
Common Optimization Problems:
Knapsack Problem
50
30
100
Robert Collier
90
40
50
90
100
30
90
40
14
Slide 15
Simplistic Approaches
Exhaustive Approach
Every element of the set of feasible solutions can be tested.
Greedy Approach
A candidate solution can often be constructed in stages, and the component added
at each stage is the one offering the most immediate benefit.
Consider the implications of these approaches?
Example: How can the minimum of y = x2 be found (without the derivative)?
F(x) =
Why look at neighbours?
Why the superior neighbour?
x=
Robert Collier
15
Slide 16
Complex Candidate Solution Spaces
The set of candidate solutions is typically a space of candidate solutions...
... however, this space can be very complex.
F'(x) =
x=
Robert Collier
16
Slide 17
Complex Candidate Solution Spaces
The set of candidate solutions is typically a space of candidate solutions...
... however, this space can be very complex.
F'(x) =
x=
For a two dimensional solution (i.e. an ordered pair (x, y)),
the space is often conceptualized as a landscape.
An intuitive approach directly results from this analogy...
Robert Collier
17
Slide 18
Hill Climbing Approach
solution = selectRandomSolution()
best_fitness_so_far = getFitnessOf(solution)
other_solutions_remaining = TRUE
WHILE other_solutions_remaining
other_solutions_remaining = FALSE
other_solutions = getNeighbouringSolutions(solution)
FOR EACH neighbouring_solution IN other_solutions
IF getFitnessOf(neighbouring_solution) > best_fitness_so_far
best_fitness_so_far = getFitnessOf(neighbouring_solution)
solution := neighbouring_solution
other_solutions_remaining = TRUE
END IF
END FOR
END WHILE
RETURN solution
Robert Collier
18
Slide 19
Simulated Annealing Approach
solution = selectRandomSolution()
current_fitness = getFitnessOf(solution)
temperature = starting_temperature
WHILE termination_criteria_not_met
neighbouring_solution = getRandomNeighbour(solution)
IF getFitnessOf(neighbouring_solution) > best_fitness_so_far
current_fitness = getFitnessOf(neighbouring_solution)
solution = neighbouring_solution
ELSE
IF random < exp(- (current_fitness - getFitnessOf(neighbouring_solution)) )
temperature
current_fitness = getFitnessOf(neighbouring_solution)
solution = neighbouring_solution
END IF
END IF
reduce(temperature)
END WHILE
RETURN solution
Robert Collier
19
Slide 20
Summary of Optimization Problems
Optimization Problems are solved by finding the best possible solution
(i.e. the optima) from the space of candidate solutions.
Some candidate solutions are better than others.
Some candidate solutions are closer together and some are further apart.
Candidate solution spaces are often complex, and hill climbing alone is
not sufficient (as they become trapped at local optima)
Processes observed in the natural world (i.e. annealing, evolution) can
serve as inspiration for effective optimization approaches.
Robert Collier
20
Slide 21
Foundational Material
The Genetic Algorithm is a Population Simulation that uses the
principles of Darwinian Evolution to solve Optimization Problems.
Optimization Problems is the domain of problems to be solved.
Darwinian Evolution provided the inspiration for the technique.
Population Simulations model the environment where evolution was observed.
Robert Collier
21
Slide 22
Relevant Biology
Important Definitions
Robert Collier
Chromosome
a structure defining an organism's properties
Gene
a component of a chromosome
Trait
a property encoded by one of more genes
Allele
a possible value setting for a trait
Locus
a position in a chromosome
Genotype
the genetic constitution of an organism
Phenotype
the physical constitution of an organism
22
Slide 23
Context for the Analogous Biology
Solutions to the map colouring problem discussed previously...
Colours
= { #FF0000, #0000FF, #007F00, #FF00FF }
Nodes
= { Node01, Node02, Node03, ..., Node 50}
Solution
= { Node01 = #FF0000, Node02 = #0000FF, ..., Node 50 = #007F00}
How could a chromosome be constructed from this information?
Possible Encodings:
String? Character? Integer? Binary? Other?
Integer Valued Chromosome
013213021302130132031230 ... 13203
Binary Chromosome
010100101111010101111010 ... 01011
Traits? Alleles? Loci?
Robert Collier
23
Slide 24
Biomimicry and the Natural World
Leonardo Da Vinci's sketch of a flying machine was inspired by the form of a bird.
Biomimicry uses natural processes as inspiration for solving problems. Why?
... because the natural world has solved many complex problems. How?
... through the process of natural selection.
Robert Collier
24
Slide 25
Natural Selection
The process by which traits become more or less common,
according to the survival and/or reproduction of organisms with those traits.
carbonaria
typica
These moths are an example of a solution to the problem of camouflage.
Robert Collier
25
Slide 26
The Evolutionary Mechanism
“as new modifications will necessarily continue to operate, however
slowly, not only will there continually be found new species, new genera,
and new orders, but each species will vary in some part of its structure
and form ... individuals which from special causes are transported into
very different situations from those where the others occur, and then
constantly submitted to other influences - the former, I say, assume new
forms, and then they constitute a new species”
Jean-Baptiste Lamarck
Philosophie Zoologique, 1809
... believed there were complexifying and adaptive forces at work
... believed that traits acquired over an organism's life could be transferred to offspring
Robert Collier
26
Slide 27
The Evolutionary Mechanism
Darwin proposed the process of Natural Selection
Instead of Lamarck's complexifying force, genetic variation causes diversity in
the chromosomes of living things, and those better suited to their environment
are more likely to survive and pass the various traits to their offspring.
What are the key elements of this process?
Variation
Evaluation
Selection
Replication
Robert Collier
27
Slide 28
Summary of Darwinian Evolution
Genetic algorithm terminology borrows heavily from biology.
The natural world has already solved many complex problems.
Natural selection states that variations appear in populations, and those
variations that are beneficial are transmitted to future generations.
The component processes of the evolutionary mechanism are:
Evaluation, Selection, Variation, and Replication
Any system with these processes is an evolving system.
Robert Collier
28
Slide 29
Foundational Material
The Genetic Algorithm is a Population Simulation that uses the
principles of Darwinian Evolution to solve Optimization Problems.
Optimization Problems is the domain of problems to be solved.
Darwinian Evolution provided the inspiration for the technique.
Population Simulations model the environment where evolution was observed.
Robert Collier
29
Slide 30
Simulation Basics
"The imitation of the operation of a real-world process or system over time."
A population of organisms ...
... in which the likelihood that an organism survives or reproduces is proportional
the degree to which that organism can solve a particular optimization problem.
The components of the evolutionary mechanism:
Robert Collier
Variation
Selection
Evaluation
Replication
30
Slide 31
Population Simulation
Two Simplifying Assumptions:
1. Each member of the population lives for exactly one generation.
2. The population size never changes (i.e. complete replacement)
Population at Time t
Terminate?
Robert Collier
Population at Time t+1
The Evolutionary
Mechanism
31
Slide 32
Overview of the Genetic Algorithm
Initialization
Evaluation
Replication
Variation
Terminate?
false
Selection
true
Termination
Robert Collier
32
Slide 33
The remaining slides have been
omitted from this preview.
This graduate level course in genetic
algorithms was developed and taught by
Robert Collier, MSc, BSc.
It was most recently offered at the
University of Guelph during the summer
2011 semester.