Download Introduction

Document related concepts

Gene expression programming wikipedia , lookup

Hologenome theory of evolution wikipedia , lookup

Catholic Church and evolution wikipedia , lookup

Microbial cooperation wikipedia , lookup

Population genetics wikipedia , lookup

Punctuated equilibrium wikipedia , lookup

Introduction to evolution wikipedia , lookup

Genetics and the Origin of Species wikipedia , lookup

Sociobiology wikipedia , lookup

The eclipse of Darwinism wikipedia , lookup

State switching wikipedia , lookup

Saltation (biology) wikipedia , lookup

Evolutionary psychology wikipedia , lookup

Transcript
Introduction to Evolutionary
Computing (EC)
Chapter 1
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Contents (I)



What is EC? Positioning of EC and the basic EC
metaphor
Historical perspective
Biological inspiration:
– Darwinian evolution theory (simplified!)
– Genetics (three fundamental features of
biological evolution)



Particulate genes and population genetics
The adaptive genetic code
The Genotype/Phenotype Dichotomy
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Contents (II)




Traditional variants of EC
Motivation for EC
What can EC do: examples of application areas
Demo: evolutionary magic square solver
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
What is EC? (1)

Evolutionary Computing is a relatively new
research direction, of great importance both
theoretically and especially in terms of
applications viewpoint.

Although the history of evolutionary computation
dates back to the 1950s and 1960s, only within
the last decade have evolutionary algorithms
became practicable for solving real-world
problems on desktop computers.
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
What is EC? (2)

Evolutionary computing began by lifting ideas
from biological evolutionary theory into
computer science, and continues to look toward
new biological research findings for inspiration.

Darwin’s principle “Survival of the fittest” can be
used as a starting point in introducing evolutionary
computation.
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
What is EC? (3)



Evolutionary Computation is the research field
belonging to Artificially Intelligence.
Fogel (1995) declared Artificial Intelligence as
“They solve problems, but they do not solve
the problem of how to solve problems.”
In contrast, Evolutionary Computation:
“provides a method for solving the problem of
how to solve problems”.
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Traditional variants of EC.



EC deals with a range of problem-solving
techniques based on principles of biological
evolution, such as natural selection and
genetic inheritance.
EC studies basic principles of genetic
algorithms (GA), evolutionary programming
(EP), evolution strategy (ES), genetic
programming (GP).
Other researchs: Genetic Chromodynamics,
Linear Classification Systems, Codificarea Delta,
Algoritmi Genetici Dezordonați
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Different Views of EC/EA/GA/EP
The techniques and technology that is discussed
in this course can be viewed as:
 An approach to computational intelligence
and for soft computing
 A search / optimization paradigm
 As an approach for machine learning
 As a method to simulate biological systems
 As a subfield of artificial life
 As generators for new ideas, new designs
and for music and computer art
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Universe
Borg
Vogons
Art
Life Sciences
etc
Biotop
Society
Stones & Seas
etc
Science
Politics
Sports
etc
Social Sciences
Mathematics
Earth
Exact Sciences
etc
Physics
Computer Science
etc
Software Engineering
Computational Intelligence
etc
You are here
Neural Nets
Evolutionary Computing
Fuzzy Systems
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Positioning of EC




EC is part of computer science
EC is not part of life sciences/biology
Biology delivered inspiration and terminology
EC can be applied in biological research
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
EC as Search
Search Techniques
Backtracking
HillClimbing
Simulated A*
Annealing
EC
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
EC as Machine Learning
Machine Learning
Learning from Examples Reinforcement Learning Classifier Systems
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
EC as Randomized Algorithms
Algorithms
Randomized Algorithms
EC
Deterministic Algorithms
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
The Main Evolutionary Computing
Metaphor
EVOLUTION
PROBLEM SOLVING
Environment
Problem
Individual
Fitness
Population
Chromosome
Gene
Candidate Solution
Quality
Set of potential solutions
Encoding of potential solutions
Part of encoding
Fitness  chances for survival and reproduction
Quality  chance for seeding new solutions
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Brief History 1: the ancestors
Darwin, Mendel and the Modern Synthesis

1859 - publication of the ‘Origin of Species’ by
Charles Darwin
–
–

1865 - Gregor Mendel presents his work on
‘Experiments in Plant Hybridisation’
–

Explained evolution as due to natural selection acting on heritable variation
Very similar ideas proposed by A. R. Wallace at about the same time
Demonstrated the particulate nature of inheritance (Darwin had assumed it was
blending)
These two achievements together paved the way
for the ‘Modern Synthesis’…
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
The Modern Synthesis (aka neo-Darwinism)

One problem that had worried Darwin was
‘regression’ of traits
–
–
–

Darwin assumed blending of heritable material
Hence the ‘value’ of any trait would tend to
converge in a population as evolution progressed
The resulting lack of variation in the population
would give natural selection nothing to act on, so
evolution would stall
Mendel’s results went un-noticed by
evolutionists for about 30 years
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
The Modern Synthesis (continued)


Once rediscovered, Mendel’s laws of particulate (i.e. genetic)
inheritance were incorporated into Darwinian evolutionary theory
The result was the ‘modern synthetic theory of evolution’, or
‘neo-Darwinism’
–
–
Emphasizes natural selection acting on genetic variation in
populations
Primarily mathematical in nature, modeling gene spread in
populations




Population genetics
Quantitative genetics
Subsequently, the physical basis of particulate inheritance was
found
Discovery of DNA by James Watson and Francis Crick, 1962
Nobel Laureates in Medicine
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
The Emergence of Evolutionary Computing

Evolutionary ideas (using simulated evolution to solve engineering and
design problems) were being applied in optimization as early as the mid 20th
century, e.g.
–
–

Box (1957) Evolutionary operation: a method for increasing industrial
productivity. Applied Statistics 6, 81-101
Bremermann (1962) Optimization through evolution and recombination. In: SelfOrganizing Systems.
In the 1970’s Genetic Algorithms became a prominent research area
–
John Holland presented a mathematical definition of GAs, and theory
explaining their performance

–
Holland (1975) Adaptation in Natural and Artificial Systems
Holland was mainly interested in adaptive systems, but his student Ken De Jong
catalyzed research on for GAs for optimization, formulating a test suite of
problems

De Jong (1975) An Analysis of the Behavior of a Class of Genetic Adaptive
Systems. PhD thesis, University of Michigan
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Brief History 2: the ancestors
• 1948, Turing:
proposes “genetical or evolutionary search”
• 1962, Bremermann
optimization through evolution and recombination
• 1964, Rechenberg
introduces evolution strategies
• 1965, L. Fogel, Owens and Walsh
introduce evolutionary programming
• 1975, Holland
introduces genetic algorithms
• 1992, Koza
introduces genetic programming
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
A Brief History (2) of Evolutionary Computation
(cont.)

The designers of each of the EC techniques saw
that their particular problems could be solved via
simulated evolution.
–
–
–
Fogel was concerned with solving prediction
problems.
Rechenberg & Schwefel were concerned with
solving parameter optimization problems.
Holland was concerned with developing robust
adaptive systems.
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
A Brief History (2) of Evolutionary Computation
(cont.)



Each of these researchers successfully developed
appropriate ECs for their particular problems
independently.
In the US, Genetic Algorithms have become the
most popular EC technique due to a book by David
E. Goldberg (1989) entitled, “Genetic Algorithms in
Search, Optimization & Machine Learning”.
This book explained the concept of Genetic Search in
such a way the a wide variety of engineers and
scientist could understand and apply.
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
A Brief History of Evolutionary Computation
(cont.)

However, a number of other books helped fuel the
growing interest in EC:
–
–
–
–

Lawrence Davis’, “Handbook of Genetic Algorithms”, (1991),
Zbigniew Michalewicz’ book (1992), “Genetic Algorithms +
Data Structures = Evolution Programs”.
John R. Koza’s “Genetic Programming” (1992)
D. B. Fogel’s 1995 book entitled, “Evolutionary
Computation: Toward a New Philosophy of Machine
Intelligence”.
These books not only fueled interest in EC but they
also were instrumental in bringing together the EP, ES,
and GA concepts together in a way that fostered unity
and an explosion of new and exciting forms of EC.
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Brief History 3: The rise of EC
• 1985: first international conference (ICGA)
• 1990: first international conference in Europe (PPSN)
• 1993: first scientific EC journal (MIT Press)
• 1997: launch of European EC Research Network EvoNet
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
EC in the early 21st Century
• 3 major EC conferences, about 10 small related ones
• 3 scientific core EC journals
• 750-1000 papers published in 2003 (estimate)
• EvoNet has over 150 member institutes
• uncountable (meaning: many) applications
• uncountable (meaning: ?) consultancy and R&D firms
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Darwinian Evolution 1:
Survival of the fittest

All environments have finite resources
(i.e., can only support a limited number of individuals)

Lifeforms have basic instinct / lifecycles geared towards
reproduction

Therefore some kind of selection is inevitable. Competitionbased selection is one of the two cornerstones of evolutionary
progress.
Those individuals that compete for the resources most
effectively have increased chance of reproduction
Note: fitness in natural evolution is a derived, secondary
measure, i.e., we (humans) assign a high fitness to individuals
with many offspring


A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Darwinian Evolution 2:
Diversity drives change

Phenotypic traits:
–
–
–

Behaviour / physical differences that affect response to
environment
Partly determined by inheritance, partly by factors during
development
Unique to each individual, partly as a result of random changes
If phenotypic traits:
–
–
Lead to higher chances of reproduction
Can be inherited
then they will tend to increase in subsequent
generations, leading to new combinations of traits …
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Darwinian Evolution: Summary




Population consists of diverse set of individuals
Combinations of traits that are better adapted tend to
increase representation in population
Individuals are “units of selection”
Variations occur through random changes yielding
constant source of diversity, coupled with selection
means that:
Population is the “unit of evolution”
Note the absence of “guiding force”
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Adaptive landscape metaphor (Wright, 1932)
• Can envisage population with n traits as existing in a
n+1-dimensional space (landscape) with height
corresponding to fitness
• Each different individual (phenotype) represents a
single point on the landscape
• Population is therefore a “cloud” of points, moving on
the landscape over time as it evolves - adaptation
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Example with two traits
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Adaptive landscape metaphor (cont’d)
•Selection “pushes” population up the landscape
•Genetic drift:
• random variations in feature distribution
(+ or -) arising from sampling error
• can cause the population “melt down” hills, thus
crossing valleys and leaving local optima
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Natural Genetics





The information required to build a living organism is
coded in the DNA of that organism.
The main role of DNA molecules is the long-term
storage of information.
O moleculă de ADN conține zone numite gene
Structura ADN-ului este unică nu numai pentru o
specie anume ci și pentru orice individ al oricărei
specii animale sau vegetale.
La om ADN-ul conține circa 3,27 miliarde de perechi
de baze (3,27 miliarde de „trepte” în helixul dublu).
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Genotype vs. Phenotype





"Genotype" is an organism's full hereditary information,
even if not expressed.
"Phenotype" is an organism's actual observed properties,
such as morphology, development, or behavior.
Genotype (DNA inside) determines phenotype
Genes are the functional units of inheritance encoding
phenotypic traits (characteristics); is a complex mapping
– One gene may affect many traits (pleiotropy)
– Many genes may affect one trait (polygeny)
Small changes in the genotype lead to small changes in
the organism (e.g., height, hair colour)
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
The 8 queens problem: representation
Phenotype:
a board configuration
Genotype:
a permutation of
the numbers 1 - 8
Obvious mapping
1 3 5 2 6 4 7 8
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Genes and the Genome

Genes are encoded in strands of DNA called
chromosomes

In most cells, there
chromosome (diploidy)

The complete genetic material in an individual’s
genotype is called the Genome

Within a species, most of the genetic material is the
same
are
two
copies
of
each
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Example: Homo Sapiens


Human DNA is organised into chromosomes
Human body cells contains 23 pairs of chromosomes
which together define the physical attributes of the
individual:
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Reproductive Cells




Gametes (sperm and egg cells) contain 23 individual
chromosomes rather than 23 pairs
Cells with only one copy of each chromosome are
called Haploid
Gametes are formed by a special form of cell splitting
called meiosis
During meiosis the pairs of chromosome undergo an
operation called crossing-over
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Crossing-over during meiosis
 Chromosome pairs align and duplicate
Inner pairs link at a centromere and swap parts of
themselves

Outcome is one copy of maternal/paternal
chromosome plus two entirely new combinations
 After crossing-over one of each pair goes into each
gamete

A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Fertilisation
Sperm cell from Father
Egg cell from Mother
New person cell (zygote)
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
After fertilisation




New zygote rapidly divides etc creating many cells all
with the same genetic contents
Although all cells contain the same genes, depending
on, for example where they are in the organism, they
will behave differently
This process of differential behaviour during
development is called ontogenesis
All of this uses, and is controlled by, the same
mechanism for decoding the genes in DNA
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Genetic code (I)
• All proteins in life on earth are composed of
sequences built from 20 different amino acids (alanină,
valină, leucină, izoleucină, prolină, triptofan, fenilalanină, metionină, glicocol,
serină, treonină, tirozină, asparagină, glutamină, cisteină, acid aspartic, acid
glutamic, arginină, lisină, histidină (acesta din urmă constituie un aminoacid
esențial pentru copiii cu vârsta sub 1 an). Dintre aceștia, 8 sunt esențiali, adică nu
pot fi produși de organismul uman și trebuie aduși din exterior, prin alimentație
(valina, leucina, izoleucina, triptofanul, fenilalanina, metionina, lisina și treonina).)
• DNA is built from four nucleotides in a double helix
spiral: purines A,G; pyrimidines T,C
• Triplets of these form codons, each of which codes for
a specific amino acid.
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Genetic code (II)
• All proteins in life on earth are composed of
sequences built from 20 different amino acids
• DNA is built from four nucleotides in a double helix
spiral: purines A,G; pyrimidines T,C
• Triplets of these form codons, each of which codes for
a specific amino acid
• Much redundancy:
•
•
•
•
purines complement pyrimidines
the DNA contains much rubbish
43=64 codons code for 20 amino acids
Genetic code = the mapping from codons to amino acids
• For all natural life on earth, the genetic code is the
same !
The Genetic Code (DNA)
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Genetic code (III)
TTT
Phe
TCT
Ser
TAT
Tyr
TGT
Cys
TTC
Phe
TCC
Ser
TAC
Tyr
TGC
Cys
TTA
Leu
TCA
Ser
TAA
STOP
TGA
STOP
TTG
Leu
TCG
Ser
TAG
STOP
TGG
Trp
CTT
Leu
CCT
Pro
CAT
His
CGT
Arg
CTC
Leu
CCC
Pro
CAC
His
CGC
Arg
CTA
Leu
CCA
Pro
CAA
Gln
CGA
Arg
CTG
Leu
CCG
Pro
CAG
Gln
CGG
Arg
ATT
Ile
ACT
Thr
AAT
Asn
AGT
Ser
ATC
Ile
ACC
Thr
AAC
Asn
AGC
Ser
ATA
Ile
ACA
Thr
AAA
Lys
AGA
Arg
ATG
Met*
ACG
Thr
AAG
Lys
AGG
Arg
GTT
Val
GCT
Ala
GAT
Asp
GGT
Gly
GTC
Val
GCC
Ala
GAC
Asp
GGC
Gly
GTA
Val
GCA
Ala
GAA
Glu
GGA
Gly
GTG
Val
GCG
Ala
GAG
Glu
GGG
Gly
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Transcription, translation
A central claim in molecular genetics: only one way flow
Genotype
Phenotype
Genotype
Phenotype
Lamarckism (saying that acquired features can be
inherited) is thus wrong!
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Mutation




Occasionally some of the genetic material changes
very slightly during this process (replication error)
This means that the child might have genetic material
information not inherited from either parent
This can be
– catastrophic: offspring in not viable (most likely)
– neutral: new feature not influences fitness
– advantageous: strong new feature occurs
Redundancy in the genetic code forms a good way of
error checking
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Motivations for EC: 1




Nature has always served as a source of inspiration
for engineers and scientists
The best problem solver known in nature is:
–
the (human) brain that created “the wheel, New
York, wars and so on” (after Douglas Adams’ HitchHikers Guide)
–
the evolution mechanism that created the human
brain (after Darwin’s Origin of Species)
Answer 1  neurocomputing
Answer 2  evolutionary computing
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Motivations for EC: 2 – technical view
• Developing, analyzing, applying problem solving
methods a.k.a. algorithms is a central theme in
mathematics and computer science
• Time for thorough problem analysis decreases
• Complexity of problems to be solved increases
• Consequence:
Robust problem solving technology needed
Paralel and distributed systems evaluated on HPC or
LAN
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Problem types solved by EC

In terms of starting ideas and applications, Evolutionary
Computing highlights two aspects:
–
use ideas and concepts of complex adaptive systems to solve
computational problems (search, optimization)
– use computers and computational models in order to model complex
adaptive systems



EC developed methods are general, independent of the problem,
and the criterion function
The advantage of evolutionary algorithms includes its ability to
address problems for which there is no human expertise.
From the optimization point of view, the main advantage of EC
techniques is that they do not have much mathematical
requirements about the optimization problems. All they need is an
evaluation of the objective function.
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Problem type 1 : Optimisation

We have a model of our system and seek inputs that
give us a specified goal
 e.g.
Traveling Salesman Problem
– time tables for university, call center, or hospital
– design specifications, Automated DSE, etc
–
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Optimisation example 1: University timetabling
Enormously big search space
Timetables must be good
“Good” is defined by a large number of
competing criteria (students view, professors
view, university management view)
Timetables must be feasible (no clashes)
Vast majority
infeasible
of
search
space
is
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Optimisation example 2: Satellite structure
Optimised satellite designs for
NASA to maximize vibration
isolation
Evolving: design structures
Fitness: vibration resistance
Evolutionary “creativity”
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Problem types 2: Modelling

We have corresponding sets of inputs & outputs and
seek model that delivers correct output for every known
input
• Evolutionary machine learning
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Modelling example: loan applicant creditability
British bank evolved
creditability model to predict
loan paying behavior of new
applicants
Evolving: prediction models
Fitness: model accuracy
based on historical data
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Problem type 3: Simulation

We have a given model and wish to know the outputs
that arise under different input conditions
 Often used to answer “what-if” questions in evolving
dynamic environments
 e.g. Evolutionary economics, Artificial Life
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Simulation example: evolving
artificial societies
Simulating trade, economic
competition, etc. to calibrate
models
Use models to optimize
strategies and policies
Evolutionary economy
Survival of the fittest is universal
(big/small fish)
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Simulation example 2: biological
interpretations
Incest prevention keeps
evolution from rapid
degeneration
(we knew this)
Multi-parent reproduction,
makes evolution more efficient
(this does not exist on Earth)
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Application of Evolutionary Computation

Evolutionary Computing has been successfully applied
to a wide range of problems including:
– Aircraft Design,
– Routing in Communications Networks,
– Tracking Windshear,
– Game Playing (Checkers)
– Medicine (for example in breast cancer detection)
– Engineering application (including
electrical,mechanical, civil, production, aeronautical
and robotics)
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Application of Evolutionary Computing (cont.)








Air Traffic Control,
(Automatic) Design (Space Exploration) in Computer
Architecture,
Scheduling (Traveling salesman problem)
Machine Learning, Expert system, Machine intelligence
Pattern Recognition,
Job Shop Scheduling,
VLSI Circuit Layout,
Strike Force Allocation (strategy problem),
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Application of Evolutionary Computing (cont.)









Theme Park Tours (Disney Land/World)
http://www.TouringPlans.com
Market Forecasting,
Egg Price Forecasting,
Design of Filters and Barriers,
Data-Mining,
User-Mining,
Resource Allocation,
Path Planning,
Etc.
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Demonstration: magic square


Given a 10x10 grid with a small 3x3 square in it
Problem: arrange the numbers 1-100 on the grid such
that
– all horizontal, vertical, diagonal sums are equal
(505)
– a small 3x3 square forms a solution for 1-9
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Demonstration: magic square
Evolutionary approach to solving this puzzle:
 Creating random begin arrangement
 Making N mutants of given arrangement
 Keeping the mutant (child) with the least error
 Stopping when error is zero
A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing
Introduction
Demonstration: magic square
• Software by M. Herdy, TU Berlin
• Interesting parameters:
• Step1: small mutation, slow & hits the optimum
• Step10: large mutation, fast & misses (“jumps over” optimum)
• Mstep: mutation step size modified on-line, fast & hits optimum
• Start: double-click on icon below
• Exit: click on TUBerlin logo (top-right)