Genetic Algorithms Digest    Wednesday, 16 March 1988    Volume 2 : Issue 8

 - Send submissions to GA-List@NRL-AIC.ARPA
 - Send administrative requests to GA-List-Request@NRL-AIC.ARPA

Today's Topics:
	- VLSI CAD
	- GA Research Survey Response
	- GA Variations
	- Ackley on SIGH

------------------------------

Date: Mon, 14 Mar 88 14:36:32 PST
From: pi%durga.usc.edu@oberon.USC.EDU (Jen-I Pi)
Subject: VLSI CAD

In GA-List Vol. 2, No. 6

Kurt asks:
>Does anyone know of any references concerning the application of 
>genetic algorithms to VLSI CAD problems (i.e., routing, placement, 
>PLA folding, etc.)?  I would appreciate any help that could be 
>provided.  Thanks in advance.

and John replies with:
>[ The following papers are relevant:
>
>"Compaction of symbolic layout using genetic algorithms" by Mike Fourman,
>and "Bin packing with adaptive search", by Derek Smith, both in the
>Proceedings of 1st ICGATA, 1985.
>
>"Applying adaptive search to epistatic domains", by L. Dave Davis, 
>IJCAI, 1985.
One more reference you might be interested is

"Genetic Placement", by J. P. Cohoon and W. D. Paris, IEEE Trans. on CAD, Vol.
CAD-6, No. 6, pp. 956-964.,1987.

BTW, I am currently working on applying GAs for VLSI Floorplan Design.

-------------
Jen-I Pi :-)			     UUCP:     {sdcrdcf,cit-cav}!uscvax!pi
Department of Electrical Engineering CSnet:    pi@usc-cse.csnet
University of Southern California    Bitnet:   pi@uscvaxq
Los Angeles, Ca. 90089-0781	     InterNet: pi%durga.usc.edu@oberon.USC.EDU

------------------------------

Date: Tue, 15 Mar 88 16:21:10 GMT
From: Pat Prosser <pat%computer-science.strathclyde.ac.uk@NSS.Cs.Ucl.AC.UK>
Subject: Survey

I'm in the list but I don't think I've said what my interests are.

APPLICATION AREA: 
	Combinatorial optimization, sequencing
	Reactive factory scheduling.
        Constraint satisfaction
GENERAL APPROACH: 
	Representation of sequences/permutations using
        non-binary order-based chromosones, Derek Smith's
        crossover operator.
GA TOOL: 
	"Roll your own", Symbolics, KEE, Flavors
RESULTS: 
	Pallet Loader: good quality solutions at low cost.
        N-Queens: solutions up to 40x40, but generally 
                  life's too short (dead slow).
PROBLEMS: 
	Maintenance of diversity/ Continuing Exploration
        Differentiation of Fitness/ Guiding Exploitation


-- Patrick Prosser
   Department of Computer Science
   University of Strathclyde
   Glasgow
   Scotland

------------------------------

Date: Tue, 15 Mar 88 17:46:28 GMT
From: Pat Prosser <pat%computer-science.strathclyde.ac.uk@NSS.Cs.Ucl.AC.UK>
Subject: Two applications of GA's

I've been working in the area of factory scheduling  and  am  in-
terested in combinatorial optimisation, sequencing and constraint
satisfaction.  I have developed two genetic algorithms, both dif-
ferent, as follows.

(ga1 n g min% max% inv.p mu.p)

   (0) Generate a population of size n.
   (1) Evaluate each new member of the population
   (2) Select members with fitness better than average.
       Call this set the "champions"
   (3) Create offspring from the champions via crossover.
       Number of births per champion in proportion to
       fitness.
   (4) Apply secondary operators (mutation, inversion)
       to the offspring
   (5) The population becomes the champions plus offspring
   (6) If n generations or best member has survived more than
       g generations then stop, otherwise go to step (1)

In step (2): If there are less than min% of the population  above
average  then randomly make up the set of champions. If there are
more than max% of the population champions then truncate the  set
of champions. Do not allow duplicates in the set of champions.

(ga2 n g inv.p mu.p)

   (0) Create a population of size n
       Evaluate all members of the population
       and hold in a sorted list (fittest is member n-1,
       weakest is member 0)
   (1) Generate a random number x, 0 <= x < n-1
   (2) Generate a random number y, x < y <= n-1
   (3) Create offspring z by crossover between member x
       and member y. Probabilitically apply mutation and
       inversion to z. Evaluate z.
   (4) Population becomes (cdr (merge z population))
       This drops off the weakest member
   (5) If less than g evaluations go to (1)

GA1 was used for a pallet loader. The  genetic  string/chromosone
was  a permutation of plates representing an implicit loading se-
quence. The crossover operator used was Derek Smith's.  The  fit-
ness  function  was loaded pallet weight.  The arguments min% and
max% were used as an attempt  to  maintain  population  diversity
(exploration)   and  control  convergence  (exploitation);  these
worked well.

GA2 was used for the n-queens. Again the chromosone was a  permu-
tation  (of integers).  A loci represented a row of the board, an
allel the column occupied.  This ensures that no piece is on  the
same  row or same column. The evaluation/fitness function was the
number of "attacks" on the board (zero attacks  implies  a  solu-
tion).

Since two different problems  were  tackled  there  has  been  no
direct comparison between ga1 and ga2. The problem tackled by ga1
performed really well compared to a branch  and  bound  technique
(comparison  was  average  run  time over many trials and average
weight of pallet loaded). In ga1 the  search  was  for  "improve-
ments",  a  relatively easy task. The domain knowledge was sparse
(it was not clear what was a good  strategy  for  this  problem).
Crossover  tended  to  produce  improvements  or  at least modest
downhill moves (objective to maximise weight).

GA2 performed like a pig! I put this down to the problem  domain.
There  is a lot of domain knowledge that was not exploited and we
were searching for a specific valued point in  the  search  space
(not  just an improvement, a chromosone was either a solution and
search could stop or it was  no  good).  The  crossover  operator
could  generate  massive  uphill moves (objective to minimise at-
tacks). Compared to Haralick's "fail 1st principle" it  performed
thousands of times worse (measure was piece comparisons).

As a natural analogy ga1 has a "mating season",  ga2  has  births
evenly  distributed over time (more human). In ga2 as the average
fitness of the population rises it becomes harder to merge z into
the population; (natural analogy) as the average age of the popu-
lation increases the number of "still births" increases. GA2  was
modified  to  get  around  the "still births" problem by randomly
selecting an old member of the population below  average  fitness
and  zapping  it (euthanasia). Also no duplicates were allowed in
the population (to remove the probability of population homogeni-
sation).

In conclusion GA looks like a good technique when:

   (a) There is little domain knowledge to exploit AND
   (b) The search is for a "good" solution rather than
       a specific point in the search space AND
   (c) The primary genetic operators tend to produce
       improvements or at worst marginal bad moves AND
   (d) The algorithm does not diverge from a natural
       analogy!

Question: are GA1 and GA2 genetic algorithms  (crisis  of  confi-
dence!)?

Patrick Prosser
Department of Computer Science
University of Strathclyde
Glasgow

------------------------------

Date: Tue, 15 Mar 88 14:46:02 est
From: ackley@flash.bellcore.com (David Ackley)
Subject: Re: GA-List V2N6

I read with great interest Larry Eshelman's data (reported in GA-List
V2N6) from applying iterated variants of Grefenstette's GENESIS2
algorithm to the demonstration functions presented in Chapter 3 of my
dissertation.  I am gratified that someone was interested enough to
make further comparisons, and to use the time-to-criterion performance
measure I adopted for my dissertation work.

To me, Larry's results reinforce the idea that there has been much
progress since Holland's (1975) R1 algorithm.  It was disappointing
preliminary results with R1 that prompted me to create variants that
reached criterion faster.  Considering Larry's data, it is clear that
I would have done better still by hunting down and iterating
Grefenstette's code instead.

On the "Is SIGH genetic?" issue, I highlight the "Porcupine" function.
This function is expressly designed to slow down hillclimbing
strategies --- the landscape generated by porcupine contains very
nearly 50% local maxima, and only n out of the 2^n possible states
lead uphill to the global maximum.  The 20 bit porcupine results (from
Larry's message):

>>--------------->>-----------decreasing speed----------->>----------------->>
IGA-C	IGA-CM	SIGH	IGS-U	IGS-O  | IGA-M	SHC	ISA	IHC-SA	IHC-NA
 351	 354	 357	 414	 608   | 1163	 4528	 9224	 >1M	 >1M
<--Combination-rule-based strategies-->|<---Local-modification strategies---->

Even the fastest strategy without a recombination rule (IGA-M) is
nearly twice as slow as the slowest strategy with a recombination rule
(IGS-O).  

 David Ackley
 Bell Communications Research 2B-324
 435 South St
 Morristown, NJ  07960-1961

 ackley@bellcore.com

------------------------------

End of Genetic Algorithms Digest
********************


