오토메타형식언어 - Soft Computing Lab.

Download Report

Transcript 오토메타형식언어 - Soft Computing Lab.

5. Implementing a GA
 학습목표
GA를 사용해 실제 문제를 해결할 때 고려해야 하는
사항에 대해 이해한다
Huge number of choices with little theoretical guidance
Implementation issues + sophisticated GA techniques
Outline
 When should a GA be used?
 Encoding a problem for a GA
 Adapting the encoding
 Selection methods
 Genetic operators
 Parameters for GAs
When should a GA be Used?
 Search space
 large
 known not perfectly smooth and unimodal
 not well understood
 Fitness function
 noisy
 Task
not require global optimum
Fixed-length, fixed-order bit strings
Encoding a Problem for a GA (1)
 Binary encodings: historical but unnatural for many problems
 Extensions
 Bethke’s gray coding
 Hillis’s diploid binary encoding scheme
 Holland’s theoretical justification for binary encoding
 Small number of alleles and long strings  higher
implicit parallelism
 Large number of alleles and short strings
Encoding a Problem for a GA (2)
 Many-character and Real-valued encodings
 Kitano’s many-character rep for graph-generation grammar
 Meyer’s real-valued rep for condition sets
 Montana’s real-valued rep for neural-network weights
 Schultz-Kremer’s real-valued rep for torsion angles in
proteins
 Tree encodings
 Koza’s scheme for representing computer programs
 open-ended search space
 Guessing at an appropriate encodings and trying out a GA
Trial and Error!!
 Adapting the encoding!!
Adapting the Encoding (1)
Linkage problem (how best to order the bits ahead of time)
Functionally related loci be more likely to stay together
on the string under crossover
 Deal with the inkage problem in fixed-length strings
 Inversion
 Reordering operator: each allele be given an index
indicating its “real” position
 No change of fitness but linkages
 produce orderings where beneficial schemas are more
likely to survive
 Full set of loci after crossover?
 permit crossover only between chromosomes with the
same permutation of the loci
 employ a “master/slave” approach
 Applications: ordering problems like DNA fragment
assembly
Adapting the Encoding (2)
 Evolving crossover “Hot Spots”
 evolve not the order of bits but the positions where
crossover was allowed
 mutation on both chromosomes and attached crossover
templates  coevolve good crossover templates
 Messy GAs
 explicitly building up increasingly longer, highly fit strings
from well-tested shorter building blocks
 each bit is tagged with its “real” locus
 Overspecification problem: left-to-right, first-come-first-
served scheme  candidate schema
 evolve candidate schemas, gradually building up longer
ones until a solution is formed
Selection Methods
 Exploitation / exploration balance
 Selection has to be balanced with variation from crossover
and mutation
 Too strong selection: suboptimal highly fit individuals 
reducing diversity
 Too-weak selection: too slow evolution
 Fitness-proportionate Selection
 Expected value of an individual = its fitness / average
fitness
 Roulette wheel sampling: bad in small populations
 Stochastic universal sampling: spin the wheel once, but
with N equally spaced pointers for N parents
 Problem: premature convergence (some multiply quickly in
population)  too much emphasis on exploitation of highly fit
Selection Methods (2)
 Sigma Scaling
 mapping raw fitness values to expected values to prevent
premature convergence
 Elitism
 retain some number of best individuals at each generation
 Boltzmann Selection
 different amounts of selection pressure for different times in
a run
 Rank Selection
 expected value of individual depends on rank
 Tournament Selection
 Steady-state Selection
Genetic Operators
 Crossover
 single point, two-point crossover, …
 recombine highly fit schemas
 Mutation
 known as less important, but balance among crossover,
mutation, and selection is important
 Other Operators and Mating Strategies
 Crowding operator: newly formed offspring replaced the
existing individual most similar to itself  preventing too
many similar individuals (crowds)
 Fitness sharing: each individual’s fitness was decreased by
the presence of other population members  Speciation!
 Restrictions on mating for diversity: only sufficiently similar
individuals are allowed to mate  mating tag approach
Parameters for GAs
 population size, crossover rate, mutation rate
 typically interact with one another nonlinearly  no way to
optimize one at a time
 De Jong’s guideline
 population size: 50~100 individuals
 crossover rate: ~0.6
 mutation rate: 0.001
 Meta-level GA
 population size: 30
 crossover rate: 0.95
 mutation rate: 0.01
 elitist selection
 self-adaptation methods required!
 Parameter values adapt in real time to the ongoing search
Schedule for Remaining Lectures
 11/5: Co-Evolution and Speciation
11/10: Interactive Evolutionary Computation
11/12: 정태민, 차옥균
11/17: 이승현
11/19: 황주원, 윤종원
11/24: 박지인
11/26: 고유선, 오근현
12/1: 안재균
12/3: 박수상, 이영설
12/10: Term Project 최종발표