UNR Research in GA systems: Case

advertisement
Case Injected Genetic Algorithms
Sushil J. Louis
Genetic Algorithm Systems Lab (gaslab)
University of Nevada, Reno
http://www.cs.unr.edu/~sushil
http://gaslab.cs.unr.edu/
sushil@cs.unr.edu
Learning from Experience: Case
Injected Genetic Algorithm Design
of Combinational Logic Circuits
Sushil J. Louis
Genetic Algorithm Systems Lab (gaslab)
University of Nevada, Reno
http://www.cs.unr.edu/~sushil
http://gaslab.cs.unr.edu/
sushil@cs.unr.edu
Outline
 Motivation
 What is the technique?

Genetic Algorithm and Case-Based Reasoning
 Is it useful?

Evaluate performance on Combinational Logic Design
 Results
 Conclusions
http://gaslab.cs.unr.edu
Outline
 Motivation
 What is the technique?

Genetic Algorithm and Case-Based Reasoning
 Is it useful?




Combinational Logic Design
Strike Force Asset Allocation
TSP
Scheduling
 Conclusions
http://gaslab.cs.unr.edu
Genetic Algorithm
 Non-Deterministic, Parallel, Search
 Poorly understood problems
 Evaluate, Select, Recombine
 Population search




Population member encodes candidate solution
Building blocks combine to make progress
More resistant to local optima
Iterative, requiring many evaluations
http://gaslab.cs.unr.edu
Motivation
 Deployed systems are expected to confront
and solve many problems over their lifetime
 How can we increase genetic algorithm
performance with experience?
 Provide GA with a memory
http://gaslab.cs.unr.edu
Case-Based Reasoning
 When confronted by a new problem, adapt
similar (already solved) problem’s solution
to solve new problem
 CBR  Associative Memory + Adaptation
 CBR: Indexing (on problem similarity) and
adaptation are domain dependent
http://gaslab.cs.unr.edu
Case Injected Genetic AlgoRithm
 Combine genetic search with case-based
reasoning
 Case-base provides memory
 Genetic algorithm provides adaptation
 Genetic algorithm generates cases

Any member of the GA’s population is a case
http://gaslab.cs.unr.edu
System
http://gaslab.cs.unr.edu
Related work
 Seeding:Koza, Greffensttette, Ramsey, Louis
 Lifelong learning: Thrun
 Key Differences


Store and reuse intermediate solutions
Solve sequences of similar problems
http://gaslab.cs.unr.edu
Combinational Logic Design
 An example of configuration design
 Given a function and a target technology to
work with design an artifact that performs
this function subject to constraints



Target technology: Logic gates
Function: Parity checking
Constraints: 2-D gate array
http://gaslab.cs.unr.edu
Encoding
http://gaslab.cs.unr.edu
Encoding
http://gaslab.cs.unr.edu
Parity
Input
3-bit Parity
3-1 problem
000
001
010
0
1
1
0
0
1
011
100
101
0
1
0
0
1
0
110
111
0
1
0
1
http://gaslab.cs.unr.edu
Which cases to inject?
 Problem distance metric (Louis ‘97)

Domain dependent
 Solution distance metric

Genetic algorithm encodings
Binary – hamming distance
 Real – euclidean distance
 Permutation – longest common substring
 …

http://gaslab.cs.unr.edu
Problem similarity
http://gaslab.cs.unr.edu
Lessons
 Storing and Injecting
solutions may not
improve solution
quality
 Storing and Injecting
partial solutions does
lead to improved
quality
http://gaslab.cs.unr.edu
OSSP Performance
http://gaslab.cs.unr.edu
Solution Similarity
http://gaslab.cs.unr.edu
Periodic Injection Strategies
 Closest to best
 Furthest from worst
 Probabilistic closest to best
 Probabilistic furthest from worst
 Randomly choose a case from case-base
 Create random individual
http://gaslab.cs.unr.edu
Setup
 50, 6-bit combinational logic design
problems
 Randomly select and flip bits in parity output
to define logic function
 Compare performance


Quality of final design solution (correct output)
Time to this final solution (in generations)
http://gaslab.cs.unr.edu
Parameters






Population size: 30
No of generations: 30
CHC (elitist) selection
Scaling factor: 1.05
Prob. Crossover: 0.95
Prob. Mutation: 0.05
 Store best individual
every generation
 Inject every 5
generations (2^5 = 32)
 Inject 3 cases (10%)
 Multiple injection
strategies
Averages over 10 runs
http://gaslab.cs.unr.edu
Problem distribution
http://gaslab.cs.unr.edu
Performance - Quality
http://gaslab.cs.unr.edu
Performance - Time
http://gaslab.cs.unr.edu
Injection Strategies
http://gaslab.cs.unr.edu
Solution distribution
http://gaslab.cs.unr.edu
Strike force asset allocation
 Allocate platforms to
targets
 Dynamic





Changing Priority
Battlefield conditions
Popup
Weather
…
http://gaslab.cs.unr.edu
Factors in allocation
 Pilot proficiency
 Asset suitability
 Priority
 Risk



Route
Other assets (SEAD)
Weather
http://gaslab.cs.unr.edu
Maximize mission success
 Binary encoding
 Platform to multiple targets
 Target can have multiple platforms
 Dynamic battle-space

Strong time constraints
http://gaslab.cs.unr.edu
Setup





50 problems.
10 platforms, 40 assets, 10 targets
Each platform could be allocated to two targets
Problems varied in risk matrix
Popsize=80, Generations=80, Pc=1.0, Pm=0.05,
probabilistic closest to best, injection period=9,
injection % = 10% of popsize
http://gaslab.cs.unr.edu
Results
http://gaslab.cs.unr.edu
TSP
 Find the shortest route that visits every city
exactly once (except for start city)
 Permutation encoding. Ex: 35412
 Similarity metric: Longest common
subsequence (Cormen et al, Introduction to
Algorithms)
 50 problems, move city locations
http://gaslab.cs.unr.edu
TSP performance
http://gaslab.cs.unr.edu
Scheduling
 Job shop scheduling problems
 Permutation encoding (Fang)
 Similarity metric: Longest common
subsequence (Cormen et al, Introduction to
Algorithms)
 50 problems, change task lengths
http://gaslab.cs.unr.edu
JSSP Performance (10x10)
http://gaslab.cs.unr.edu
JSSP Performance (15x15)
http://gaslab.cs.unr.edu
Summary
 Case Injected Genetic AlgoRithm: A hybrid
system that combines genetic algorithms
with a case-based memory
 Defined problem-similarity and solutionsimilarity metrics
 Defined performance metrics and showed
empirically that CIGAR learns to increase
performance for sequences of similar
problems
http://gaslab.cs.unr.edu
Conclusions
 Case Injected Genetic AlgoRithm is a viable
system for increasing performance with
experience
 Implications for system design




Increases performance with experience
Generates cases during problem solving
Long term navigable store of expertise
Design analysis by analyzing case-base
http://gaslab.cs.unr.edu
Download