
Genetic Algorithms Digest    Frisday, 11 May 1990    Volume 4 : Issue 7

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

Today's Topics:
	- Mailer Problems
	- Intl Workshop  on Parallel Problem Solving from Nature
	- Initial Population for TSP
	- TCGA, The Clearinghouse for Genetic Algorithms
	- Inexpensive Sharing Functions
	- Robot simulation package for GA applications

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

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

Workshop on GAs, Sim. Anneal., Neural Nets - Glasgow (v3n15)  May 9, 1990
7th Intl. Conference on Machine Learning (submissions 2/1/90) Jun 21-23, 1990
Workshop Foundations of GAs (v3n19)                           Jul 15-18, 1990
Conference on Simulation of Adaptive Behavior, Paris (v3n21)  Sep 24-28, 1990
Workshop Parallel Prob Solving from Nature, W Germany (v4n5)  Oct 1-3,   1990
2nd Intl Conf on Tools for AI, Washington, DC (v4n6)          Nov 6-9,   1990

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

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

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

Date: Fri, 11 May 90 9:15:16
From: GA-List-Request@aic.nrl.navy.mil (John Grefenstette)
Subject: Mailer Problems

Sorry for the long delay between posting.  I take blame for most of the
delay, but a small delay resulted from the installation of our mailer on
a new host at NRL.  For most network users, this change should be
transparent, but some people have reported difficulties in sending mail
to aic.nrl.navy.mil.  If you have had trouble getting message through to
us, your mailer may need additional help in finding our new machine.
Two approaches may work: try sending mail to

	ga-list@sun0.aic.nrl.navy.mil
or	ga-list-request@sun0.aic.nrl.navy.mil

The other approach is to locate another machine that does mail properly
and route mail through it:

	ga-list%aic.nrl.navy.mil@some-other-mail-smart-machine

If you haven't had message bounce back, continue to use the official
address:

	ga-list@aic.nrl.navy.mil

Thanks for your support.

- John

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

Date: Sun, 18 Mar 90 14:30 N
From: MAEN%DHDMPI50.BITNET@cunyvm.cuny.edu
Subject: Intl Workshop  on Parallel Problem Solving from Nature


                           CALL FOR PAPERS


                       International Workshop
                Parallel Problem Solving from Nature
                               (PPSN)

                         October 1 - 3, 1990
                University of Dortmund, Germany F.R.


Scope

With the appearance of massively parallel computers increased
attention has been paid to algorithms which rely upon analogies to
natural processes. The workshop scope includes but is not limited
to the following topics:

 - Darwinian methods such as Evolution Strategies
   and Genetic Algorithms
 - Boltzmann methods such as Simulated Annealing
 - Classifier systems and Neural Networks insofar as
   problem solving predominates
 - Transfer of other natural metaphors
   to artificial problem solving

The objectives of this workshop are

 - to bring together scientists and practitioners working on
   and with such strategies.

 - to gather theoretical results about as well as experimental
   comparisons between these algorithms.

 - to discuss various implementations on different parallel
   computer architectures (e.g. SIMD, MIMD, LAN).

 - to look for current and future applications in science,
   technology, and administration.

 - to summarize the state of the art in this field which up to
   now has been scattered so widely among disciplines as well
   as geographically.


Submission of papers, Proceedings

Prospective authors are invited to submit 4 copies of an extended
abstract of two pages to the conference chair before June 1, 1990.
All contributions will be reviewed by the programme committee and
up to about 30 papers will be selected for presentation. Authors
will get notice about acceptance or rejection of their papers by
July 15, 1990.

Full papers will be due on September 1, 1990. They will be delivered
to all participants at the conference as a prepublication volume.
Final papers for the proceedings of the workshop should be finished
immediately after the workshop. Details about the format of the
camera-ready final papers will be distributed later.


Language

The official language for papers and presentations is English.


Conference Chair:
H. Muehlenbein                     and  H.-P. Schwefel
Gesellschaft fuer Mathematik            University of Dortmund
und Datenverarbeitung (GMD) -Z1-        Dept. of Computer Science
P. O. Box 12 40, Schloss Birlinghoven   P. O. Box 50 05 00
D-5205 St. Augustin 1                   D-4600 Dortmund 50
F. R. Germany                           F. R. Germany
Tel. +49-2241-142405                    Tel. +49-231-755-4590
Fax  +49-2241-142889                    Fax  +49-231-755-2047
bitnet grzia0@dbngmd21                  bitnet uin005@ddohrz11

Programme Committee:

(chair)   D.E. Goldberg      Univ. of Alabama, Tuscaloosa, USA
(chair)     R. Maenner       Univ. of Heidelberg,          FRG
                             Institute of Physics
                             Philosophenweg 12
                             D-6900 Heidelberg 1
                             Tel. +49-6221-569363
                             Fax  +49-6221-475733
                             bitnet maen@dhdmpi50

        E.M.L. Aarts         Philips Res.Lab. Eindhoven,   NL
            P. Bock          Univ. of Washington DC,       USA
            V. Cerny         Univ. of Bratislava,          CSSR
            Y. Davidor       Weizmann Inst. Rehovot,       Israel
            G. Dueck         IBM Heidelberg,               FRG
          J.J. Grefenstette  Naval Res.Lab. Washington DC, USA
        A.W.J. Kolen         Univ. of Limburg, Maastricht, NL
            B. Manderick     Univ. of Brussels,            Belgium
            H. Roeck         Univ. of Bielefeld,           FRG
            H. Schwaertzel   Siemens AG Munich,            FRG
            B. Soucek        Univ. of Zagreb,              YU
         H.-M. Voigt         Academy of Sciences Berlin,   GDR


Organization
Committee:      J. Becker, H. Bracklo, H.-P. Schwefel,
                E. Speckenmeyer, A. Ultsch

Sponsors:       Parsytec GmbH and Paracom GmbH,
                IBM Deutschland GmbH, Siemens AG

Deadlines:      Abstracts (2 pages)            June        1, 1990
                Notification of acceptance     July       15, 1990
                Full papers (for preprints)    September   1, 1990
                Workshop                       October   1-3, 1990
                Final papers                   November    1, 1990


Reply Form

International Workhop
Parallel Problem Solving from Nature (PPSN)
Dortmund, October 1-3, 1990

c/o Prof. Dr. H.-P. Schwefel
Dept. of Computer Science          Tel. +49-2 31/7 55/45 90
P. O. Box 50 05 00                 Fax  +49-2 31/7 55/20 47
D-4600 Dortmund 50                 bitnet uin005@ddohrz11
F. R. Germany


Title     First Name     Middle Initials     Last Name

.................................................................


Institution .....................................................

Address .........................................................

.................................................................


.................................................................


(  ) Please send further information
(  ) I intend to attend the workhop
(  ) I intend to submit an abstract:

Title of paper to be presented

.................................................................


.................................................................


Category:  (  ) theory    (  ) implementation    (  ) application

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

Date: Wed, 18 Apr 90 13:28:20 EST
From: jrv@sdimax2.mitre.org
Subject: Initial Population for TSP

% (TeX users may wish to run the following through plain TeX and use a
% previewer.  Others should disregard the $s.  I have tried to keep the
% text readable by avoiding the uglier TeX constructs.  Do readers
% think this format is a good idea?)

There have been many attempts to use GAs to solve the travelling
salesman problem (TSP), but I have seen little discussion of
initializing the population for such a solution.  Judging from the
reported tour lengths, many researchers are starting with random tours. 
However, this penalizes the GA by starting it far from any good
solutions.  The nearest neighbor heuristic could be used to generate
initial solutions, but for an N city problem there are no more than N
such heuristic solutions, and each one takes $O(N^2)$ steps to find. 
If the initial population includes only a few such heuristic solutions,
they are likely to quickly dominate the remainder.  

I suggest starting instead with solutions generated by a variation of
the spacefilling curve heuristic developed by Platzman and Bartholdi
[1-3].  The spacefilling curve heuristic takes only $O(N \log N)$ time
and generates a solution about 25 percent longer than optimal (for
cities distributed uniformly in a square).

The heuristic is based on a spacefilling curve $\phi$, which is a
continuous (but not one-to-one) mapping from the unit interval C =
[0,1] onto the unit square $S = [0,1]^2$.  It is performed as follows:

\bigskip

SPACEFILLING HEURISTIC

1.  For each point $p \in S$ to be visited, compute an $x \in C$ such
that $p = \phi(x)$.

2. Sort the points by their corresponding $x$'s.

\bigskip

In other words, visit the points in the order of their appearance along
the spacefilling curve.  Platzman and Bartholdi give an algorithm for
computing the inverse required in step 1.  I have appended an
equivalent C program.

The algorithm requires that the points be in the unit square.  This can
be arranged by translating, scaling, and rotating the initial
coordinates of the points, since these operations do not affect the
solution of the TSP.  The key to generating multiple solutions, as
required for the initial population for the GA, is the observation that
the spacefilling curve heuristic is {\it not} invariant with respect to
these operations.  Even very slight changes (less than one percent) in
the transformations will result in considerably different heuristic
solutions.

My suggestion is to transform the points into an area slightly smaller
than the unit square, such as $[0,0.9]^2$.  Let $(x_i, y_i)$ be the
resulting coordinates of the $i$th point.  Suppose 100 members are
needed for the initial population.  They could be generated by the
following procedure:

\bigskip

ITERATED SPACEFILLING HEURISTIC

1. For $j = 1...10$, do steps 2 and 3.

2. For $k = 1...10$, do step 3.

3. For $i = 1...N$, let $(u_i, v_i) = (x_i + 0.01 j, y_i + 0.01 k)$ be
the transformed coordinates of the $i$th point.  Apply the above heuristic
to these points and record the resulting tour.

\bigskip

There are corresponding spacefilling heuristics for other combinatorial
problems in Euclidean space, notably including higher dimension spaces [2].

\bigskip

[1]  J. J. Bartholdi III and L. K. Platzman, ``An O(N log N) planar
travelling salesman heuristic based on spacefilling curves'', Operations
Research Letters v 1 n 4 pp 121-125 (September 1982).

[2] J. J. Bartholdi III and L. K. Platzman, ``Heuristics based on
spacefilling curves for combinatorial problems in Euclidean space'',
Management Science v 34 n 3 pp 291-305 (March 1988).

[3] L. K. Platzman and J. J. Bartholdi III, ``Spacefilling curves
and the planar travelling salesman problem'', JACM v 36 n 4 pp 719-737
(October 1989).

\end

----------------------------- cut here -----------------------------
/*
	This is a translation of the pseudocode program in: 
		L. K. Platzman and John J. Bartholdi, III, "Spacefilling Curves
		and the Planar Travelling Salesman Problem", Journal of the ACM,
		v 36 n 4 pp 719-737 (4 Oct 89).

	x and y are coordinates in the interval [0,M].
	depth is the number of significant bits required.
*/
double theta1(double x, double y, int depth)
{
#define M 1.		/* M is the size of the square */
	int k;			/* k is the number of bits computed so far */
	double t;		/* t is where the result will be accumulated */
	double z;		/* z is a temporary variable used for swapping x and y */

	k = 1;
	if(x > y) 		/* adjust if in lower right half of S */
		{t = 1.; 
		x = M - x; 
		y = M - y;
		}
	else {t = 0.;}
	while(k < depth)	/* bisect the upper left half triangle in S and
							determine one more bit of t */
		{t += t;
		k++;
		if(x + y > M)	/* adjust if in upper right half of the triangle */
			{t += 1.;
			z = M - y; 
			y = x; 
			x = z;
			}
		if(k < depth)	/* bisect the left quarter triangle in S and
							determine one more bit of t */
			{t += t;
			k++;
						/* expand triangle so its lower half overlaps 
							the upper left half triangle in S */
			x += x;		
			y += y;
			if(y > M)	/* adjust if in upper half of the triangle */
				{t += 1.;
				z = y - M; 
				y = M - x; 
				x = z;
				}
			}
		}
						/* t contains the position of the original x,y
							along the spacefilling curve, expressed as
							a depth-bit integer */

	return t/pow(2.,(double)depth);	/* scale t to the interval [0,1] */
}


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

Date: Fri, 20 Apr 90 07:43:12 CDT
From: Dave Goldberg <DGOLDBER@UA1VM.ua.edu>
Subject: TCGA, The Clearinghouse for Genetic Algorithms

In response to the query regarding TCGA, The Clearinghouse for Genetic
Algorithms maintains an archive of known publications related to genetic
algorithms at the University of Alabama.  A formal request and
distribution mechanism has not been established; however, I have
provided copies of obscure documents to many individuals on an informal
basis.  If you want to make sure that your GA publications are recorded
in the archive, please send a copy to me at the following address:

Dave Goldberg
Department of Engineering Mechanics
University of Alabama
Tuscaloosa, AL 35487-0278
email: dgoldber@ua1vm.bitnet or dgoldber@ua1vm.ua.edu
phone: 205-348-1618

I also publish technical reports of work performed here at Alabama under
the TCGA logo.  If you require any of these, please send your request to
one of the addresses above.  Dave Goldberg

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

Date: Tue, 01 May 90 07:46:21 EDT
From: jrv@sdimax2.mitre.org
Subject: Inexpensive Sharing Functions

% (I suggest that TeX users run the following through plain TeX and use a
% previewer.  Others should disregard the $s.  I have tried to keep the
% text readable by avoiding the uglier TeX constructs.  

GAs normally converge on the highest peak encountered, so all information
on alternatives is lost.  Goldberg and Richardson [1] proposed {\it sharing
functions} to enable GAs to maintain stable subpopulations on multiple
peaks.  For a metric $ d = d(x_i, x_j) $, the sharing function $sh(d)$ should
have these properties:

$$	0 <= sh(d) <= 1 {\rm\ for all \ } d		$$

$$	sh(0) = 1					$$

$$	\lim_{d \to \infty} sh(d) = 0 .			$$

They propose the power law sharing functions $ sh(d) = 1 - (d /
\sigma)^\alpha $ if $ d < \sigma $, or $ sh(d) = 0 $ otherwise, where
$\alpha$ is a constant and $\sigma$ is a characteristic distance with
the same units as $d$.  

In their demonstrations, they used single-parameter functions so the
natural metric was $ d(x_i, x_j) = |x_i - x_j| $.  They also set 
$ \alpha = 1 $ for a ``triangular'' sharing function.

A niche count $m_i$ is computed for the $i$th string as a sum
over the entire population:
$$
m_i = \sum^N_{j=1} sh(d(x_i, x_j))
$$
Selection is performed according to the member's {\it shared fitness}, which
is its potential fitness divided by its niche count:
$$
		f_i^\prime = f_i / m_i .
$$
For well seperated members, each niche count is 1 and the procedure
reduces to a normal GA.  One difficulty of the procedure is that
$ O(N^2) $ sharing function evaluations are required for a population of
$N$.

I propose the exponential sharing function
$$
		sh(d) = exp( |d| / \sigma) ,
$$
which has the three properties mentioned above.  The advantage of this
function is that fewer operations are required.  If the members are sorted
on their parameters (requiring $O(N \lg N)$ operations), the niche counts
can be found in two passes -- one in each direction (requiring $O(N)$
operations).  Each pass employs an exponential smoothing filter.

The exponential sharing function was used to find maxima of the
function with five peaks with decreasing magnitude used by Goldberg and
Richardson [1]:
$$
	f_2(x) = f_1(x) \exp \left(-4 \ln 2 (x - .0667)^2 \over .8^2 \right) ,
$$
where
$$
	f_1(x) = \sin^6 (5.1 \pi x + .5) ,
$$
with results equivalent to theirs.  The program for calculating niche
counts is attached.  For simplicity, the exponential for each
intermember distance is calculated twice -- once in each pass.  The
second calculation could be eliminated at the cost of $O(N)$ additional
storage.

\bigskip

[1] D.  E.  Goldberg and J.  Richardson, "Genetic algorithms with
sharing for multimodal function optimization", 2nd ICGA (1987).

\end
-----------------------------------------------------------------------

share_scores(int num)
{	int i;
	double density, dist;
	char *cp;

	for (i = 0; i < num; i++)
		{cp = (char *)&current[i].code;
		current[i].order = ldegray(extract(cp, 0, 16))/65536.;
		}
	qsort(current, num, sizeof(MEMBER_T), phenotypic_compare);
	density = 0.;
	current[0].niche = 1.;
	for (i = 1; i < num; i++)
		{dist = current[i].order-current[i-1].order;
		current[i].niche = density = density*exp(-fabs(dist/sigma)) + 1.;
		}
	density = 0.;
	for (i = num-1; i >= 0; i--)
		{dist = current[i].order-current[i+1].order;
		current[i].niche += density *= exp(-fabs(dist/sigma));
		density += 1.;
		}			
}

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

Date: Mon, 2 Apr 90 13:54:34 +0300
From: yuval%wisdom.weizmann.ac.il@CUNYVM.CUNY.EDU (Yuval Davidor)
Subject: Robot simulation package for GA applications

I had several inquiries regarding the simulation package of industrial
robots I have used for the work on applying a GA to the generation of
robot trajectories, and consequently their optimization.  The simulation
was originally designed by a colleague, Dr. Leon Zlajpah, and we are
considering to make this package available to researchers who are
interested in a dynamic simulation of 3 degrees of freedom robots.  We
would like to know:

a) if there is such an interest among the GA community.
b) what would be the common requirements from such a simulation.

As this simulation was not developed as a commercial tool, we need to
know what needs to be modified and what needs to be documented so it can
benefit a wider range of applications.  The following is a brief
description of the package RObot SImulation (ROSI).

Yuval Davidor
The Weizmann Institute of Science
Rehovot, 76100 Israel.
e-mail (bitnet): yuval@wisdom.weizmann
FAX No.: -972-8-466 966

===============================================

ROSI is a simulation package designed for dynamic simulation of
industrial robots.  The package has a modular structure, i.e. parts of
the robot are represented with separate modules (manipulator, actuators,
gears, sensors, control, and trajectory generation).  A modular
structure of the package provides the ability to easily define a
specific robot configuration.  The package includes a library of some
basic modules for each group of modules which allow to configure a wide
range of robot systems.  If one wants to simulate a specific part
(module) which is not included in the library, one can easily create and
include such a module in the library.  Apart to link elasticity, all
dynamic effects are considered (gravity, centrifugal and coriolis
forces, backlash in the gears, dynamic and static friction of the DC
motors, and controller side-effects).

The simulation package ROSI is written in FORTRAN and has been
implemented on VAX 8650 and Micro VAX II under VMS, and on IMB PC-AT
under MS-DOS.  For graphic display, a TEKTRONX terminal series 41** or
42** is used.

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

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