Case Injected Genetic Algorithms Sushil J. Louis Genetic Algorithm Systems Lab (gaslab) University of Nevada, Reno http://www.cs.unr.edu/~sus hil http://gaslab.cs.unr.edu/ [email protected]
Feb 25, 2016
Case Injected Genetic Algorithms
Sushil J. LouisGenetic Algorithm Systems Lab (gaslab)
University of Nevada, Renohttp://www.cs.unr.edu/~sushil
http://gaslab.cs.unr.edu/[email protected]
Learning from Experience: Case Injected Genetic Algorithm Design of Combinational Logic Circuits
Sushil J. LouisGenetic Algorithm Systems Lab (gaslab)
University of Nevada, Renohttp://www.cs.unr.edu/~sushil
http://gaslab.cs.unr.edu/[email protected]
http://gaslab.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 problem000 0 0001 1 0010 1 1011 0 0100 1 1101 0 0110 0 0111 1 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 distanceReal – euclidean distancePermutation – 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 solution-similarity 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