Study of a Paper about Genetic Algorithm For CS8995 Parallel Programming Yanhua Li.

Slides:



Advertisements
Similar presentations
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Advertisements

1 Chapter 1 Why Parallel Computing? An Introduction to Parallel Programming Peter Pacheco.
On the Genetic Evolution of a Perfect Tic-Tac-Toe Strategy
Tuesday, May 14 Genetic Algorithms Handouts: Lecture Notes Question: when should there be an additional review session?
Genetic Algorithms Representation of Candidate Solutions GAs on primarily two types of representations: –Binary-Coded –Real-Coded Binary-Coded GAs must.
Spie98-1 Evolutionary Algorithms, Simulated Annealing, and Tabu Search: A Comparative Study H. Youssef, S. M. Sait, H. Adiche
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
TEMPLATE DESIGN © Genetic Algorithm and Poker Rule Induction Wendy Wenjie Xu Supervised by Professor David Aldous, UC.
Multiobjective VLSI Cell Placement Using Distributed Simulated Evolution Algorithm Sadiq M. Sait, Mustafa I. Ali, Ali Zaidi.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
Estimation of Distribution Algorithms Ata Kaban School of Computer Science The University of Birmingham.
Improved Crowd Control Utilizing a Distributed Genetic Algorithm John Chaloupek December 3 rd, 2003.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Genetic Art. Network Record Using Network Information Chicago Evanston ParisMoscow.
P OPULATION -B ASED I NCREMENTAL L EARNING : A Method for Integrating Genetic Search Based Function Optimization and Competitive Learning 吳昕澧 Date:2011/07/19.
Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum.
Introduction to Computational Intelligence (Evolutionary Computation) Evolutionary Computation is the field of study devoted to the design, development,
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
Network Topologies. Point-to-Point Topology Point-to-point (PTP) topology connects two nodes directly together. The following examples are pure point.
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.
Slides are based on Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming n Evolution.
1 Reasons for parallelization Can we make GA faster? One of the most promising choices is to use parallel implementations. The reasons for parallelization.
EVOLVING ANTS Enrique Areyan School of Informatics and Computing Indiana University January 24, 2012.
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
Genetic Algorithm.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Performance Evaluation of Parallel Processing. Why Performance?
Neural and Evolutionary Computing - Lecture 10 1 Parallel and Distributed Models in Evolutionary Computing  Motivation  Parallelization models  Distributed.
1 Paper Review for ENGG6140 Memetic Algorithms By: Jin Zeng Shaun Wang School of Engineering University of Guelph Mar. 18, 2002.
Cristian Urs and Ben Riveira. Introduction The article we chose focuses on improving the performance of Genetic Algorithms by: Use of predictive models.
© Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Evolution strategies Evolution.
Intro. ANN & Fuzzy Systems Lecture 36 GENETIC ALGORITHM (1)
CS 484 – Artificial Intelligence1 Announcements Lab 3 due Tuesday, November 6 Homework 6 due Tuesday, November 6 Lab 4 due Thursday, November 8 Current.
Genetic Algorithms by using MapReduce
Genetic Algorithms Michael J. Watts
An Iterative Heuristic for State Justification in Sequential Automatic Test Pattern Generation Aiman H. El-MalehSadiq M. SaitSyed Z. Shazli Department.
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
The Generational Control Model This is the control model that is traditionally used by GP systems. There are a distinct number of generations performed.
Fuzzy Genetic Algorithm
Computational Complexity Jang, HaYoung BioIntelligence Lab.
Genetic Algorithms Introduction Advanced. Simple Genetic Algorithms: Introduction What is it? In a Nutshell References The Pseudo Code Illustrations Applications.
Kansas State University Department of Computing and Information Sciences CIS 732: Machine Learning and Pattern Recognition Friday, 16 February 2007 William.
1 Genetic Algorithms K.Ganesh Introduction GAs and Simulated Annealing The Biology of Genetics The Logic of Genetic Programmes Demo Summary.
Machine Learning A Quick look Sources: Artificial Intelligence – Russell & Norvig Artifical Intelligence - Luger By: Héctor Muñoz-Avila.
CS4432: Database Systems II Query Processing- Part 2.
GENETIC ALGORITHM Basic Algorithm begin set time t = 0;
Application of the GA-PSO with the Fuzzy controller to the robot soccer Department of Electrical Engineering, Southern Taiwan University, Tainan, R.O.C.
Principles in the Evolutionary Design of Digital Circuits J. F. Miller, D. Job, and V. K. Vassilev Genetic Programming and Evolvable Machines.
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Agenda  INTRODUCTION  GENETIC ALGORITHMS  GENETIC ALGORITHMS FOR EXPLORING QUERY SPACE  SYSTEM ARCHITECTURE  THE EFFECT OF DIFFERENT MUTATION RATES.
Genetic Programming Using Simulated Natural Selection to Automatically Write Programs.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
Breeding Swarms: A GA/PSO Hybrid 簡明昌 Author and Source Author: Matthew Settles and Terence Soule Source: GECCO 2005, p How to get: (\\nclab.csie.nctu.edu.tw\Repository\Journals-
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
Evolution strategies and genetic programming
Multiple Processor Systems
An Overview of Evolutionary Cellular Automata Computation
Introduction to Genetic Algorithm and Some Experience Sharing
Presentation transcript:

Study of a Paper about Genetic Algorithm For CS8995 Parallel Programming Yanhua Li

The paper to be studied: VLSI Circuit Synthesis using a Parallel Genetic Algorithm Mike Davis, Luoping Liu, and John G. Elias Department of Electrical Engineering University of Delaware Newark, DE

Introduction This paper talks about a parallel implementation of a genetic algorithm used to evolve simple analog VLSI circuits. Linda coordination language is used to implement the parallel GA.

Linda coordination language Extends the syntax of conventional programming language to support parallel operating processes Its shared-memory programming model compares well to other parallel environments. The shared-memory programming model consists of a Tuple-Space(TS).

What is Tuple-Space? Tuple-Space(TS) is a virtual shared- memory data storage area that processes can read and write. Tuple-Space(TS), physically, is widely distributed over the processors in the system but logically, is just a simple memory.

C-language Linda consists four programming language extensions: out( ) : move data into TS in() : move data out of TS rd( ) : get a copy of data from TS eval( ) : add a new C procedure to the TS which joins the ranks of executing processes

Using Linda… Data are read from the TS in an associative matching scheme. Matching criteria is sent to the TS via in() or rd() functions. The first tuple to match is returned to the requesting process The matching scheme gives a good load balancing since processes continuously probe the TS for job to do. Therefore faster processes get more job to do.

The parallel GA application Parallel Environment Consists of a network of 20 Sun IPC workstations. 16 of the machines are connected to the FDDI network and to the Ethernet. Worker processors run on FDDI connected machines. Master processors run on non-FDDI-connected machines. Commercial Linda package was used

The parallel GA application… The parallel GA is mapped onto the TS using two schemes: The centralized scheme consists of a single breeding population The distributed scheme consists of multiple breeding populations which may interact with each other from time to time

The TS consists of… four types of tuples: Members of the breeding population, C i,p E ach describes a particular circuit (e.g. transistor parameters: type, number, dimension, placement, connections). Offspring of breeding pairs, O j,p Average fitness of the population, AF p Best individual in the population, BI p

Master Processes Create worker processes Initialize and manage the population Compute the average fitness AF p Keep track of best-individual in the population BI p, and average-fitness of the population AF p Add new offspring to the population—

Master Processes Whenever a worker writes an offspring O j,p to TS, the Master will randomly select a member of the population, then compare its fitness value with the average fitness AF p, until find an individual whose fitness value is less than AF p, then replace this individual with the new offspring. By this way, the population size remains constant.

Worker Processes Repeat the following: Randomly select two breeding individuals C i,p from the population using rd() function. Combine those two individuals using crossover and mutation to produce two new offspring and evaluate their performance. Compare the better performing offspring’s fitness value with AF p. If it is larger than AF p, the offspring is written to TS using out() function.

Centralized and Distributed scheme Centralized Scheme One master, multiple workers (in this report, 16 workers) Distributed Scheme Divide TS into several equivalent regions, each has the same tuple arrangements as in the centralized scheme. Divide population into subpopulations, each has one master and several worker processes (in this report, 4 subpopulations, each has a master and 4 workers).

Centralized and Distributed scheme

Results for population size 1000

Analysis for results For criterion avg_fit >=29.96 The centralized algorithm shows nearly linear speedup (16.5/17). The distributed-with-isolated-populations GA fails to reach fitness criterion. The distributed-with-communicating- Masters GA has speedup much less than the theoretical maximum (17/20).

Analysis for results For criterion to gen# = 40 The time to reach a specific generation is largely related to the worker processes, so theoretical maximum speedup = 16 All 3 methods have similar speedup and take about the same time to reach the criterion

The four types of inverter amplifiers discovered by GA

The relationship between # of different types and some parameters

Development rules Why use development rules? The GA method creates possible connection patterns but most of them result in non- viable circuits which cannot produce offspring. Use development rules to eliminate connection patterns which are not sensible or cannot produce offspring.

Questions? Thanks!