Presentation is loading. Please wait.

Presentation is loading. Please wait.

Evolutionary Computation Melanie Mitchell Portland State University and Santa Fe Institute Complex Systems Summer School Thursday June 19, 2008 Copyright.

Similar presentations


Presentation on theme: "Evolutionary Computation Melanie Mitchell Portland State University and Santa Fe Institute Complex Systems Summer School Thursday June 19, 2008 Copyright."— Presentation transcript:

1 Evolutionary Computation Melanie Mitchell Portland State University and Santa Fe Institute Complex Systems Summer School Thursday June 19, 2008 Copyright © 2008 by Melanie Mitchell

2 Outline of Lectures Brief history of evolutionary computation A simple example: Evolving Robby the Robot EC in the real world: Case studies Co-evolutionary learning

3 Adaptive Computation Using ideas from natural adaptive systems to build adaptive or “life-like” computing systems. –Neural networks –Genetic algorithms –Cellular automata –Ant-colony optimization –Swarm computing –Artificial immune systems –Market-inspired artificial intelligence

4 Evolution made simple Essentials of Darwinian evolution: –Organisms reproduce in proportion to their fitness in the environment –Offspring inherit traits from parents –Traits are inherited with some variation, via mutation and sexual recombination Charles Darwin 1809–1882

5 Evolution made simple Essentials of Darwinian evolution: –Organisms reproduce in proportion to their fitness in the environment –Offspring inherit traits from parents –Traits are inherited with some variation, via mutation and sexual recombination Essentials of evolutionary algorithms: –Computer “organisms” (e.g., programs) reproduce in proportion to their fitness in the environment (e.g., how well they perform a desired task) –Offspring inherit traits from their parents –Traits are inherited, with some variation, via mutation and “sexual recombination”

6 Appeal of ideas from evolution: Successful method of searching large spaces for good solutions (chromosomes / organisms) Massive parallelism Adaptation to changing environments Emergent complexity from simple rules

7 Evolutionary Computation: A Brief History 1940s –1950s: –“Automata theory” considered to be both an engineering discipline and an approach to theoretical biology (e.g., von Neumann, Wiener, Turing) 1960s - 1970s: –Evolutionary programming (Fogel, Owens, and Walsh) –Evolution strategies (Rechenberg and Schwefel) –Genetic algorithms (Holland)

8 Evolutionary Computation: A Brief History 1980s –1990s: –Genetic Programming (Koza) –“Evolutionary Computation”

9 EC in the real world: A few examples Automating parts of aircraft design (Boeing) Analyzing satellite images (Los Alamos) Automating assembly line scheduling (John Deere) Improving telecommunications networks (British Telecom) Generating realistic computer animation (The Lord of the Rings, Troy)

10 Drug discovery (Daylight Chemical Information Systems) Detecting fraudulent stock trades (London Stock Exchange) Analysis of credit card data (Capital One) Forecasting financial markets and portfolio optimization (First Quadrant). Interactive evolution for graphics design (Karl Sims)

11 A Simple Example: Using Genetic Algorithms to Evolve Robby the Robot

12 What Robby can see: North: empty South: empty East: empty West: can Center: empty

13 North: wall South: empty East: wall West: empty Center: empty

14 What Robby can do: Actions 0: Move north 1: Move south 2: Move east 3: Move west 4: Stay put 5: Pick up can 6: Random move

15 Example Strategy (243 possible “situations” or states) 0 1 2 3 242

16 Genetic Algorithm Components of a GA: Population of candidate solutions to a given problem (“chromosomes”) Fitness function that assigns fitness to each chromosome in the population Selection operator that selects individuals to reproduce Genetic operators that take existing chromosomes and produce offspring with variation (e.g., mutation, crossover)

17 Evolving Robby: Details Repeat for 1000 generations: 1.Generate initial population of 200 random strategies. 2.Calculate the fitness of each strategy in the population. 3.Apply evolution to the current population of strategies to create a new population of 200 strategies. 4.Return to step 2 with this new generation.

18 Example random initial population Individual 1: 23300323421630343530546006102562515114162260435654334066511514 15650220640642051006643216161521652022364433363346013326503000 40622050243165006111305146664232401245633345524126143441361020 150630642551654043264463156164510543665346310551646005164 Individual 2: 16411343121025360340361241431201104235462525304202044516433665 61035322153105131440622120614631432154610256523644422025340345 30502005620634026331002453416430151631210012214400664012665246 351650154123113132453304433212634555005314213064423311000 Individual 3: 20423344402411226132136452632464212206122122252660626144436125 32512664061335340153411110206164226653145522540234051155031302 22020065445125062206631426135532010000400031640130154160162006 134440626160505641421553133236021503355131253632642630551 Individual 200: 34632525136001012225612106043301135205155320130656005322235043 32425064124255265534635345523053326612010632124554423440613654 30246240160663016464641103026540006334126150352262106063624260 550616616344255124354464110023463330440102533212142402251

19 Calculate the fitness of each strategy Points: Successfully picks up can: 10 Tries to pick up can in empty site: -1 Crashes in to wall: -5 (bounces back to original site)

20 23300323421630343530546006102562515114162260435654334066511514 15650220640642051006643216161521652022364433363346013326503000 40622050243165006111305146664232401245633345524126143441361020 150630642551654043264463156164510543665346310551646005164 Run for 200 actions per session, 100 different random sessions. Fitness = average number of points per session... Calculate the fitness of each strategy

21 Apply evolution to the current population of strategies to create a new population of 200 strategies. Individual 1: 23300323421630343530546006102562515114162260435654334066511514 Fitness: -80 15650220640642051006643216161521652022364433363346013326503000 40622050243165006111305146664232401245633345524126143441361020 150630642551654043264463156164510543665346310551646005164 Individual 2: 16411343121025360340361241431201104235462525304202044516433665Fitness: -120 61035322153105131440622120614631432154610256523644422025340345 30502005620634026331002453416430151631210012214400664012665246 351650154123113132453304433212634555005314213064423311000 Individual 3: 20423344402411226132136452632464212206122122252660626144436125Fitness: 0 32512664061335340153411110206164226653145522540234051155031302 22020065445125062206631426135532010000400031640130154160162006 134440626160505641421553133236021503355131253632642630551 Individual 200: 34632525136001012225612106043301135205155320130656005322235043Fitness: -11 32425064124255265534635345523053326612010632124554423440613654 30246240160663016464641103026540006334126150352262106063624260 550616616344255124354464110023463330440102533212142402251

22 Select pair of parents, crossover, and mutate Parent 1: 20423344402411226132136452632464212206122122252660626144436125 32512664061335340153411110206164226653145522540234051155031302 22020065445125062206631426135532010000400031640130154160162006 134440626160505641421553133236021503355131253632642630551 Parent 2: 34632525136001012225612106043301135205155320130656005322235043 32425064124255265534635345523053326612010632124554423440613654 30246240160663016464641103026540006334126150352262106063624260 550616616344255124354464110023463330440102533212142402251 Cross over parents

23 Select pair of parents, crossover, and mutate Parent 1: 20423344402411226132136452632464212206122122252660626144436125 3251266406133534015341111020616 4226653145522540234051155031302 22020065445125062206631426135532010000400031640130154160162006 134440626160505641421553133236021503355131253632642630551 Parent 2: 34632525136001012225612106043301135205155320130656005322235043 32425064124255265534635345523053326612010632124554423440613654 3024624016066301646464110302654 0006334126150352262106063624260 550616616344255124354464110023463330440102533212142402251 Cross over parents

24 Select pair of parents, crossover, and mutate Parent 1: 20423344402411226132136452632464212206122122252660626144436125 3251266406133534015341111020616 4226653145522540234051155031302 22020065445125062206631426135532010000400031640130154160162006 134440626160505641421553133236021503355131253632642630551 Parent 2: 34632525136001012225612106043301135205155320130656005322235043 3242506412425526553463534552305 3326612010632124554423440613654 3024624016066301646464110302654 0006334126150352262106063624260 550616616344255124354464110023463330440102533212142402251 Cross over parents

25 Select pair of parents, crossover, and mutate Parent 1: 20423344402411226132136452632464212206122122252660626144436125 3251266406133534015341111020616 4226653145522540234051155031302 22020065445125062206631426135532010000400031640130154160162006 134440626160505641421553133236021503355131253632642630551 Parent 2: 34632525136001012225612106043301135205155320130656005322235043 3242506412425526553463534552305 3326612010632124554423440613654 3024624016066301646464110302654 0006334126150352262106063624260 550616616344255124354464110023463330440102533212142402251 Child 1: 20423344402411226132136452632464212206122122252660626144436125 3251266406133534015341111020616 3326612010632124554423440613654 3024624016066301646464110302654 0006334126150352262106063624260 550616616344255124354464110023463330440102533212142402251 Child 2: 34632525136001012225612106043301135205155320130656005322235043 3242506412425526553463534552305 4226653145522540234051155031302 22020065445125062206631426135532010000400031640130154160162006 134440626160505641421553133236021503355131253632642630551 Cross over parents

26 Select pair of parents, crossover, and mutate Parent 1: 20423344402411226132136452632464212206122122252660626144436125 3251266406133534015341111020616 4226653145522540234051155031302 22020065445125062206631426135532010000400031640130154160162006 134440626160505641421553133236021503355131253632642630551. Parent 2: 34632525136001012225612106043301135205155320130656005322235043 3242506412425526553463534552305 3326612010632124554423440613654 3024624016066301646464110302654 0006334126150352262106063624260 550616616344255124354464110023463330440102533212142402251 Child 1: 20423344402411226132136452632464212206122122252660626144436125 3251266406133534015341111020616 3326612010632124554423440613654 3024624016066301646464110302654 0006334126150352262106063624260 550616616344255124354464110023463330440102533212142402251. Child 2: 34632525136001012225612106043301135205155320130656005322235043 3242506412425526553463534552305 4226653145522540234051155031302 22020065445125062206631426135532010000400031640130154160162006 134440626160505641421553133236021503355131253632642630551 Mutate: At each locus, with low probability, replace digit by random digit in [0,6]

27 Select pair of parents, crossover, and mutate Parent 1: 20423344402411226132136452632464212206122122252660626144436125 3251266406133534015341111020616 4226653145522540234051155031302 22020065445125062206631426135532010000400031640130154160162006 134440626160505641421553133236021503355131253632642630551 Parent 2: 34632525136001012225612106043301135205155320130656005322235043 3242506412425526553463534552305 3326612010632124554423440613654 3024624016066301646464110302654 0006334126150352262106063624260 550616616344255124354464110023463330440102533212142402251 Child 1: 20423344402411226132136452632465212206122122252660626144436125 3251266406133534015341111022616 3326612010632124554423440613654 3024624016066301646464110302654 0006334126150352262106063624260 550616616344255124354464110023463330440102033212142402251 Child 2: 34632525136001012225612106043301135205155320130656005322235043 3242502412425526553463534542305 4226653145522540234051155031302 22020065445125062206631466135532010000400031640130154160162006 134440626160505641421553133236021603355131253632642630551 Mutate: At each locus, with low probability, replace digit by random digit in [0,6]

28 Select pair of parents, crossover, and mutate Parent 1: 20423344402411226132136452632464212206122122252660626144436125 3251266406133534015341111020616 4226653145522540234051155031302 22020065445125062206631426135532010000400031640130154160162006 134440626160505641421553133236021503355131253632642630551. Parent 2: 34632525136001012225612106043301135205155320130656005322235043 3242506412425526553463534552305 3326612010632124554423440613654 3024624016066301646464110302654 0006334126150352262106063624260 550616616344255124354464110023463330440102533212142402251 Child 1: 20423344402411226132136452632465212206122122252660626144436125 3251266406133534015341111022616 3326612010632124554423440613654 3024624016066301646464110302654 0006334126150352262106063624260 550616616344255124354464110023463330440102033212142402251 Child 2: 34632525136001012225612106043301135205155320130656005322235043 3242502412425526553463534542305 4226653145522540234051155031302 22020065445125062206631466135532010000400031640130154160162006 134440626160505641421553133236021603355131253632642630551 Add children to new generation

29 Select pair of parents, crossover, and mutate Parent 1: 20423344402411226132136452632464212206122122252660626144436125 3251266406133534015341111020616 4226653145522540234051155031302 22020065445125062206631426135532010000400031640130154160162006 134440626160505641421553133236021503355131253632642630551. Parent 2: 34632525136001012225612106043301135205155320130656005322235043 3242506412425526553463534552305 3326612010632124554423440613654 3024624016066301646464110302654 0006334126150352262106063624260 550616616344255124354464110023463330440102533212142402251 Child 1: 20423344402411226132136452632465212206122122252660626144436125 3251266406133534015341111022616 3326612010632124554423440613654 3024624016066301646464110302654 0006334126150352262106063624260 550616616344255124354464110023463330440102033212142402251 Child 2: 34632525136001012225612106043301135205155320130656005322235043 3242502412425526553463534542305 4226653145522540234051155031302 22020065445125062206631466135532010000400031640130154160162006 134440626160505641421553133236021603355131253632642630551 Continue this process until new generation is full (200 strings) Replace current population with new generation. Repeat algorithm for a total of 1000 generations

30 Strategy M (Designed by me): Strategy G (evolved by GA): 25435515325623525105635546115133615415103415611055015005203025 62561322523503251120523330540552312550513361541506652641502665 06012264453605631520256431054354632404350334153250253251352352 04515013015621343625235322313505126051335620152451434343212 “If there is a can in the current site, pick it up. Otherwise, if there is a can in one of the adjacent sites, move to that site. Otherwise, choose a random direction to move in.” 6563536562523532526563536561513531512523532521513531516535365 6252353252656353656050353050252353252050353050151353151223532 5215135315105035305025235325205035305065635365625235325256353 656151353151252353252151353151656353656252353252656353454

31 Fitness: 346 (out of maximum  500) Fitness: 483 (out of maximum  500)

32 Strategy M in a cluster of cans

33 Strategy G in a cluster of cans

34

35 Dynamics from one run Best fitness Generation

36 Evolutionary Computation in the Real World: Case Studies

37 Any computer program can be expressed as a “parse tree”: (* PI (* R R)) Genetic Programming (Koza, 1990)

38 1. Choose a set of functions and terminals for the program, e.g., {+, -, *, /, sqrt, sin, cos, abs, pow, R, PI, D, C, rand()} 2. Generate an initial population of random programs (trees), each up to some maximum depth. Koza’s genetic programming algorithm:

39

40 3. Run the GA: –Fitness: Run each program on “training data”. Fitness is how many training cases the program gets right (or how close it gets to correct answer). –Selection: Select parents probabilistically, based on fitness. –Crossover: Exchange subtrees of parents. –Mutation: Replace subtree with a random tree.

41 Genetic Art and Computer Graphics (Karl Sims, 1993) GA individuals: equations that generate a color for each pixel coordinate Function set: +, -, /, mod, round, min, max, abs, expt, log, and, or, xor, sin, cos, atan, if, dissolve, hsv-to-rgb, vector, transform-vector, bw-noise, color-noise, warped-bw- noise, warped-color-noise, blur, band-pass, grade-mag, grad-dir, bump, ifs, warped-ifs, warp-abs, warp-rel, warp-by-grad Terminal set: X, Y, rand_scalar(), rand_vector(n)

42 Each function returns an image (an array of pixel colors)

43 Left to right, top to bottom: a.Y b.X c.(abs X) d.(mod X (abs Y)) e.(and X Y) f.(bw-noise.2 2) g.(color-noise.1 2) h.(grad-direction (bw-noise.15 2) 0 0) i.(warped-color-noise (* X.2) Y.1 2)

44 Demo http://www.jhlabs.com/java/art.html

45 Some Results

46 (round (log (+ y (color-grad (round (+ (abs (round (log (+ y (color-grad (round (+ y (log (invert y) 15.5)) x) 3.1 1.86 #(0.95 0.7 0.59) 1.35)) 0.19) x)) (log (invert y) 15.5)) x) 3.1 1.9 #(0.95 0.7 0.35) 1.35)) 0.19) x)

47

48

49

50

51 Evolution of Collective Computation in Cellular Automata Jim Crutchfield Rajarshi Das Wim Hordijk Melanie Mitchell Erik van Nimwegen Cosma Shalizi

52 One-dimensional cellular automata

53 Rule:

54 One-dimensional cellular automata Rule:

55 One-dimensional cellular automata Rule:

56 One-dimensional cellular automata Rule:

57 One-dimensional cellular automata Rule:

58 Space Time Space-time diagram ECA 110

59 Cellular automata as computers: Current renewal of interest due to: –Distributed spatial computing in sensor networks –Reconfigurable computing (FPGAs) –Molecular and quantum-scale computation (e.g., quantum dot cellular automata; molecular self- assembly of nanoscale electronics) –Renewed interest in how biological systems compute (and how that can inspire new computer architectures) –A “new kind of science”?

60 A computational task for cellular automata

61 Design a cellular automata to decide whether or not the initial pattern has a majority of “on”cells. A computational task for cellular automata

62 Design a cellular automata to decide whether or not the initial pattern has a majority of “on”cells. –If a majority of cells are initially on, then after some number of iterations, all cells should turn on A computational task for cellular automata

63 Design a cellular automata to decide whether or not the initial pattern has a majority of “on”cells. –If a majority of cells are initially on, then after some number of iterations, all cells should turn on –Otherwise, after some number of iterations, all cells should turn off. A computational task for cellular automata

64 majority on initial

65 majority on initial final

66 majority offmajority on initial final

67 majority offmajority on initial final

68 majority offmajority on initial final How to design a CA to do this?

69 We used cellular automata with 6 neighbors for each cell: Rule:......

70 A candidate solution that does not work: local majority voting

71 Evolving cellular automata with genetic algorithms

72 Create a random population of candidate cellular automata rules Evolving cellular automata with genetic algorithms

73 Create a random population of candidate cellular automata rules The “fitness” of each cellular automaton is how well it performs the task. (Analogous to surviving in an environment.) Evolving cellular automata with genetic algorithms

74 Create a random population of candidate cellular automata rules The “fitness” of each cellular automaton is how well it performs the task. (Analogous to surviving in an environment.) The fittest cellular automata get to reproduce themselves, with mutations and crossovers. Evolving cellular automata with genetic algorithms

75 Create a random population of candidate cellular automata rules The “fitness” of each cellular automaton is how well it performs the task. (Analogous to surviving in an environment.) The fittest cellular automata get to reproduce themselves, with mutations and crossovers. This process continues for many generations. Evolving cellular automata with genetic algorithms

76 The “chromosome” of a cellular automaton is an encoding of its rule table:

77 Rule table:...

78 The “chromosome” of a cellular automaton is an encoding of its rule table: Rule table: “Chromosome”: 0 0 1 1...... 0

79 Create a random population of candidate cellular automata rules:

80 rule 1: 0010001100010010111100010100110111000... rule 2: 0001100110101011111111000011101001010... rule 3: 1111100010010101000000011100010010101.... rule 100: 0010111010000001111100000101001011111...

81 Calculating the Fitness of a Rule

82 For each rule, create the corresponding cellular automaton. Run that cellular automaton on many initial configurations.

83 Calculating the Fitness of a Rule For each rule, create the corresponding cellular automaton. Run that cellular automaton on many initial configurations. Fitness of rule = fraction of correct classifications

84 For each cellular automaton rule in the population:

85 rule 1: 0010001100010010111100010100110111000...1 For each cellular automaton rule in the population:

86 rule 1: 0010001100010010111100010100110111000...1 Create rule table For each cellular automaton rule in the population:

87 rule 1: 0010001100010010111100010100110111000...1 Create rule table For each cellular automaton rule in the population:...

88 rule 1 rule table:...

89 Run corresponding cellular automaton on many random initial lattice configurations rule 1 rule table:...

90 Run corresponding cellular automaton on many random initial lattice configurations incorrect rule 1 rule table:..........

91 Run corresponding cellular automaton on many random initial lattice configurations incorrectcorrect rule 1 rule table:.............

92 Run corresponding cellular automaton on many random initial lattice configurations incorrectcorrect etc. rule 1 rule table:.............

93 Run corresponding cellular automaton on many random initial lattice configurations incorrectcorrect etc. rule 1 rule table:............. Fitness of rule = fraction of correct classifications

94 GA Population:

95 rule 1: 0010001100010010111100010100110111000... Fitness = 0.5 rule 2: 0001100110101011111111000011101001010... Fitness = 0.2 rule 3: 1111100010010101000000011100010010101... Fitness = 0.4. rule 100:0010111010000001111100000101001011111... Fitness = 0.0 GA Population:

96 majority on A cellular automaton evolved by the genetic algorithm (Performance  80%) majority off

97 Another Task: Synchronization

98 Evolving image-processing algorithms GENIE project (GENetic Image Exploitation), Los Alamos National Laboratory Brumby, Harvey, Perkins, Porter, Bloch, Szymanski, et al.

99 Consider a large library of multi-spectral photographic images from satellites and high-flying airplanes.

100

101 How to automatically find images containing desired features? E.g., water, clouds, craters on Mars, forest fire damage, vegetation, urban areas, roads, airports, bridges, beaches,...

102 Special-purpose algorithms can (possibly) be developed for any particular feature, but goal of GENIE project is to have a general-purpose system:

103 Special-purpose algorithms can (possibly) be developed for any particular feature, but goal of GENIE project is to have a general-purpose system: A user can specify any feature (via training examples), and system will quickly find images containing that feature.

104 Training Examples for GENIE Input images consist of ~10-100 spectral planes. User brings up training image(s) in GUI User paints examples of “true” and “false” pixels.

105 From Brumby et al., 2000

106 Human created training images Green = “feature” Red = “non-feature” Black = “not classified” Roads Vegetation Water

107 Data and Feature Planes Data planes (spectral channels) “Feature” planes Truth plane

108 What GENIE Evolves GENIE evolves an image processing algorithm that operates on data planes to produce a new set of feature planes. New feature planes are used as training data for conventional classifiers (e.g., linear discriminants, neural networks, support vector machines)

109 GENIE’s Gene’s Genes are elementary image-processing operations that read from data planes (spectral channels) or feature planes and write to feature planes e.g., addp(d1, d2, s2) linear_comb(s2, s1, s1, 0.9) erode(s1, s1, 3, 1) Elementary operators include spectral, morphological, logical, and thresholding operators

110 GENIE’s Chromosomes Chromosomes are algorithms made up of genes lawd (d3, s2); Law’s textural operator variance (s2, s2, 3, 1) ; local variance in circular neighb. min(d1, d2, s1); min at each pixel location linear_comb (s1, d0, s1, 0.9) smooth_r5r5 (s2, s2); textural operator r5r5 open (s2,s2, 3,1); erode, then dilate subp (d1, s1, s1); subtract planes min (d0, s2, s2) adds (d1, s0, 0.25); add scalar opcl (s1,s1, 1, 1); erode, dilate, dilate, erode h_basin (s0, s0, 18); regional minima linear_comb (s0, d9, s0, 0.2) linear_comb (d4, s2, s2, 0.9) addp (d6, s0, s0); add planes

111 GENIE’s Population Initial population is a set of 20-50 randomly generated chromosomes: awd (d3, s2) variance (s2, s2, 3, 1) min(d1, d2, s1) linear_comb (s1, d0, s1, 0.9) smooth_r5r5 (s2, s2) open (s2,s2, 3,1) subp (d1, s1, s1) min (d0, s2, s2) adds (d1, s0, 0.25) opcl (s1,s1, 1, 1) erode(d3, s2,3,1) linear_comb (d2, d1, s2, 0.5) min (s1, s2, s2) open (s2,s2, 3,1) open (s1,s2, 1,1) variance (s2, s2, 3, 1) addp (s1, s0, s2) smooth_r5r5 (d1, s3) opcl (s1,s1, 1, 3) lawd(d2, s0) subp (s1, s1, s1)

112 GENIE’s Fitness Fitness: –Run chromosome on image data to produce feature planes. –Find linear combination of planes that maximizes spectral separation between labeled “true” and “false” pixels. –Threshold resulting plane to get binary image (each pixel is 1 or 0): –1 = feature, 0= non-feature –Use threshold that will maximize fitness

113 GENIE’s Fitness –Fitness: where R d is detection rate: fraction of “feature” pixels (green) classified correctly R f is false alarm rate: fraction of non-feature pixels (red) classified incorrectly F=1000 is perfect fitness.

114 The GA Selection: Selection some number of best in population Crossover: Recombine different genes from two different parents Mutation: Randomly change a chosen gene

115 awd (d3, s2) variance (s2, s2, 3, 1) min(d1, d2, s1) linear_comb (s1, d0, s1, 0.9) smooth_r5r5 (s2, s2) open (s2,s2, 3,1) subp (d1, s1, s1) min (d0, s2, s2) adds (d1, s0, 0.25) opcl (s1,s1, 1, 1) open (s1,s2, 1,1) variance (s2, s2, 3, 1) addp (s1, s0, s2) smooth_r5r5 (d1, s3) opcl (s1,s1, 1, 3) lawd(d2, s0) subp (s1, s1, s1) Parent 1Parent 2

116 awd (d3, s2) variance (s2, s2, 3, 1) min(d1, d2, s1) linear_comb (s1, d0, s1, 0.9) smooth_r5r5 (s2, s2) open (s2,s2, 3,1) subp (d1, s1, s1) min (d0, s2, s2) adds (d1, s0, 0.25) opcl (s1,s1, 1, 1) open (s1,s2, 1,1) variance (s2, s2, 3, 1) addp (s1, s0, s2) smooth_r5r5 (d1, s3) opcl (s1,s1, 1, 3) lawd(d2, s0) subp (s1, s1, s1) awd (d3, s2) variance (s2, s2, 3, 1) min(d1, d2, s1) linear_comb (s1, d0, s1, 0.9) smooth_r5r5 (s2, s2) open (s2,s2, 3,1) smooth_r5r5 (d1, s3) opcl (s1,s1, 1, 3) lawd(d2, s0) subp (s1, s1, s1) Parent 1 Child Parent 2

117 awd (d3, s2) variance (s2, s2, 3, 1) min(d1, d2, s1) linear_comb (s1, d0, s1, 0.9) smooth_r5r5 (s2, s2) open (s2,s2, 3,1) subp (d1, s1, s1) min (d0, s2, s2) adds (d1, s0, 0.25) opcl (s1,s1, 1, 1) open (s1,s2, 1,1) variance (s2, s2, 3, 1) addp (s1, s0, s2) smooth_r5r5 (d1, s3) opcl (s1,s1, 1, 3) lawd(d2, s0) subp (s1, s1, s1) awd (d3, s2) variance (s2, s2, 3, 1) min(d1, d2, s1) linear_comb (s1, d0, s1, 0.9) smooth_r5r5 (s2, s2) smooth_r5r5 (d1, s3) opcl (s1,s1, 1, 3) lawd(d2, s0) subp (s1, s1, s1) Parent 1 Child Parent 2

118 awd (d3, s2) variance (s2, s2, 3, 1) min(d1, d2, s1) linear_comb (s1, d0, s1, 0.9) smooth_r5r5 (s2, s2) open (s2,s2, 3,1) subp (d1, s1, s1) min (d0, s2, s2) adds (d1, s0, 0.25) opcl (s1,s1, 1, 1) open (s1,s2, 1,1) variance (s2, s2, 3, 1) addp (s1, s0, s2) smooth_r5r5 (d1, s3) opcl (s1,s1, 1, 3) lawd(d2, s0) subp (s1, s1, s1) awd (d3, s2) variance (s2, s2, 3, 1) min(d1, d2, s1) linear_comb (s1, d0, s1, 0.9) smooth_r5r5 (s2, s2) lawd(s1,s3) smooth_r5r5 (d1, s3) opcl (s1,s1, 1, 3) lawd(d2, s0) subp (s1, s1, s1) Parent 1 Child Parent 2

119 The GA is run until acceptable performance on the training examples is found. Generalization performance is evaluated, and user then creates new training example, based on generalization performance.

120 Some Results

121 From Brumby et al., 2000

122 Roads and buildings Vegetation Water Training DataEvolved classifier

123 From Brumby et al., 2000

124 Recent work by Ghosh & Mitchell Combine GENIE’s texture-learning ability with genetic shape-learning algorithm. Application: Find prostate in CAT scans of pelvic region

125 Training image, contour drawn by radiologist From Ghosh & Mitchell, 2006

126 Results from our hybrid algorithm Test image, with hand-segmentation by a radiologist Results from GENIE alone

127 Examples of Advanced EC topics Multi-objective optimization Self-adapting evolutionary algorithms Stochastic process theory of EC More realistic analogies with evolution: –Diploid chromosomes –Development of phenotype –Ecological interactions (e.g., co-evolution, spatial proximity)

128 Examples of Advanced EC topics Multi-objective optimization Self-adapting evolutionary algorithms Stochastic process theory of EC More realistic analogies with evolution: –Diploid chromosomes –Development of phenotype –Ecological interactions (e.g., co-evolution, spatial proximity)

129 Co-evolutionary Learning Melanie Mitchell (Portland State U.) Ludo Pagie (U. Utrecht) Mick Thomure (Portland State U.) Jennifer Meneghin (Portland State U.) Martin Cenek (Portland State U.)

130 Problem for GAs (and other machine learning methods): How to select training examples appropriate to different stages of learning? One solution: Co-evolve training examples, using inspiration from host- parasite co-evolution in nature.

131 Host-parasite co-evolution in nature Hosts evolve defenses against parasites Parasites find ways to overcome defenses Hosts evolve new defenses Continual “biological arms race”

132 Heliconius-egg mimicry in Passiflora http://www.ucl.ac.uk/~ucbhdjm/courses/b242/ Coevol/Coevol.html

133 Darwin recognized the importance of co-evolution in driving evolution

134 Co-evolution was later hypothesized to be major factor in evolution of sexual reproduction

135 Co-evolutionary Learning

136 Candidate solutions and training examples co-evolve.

137 Co-evolutionary Learning Candidate solutions and training examples co-evolve. –Fitness of candidate solution (host): how well it performs on training examples.

138 Co-evolutionary Learning Candidate solutions and training examples co-evolve. –Fitness of candidate solution (host): how well it performs on training examples. –Fitness of training example (parasite): how well it defeats candidate solutions.

139 Co-evolutionary Learning Candidate solutions and training examples co-evolve. –Fitness of candidate solution (host): how well it performs on training examples. –Fitness of training example (parasite): how well it defeats candidate solutions. Co evolutionary learning originally proposed by Hillis (1990).

140 Why should we expect co-evolution to work?

141 Hypotheses:

142 Why should we expect co-evolution to work? Hypotheses: 1.Allows arms races to emerge, with the evolution of training examples targeted to weaknesses in learners, and subsequent adaptation of learners to those training examples, and so on.

143 Why should we expect co-evolution to work? Hypotheses: 1.Allows arms races to emerge, with the evolution of training examples targeted to weaknesses in learners, and subsequent adaptation of learners to those training examples, and so on. 2.Helps maintain diversity in the population

144 Why should we expect co-evolution to work? Hypotheses: 1.Allows arms races to emerge, with the evolution of training examples targeted to weaknesses in learners, and subsequent adaptation of learners to those training examples, and so on. 2.Helps maintain diversity in the population Effect: Increases success of learning while reducing the amount of training data needed

145 Why should we expect co-evolution to work? Hypotheses: 1.Allows arms races to emerge, with the evolution of training examples targeted to weaknesses in learners, and subsequent adaptation of learners to those training examples, and so on. 2.Helps maintain diversity in the population Effect: Increases success of learning while reducing the amount of training data needed These hypotheses are plausible but have been largely untested in work on co-evolution.

146 Results Cellular AutomataFunction Induction Spatial Coev.64% (32/50) 78% (39/50) Non-Spatial Coev.0% (0/50) Spatial Evol.0% (0/50) 14% (7/50) Non-Spatial Evol.0% (0/50) 6% (3/50) Non-Spatial Boosting 0% (0/10)— Percentage of successful runs (mutation only)

147 Spatial Co-evolution

148 2D toroidal lattice with one host (h) and one parasite (p) per site

149 Spatial Co-evolution 2D toroidal lattice with one host (h) and one parasite (p) per site hphp hphp hphp...... hphp hphp

150 Spatial Co-evolution 2D toroidal lattice with one host (h) and one parasite (p) per site hphp hphp hphp...... hphp hphp

151 Spatial Co-evolution 2D toroidal lattice with one host (h) and one parasite (p) per site hphp hphp hphp...... hphp hphp

152 Spatial Co-evolution 2D toroidal lattice with one host (h) and one parasite (p) per site hphp hphp hphp...... hphp hphp Each h is replaced by mutated copy of winner of tournament among itself and 8 neighboring hosts.

153 Spatial Co-evolution 2D toroidal lattice with one host (h) and one parasite (p) per site hphp hphp hphp...... hphp hphp Each h is replaced by mutated copy of winner of tournament among itself and 8 neighboring hosts. Each p is replaced by mutated copy of winner tournament among itself and 8 neighboring parasites.

154 Non-Spatial Co-evolution

155 No spatial distribution of host and parasite populations

156 Non-Spatial Co-evolution No spatial distribution of host and parasite populations hosts parasites

157 Non-Spatial Co-evolution No spatial distribution of host and parasite populations hosts parasites

158 Non-Spatial Co-evolution No spatial distribution of host and parasite populations hosts parasites

159 Non-Spatial Co-evolution No spatial distribution of host and parasite populations Each h is replaced by mutated copy of winner of tournament among itself and 8 randomly chosen hosts. hosts parasites

160 Non-Spatial Co-evolution No spatial distribution of host and parasite populations Each h is replaced by mutated copy of winner of tournament among itself and 8 randomly chosen hosts. Each p is replaced by mutated copy of winner tournament among itself and 8 randomly chosen parasites. hosts parasites

161 Spatial Evolution: –Same as spatial co-evolution, except parasites don’t evolve. –A new population of random parasites is generated at each generation.

162 Spatial Evolution: –Same as spatial co-evolution, except parasites don’t evolve. –A new population of random parasites is generated at each generation. Non-Spatial Evolution: –Same as non-spatial co-evolution, except parasites don’t evolve. –A new sample of 100 random parasites is generated at each generation. –Fitness of a host is classification accuracy on these 100 randomly generated parasites

163 Results Cellular AutomataFunction Induction Spatial Coev.64% (32/50) 78% (39/50) Non-Spatial Coev.0% (0/50) Spatial Evol.0% (0/50) 14% (7/50) Non-Spatial Evol.0% (0/50) 6% (3/50) Non-Spatial Boosting 0% (0/10)— Percentage of successful runs (mutation only)

164 In short: Spatial co-evolution significantly out- performs other methods on both problems

165 Analysis Why was spatial co-evolution successful? Hypotheses: 1.Maintains diversity over long period of time 2.Creates extended “arms race” between hosts and parasite populations Here we examine these hypotheses for the CA task.

166 The GA evolves four types of strategies: –Random –Default –Block Expanding –Particle

167 “Default” strategy (performance  0.5)

168 “Block-expanding” strategy (0.55  performance < 0.72)

169 “Particle” strategy (performance  0.72)

170 Measuring diversity in host population Plot distribution of host strategies in typical CA runs RandomVery low performance DefaultLow performance Block expandingMedium performance ParticleHigh performance

171 Spatial Co-evolution (typical run)

172 Non-Spatial Co-evolution (typical run)

173 Spatial Evolution (typical run) 173

174 Non-Spatial Evolution (typical run) 174

175 Summary of diversity results

176 Spatial co-evolution seems to preserve more diversity in the host population than the other methods.

177 Summary of diversity results Spatial co-evolution seems to preserve more diversity in the host population than the other methods. In the other methods: –Spatial methods: One strategy quickly comes to dominate the population –Nonspatial methods: Population oscillates between two different strategies

178 Arms races between the host and parasite populations

179 Hypothesis: Initial configurations are evolving “deceptive blocks”:

180 Arms races between the host and parasite populations Hypothesis: Initial configurations are evolving “deceptive blocks”: –Occurrence of a block of seven or more adjacent 0s or 1s in the 149-bit IC –Probability of such an occurrence in a randomly generated string of the same density is less than 0.01.

181 Arms races between the host and parasite populations Hypothesis: Initial configurations are evolving “deceptive blocks”: –Occurrence of a block of seven or more adjacent 0s or 1s in the 149-bit IC –Probability of such an occurrence in a randomly generated string of the same density is less than 0.01. For a typical run of spatial co-evolution, we plotted the fraction of parasites with deceptive blocks

182 generations

183 Summary: Why does spatial co-evolution improve performance?

184 Maintains diversity in population

185 Summary: Why does spatial co-evolution improve performance? Maintains diversity in population Produces “arms race” with ICs targeting weaknesses in CAs (e.g., block expanding) and CAs adapting to overcome weaknesses (e.g., particle strategies)

186 Summary: Why does spatial co-evolution improve performance? Maintains diversity in population Produces “arms race” with ICs targeting weaknesses in CAs (e.g., block expanding) and CAs adapting to overcome weaknesses (e.g., particle strategies) Note that spatial co-evolution requires significantly fewer training examples for successful learning

187 But why, precisely, does putting population on a spatial lattice improve performance?

188 Still an open question.

189 Possible applications to real-world problems

190 –Drug design to foil evolving viruses/bacteria

191 Possible applications to real-world problems –Drug design to foil evolving viruses/bacteria –Coevolving software/hardware with test cases

192 Possible applications to real-world problems –Drug design to foil evolving viruses/bacteria –Coevolving software/hardware with test cases –Evolving game-playing programs

193 Possible applications to real-world problems –Drug design to foil evolving viruses/bacteria –Coevolving software/hardware with test cases –Evolving game-playing programs –Coevolving computer security systems with possible threats


Download ppt "Evolutionary Computation Melanie Mitchell Portland State University and Santa Fe Institute Complex Systems Summer School Thursday June 19, 2008 Copyright."

Similar presentations


Ads by Google