GENIE Eric Jackowski.

Slides:



Advertisements
Similar presentations
© Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems Introduction.
Advertisements

Algorithm Design Techniques
Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm
Genetic Algorithms. Some Examples of Biologically Inspired AI Neural networks Evolutionary computation (e.g., genetic algorithms) Immune-system-inspired.
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.
Fuzzy Simulated Evolution for Power and Performance of VLSI Placement Sadiq M. Sait Habib Youssef Junaid A. KhanAimane El-Maleh Department of Computer.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Data Mining CS 341, Spring 2007 Genetic Algorithm.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
Iterative Improvement Algorithms
Fuzzy Simulated Evolution for Power and Performance of VLSI Placement Sadiq M. SaitHabib Youssef Junaid A. KhanAimane El-Maleh Department of Computer Engineering.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.
Universidad de los Andes-CODENSA The Continuous Genetic Algorithm.
Travelling Salesman Problem: Convergence Properties of Optimization Algorithms Group 2 Zachary Estrada Chandini Jain Jonathan Lai.
Slides are based on Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems.
Soft Computing Lecture 18 Foundations of genetic algorithms (GA). Using of GA.
Intro. ANN & Fuzzy Systems Lecture 36 GENETIC ALGORITHM (1)
Ch.12 Machine Learning Genetic Algorithm Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2011.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
 Genetic Algorithms  A class of evolutionary algorithms  Efficiently solves optimization tasks  Potential Applications in many fields  Challenges.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
Genetic Algorithms. The Basic Genetic Algorithm 1.[Start] Generate random population of n chromosomes (suitable solutions for the problem) 2.[Fitness]
Local Search. Systematic versus local search u Systematic search  Breadth-first, depth-first, IDDFS, A*, IDA*, etc  Keep one or more paths in memory.
A Genetic Approach to Standard Cell Placement Using Meta- Genetic Parameter Optimization Khusro Shahookar Pinaka Mazumder.
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Genetic Algorithm (GA)
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.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Genetic Algorithms and Evolutionary Programming A Brief Overview.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
Eight Queens Problem The problem is to place 8 queens on a chess board so that none of them can attack the other. A chess board can be considered a plain.
Local search algorithms In many optimization problems, the path to the goal is irrelevant; the goal state itself is the solution State space = set of "complete"
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
1 Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
Genetic Algorithm (Knapsack Problem)
Using GA’s to Solve Problems
Chapter 14 Genetic Algorithms.
Genetic Algorithms.
Genetic Algorithms.
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
Balancing of Parallel Two-Sided Assembly Lines via a GA based Approach
School of Computer Science & Engineering
Example: Applying EC to the TSP Problem
CSC 380: Design and Analysis of Algorithms
ECE 556 Project Algorithm Presentation

Artificial Intelligence (CS 370D)
Genetic Algorithms CPSC 212 Spring 2004.
Example: Applying EC to the TSP Problem
Example: Applying EC to the TSP Problem
Introduction to Artificial Intelligence Lecture 11: Machine Evolution
The N-queens problem Team: 404 brain not found
Use the graph of the given normal distribution to identify μ and σ.
CS Fall 2016 (Shavlik©), Lecture 12, Week 6
Methods and Materials (cont.)
EE368 Soft Computing Genetic Algorithms.
Searching for solutions: Genetic Algorithms
Genetic Algorithms & Simulated Evolution
Md. Tanveer Anwar University of Arkansas
Biologically Inspired Computing: Operators for Evolutionary Algorithms
Steady state Selection
Beyond Classical Search
CSC 380: Design and Analysis of Algorithms
GA.
Presentation transcript:

GENIE Eric Jackowski

GENIE Genetic Algorithm for Placement “Genetic Placement,” Cohoon and Paris “VLSI Placement Techniques,” Shahookar and Mazumder Uses Directed-Evolution Methodology Obtains optimal solutions faster Avoids Premature Homogeneity Uses randomness in the functions Evaluates Several Functions Population, Choice, Crossover, Selector, Mutation

Genie Data Structures Net Cell Layout Name, # of Connections, Array of Cells Cell Name, # of Ports, Array of Nets Layout # of Rows, # of Columns, Array of Cells

Scoring Function σ hi = # of nets whose bounding rectangle crosses a horizontal channel vi = # of nets whose bounding rectangle crosses a vertical channel h = average h, v = average v Sh and Sv= one standard deviation of vertical and horizontal usage Score = − −

Population Constructor Ξ Ξ1 place random cells at random locations Ξ2 and Ξ3 choose the same order cells are assigned. Randomly select a net Place all unplaced cells on net Select an unselected net from the last cell placed Randomly select a cell on that net Ξ2 places in boustrophedon fashion Ξ3 places in row major fashion Ξ2 Ξ3

Crossover Function ψ Ψ1 randomly select cell from parent and place in child. “Slide” neighboring cells to new locations Ψ2 randomly select a k x k square from parent and copy it into the child. For the cells in the child block that are not in the parent block, move them to the cell locations of the cells in the parent block that are not in the child block.

Crossover Choice Function Φ Φ1 chooses random string and best scoring string for crossover Φ2 randomly chooses both strings for crossover Φ3 and Φ4 choose random string with probability based on the score Φ3: Φ4:

Selector Function ρ ρ1 chooses the best scoring string from the Population and the Offspring ρ2 randomly choose P strings from the Population and Offspring ρ3 randomly chooses string αj from the population and offspring with probability

Mutation Function μ μ1 randomly chooses two cells and interchanges them μ2 uses a directed evolution transformation to reduce the bounding rectangle for a random net Randomly select a net Randomly select a Cell, es, on that net Find farthest Cell, et, from the selected cell Place the et next to the es and slide surrounding cells Find the next farthest cell from es Place the second farthest cell next to es μ2* swaps the position of two cells if they are already adjacent

GENIE Algorithm Ξ1 Ξ3 Iterations<10000 .25p .75p Population Φ4 Parentx Parenty i < p * KΨ Ψ2 Offspring σ2 Population i < k μ2 Population

GENIE vs TW Total Wirelength Number of Iterations Overall Time GENIE 1.2x better on large circuits TW .8 better on smaller circuits Number of Iterations GENIE orders of magnitude less Overall Time TW 2x faster on large circuits GENIE 2x faster on small circuits

Discussion Challenges Lessons Learned “Sliding”, μ2, Ξ3 Need mutation otherwise converge to quickly The order in which you “slide” is very important

Questions

Appendix GENIE ALGORITHM

Appendix GENIE1: 25% Ξ1 75% Ξ3 Φ4 ψ2 σ2 μ2

Appendix Initialize; Np  population size; No  Np * Pψ; /* where Pψ is the desired ratio of the number of offspring to the population size */ Construct_population(Np); FOR i  1 To Np score(population[i]); ENDFOR; FOR i + 1 TO Number_ of_ Generations FOR j  To No (x, y)  Choose _Parents; offspring[ j]  generate _Offspring( x, y); Score(offspring[ j]); ENDFOR; population  Select(population, offspring, NP); FORj  i To Np With probability Pμ Mutate(population[j] ); ENDFOR; ENDFOR Return highest scoring configuration in population;