What is Evolutionary Computation?. Evolutionary computation (EC) is a biologically inspired computational concept that is derived from the evolutionary process of nature.. Flavors" of Evolutionary Computation. Genetic AlgorithmsGenetic ProgrammingEvolutionary ProgrammingEvolutionary Strategie
1. Why Should Mathematicians And Computer Scientists Be Interested In Evolutionary Computation? Gary R. Greenfield
Mathematics and Computer Science
University of Richmond
Richmond, Virginia USA
2. What is Evolutionary Computation? Evolutionary computation (EC) is a biologically inspired computational concept that is derived from the evolutionary process of nature.
3. “Flavors” of Evolutionary Computation Genetic Algorithms
Ant Colony, Particle, and Swarm Methods
4. EC Applications Simulation
Art and Music
5. EC Conferences GECCO – Genetic and Evolutionary Computation Conference
CEC – IEEE Congress on Evolutionary Computation
EuroGP, EvoCOP, et al – European Conference on Genetic Programming, Evolutionary Computation in Combinatorial Optimization, and EvoWorkshops (re-emerging in ’07 as EvoCOMP)
FOGA – Foundations of Genetic Programming
6. AL – Artificial Life Conference
ECAL – European Conference on Artificial Life
ACO – Ant Colony Optimization
MIC – International Metaheuristics Conference
SAB – Simulation of Adaptive Behavior
PPSN – Parallel Problem Solving from Nature
7. EC Journals and Books Evolutionary Computation
Genetic Algorithms – Goldberg
Genetic Algorithms – Mitchell
Genetic Programming I, II, III, IV – Koza
Genetic Programming - Banzhaf
Emergent Computation - Forrest
Ant Colony Optimization – Dorigo et al
Evolutionary Robotics – Nolfi et al
Evolutionary Computation – De Jong
8. EC Origins John Holland (’75?) - Genetic Algorithms (for classifier systems): “Computer programs that `evolve’ in ways that resemble natural selection can solve complex problems even their creators do not fully understand”
Robert Axelrod (’84?) – Iterated Prisoner’s Dilemma
9. Genetic Algorithms -- Particulars Population of binary strings
Genotypes – contiguous segments are genes
Genotype to Phenotype
Mutation (bit flipping)
10. Toy Example #1 Chaotic 1-dim CA’s:
Genotype – 00010111
Phenotype – Rule Table:
000 -> 0
000 -> 0
010 -> 0
011 -> 1
111 -> 1
11. Toy Example #2 (cf. D. Hillis) Sorting Networks
e.g. 0001 0110 …
12. Genetic Programming -- Particulars Population – binary trees
Leaf nodes – terminals
Internal nodes – operators
+, -, *, (protected) /, etc.
Evaluation – (post-order) traversal
Recombination (subtree crossover)
13. Toy Example: Even Parity
14. Koza’s Original GP Test Suite Force Balancing Controller
Ant Trail Learning Problem
Boolean Multiplexer Problem
15. The “HUMIES” Human Competitive Awards
Backgammon playing (Sipper)
Image compression (Miikkulainen )
Quantum computer algorithms (Clark)
Photonic crystal design (Lipson)
Optical lens systems (Koza)
Mars rover mission planning (Terrile)
16. Combinatorial Optimization Idea: Find satisfactory algorithms for “solving” NP-hard graph problems arising in scheduling, distribution, routing, etc.
Subgraph isomorphism problem
Graph bisection problem
Graph edit distance problem
Maximal common subgraph problem
Graph coloring problem
Three index assignment problem
Traveling salesperson problem
Maximum clique problem
17. Early Work of Karl Sims (’91) Artificial evolution of images
(’94) Evolved Behavior
18. Getting Started… … or how I learned to stop worrying and love interactive artificial evolution.
Sample image processing primitives for use in the method of “evolving expressions”
19. Sample Evolved Image
22. Expressionism IV
23. Fast Forward to 1999 Non-interactive image evolution using a co-evolutionary model with images as hosts and digital convolution filters as prey.
24. The Co-evolutionary Arms Race
25. The Fitness “Contest”
26. Fast Forward to 2001 Evolving Expressions coupled with an image segmentation algorithm parameterized by a vector of coefficients admits a non-interactive approach…
High res -> low res -> 50 segs -> 25 segs
27. Fitness Functions! With image fitness evaluated using functions such as:
28. Evolved Images
29. Planar Graphs? What does one make of the following images evolved using
which maximizes the number of segmented region adjacencies, where two regions are adjacent if and only if they have a common boundary edge?
30. (Segmented) Examples
31. Constructing G from I Let G be the graph whose vertices correspond to the segmented regions of I, where two vertices are joined by an edge if and only if their corresponding segments are adjacent.
Theorem. G is a simple, connected planar graph.
Recall. A planar graph G is maximal planar if and only if e = 3v-6.
Moral. Maximizing F(I) is equivalent to finding (evolving?) an image with a segmentation that yields a maximal planar graph.
32. Maximal Planar (v = 25) Gallery
33. An Aside Theorem: A planar graph G can be realized as the graph arising from the adjacencies of a region decomposition (i.e., partition of some s x t array) if and only if for every face f - except possibly the face at infinity - the maximum length of a “cycle of f” is four.
34. Take-Away Messages EC is here to stay!
Computer science applications
Ignore EC at your peril!
EC vis-a-vis theoretical computer science and mathematics may be complementary!
35. Thank-you! [email protected]