GENIE Eric Jackowski GENIE Genetic Algorithm for Placement
- Slides: 16
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 – 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 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 Iterations<10000 Ξ 1. 25 p Population Ξ 3. 75 p Φ 4 Parenty Parentx i < p * KΨ Ψ 2 Offspring σ2 i<k Population μ 2 Population
GENIE vs TW • Total Wirelength – GENIE 1. 2 x better on large circuits – TW. 8 better on smaller circuits • Number of Iterations – GENIE orders of magnitude less • Overall Time – TW 2 x faster on large circuits – GENIE 2 x faster on small circuits
Discussion • Challenges – “Sliding”, μ 2, Ξ 3 • Lessons Learned – Need mutation otherwise converge to quickly – The order in which you “slide” is very important
Questions
Appendix GENIE ALGORITHM
Appendix • GENIE 1: 25% Ξ 1 75% Ξ 3 Φ 4 ψ2 σ2 μ 2 • GENIE 2: 25% Ξ 1 75% Ξ 3 Φ 4 ψ2 σ3 μ 2 • GENIE 1*: 25% Ξ 1 75% Ξ 3 Φ 4 ψ2 σ2 μ 2* • GENIE 2*: 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 • Return highest scoring configuration in population;
- Elewator jabłowo
- Genetic programming vs genetic algorithm
- Genetic programming vs genetic algorithm
- What is the difference between genetic drift and gene flow
- Gene flow vs genetic drift
- The founder effect
- Single point crossover in genetic algorithm
- Schema theorem in genetic algorithm example
- Single point crossover in genetic algorithm
- Garp model
- Genetic algorithm
- Fitness function
- Fitness function in genetic algorithm
- Single point crossover in genetic algorithm
- Genetic algorithm for stock prediction
- Is genetic algorithm heuristic
- Gabil genetic algorithm