
Genetic Algorithms Digest   Monday, 15 October 1990   Volume 4 : Issue 24

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

Today's Topics:

	- Backlog
	- Bid parameters in classifier systems
	- Using GAs for rule partitioning, distributed processing

******************************************************************************

CALENDAR OF GA-RELATED ACTIVITIES: (with GA-List issue reference)

Conference on Simulation of Adaptive Behavior, Paris (v4n17)  Sep 24-28, 1990
Workshop Parallel Prob Solving from Nature, W Germany (v4n18) Oct 1-3,   1990
2nd Intl Conf on Tools for AI, Washington, DC (v4n6)          Nov 6-9,   1990
4th Intl. Conference on Genetic Algorithms (v4n17)            Jul 14-17, 1991

(Send announcements of other activities to GA-List@aic.nrl.navy.mil)

******************************************************************************

Date: Mon, 15 Oct 90
From: Alan C. Schultz (GA-List Moderator)
Subject: Administrivia

	Sorry for the brief delay in mailings.  We currently have a
	backlog of submissions.  If you sent a submission and are
	wondering where it went, its not in the bit bucket, but in
	a queue.

	--Alan

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

Date: Wed, 19 Sep 90 10:33:59 CDT
From: lewis roussel <PSLROU%LSUVM.BITNET@ricevm1.rice.edu>
Subject: Bid parameters in classifier systems

     Our lab has developed a simulation program for modeling human
     performance in an artificial grammar learning task.  The
     simulation is an implementation of a classifier system and we are
     exploring GAs and some other algorithms as possible learning
     mechanisms. In our simulation, bids are computed by summing
     strength, specificity and support.  Currently, these three
     parameters are given equal weight but we know from experience
     that different tasks favor different relative weights to achieve
     optimum performance.  Can any one refer us to research or
     theoretical discussions concerning this issue?

     Lewis Roussel
     pslrou@lsuvm.bitnet
     psmath@lsuvm.bitnet

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

Date: Mon, 24 Sep 90 15:30:12 -0400
From: George A. Sawyer <gsawyer@blackbird.afit.af.mil>
Subject: Using GAs for rule partitioning, distributed processing


Good Morning;  

     My name is George Sawyer and I am currently a graduate student at the
     Air Force Institute of Technology (AFIT), Wright-Patterson Air Force
     Base, Ohio.  As part of my thesis research, I am investigating ways
     of speeding-up the execution of production systems applications using
     parallel computer architectures.  One of the possible ``mappings'' of
     production systems to parallel architectures involves distributing
     the production (if-then) rules over all of the available processors.
     My research shows that the rules should be distributed so that
     executing (firing) any one of the production on any one of the
     available processors should affect the productions rules on as many
     processors as possible in order to maximize the probabilities of
     speed-up.  I refer to the process of distributing the rules as:
     maximizing the span-of-affect.  When adding the restriction that each
     rule can be hosted one and only one processor, the problem is shown
     to be NP-Complete! 

     Using an A* algorithm, I have found an optimal solution for a number
     of small applications (less than 20 rules), but this solution is
     clearly not practical for larger applications. As a result, I have
     turned to genetic algorithms as a possible alternative to the optimal
     A* search algorithm.  In my first ``hack'' at a genetic algorithm
     solution, I have tried to represent the problem as a concatenated
     string of rule to processors assignments with specially modified
     crossover and mutation operators.  For instatance, given 4 production
     rules and 3 processors with:

	    rule 1 assigned to processor 1, 
	    rule 2 assigned to processor 2, 
	    rule 3 assigned to processor 3 and 
	    rule 4 assigned to processor 1, the string is: 

      processor ->        1          2          3    1

      binary string ->    1 0 0    0 1 0    0 0 1    1 0 0 
			    ^        ^        ^        ^
      rule position ->    rule1    rule2    rule3    rule4  

     By allowing crossover to occur only in a multiple of the number of
     processors, each offspring produced by recombining two individuals is
     a valid possible solution.  The mutation operator is similiarly
     constrained to ensure valid individuals.

     The problem with this representation is that it does not really
     adhere to the ``building blocks'' approach to genetic algorithms
     primarily because the string positions are integral to evaluation of
     the fitness function.  In other words, the string as a whole might
     represent a very good partitioning of rules to processors, but the
     sub-strings that make up that string really have very little (if any)
     meaning when taken separately.  This problem is reflected in the
     results of many example runs.  In a majority of these runs, the
     search typically produces a very good first generation from which
     little, if any, improvement is realized!  In fact, many times the
     average fitness of the population tends to decrease over time!  In
     the example script file at the end of this message an elitist type
     strategy is used to retain the best individual thus producing a
     better than average example.  The results indicate to me that the
     problem representation is not entirely compatible with the genetic
     search process as the string representation is too dependent on the
     string positions.

     I am requesting advice on a problem representation that is less
     dependent on the string position and the modified genetic operators
     and is likely to be more amenable to the genetic search process in
     general.  If you have any suggestions, I would very much appreciate a
     reply at: gsawyer@blackbird.afit.af.mil

     George A. Sawyer

     EXAMPLE TEST RUN (OPTIMUM RESULT IS 15):  

     csh> a.out
     ******* Genetic Algorithm Rule Partitioning Program *********

     The Initial Population Is: 
     ********** The Population is: *************
     The Best:  14 The Worst:   8 The Average:  1.10000000000000E+01
     -------------------------------------------------------------
     0 0 1   1 0 0   0 0 1   0 1 0   0 0 1   fitness =>  12
     1 0 0   0 1 0   1 0 0   1 0 0   1 0 0   fitness =>   8
     0 0 1   0 0 1   0 0 1   1 0 0   1 0 0   fitness =>  10
     1 0 0   1 0 0   0 1 0   0 0 1   0 1 0   fitness =>  14
     -------------------------------------------------------------
     The parent selected is:   4
     The parent selected is:   3
     Crossing at position:  12
     Mutation Performed!  The offset value is:   6
     Mutation Performed!  The offset value is:   3
     The parent selected is:   3
     The parent selected is:   3
     Crossing at position:  12
     Generation   1 Statistics and Population:
     ********** The Population is: *************
     The Best:  14 The Worst:  10 The Average:  1.12500000000000E+01
     -------------------------------------------------------------
     1 0 0    0 0 1    0 1 0    0 0 1    1 0 0   fitness =>  11
     0 0 1    0 0 1    0 0 1    1 0 0    0 1 0   fitness =>  14
     0 0 1    0 0 1    0 0 1    1 0 0    1 0 0   fitness =>  10
     0 0 1    0 0 1    0 0 1    1 0 0    1 0 0   fitness =>  10
     -------------------------------------------------------------
     The parent selected is:   2
     The parent selected is:   3
     Crossing at position:  12
     The parent selected is:   2
     The parent selected is:   4
     Crossing at position:   9
     Generation   2 Statistics and Population:
     ********** The Population is: *************
     The Best:  14 The Worst:  10 The Average:  1.20000000000000E+01
     -------------------------------------------------------------
     0 0 1    0 0 1    0 0 1    1 0 0    1 0 0   fitness =>  10
     0 0 1    0 0 1    0 0 1    1 0 0    0 1 0   fitness =>  14
     0 0 1    0 0 1    0 0 1    1 0 0    1 0 0   fitness =>  10
     0 0 1    0 0 1    0 0 1    1 0 0    0 1 0   fitness =>  14
     -------------------------------------------------------------
     The parent selected is:   3
     The parent selected is:   4
     Crossing at position:   9
     The parent selected is:   2
     The parent selected is:   4
     Crossing at position:   9
     Generation   3 Statistics and Population:
     ********** The Population is: *************
     The Best:  14 The Worst:  10 The Average:  1.30000000000000E+01
     -------------------------------------------------------------
     0 0 1    0 0 1    0 0 1    1 0 0    0 1 0   fitness =>  14
     0 0 1    0 0 1    0 0 1    1 0 0    1 0 0   fitness =>  10
     0 0 1    0 0 1    0 0 1    1 0 0    0 1 0   fitness =>  14
     0 0 1    0 0 1    0 0 1    1 0 0    0 1 0   fitness =>  14
     -------------------------------------------------------------
     The parent selected is:   4
     The parent selected is:   1
     No Crossover!
     The parent selected is:   3
     The parent selected is:   2
     Crossing at position:  12
     Mutation Performed!  The offset value is:  10
     Generation   4 Statistics and Population:
     ********** The Population is: *************
     The Best:  14 The Worst:  10 The Average:  1.30000000000000E+01
     -------------------------------------------------------------
     0 0 1    0 0 1    0 0 1    1 0 0    0 1 0   fitness =>  14
     0 0 1    0 0 1    0 0 1    1 0 0    0 1 0   fitness =>  14
     0 0 1    0 0 1    0 0 1    1 0 0    1 0 0   fitness =>  10
     0 0 1    0 0 1    0 0 1    1 0 0    0 1 0   fitness =>  14
     -------------------------------------------------------------
     The parent selected is:   4
     The parent selected is:   3
     Crossing at position:   3
     Mutation Performed!  The offset value is:   2
     Mutation Performed!  The offset value is:  15
     The parent selected is:   3
     The parent selected is:   1
     Crossing at position:   3
     Mutation Performed!  The offset value is:  15
     Generation   5 Statistics and Population:
     ********** The Population is: *************
     The Best:  14 The Worst:   9 The Average:  1.12500000000000E+01
     -------------------------------------------------------------
     0 1 0    0 0 1    0 0 1    1 0 0    1 0 0   fitness =>  13
     0 0 1    0 0 1    0 0 1    1 0 0    0 0 1   fitness =>   9
     0 0 1    0 0 1    0 0 1    1 0 0    0 1 0   fitness =>  14
     0 0 1    0 0 1    0 0 1    1 0 0    0 0 1   fitness =>   9
     -------------------------------------------------------------

     The best performance is:  14
     csh> cd ..

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