
Genetic Algorithms Digest   Thursday, June 2, 1994   Volume 8 : Issue 18

 - Send submissions to GA-List@AIC.NRL.NAVY.MIL
 - Send administrative requests to GA-List-Request@AIC.NRL.NAVY.MIL
 - anonymous ftp archive: FTP.AIC.NRL.NAVY.MIL (Info in /pub/galist/FTP)

Today's Topics:
	- One offspring or two?
	- Selection Schemes (Re: v8n16)
	- GA's, Production Scheduling, and Job Shop Problems (Re: v8n8)
	- 2D encoding for GAs (Re: v8n15,16)
	- coloring graphs with GAs (Re: v8n16)
	- benchmarks for various OR problems (Re: v8n16)
	- GAGS (GA class lib & apps generator) announcement
	- Set Partitioning Alg.
	- GA & Neural Nets
	- speech recognition info request

----------------------------------------------------------------------
****************************************************************************

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

The IEEE Conference on Evolutionary Computation, Orlando(v7n26) Jun 26-30, 94
FOGA94 Foundations of GAs Wkshop, Estes Park, Colorado(v7n26)Jul 30-Aug 3, 94
SAB94 3rd Intl Conf on Sim of Adaptive Behavior, Brighton(v7n11) Aug 8-12, 94
ECAI-94, 11th European Conference on AI, Amsterdam (v7n23)       Aug 8-12, 94
ECAI-94 Wkshp on Applied Genetic & Other Evol Algs, Amsterdam(v8n5) Aug 9, 94
IEEE/Nagoya Univ WW Wkshp on Fuzzy Logic & NNs/GAs, Japan(v7n33) Aug 9-10, 94
ISRAM94 Special Session on Robotics & GAs, Maui, Hawaii (v7n22) Aug 14-17, 94
Evolution Artificielle 94, Toulouse, France (v8n10)             Sep 19-23, 94
COMPLEX94 2nd Australian National Conference, Australia (v7n34) Sep 26-28, 94
PPSN-94 Parallel Problem Solving from Nature, Israel (v7n32)     Oct 9-14, 94
GAs in Image Processing and Vision Colloquium, Savoy Place (v8n16) Oct 20, 94
AI'94 Workshop on Evol Comp, Armidale, NSW, Australia (v8n15)      Nov 22, 94
EP95 4th Ann Conf on Evolutionary Programming, San Diego,CA(v8n6) Mar 1-4, 95
ICANNGA95 Intl Conf on Artificial NNs and GAs, France (v8n10)   Apr 18-21, 95
ECAL95 3rd European Conf on Artificial Life, Granada, Spain(v8n5) Jun 4-6, 95

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

****************************************************************************
------------------------------

From: Nick Radcliffe <njr@epcc.ed.ac.uk>
Date: Thu, 19 May 94 16:55:16 BST
Subject: One offspring or two?

Does anyone have any good reasons for producing two children, rather
than just one, from crossover?   I ask because I have never done
this and always thought it was a slightly odd thing to do.   When
I started working on genetic algorithms I just read Holland's book
and went off and implemented them, and it never occurred to me that
you might actually keep `both' children (probably because nature
doesn't, as far as I know).   It came as a surprise when I discovered
that some people did this, and quite a shock to discover that actually
*most* people seem to do this.   But a crude analysis suggests
it should make little difference statistically, so I never really
gave it much further thought until recently.

I now have much stronger reasons for producing only one child.
Almost all of the problems I work on use non-orthogonal genes
(if genes are defined at all) or what I call `allelic representations'.
A set of genes is `orthogonal' if the values for all of them can
be chosen independently, which is the case for the simplest k-ary
string representations where all strings are legal, but not for
more complex representations.   A familiar example of a non-orthogonal
representation is the permutation representation for the TSP (the
representation in which the value of the nth gene is the city visited),
because each of the alleles must occur at exactly one locus in this
representation.   In these circumstances, there is no natural
`complement' for any child, so it seems bizarre to produce two.
(In some cases, there may be a complement in the sense that an
`opposite' rule can be followed for constructing the second child, but
this does not, in general, lead to a complementary child in the same way
as is the case for orthogonal representations.)

The case with allelic representations seems even more clear-cut.
An allelic representation is one in which genes are not defined,
and a solution is simply a collection of values (which I still call
alleles, for better or worse).   For example, the undirected edge
representation for the TSP, whereby a tour is represented by the set
of edges (links) it contains, is allelic.   In allelic representations
genes are not even defined, so the notion of a complement is hard to
sustain. In addition to the kinds of representation-independent operators
I use for a lot of problems (RRR, RTR, RAR, GNX etc), Whitley's Edge
Recombination operator (in its various forms) recognises this by not
attempting to produce two children.

I think this demonstrates that there are plenty of situations in which
producing two children would be difficult or senseless, but I would be
interested if anyone has any arguments in favour of producing both
children.   The only one I can think of is based on attempting
to maintain diversity, but it seems to me that in the presence of most
selection/replacement/update strategies this (possible) advantage
disappears.   I would have thought only in the presence of a direct
replacement strategy (which is rather rare) could this confer any
advantage.

Anyway, what do other people think?   I'd be interested if anyone has
any good reasons for using producing two children (or more, or indeed,
any other reasons for producing one.)

[If anyone wants to read more about non-orthogonal representations
and allelic representations, various papers are available by FTP
from ftp.epcc.ed.ac.uk [129.215.56.29].   pub/personal/njr/gabib.ps.Z
has a bibliography with pointers.   TR9415 is a good place to look at
allelic representations, TR9204 is an easy introduction to
non-orthogonality, and TR9211 contains the maths.   Edge recombination
is described in Whitley, Starkweather & Fuquay's ICGA89 paper and also
in Dave Davis's Handbook of Genetic Algorithms.]

Nick Radcliffe
Edinburgh Parallel Computing Centre

[ WMS: My memory seems to indicate that Lashon Booker dealt with this issue
  a long time ago. ]

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

From: "Peter J.B. Hancock" <pjh@compsci.stirling.ac.uk>
Date: 20 May 94 09:50:23 BST (Fri)
Subject: Selection Schemes (Re: v8n16)

Dave Faulkner asked about comparisons of Roulette wheel and Tournament
Selection.

In my opinion, both are bad, suffering from well-known errors of sampling
analysed by Baker (87 ICGA).  In addition, a tournament size of 7 is an
enormous selection pressure - the best will expect 7 offspring, an average
string only 7/64.  Given that pressure, the sampling errors inherent in
tournament selection are probably of little consequence, but if you want
to do it more accurately, something similar is achieved by using exponential
rank selection with a ratio of 0.93.  That is, the top string gets a fitness of
1, the second, 0.93, the third 0.93^2 and so on.  You then have to divide by
the average fitness to get expected offspring.  The best will again get 7, but
the curve is slightly different to that produced by TS, giving relatively
more chance to lower ranked strings - an average one should expect about
0.2 offspring.  However, you can then use Baker's sampling method on the
expected values.
I have a paper comparing various selection methods nearly ready, that may
appear in the proceedings of an AISB workshop held in Leeds recently.  I'll
make something available by FTP when it is ready.

Peter Hancock

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

From: Laurent Atlan <atlan@genethon.genethon.fr>
Date: Thu, 19 May 1994 09:23:37 +0200
Subject: GA's, Production Scheduling, and Job Shop Problems (Re: v8n8)

In issue v8n8 of the GA-List, Van D. Parunak wrote :

<< To support this new vision of shop floor control, GA chromosomes
<< should be mapped to the shop or some entity in the shop AT A SPECIFIC
<< MOMENT IN TIME rather than to a structure that must be executed ACROSS
<< TIME (like a schedule). Each competing chromosome might record a
<< possible aggregation of elemental machines into a workstation, the
<< complement of tools assigned to a CNC machine, or a local decision
<< rule for a machine to prioritize incoming jobs, to name only a few
<< possibilities.  Instead of trying to schedule the overall performance
<< of the shop OVER TIME, GAs should search the space of possible
<< configurations for individual agents AT A GIVEN TIME to produce a
<< community that will emergently provide the required performance.

I am absolutely agree with him. The following paper shows how such
principles can be efficiently implemented :

               Learning Distributed Reactive Strategies
                      by Genetic Programming
                  for the General Job Shop Problem

	Laurent Atlan, Jerome Bonet and Martine Naillon

To be published in proceedings of the Seventh Annual Florida Artificial
Intelligence Research Symposium, FLAIRS-94,

An electronic copy of this paper is available by anonymous ftp :

ftp ftp.ens.fr
login: anonymous
password: <type your email address>
cd /pub/reports/biologie
bin
hash
get disgajsp.ps.Z
quit
uncompress disgajsp.ps.Z
lpr disgajsp.ps

abstract:
proposed is a general system to infer symbolic policy functions
for distributed reactive scheduling in non-stationary environments.
The job shop problem is only used as a validating case study.
Our system is based both on an original distributed scheduling model
and on genetic programming for the inference of symbolic policy functions.
The purpose is to determine heuristic policies that are local in
time, long term near-optimal, and robust with respect to
perturbations.
Furthermore, the policies are local in state space: the global decision
problem is split into as many decision problems as there are agents,
i.e. machines in the job shop problem.
If desired, the genetic algorithm can use expert knowledge as a
priori knowledge, via implementation of the symbolic representation
of the policy functions.

Laurent Atlan
Dassault-Aviation
Artificial Intelligence Department
DGT/DEA/IA2
78 quai Marcel Dassault 92214 Saint-Cloud
France

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

From: Gusz Eiben <gusz@cs.vu.nl>
Date:     Fri, 20 May 94 0:15:17 MET DST
Subject:  2D encoding for GAs (Re: v8n15,16)

We are investigating GAs for constraint satisfaction, thus not
optimization or classification (see my other submission in this
issue). Recently we were offered the 'Zebra problem' as a very
challenging one: difficult constraints and one single solution.
We tried several representations and crossovers and the best
one was what we called matrix representation: 2D chromosomes.
We are going to tell about it at the BENELEARN workshop (Dutch-
Belgian Machine Learning conf.), June 10th. If anybody is
interested in the details I will put the PostScript version on
our ftp site.

Gusz Eiben

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

From: Gusz Eiben <gusz@cs.vu.nl>
Date:     Fri, 20 May 94 0:19:34 MET DST
Subject:  coloring graphs with GAs (Re: v8n16)

We applied GAs to graph coloring with 3 colors. It is a well-
known tough constraint satisfaction problem. Performance of
the classical search techniques varies, depending on the
edge density. In the most difficult density range Minton's
1992 paper in the A.I. Journal reports that roughly 20%  of
the offered graphs could be colored within reasonably set
computational limits. (ALL test graphs are colorable!)
In the same edge density range our GA can color 80-100% with
the same computational limits.
We give some results in our coming WCCI paper, and we are
working on a detailed paper on it.

P.S. Note that this graph coloring problem differs from the
one treated in Davis' book: 'ours' is a pure contraint
satisfaction problem, 'his' is a constrained optimization
variant.

Gusz Eiben

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

From: Peter Ross <peter@aisb.edinburgh.ac.uk>
Date: Fri, 20 May 94 12:00:38 BST
Subject: benchmarks for various OR problems (Re: v8n16)

In GA-List v8n16, Birgit Fahl (d10m@zfn.uni-bremen.de)
asks for the whereabouts of benchmark problems for lotsizing
with capacity constraints. A range of benchmark problems for
various well-known OR tasks can be obtained by FTP from
the OR library at Imperial College, London, address
scmga.ms.ic.ac.uk (currently 155.198.66.4). The `info' file from
there is reproduced below. You will need access to various well-known
OR journals; the on-line files typically refer you to journal articles
for details of optimal solutions or current best solutions.

Peter Ross
Department of AI
University of Edinburgh
.................................................................
Welcome to OR-Library.

The following table gives the relationship between problem
area and the appropriate file:

Problem area                                  File
Assignment problem                            assigninfo
Crew scheduling                               cspinfo
Data envelopment analysis                     deainfo
Generalised assignment problem                gapinfo
Integer programming                           mipinfo
Linear programming                            lpinfo
Location:
     capacitated warehouse location           capinfo
     p-median                                 pmedinfo
     uncapacitated warehouse location         uncapinfo
Multiple knapsack problem                     mknapinfo
Quadratic assignment problem                  qapinfo
Resource constrained shortest path            rcspinfo
Scheduling:
     flow shop                                flowshopinfo
     job shop                                 jobshopinfo
     open shop                                openshopinfo
Set covering                                  scpinfo
Set partitioning                              sppinfo
Steiner:
     Euclidean Steiner problem                esteininfo
     Rectilinear Steiner problem              rsteininfo
     Steiner problem in graphs                steininfo
Travelling salesman problem                   tspinfo
Two-dimensional cutting:
     assortment problem                       assortinfo
     constrained guillotine                   cgcutinfo
     constrained non-guillotine               ngcutinfo
     unconstrained guillotine                 gcutinfo
Vehicle routing:
     fixed areas                              areainfo
     fixed routes                             fixedinfo
     period routing                           periodinfo
     single period                            vrpinfo
     spare feasibility graph                  vrpfeasinfo

Instructions on how to use OR-Library can be found in the file paper
or in the article J.E.Beasley, "OR-Library: distributing test
problems by electronic mail", Journal of the Operational
Research Society 41(11) (1990) pp1069-1072.

J.E.Beasley, June 1990.
             Revised June 1992, April 1993, March 1994.

All the files in OR-Library are available via anonymous ftp to
      mscmga.ms.ic.ac.uk
The numeric equivalent of this ftp address is 155.198.66.4

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

From: jmerelo@kal-el.ugr.es
Date: Thu, 19 May 1994 20:10:30 UTC+0200
Subject: GAGS (GA class lib & apps generator) announcement

Hi, GA-list folks:
	After many years of toiling, I have finally finished GAGS 0.9, a
genetic algorithm application generator and C++ class library. It is released
for the first time to the net, so please be lenient with it (and with me).

	You can downoad it from
		kal-el.ugr.es:/pub/GAGS.tar.gz

Here's the blurb:

     GAGS 0.9 (Genetic Algorithms from Granada, Spain) is a
library and companion programs written and designed to take the
heat out of designing a genetic algorithm. It features a class
library for genetic algorithm programming, but, from the user
point of view, is a genetic algorithm application generator. Just
write the function you want to optimize, and gags surrounds it
with enough code to have a genetic algorithm up and running,
compiles it, and runs it. GAGS Is written in C++, so that it can
be compiled in any platform running this GNU utility. It has been
tested in SPARC and Silicon Graphics machines.

     GAGS consists of:
     *An application generator, that takes a fitness function
written in C and surrounds, and turns it into a complete program,
with user-selected parameters.
     *A genetic algorithms class library, including many
functions for genetic algorithm programming, which can be easily
modifiable.

     For the time being, it includes:
     1. Steady-state and roulette-wheel selection.
     2. Fitness evaluation using training files.
     3. Graphics output through gnuplot.

     The application generator gags.pl is written in perl, so
that this language must also be installed before GAGS.

JJ Merelo
Grupo Geneura ---- Univ. Granada

[ WMS: Anyone interested in doing a review of this software? ]

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

From: Amnon Barak <amnon@SSD.intel.com>
Date: Wed, 20 Apr 94 11:08:06 PDT
Subject: Set Partitioning Alg.

I am looking for GA litratute for solving the "Set Partitioning" problem,
with specific implications for the airline crew scheduling problem.

Prof. A. Barak (amnon@ssd.intel.com)

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

From: Chris Westbury <chris@ego.psych.mcgill.ca>
Date: Thu, 19 May 1994 10:57:42 -0400 (EDT)
Subject: GA & Neural Nets

Has anyone done any work/thinking on the formal relation between genetic
algorithms and neural nets? Is there any formal equivalence between the
two?

Thanks for any light you can shed on this for me.

				Chris

[ WMS: I believe Dave Davis and Rik Belew have done some work in this
  area. ]

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

From: greenwoo@lab.cc.wmich.edu (GREENWOOD GARRISON)
Date: Thu, 19 May 94 18:28:44 EDT
Subject: speech recognition info request

I have an application involving speech recognition....

The "traditional" way of doing speech recognition is
to segment the speech signals into time slices (frames)
of about 10 milliseconds width and then construct a
linear predictive coding (LPC) vector which represents
the spectral properties of the speech frame.  This LPC
vector is then quantized by finding the closest match
to a set of template LPC vectors.  Thus a speech signal
is converted into a sequence of template LPC vectors.  These
template vectors are the input to the recognition algorithm.

The set of template LPC vectors is called a codebook.  This
codebook is formed by inputting known speech signals, forming
the corresponding LPC vectors, and then clustering together
vectors that are in some sense similar.  Then a single LPC
vector is formed that captures the characteristics of the cluster.
Codebooks typically contain 256 representative LPC vectors (formed
from 256 distinct clusters).

I know that people have used GAs to attack clustering problems,
but is anyone aware of work done using GAs specifically in speech
recognition applications?  I'm wondering if GAs would be a
reasonable approach to form codebooks.

Thanks in advance...

Garry Greenwood
garry.greenwood@wmich.edu
Western Michigan University

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

