CSE298 CSE300 DGA-1 CSE300 Agent-based Distributed Genetic Algorithms Rodrigo E. Caballero Computer Science & Engineering Department University of Connecticut.

Slides:



Advertisements
Similar presentations
Population-based metaheuristics Nature-inspired Initialize a population A new population of solutions is generated Integrate the new population into the.
Advertisements

CS6800 Advanced Theory of Computation
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Tuesday, May 14 Genetic Algorithms Handouts: Lecture Notes Question: when should there be an additional review session?
Biologically Inspired AI (mostly GAs). Some Examples of Biologically Inspired Computation Neural networks Evolutionary computation (e.g., genetic algorithms)
Genetic Algorithms Representation of Candidate Solutions GAs on primarily two types of representations: –Binary-Coded –Real-Coded Binary-Coded GAs must.
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
Genetic Algorithms1 COMP305. Part II. Genetic Algorithms.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
Genetic Algorithms in Materials Processing N. Chakraborti Department of Metallurgical & Materials Engineering Indian Institute of Technology Kharagpur.
PGA – Parallel Genetic Algorithm Hsuan Lee. Reference  E Cantú-Paz, A Survey on Parallel Genetic Algorithm, Calculateurs Paralleles, Reseaux et Systems.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
Genetic Algorithm What is a genetic algorithm? “Genetic Algorithms are defined as global optimization procedures that use an analogy of genetic evolution.
Genetic Algorithms Overview Genetic Algorithms: a gentle introduction –What are GAs –How do they work/ Why? –Critical issues Use in Data Mining –GAs.
Genetic Programming.
Genetic Algorithms: A Tutorial
1 Reasons for parallelization Can we make GA faster? One of the most promising choices is to use parallel implementations. The reasons for parallelization.
Parallel Genetic Algorithms with Distributed-Environment Multiple Population Scheme M.Miki T.Hiroyasu K.Hatanaka Doshisha University,Kyoto,Japan.
Genetic Algorithm.
A New Model of Distributed Genetic Algorithm for Cluster Systems: Dual Individual DGA Tomoyuki HIROYASU Mitsunori MIKI Masahiro HAMASAKI Yusuke TANIMURA.
Neural and Evolutionary Computing - Lecture 10 1 Parallel and Distributed Models in Evolutionary Computing  Motivation  Parallelization models  Distributed.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
MOGADES: Multi-Objective Genetic Algorithm with Distributed Environment Scheme Intelligent Systems Design Laboratory , Doshisha University , Kyoto Japan.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
Optimization Problems - Optimization: In the real world, there are many problems (e.g. Traveling Salesman Problem, Playing Chess ) that have numerous possible.
Genetic Algorithms Genetic algorithms imitate a natural optimization process: natural selection in evolution. Developed by John Holland at the University.
Introduction to GAs: Genetic Algorithms How to apply GAs to SNA? Thank you for all pictures and information referred.
Introduction to Evolutionary Algorithms Session 4 Jim Smith University of the West of England, UK May/June 2012.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Genetic Algorithms Genetic Algorithms – What are they? And how they are inspired from evolution. Operators and Definitions in Genetic Algorithms paradigm.
Computational Complexity Jang, HaYoung BioIntelligence Lab.
1 Machine Learning: Lecture 12 Genetic Algorithms (Based on Chapter 9 of Mitchell, T., Machine Learning, 1997)
1 “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions.
Genetic Algorithms Siddhartha K. Shakya School of Computing. The Robert Gordon University Aberdeen, UK
GENETIC ALGORITHM A biologically inspired model of intelligence and the principles of biological evolution are applied to find solutions to difficult problems.
Derivative Free Optimization G.Anuradha. Contents Genetic Algorithm Simulated Annealing Random search method Downhill simplex method.
DYNAMIC FACILITY LAYOUT : GENETIC ALGORITHM BASED MODEL
A Parallel Genetic Algorithm with Distributed Environment Scheme
Genetic Algorithms ML 9 Kristie Simpson CS536: Advanced Artificial Intelligence Montana State University.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
ECE 103 Engineering Programming Chapter 52 Generic Algorithm Herbert G. Mayer, PSU CS Status 6/4/2014 Initial content copied verbatim from ECE 103 material.
Chapter 12 FUSION OF FUZZY SYSTEM AND GENETIC ALGORITHMS Chi-Yuan Yeh.
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
A l a p a g o s : a generic distributed parallel genetic algorithm development platform Nicolas Kruchten 4 th year Engineering Science (Infrastructure.
Parallel Genetic Algorithms By Larry Hale and Trevor McCasland.
Coevolutionary Automated Software Correction Josh Wilkerson PhD Candidate in Computer Science Missouri S&T.
Innovative and Unconventional Approach Toward Analytical Cadastre – based on Genetic Algorithms Anna Shnaidman Mapping and Geo-Information Engineering.
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Genetic Algorithms. Solution Search in Problem Space.
EVOLUTIONARY SYSTEMS AND GENETIC ALGORITHMS NAME: AKSHITKUMAR PATEL STUDENT ID: GRAD POSITION PAPER.
Grid-Based Genetic Algorithm Approach to Colour Image Segmentation Marco Gallotta Keri Woods Supervised by Audrey Mbogho.
Genetic Algorithms And other approaches for similar applications Optimization Techniques.
Genetic Algorithm(GA)
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
CEng 713, Evolutionary Computation, Lecture Notes parallel Evolutionary Computation.
Bulgarian Academy of Sciences
School of Computer Science & Engineering
Genetic Algorithms Chapter 3.
○ Hisashi Shimosaka (Doshisha University)
EE368 Soft Computing Genetic Algorithms.
Searching for solutions: Genetic Algorithms
Machine Learning: UNIT-4 CHAPTER-2
학습목표 공진화의 개념을 이해하고, sorting network에의 응용가능성을 점검한다
Traveling Salesman Problem by Genetic Algorithm
Presentation transcript:

CSE298 CSE300 DGA-1 CSE300 Agent-based Distributed Genetic Algorithms Rodrigo E. Caballero Computer Science & Engineering Department University of Connecticut Mingjun Song Department of Natural Resources Management and Engineering University of Connecticut December 12, 2000

CSE298 CSE300 DGA-2 CSE300 Topics  Introduction to Genetic Algorithms  Parallel Genetic Algorithm Approaches  Agent-based Distributed Genetic Algorithm  Experiments and Results  Conclusions and Future Directions

CSE298 CSE300 DGA-3 CSE300 Why are Some Problems Difficult to Solve?  Real-world problems are:  Mathematically intractable  Large search spaces  Time-varying  Noisy observations  Competitors  Limitations of classics methods  Often fail to address the real problem at hand  Simplification leads to the right answer to the wrong problem

CSE298 CSE300 DGA-4 CSE300 Evolution Addresses These Problems  Evolution is a two-step process of random variation and natural selection  Variation creates diversity  Diversity is heritable  Selection eliminates inappropriate individuals  The process of evolution follows the process of the scientific method  Individuals server as hypotheses tested in light of an environment  Worthwhile “ideas” are retained and extended  Unsuitable “ideas” are purged

CSE298 CSE300 DGA-5 CSE300 Genetic Algorithm  Stochastic search method inspired in natural evolution  Population-based random variation and selection applied to data structures in light of a goal and initialization  Characteristics:  Genetic operators (selection, crossover, mutation)  Population of chromosomes (bit strings) encode candidate solutions in the search space  Selection based on the fitness of each chromosome

CSE298 CSE300 DGA-6 CSE300 Genetic Algorithm Flow Initialize Population Randomly Vary Individuals Evaluate “Fitness” Apply Selection

CSE298 CSE300 DGA-7 CSE300 Genetic Algorithm Crossover t Selection t+11 Generation

CSE298 CSE300 DGA-8 CSE300 Representation  Efficiency and complexity of the search depends on the representation, and its relation with the search operators  GA usually represent the decision variables using binary strings  Chromosomes  Gray code  Represents adjacent integer values by bitstrings having Hamming distance x = (6,1)

CSE298 CSE300 DGA-9 CSE300 Mutation  Maintain diversity  Mutation probability per bit is usually very small

CSE298 CSE300 DGA-10 CSE300 Crossover  Exploits the useful information contained in a pair of parents Crossover Point Parents Offspring

CSE298 CSE300 DGA-11 CSE300 Proportional Selection F(x 1 )=5 F(x 3 )=2.5 F(x 2 )=10 F(x 4 )=2.5

CSE298 CSE300 DGA-12 CSE300 Parallel Genetic Algorithm – Global Parallelization o Each processor runs an independent GA on a local computer o Subpopulations never interact o Relatively easy to implement o Highly redundant

CSE298 CSE300 DGA-13 CSE300 Parallel Genetic Algorithm – Fine Grained Parallel GAs o Partition the population into a large number of very small subpopulations o Calls for massively parallel computers

CSE298 CSE300 DGA-14 CSE300 Parallel Genetic Algorithm – Coarse Grained parallelism o Population is divided into a few subpopulations o A migration operator is introduced o Migration is used to send some individuals from one subpopulation to another

CSE298 CSE300 DGA-15 CSE300 Parallel Genetic Algorithm – Coarse Grained parallelism o Two population genetics models. o Island model. Individuals can migrate to any other subpopulation. o Stepping stone model. Migration is restricted to neighboring subpopulations.

CSE298 CSE300 DGA-16 CSE300 Agent-Based Distributed GA  Multiple-Population Coarse-Grained  Synchronous migration  Migrations occur at a predetermined constant interval  Dynamic migration topology  Destination of the migrants is determined randomly among all the nodes involved in the computation  Tournament-based selection  Deterministic Crowding  Allows for finding multiple optima in multimodal search spaces by reducing the selection pressure between distant individuals

CSE298 CSE300 DGA-17 CSE300 System Overview Local Area Network GA Population GA Population GA Population

CSE298 CSE300 DGA-18 CSE300 States

CSE298 CSE300 DGA-19 CSE300 Workflow

CSE298 CSE300 DGA-20 CSE300 Migration

CSE298 CSE300 DGA-21 CSE300 Deployment

CSE298 CSE300 DGA-22 CSE300 Class Diagram Part

CSE298 CSE300 DGA-23 CSE300 Sequence Diagram Part

CSE298 CSE300 DGA-24 CSE300 AgentBasedGA class Implement the main() method. o Start up voyager. o Assign the IP address and construct Directory. o Create GAProxy remote objects o Instantiate GeneticAlgorithm agent o Move GeneticAlgorithm agent

CSE298 CSE300 DGA-25 CSE300 GAProxy class Responsible for registering GA, registering and checking out SubPopulation and locating remote host. o Directory directory. Provides service to look for the remote host o Vector queueSubPopulation. Stores the SubPopulation object coming from other GeneticAlgorithm agent. o Boolean isAlive. State of the GAProxy, control if subpopulation should move. o Methods Register(SubPopulation), SubPopulationQueueSize(), checkOutSubPopulation(int), clearSubPopulationQueue(). Manages the SubPopulation objects. o Method unregisterGA(). Reclaim the GeneticAlgorithm agent by Garbage Collection.

CSE298 CSE300 DGA-26 CSE300 SubPopulation class Represents the migrants exchanged between two GeneticAlgorithm agents. o Method moveTo(String). Agent.of(this).moveTo( String url, String callback [, Object[] args ] ). o Method onArrival(). Oneway callback after subpopulation agent moves to the remote host, it invokes Register method of the remote GAProxy object to add this SubPopulation to the queue.

CSE298 CSE300 DGA-27 CSE300 GAState class Represents the internal state of the GA and is used to report the results of the GA to the user o Vector lnkBestFitness. Store the best fitness of every generation o Method moveTo(String). Move GAState object to the local host o Method onArrival(). Oneway callback. It invoke method reportResult() to report the result o Method save(). Called by the GeneticAlgorithm to save the best fitness of the population

CSE298 CSE300 DGA-28 CSE300 Directory class Implement a lookup table for the processing nodes involved in the computation. Contained in each GAProxy object o Vector vecHost. Contains the list of the IP address o Mmethod addHost(String) o Method getRndHost(String). Locates a random host except for the one in the parameter

CSE298 CSE300 DGA-29 CSE300 Interface o IGAProxy, ISubPopulation and IGAState are the interface of the class GAProxy, SubPopulation and GAState respectively. o Contains no code and only define a set of method signatures that are defined in their classes. o In voyager, a remote object is represented by a special proxy object that implements the same interfaces as its remote counterpart.

CSE298 CSE300 DGA-30 CSE300 Rosenbrock’s Valley

CSE298 CSE300 DGA-31 CSE300 Rosenbrock’s Valley Global Minimum f(x)=0; x i =1, i=1,2 Global Minimum f(x)=0; x i =1, i=1,2

CSE298 CSE300 DGA-32 CSE300 Assumptions  10-bit binary representation mapped in [-2.048,2.048]  Population size  Migration size  Migration interval  10 Generations  Number of generations  100  Crossover (Prob.=1.0) / Mutation (Prob.=0.0)  Methodology  results are the average of 5 experiments

CSE298 CSE300 DGA-33 CSE300 Execution Time vs. Number of Nodes

CSE298 CSE300 DGA-34 CSE300 Time vs. Generation

CSE298 CSE300 DGA-35 CSE300 Execution Time vs. Generation

CSE298 CSE300 DGA-36 CSE300 Computation and Communication Times

CSE298 CSE300 DGA-37 CSE300 Observation  Parallel GA had worst performance  Communication overhead is too big compared with the time spent searching for the solution What happens if the objective function is more complex? Repeated the experiments adding 5 seconds of delay in each fitness calculation

CSE298 CSE300 DGA-38 CSE300 Execution Time vs. Number of Nodes

CSE298 CSE300 DGA-39 CSE300 Computation and Communication Times

CSE298 CSE300 DGA-40 CSE300 Communication/Computation Ratio

CSE298 CSE300 DGA-41 CSE300 Average Fitness vs. Generation

CSE298 CSE300 DGA-42 CSE300 Error Histogram

CSE298 CSE300 DGA-43 CSE300 Error vs. Number of Nodes

CSE298 CSE300 DGA-44 CSE300 Experiment: Ackley’s Path Function Ackley's Path is a widely used multimodal test function. o function definition: f 10 (x)=-a·exp(-b·sqrt(1/n·sum(x(i)^2)))- exp(1/n·sum(cos(c·x(i))))+a+exp(1); a=20; b=0.2; c=2·pi; i=1:n; <=x(i)<= o global minimum: f(x)=0; x(i)=0, i=1:n.

CSE298 CSE300 DGA-45 CSE300 Ackley’s Path Function Graphic 1

CSE298 CSE300 DGA-46 CSE300 Ackley’s Path Function Graphic 2

CSE298 CSE300 DGA-47 CSE300 Ackley’s Path Function Problem Methodology Designed to compare the performance between agent- based distributed GA and serial GA and test if agent-based distributed GA can have a better solution o Number of alleles in individuals: 80 o Number of individuals in the population: 100 o In both cases, GA evolves 100 generations and stops o For the distributed case, every 10 generations, 10 individuals are exchanged among distributed GAs o For each case, GA is run 3 times because the initial population is randomly produced

CSE298 CSE300 DGA-48 CSE300 Ackley’s Path Function Result Table Experiment Agent-based GA Serial GA 13.27E-81.73E E-95.57E E-91.79E-6

CSE298 CSE300 DGA-49 CSE300 Ackley’s Path Result Figure 1

CSE298 CSE300 DGA-50 CSE300 Ackley’s Path Result Figure 2

CSE298 CSE300 DGA-51 CSE300 Ackley’s Path Experiment Conclusion o Agent-based distributed GA can attain better final result than serial GA. o The performance of the serial GA is not steady, Therefore, distributed GA can be employed to solve the complex problems if possible. o Serial GA converges quickly in the beginning stage, the exchange of individuals in the distributed GA slows down the converge in the beginning but increases the variation in the population thereby helping attain the better final result.

CSE298 CSE300 DGA-52 CSE300 Conclusions  Parallel GA does not speed up the computation in simple problems  Small Communication/Computation ratio  speed up of the form C/n  Communication/Computation ratio increases with number of nodes  Speed up does not impact the quality of the solution

CSE298 CSE300 DGA-53 CSE300 Future Research  Migration policies  Migration topologies  Impact on solutions quality  Speed up model  Communication/computation ratio  Multiobjective optimization  Performance comparison with non-Java implementations  Deme Sizes