Introduction to Evolutionary Algorithms


Prabhas Chongstitvatana
prabhas@chula.ac.th

Department of computer engineering
Chulalongkorn University
Intelligent Systems Laboratory
http://isl.cp.eng.chula.ac.th/

lecture to master students at the department of computer science, Rangsit university   18 August 2002

outline
3 sections of 45 min. each
- motivation, background theory of EA
- basics of EA, examples from Genetic Algorithms
- applications, mostly from my research
 

Part I:  Motivation, background

Algorithmics = study of algorithms
 
tractable problems:  can be solved in polynomial-time
intractable problems:  can not be solved in polynomial-time or not at all
  - hard
  - impossible

for hard problems: (usually means can be solved in exponential-time)
mostly they can not be solved exactly, so there are other techniques to solve them
 - approximate algorithm
 - heuristics
 - probabilistic

approximate algorithms give "known" (proven) bound relative to "best" answer.

heuristic codes "human intuition" into algorithms.  It can be regarded as "problem solving as search".

probabilistic algorithms relies on randomization.  The answer is not always correct but the bound on error probability is known.

randomization + problem solving as search = Evolutionary Algorithms

Heuristic

space-state
example:  15-puzzle, Missionary and Canibal problems

searching is done in space-state
the search process is based on backtracking, pruning such as branch and bound algorithms

Most Artificial intelligence work can be summarised as emphasize on knowledge
and search,  A* search

local search

Probabilistic VS deterministic

probabilistic
- non-peatable
- expected time bound (same size input run many times)
- trade-off error/time

deterministic
- same input -- same output
- time bound is non-statistical
- exact answer

Part II:  Basics of evolutionary algorithms

AI landscape
inspiration from evolution theory (Charles Darwin)
-  the fittest survives

fitness landscape
population based
solution improvement

** not problem dependent, weak search

popular evolutionary algorithms

Genetic Algorithms/ Genetic Programming  (GA/GP)
Evolution Strategies (ES) : real value
Classifier Systems (CFS) :  set of rules
Evolution Programming (EP) : finite state machine

Genetic Algorithms

problem encoding : fixed-length string (such as binary {0,1}* )
genetic operators:  selection, recombination, mutation
fitness evaluation

example:  time tabling problems

Schema theorem
  Schema with above average fitness grows exponentially.

implicit parallelism
explicit parallelism

another example: GA for data clustering

Part III :  Applications

other EAs - cellular automata, artificial life

examples from my research
- robot programming
- evolvable hardware
- bin-packing
- computer graphics