AI AI Department of Computer Science University of Calgary CPSC - - PowerPoint PPT Presentation

ai ai
SMART_READER_LITE
LIVE PREVIEW

AI AI Department of Computer Science University of Calgary CPSC - - PowerPoint PPT Presentation

Overview Overview of of Evolutionary Systems Systems Evolutionary Christian Jacob AI AI Department of Computer Science University of Calgary CPSC 565 Winter 2003 Emergent Computing CPSC 565 Winter 2003 1 Christian Jacob,


slide-1
SLIDE 1

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 1

Overview Overview

  • f
  • f

Evolutionary Evolutionary Systems Systems

Christian Jacob

Department of Computer Science University of Calgary

CPSC 565 — Winter 2003

AI AI

slide-2
SLIDE 2

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 2

global maximum local maxima local maxima

In Search for Better In Search for Better “ “Solutions Solutions” ”

slide-3
SLIDE 3

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 3

Evolutionary Optimization Evolutionary Optimization

  • Knowledge Reservoir

Set of possible solutions

– Gleaning a reservoir of knowledge from interactions with the environment.

  • Selection

Fitness-dependent number of offspring

– The sieve of selection culls out incorrect / unuseful “knowledge”.

  • Variation

Variations of individual solutions

– The learning system invents new variants of its

  • ld ideas that are tested against environmental

demands.

slide-4
SLIDE 4

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 4

Genetic Algorithms in Action Genetic Algorithms in Action … …

Simulated Genome-Inspired Evolution

  • J. Holland (1975), D. Goldberg (1989)
slide-5
SLIDE 5

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 5

Genotype Genotype

Transcription Translation Development Morphogenesis

Phenotype Phenotype Dualism Dualism in Nature in Nature

slide-6
SLIDE 6

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 6

Levels of Structure

  • Double Helix
  • Histones /

Nucleosomes

  • Solenoid Supercoil
  • Chromatin
  • Chromosomes

Sidenote: DNA Is Structured Hierarchically Sidenote: DNA Is Structured Hierarchically

slide-7
SLIDE 7

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 7

Evolutionary Computing Evolutionary Computing— —Geno- & Phenotype? Geno- & Phenotype?

Gene pool

... ...

Genotypical structure space Phenotypical feature and behaviour space Population

  • f organisms

E S

General genotype-phenotype distinction in evolutionary algorithms

slide-8
SLIDE 8

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 8

Evolution: Adaptation of Structures Evolution: Adaptation of Structures

Environment Structures

...

Environmental signals

E S IE(t)

p

a

w(t) mE(t) s(t) jE(p(s(t)))

p(t)

s(t+1)

w(t)

1 2 3 4 5 s(t)

Adaptive plan

(1) Expression, (2) Interaction with the environment, (3) Evaluation, (4) Selection, (5) Variation.

slide-9
SLIDE 9

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 9

Evolution: Adaptation of Structures Evolution: Adaptation of Structures

Environment Structures

...

Environmental signals

E S IE(t)

p

p(t)

s(t+1)

w(t)

1 2 4 5 s(t)

w(t+1)

...

s(t+2)

p(t+1) p(t+2)

a

w(t) mE(t) s(t) jE(p(s(t)))

3

Adaptive plan

(1) Expression, (2) Interaction with the environment, (3) Evaluation, (4) Selection, (5) Variation.

slide-10
SLIDE 10

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 10

Examples of Examples of Simple Simple Evolutionary Processes Evolutionary Processes

Cumulative Selection Cumulative Selection Evolutionary Creativity Evolutionary Creativity

slide-11
SLIDE 11

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 11

Drip by Drip Drip by Drip— —Cumulative Selection Cumulative Selection

  • A simplified version of the evolutionary principle of

adaptation is used to search for a predefined string

– starting from an initially random sequence of characters and – Using iterated mutation and cumulative selection.

  • Random strings are compared to an objective sentence:

,LPYJK,ZPBGXWKTEKSQ,KLVCFZSJFGVZQWG ETTLXTKOL RF STRZGPURE CSYEPYBY SQEP EVOLUDION OF STRUKTURE STEP BZ,STEB (a) (b) (c) EVOLUTION OF STRUCTURE, STEP BY STEP (O)

slide-12
SLIDE 12

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 12

Algorithm for Selection and Mutation Algorithm for Selection and Mutation

1. Initialization: Generate an initial set S = {s1,…,sn} of n individuals. 2. Initial evaluation: Evaluate all individuals and calculate their fitnesses (using Hamming distance). 3. Selection: Choose the best individual sbest Œ S. 4. Mutation: From the best individual, generate a set of n-1 mutants: M = {si’ := mut(sbest) | i = 1,…,n-1}. 5. Evaluation: Evaluate all mutants and calculate their fitnesses. 6. Termination check: If at least one of the individuals has achieved the maximum fitness, STOP. Otherwise, generate a new selection set: S = {sbest} » M. 7. Continue with step 3.

slide-13
SLIDE 13

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 13

Mutation on Strings Mutation on Strings

  • We define string mutation on a string s = s1…sN as

follows: mut(s, r, p) = s1’…sN’ where si’ = si, if c real(0,1) > p. si’ = m(si, r), otherwise. m(x, r) = t -1(t(x) + c int(-r, r)).

  • c(y, z) returns a uniformly distributed, random number

from the interval [y, z].

  • The character x is translated into its number encoding t(x).
slide-14
SLIDE 14

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 14

String Mutations String Mutations

EVOLUTION OF STRUCTURE, STEP BY STEP EVNLVTION OF SURUCTURE, STEP BY STEP mut(s, 1, 0.1) : EVOLUTION OF STRUCTURE, STEP BY STEP EVOLUTIOM OF STRVCTURE. STEP BZ STEP mut(s, 1, 0.2) : EVOLUTION OF STRUCTURE, STEP BY STEP EWNLVUHON,OE SSSUCUVRD.ZSUEP,CY,STEQ mut(s, 1, 0.5) : s: s: s: EVOLUTION OF STRUCTURE, STEP BY STEP FVOLUTIONYOF STTUCTURE, QTEP BY STEP mut(s,2,0.2): EVOLUTION OF STRUCTURE, STEP BY STEP DVOLUTIONZOF STRUDSUQE, SSEP,CY SSEP mut(s,1,0.2): EVOLUTION OF STRUCTURE, STEP BY STEP EVOLUTNON OFCOTRYFTUME, STEPBB STFP mut(s,5,0.2): s: s: s:

  • Mutation on strings with

mutation radius 1 and different mutation rates.

  • Mutation on strings with a

constant mutation rate of 0.2 and varying mutation radii.

slide-15
SLIDE 15

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 15

String Evolution Examples String Evolution Examples

Mutation radius: 1; mutation rate: 0.1 Mutation radius: 1; mutation rate: 0.5 Mutation radius: 5; mutation rate: 0.1 Mutation radius: 5; mutation rate: 0.5

slide-16
SLIDE 16

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 16

String Evolution String Evolution— —Mut

  • Mut. Radius: 2,

. Radius: 2, Mut

  • Mut. Rate: 0.1

. Rate: 0.1

slide-17
SLIDE 17

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 17

String Evolution String Evolution— —Hamming Distance Plots Hamming Distance Plots

Mutation radius: 2 Mutation rate: 0.1

slide-18
SLIDE 18

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 18

String Evolution String Evolution— —Hamming Distance Plots (2) Hamming Distance Plots (2)

Mutation radius: 4 Mutation rate: 0.1

slide-19
SLIDE 19

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 19

String Evolution String Evolution— —Hamming Distance Plots (3) Hamming Distance Plots (3)

Mutation radius: 2 Mutation rate: 0.2

slide-20
SLIDE 20

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 20

String Evolution String Evolution — — Comparing Results Comparing Results

Mutation radius: 2 Mutation rate: 0.2 Mutation radius: 4 Mutation rate: 0.1 Mutation radius: 2 Mutation rate: 0.1

slide-21
SLIDE 21

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 21

Examples of Examples of Simple Simple Evolutionary Processes Evolutionary Processes

Cumulative Selection Cumulative Selection Evolutionary Creativity Evolutionary Creativity

slide-22
SLIDE 22

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 22

A A Biomorph Biomorph … … and Some of Its Mutants and Some of Its Mutants

3 | 2 3 2 4 7 | 2 2 2 4 7 | 2 2 2 4 7 | 2 2 2 4 7

slide-23
SLIDE 23

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 23

A A Biomorph Biomorph … … and Some of Its Mutants and Some of Its Mutants

3 | 2 3 2 4 7 | 2 2 2 4 7 | 2 2 2 4 7 | 2 2 2 4 7 1+ 2+ 3+ 7+ 12+ 13+ 13- 8- 7- 2- 1- 17+

slide-24
SLIDE 24

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 24

Evolution of Evolution of Biomorphs Biomorphs

slide-25
SLIDE 25

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 25

Evolution of Evolution of Biomorphs Biomorphs

slide-26
SLIDE 26

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 26

Evolved Evolved Biomorphs Biomorphs

  • Gen. 0
  • Gen. 5
  • Gen. 10
  • Gen. 19
slide-27
SLIDE 27

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 27

Evolved 3D Evolved 3D Biomorphs Biomorphs

slide-28
SLIDE 28

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 28

Biomorph Examples Biomorph Examples

slide-29
SLIDE 29

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 29

ArtFlower Examples ArtFlower Examples

slide-30
SLIDE 30

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 30

General Evolutionary Algorithm Scheme General Evolutionary Algorithm Scheme

slide-31
SLIDE 31

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 31

Evolutionary Algorithm Classes Evolutionary Algorithm Classes

  • Currently one distinguishes among four main

types of Evolutionary Algorithms:

– Evolution Strategies - Ingo Rechenberg (1960s) – Evolutionary Programming - Lawerence Fogel (1960s) – Genetic Algorithms - John Holland (1970s) – Genetic Programming - John Koza (1990s)

slide-32
SLIDE 32

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 32

Evolution Strategies Evolution Strategies

  • Initiated from engineering design problems.
  • Usually, no distinction between search and solution space.
  • Individuals are represented as real-valued vectors.
  • Simple ES

– one parent and one child – Child solution is generated by randomly mutating the problem parameters of the parent.

  • More advanced ES

– have pools of parents and children

  • Unlike GA and GP,

– ES separate parent individuals from child individuals, and – ES selects its parent solutions deterministically.

slide-33
SLIDE 33

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 33

Evolutionary Programming Evolutionary Programming

  • Resembles ES, but was developed independently.
  • Early versions of EP applied to the evolution of finite state

automata.

  • Reproduction is by mutation only (original version)
  • Like ES operates on the decision variable (object

parameters) of the problem directly (i.e., genotype = phenotype).

  • Problem-specific ‘genetic’ operators
  • Tournament selection:

– Children generated until population doubles in size – Every solution is evaluated and half of the population (with low fitness) is deleted.

slide-34
SLIDE 34

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 34

Genetic Algorithms Genetic Algorithms

  • Most widely used
  • Robust
  • Uses two separate spaces

– search space - coded solution (genotype) – solution space - actual solutions (phenotypes)

  • Genotypes must be mapped to phenotypes before the

quality or fitness of each solution can be evaluated.

slide-35
SLIDE 35

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 35

Genetic Programming Genetic Programming

  • Specialized form of GA.
  • Search space: symbolic expressions
  • Solution space: computer programs
  • Manipulates a very specific type of solution using

modified GA mutation and recombination operators.

  • Original application was to design computer programs.
  • Now applied in alternative areas, e.g. analog circuits

design.

slide-36
SLIDE 36

Christian Jacob, University of Calgary Emergent Computing — CPSC 565 — Winter 2003 36

References References

  • Dawkins, R. (1986). The Blind Watchmaker. Oxford, Longman.
  • Fogel, L. J., A. J. Owens, et al. (1966). Artificial intelligence through

simulated evolution. New York, John Wiley and Sons.

  • Holland, J. H. (1975). Adaptation in Natural and Artificial Systems. Ann

Arbor, MI, University of Michigan Press.

  • Jacob, C. (1999). Stochastic Search Methods. Intelligent Data Analysis.
  • M. Berthold and D. J. Hand. Berlin, Springer:

: 303-356.

  • Jacob, C. (2001). Illustrating Evolutionary Computation with
  • Mathematica. San Francisco, CA, Morgan Kaufmann Publishers.
  • Koza, J. R. (1992). Genetic Programming: On the Programming of

Computers by Means of Natural Selection. Cambridge, MA, MIT Press.

  • Rechenberg, I. (1965). "Cybernetic solution path of an experimental

problem." Royal Aircraft Establishment, Library Translation 1122.