Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

19
Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE

Transcript of Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Page 1: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Genie: A Genetic Placement Algorithm

James P. Cohoon

William D. Paris

© 1987 IEEE

Page 2: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Genetic Algorithms

State Space Search –similar to SA Based on principles of natural selection and

evolution Population of solutions, of varying fitness levels Solutions ‘mate’ or crossover, to form offspring Solutions randomly mutate to introduce new

genes into the current population Best solutions have a better chance of surviving

to the next generation

Page 3: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Pseudo Code overview

Create an initial population P

While (best score hasn’t improved in 10,000 generations) {

Offspring = Crossover(s1, s2 in P)*

P = Selection(P U O)*

For( i=1 to k*)

Mutate(s in P)

}

*Solutions are selected for crossover proportional to the fitness level of individual. If (fitness < average) solution is rejected for crossover.

*k = random normal function of mean K*Pop_Size*Num_Nets

Page 4: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Population Constructor

A B E G I J

Net 3: A, B, E, G, I, J Net 2: A, D, E, F, HNet 1: A, B, C, D Step 1: Randomly select a net (Z)

Step 2: Place free modules in net Z on grid from L to R

Page 5: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Population Constructor

A B E G I J

Step 1: Randomly select a net (Z)Step 2: Place free modules in net

Z on grid from L to R

Net 1: A, B, C, DNet 2: A, D, E, F, H

Step 3: Update free modules and netsNet 3: A, B, E, G, I, J

Page 6: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Population Constructor

A B E G I J

Step 1: Randomly select a net (Z)Step 2: Place free modules in net

Z on grid from L to R

Step 3: Update free modules and nets

Step 4: Select next net Do { module m = previous module placed } Until ( m is in a free net || no mods left on net) if (success) go to Step 2 else go to Step 1

Net 1: A, B, C, DNet 2: A, D, E, F, HNet 3: A, B, E, G, I, J

Page 7: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Population Constructor

A B E G I J

Step 1: Randomly select a net (Z)Step 2: Place free modules in net

Z on grid from L to R

Step 3: Update free modules and nets

Step 4: Select next net Do { module m = previous module placed } Until ( m is in a free net ) if (success) go to Step 2 else go to Step 1

Net 1: A, B, C, DNet 2: A, D, E, F, HNet 3: A, B, E, G, I, J

DF H

Page 8: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Population Constructor

A B E G I J

Step 1: Randomly select a net (Z)Step 2: Place free modules in net

Z on grid from L to R

Step 3: Update free modules and nets

Step 4: Select next net Do { module m = previous module placed } Until ( m is in a free net ) if (success) go to Step 2 else go to Step 1

Net 1: A, B, C, DNet 2: A, D, E, F, HNet 3: A, B, E, G, I, J

DF H C

Page 9: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Fitness Calculation

Semi-perimeter bounding rectangle for each net

Measure of excess channel usage Penalized if channel has above average # nets

ie non-uniform channel usage

Page 10: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Crossover Operator

A B C

D E F

G H I

G I B

F J L

K D C

Passing Parent Target Parent

Page 11: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Crossover Operator

A B C

D E F

G H I

Passing Parent Copy of Target Parent

A

E

H

J L

K

Page 12: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Crossover Operator

A B C

D E F

G H I

Passing Parent Copy of Target Parent

A B C

D E F

G H I

K

L

J

Page 13: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Mutation Operator Selects a random net (Z) in Solution (s). Selects a random Module on Z Locates farthest module on net Z, and moves it as close

as possible.

AD

1 is preferred (dY < dX) if B or C @ 1, 2 is

preferred If B, C @ 1,2, 3 is

required

12 3

Net 1: A, B, C, D

Page 14: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Mutation Operator

Net 1: A, B, C, D Step 1: Select a random net

Step 2: Select a random module

Initial Solution

A

B

C

D

Step 3: Locate farthest module on net

E

Page 15: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Mutation Operator

Net 1: A, B, C, D Step 1: Select a random net

Step 2: Select a random module

Initial Solution

A

B

C

D

Step 3: Locate farthest module on net

Step 4: Slide module to closest possiblelocation

E

Page 16: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Results

Authors Results My Results Vs TW*

*simplified algorithm, Implemented by meTW cost function used for both algorithms

chip Genie

Score

Genie

Time

TW

Score

TW

Time

10_1 40 2.27us 59 .26us

10_2 42 2.2us 60 .31us

50_1 2755 23us 3794 36.5us

50_2 3295 35.6us 4959 29.2us

Page 17: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

Merits of GA’s

Pros: Large Population provides information about past solution space -

provides a more guided search Can keep inferior solutions without destroying the good ones crossover allows for the best parts of multiple solutions to form into one

Cons: High memory requirement Difficult parameterization (population size, rate of mutation, weighted

fitness for selection, etc)

Page 18: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

My Thoughts

Potential Areas of improvement Crossover -Poor for small circuits (Converge to local optima too quickly) Mutation -too deterministic (almost always improves solution)

Page 19: Genie: A Genetic Placement Algorithm James P. Cohoon William D. Paris © 1987 IEEE.

References

Genetic Placement

James P. Cohoon, member, IEEE, and William D. ParisIEEE Transactions on Computer Aided Design, Vol. Cad-6, No. 6, November 1987

VLSI Cell Placement Techniques

K. SHAHOOKAR AND P. MAZUMDERDepartment of Electrical Engineering and Computer Sc~ence,

University of Michigan, Ann Arbor, Michigan 48109

ACM Computing Surveys, Vol. 23, No. 2, June 1991