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