cs0504035/fuds.tex
1: 
2: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3: %%                   Fitness Uniform Deletion                %%
4: %%              A simple way to preserve diversity           %%
5: %%                  Shane Legg & Marcus Hutter               %%
6: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7: 
8: \documentclass{sig-alternate}
9: 
10: \usepackage{makeidx}
11: 
12: %-------------------------------%
13: %   Compiler-Switches           %
14: %-------------------------------%
15: \newif\iftwocol\twocolfalse             % two-column style
16: \newif\ifshort\shortfalse               % short version
17: \newif\iffinal\finaltrue                % final version
18: 
19: \newif\iflonger\longerfalse    % just shorten a tiny bit
20: 
21: \bibliographystyle{abbrv}
22: 
23: \def\baselinestretch{0.991}
24: 
25: \begin{document}
26: \conferenceinfo{GECCO'05,} {June 25--29, 2005, Washington, DC, USA.}
27: 
28: \CopyrightYear{2005}
29: 
30: \crdata{1-59593-010-8/05/0006}
31: 
32: 
33: \title{Fitness Uniform Deletion:\\A Simple Way to Preserve Diversity}
34: 
35: 
36: \iffinal
37: \numberofauthors{2}
38: \author{
39: \alignauthor Shane Legg\\
40:        \affaddr{IDSIA, Galleria 2, 6928 Manno-Lugano}\\
41:        \affaddr{Switzerland}\\
42:        \email{shane@idsia.ch}
43: \alignauthor Marcus Hutter\\
44:        \affaddr{IDSIA, Galleria 2, 6928 Manno-Lugano}\\
45:        \affaddr{Switzerland}\\
46:        \email{marcus@idsia.ch}
47: }
48: 
49: 
50: 
51: \else
52: \numberofauthors{1}
53: \author{
54: \alignauthor Track category: Genetic Algorithms\\
55:        \affaddr{\mbox{}}\\
56:        \affaddr{Keywords: Fitness Landscapes, Parameter Tuning, Selection}\\
57:        \affaddr{\mbox{}}\\
58:        \affaddr{\mbox{}}\\
59:        \affaddr{\mbox{}}\\
60:        \email{\mbox{}}
61: }
62: \fi
63: 
64: 
65: \maketitle
66: 
67: \begin{abstract}
68: A commonly experienced problem with population based optimisation
69: methods is the gradual decline in population diversity that tends
70: to occur over time.  This can slow a system's progress or even
71: halt it completely if the population converges on a local optimum
72: from which it cannot escape.  In this paper we present the Fitness
73: Uniform Deletion Scheme (FUDS), a simple but somewhat
74: unconventional approach to this problem.  Under FUDS the deletion
75: operation is modified to only delete those individuals which are
76: ``common'' in the sense that there exist many other individuals of
77: similar fitness in the population.  This makes it impossible for
78: the population to collapse to a collection of highly related
79: individuals with similar fitness. Our experimental results on a
80: range of optimisation problems confirm this, in particular for
81: deceptive optimisation problems the performance is significantly
82: more robust to variation in the selection intensity.
83: \end{abstract}
84: 
85: \category{I.2.M}{Artificial Intelligence}{Miscellaneous}
86: \terms{Algorithms, Experimentation}
87: \keywords{Genetic algorithms, population diversity}
88: 
89: %More keywords:
90: %evolutionary algorithm, deletion schemes, fitness evaluation,
91: %optimization, fitness landscapes, (self)adaptation.
92: 
93: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
94: \section{Introduction}\label{sec:intro}
95: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
96: 
97: 
98: Population based optimisation methods often suffer from diversity
99: problems, especially after many generations.  In the worst case the
100: whole population can become confined to a local optimum from which it
101: cannot escape, leaving the optimiser stuck.  In situations where the
102: population size must be kept small due to resource constraints, or the
103: solution space is deceptive with many large local optima, the loss of
104: population diversity becomes especially significant.
105: 
106: Numerous techniques have been devised to help preserve population
107: diversity.  Significant contributions in this direction are fitness
108: sharing \cite{Goldberg:87}, crowding \cite{DeJong:75}, local mating
109: \cite{Collins:91} and niching \cite{Mahfoud:95}.  Many of these
110: methods are based on some kind of distance measure on the solution
111: space which is used to ensure that the members of the population do
112: not become too similar to each other.  Unfortunately, for many
113: interesting optimisation problems, such as evolving neural networks or
114: genetic programming, just trying to establish whether two individuals
115: are effectively the same can be very difficult as totally different
116: neural networks or programs (genotype) can have identical behaviour
117: (phenotype).  In the most general case when the solution space is
118: Turing complete this comparison is impossible even in theory.
119: 
120: \vspace{0.05em}
121: 
122: While most methods try to measure diversity directly in genotype
123: space, an alternative approach is to measure diversity in phenotype
124: space\iflonger, for example by using the fitness of individuals as a
125: rough guide to their similarity.\else. \fi An example of this approach
126: is the Fitness Uniform Selection Scheme (FUSS) which was theoretically
127: analysed in \cite{Hutter:01fuss} and then experimentally investigated
128: in \cite{Legg:04fussexp}.  FUSS works by focusing the selection
129: intensity on individuals which have uncommon fitness values rather
130: than on those with highest fitness as is usually done.  In this way a
131: broad range of individuals with many different levels of fitness
132: develop in the population including, hopefully, some individuals of
133: high fitness.  While FUSS achieved some interesting results, in
134: particular on highly deceptive problems, it also had difficulties in
135: some situations.  By focusing selection on rare individuals within the
136: population there was a tendency for these individuals to fill the
137: population with highly related offspring \iflonger (see
138: \cite{Legg:04fussexp} for a more complete explanation). \else
139: \cite{Legg:04fussexp}. \fi
140: 
141: \vspace{0.05em}
142: 
143: Here we take the idea of using fitness to roughly approximate the
144: similarity of individuals but apply it in a different way.  Rather
145: than using it to control selection for \emph{reproduction}, as FUSS
146: does, we instead use it to control selection for \emph{deletion},
147: hence the name Fitness Uniform Deletion Scheme or FUDS.  The result is
148: an easily implemented, computationally efficient and problem
149: independent approach to population diversity control.
150: 
151: \vspace{0.05em}
152: 
153: In \emph{Section \ref{sec:FUDS}} we describe the intuition behind FUDS
154: and its essential properties.  \emph{Section \ref{sec:Zeta}} details
155: the test system and how the tests were performed.  In \emph{Section
156: \ref{secEx}} we compare FUDS to random deletion on a deceptive 2D
157: optimisation problem.  \emph{Section \ref{sec:dtsp}} examines the
158: performance of FUDS and random deletion for random travelling salesman
159: problems with various selection intensities and population sizes.
160: \emph{Section \ref{sec:scp}} repeats this comparison for a set
161: covering problem.  \emph{Section \ref{sec:SAT}} looks at CNF3 SAT
162: problems and includes an analysis of population diversity using
163: hamming distance.  Finally \emph{Section \ref{sec:conc}} contains a
164: brief summary and possible future work.
165: 
166: 
167: 
168: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
169: \section{Fitness Uniform Deletion}\label{sec:FUDS}
170: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
171: 
172: The intuition behind FUDS is very simple: If an individual has a
173: fitness value which is very rare in the population then this
174: individual almost certainly contains unique information which, if it
175: were to be deleted, would decrease the total population diversity.
176: Conversely, if a large subset of individuals in the population all
177: have the same fitness then we may delete from this set without losing
178: much population diversity.  Presumably these individuals are common in
179: some sense and likely exist in parts of the solution space which are
180: easy to reach.
181: 
182: \vspace{0.2em}
183: 
184: From this simple observation FUDS immediately follows: \emph{Only
185: delete individuals which have very commonly occurring fitness.}  This
186: should help preserve population diversity, even for the most deceptive
187: problems.  Indeed it is now simply impossible for the whole population
188: to collapse to a collection of highly related individuals with similar
189: fitness.  The technique is simple to understand, easy to implement,
190: computationally efficient and completely independent of both the
191: problem and of the genotype representation being used.
192: 
193: \vspace{0.2em}
194: 
195: We implement FUDS as follows.  Let $f_{min}$ and $f_{max}$ be the
196: minimum and maximum fitness values possible for a problem, or at least
197: reasonable upper and lower bounds.  We divide the interval
198: $[f_{min},f_{max}]$ into a collection of subintervals of equal length
199: $\{ [f_{min},f_{min} + \varepsilon ), [f_{min} + \varepsilon ,f_{min}
200: + 2\varepsilon ), \ldots, [f_{max}-\varepsilon, f_{max}] \}$.  We call
201: these intervals \emph{fitness levels}.  As individuals are added to
202: the population their fitness is computed and they are placed in the
203: list of individuals corresponding to the fitness level they belong to.
204: Thus the number of individuals in each fitness level describes how
205: common fitness values within this interval are in the current
206: population.  When a deletion is required the algorithm locates the
207: fitness level with the largest number of individuals and then randomly
208: selects an individual that belongs to this level for deletion.  In the
209: case of multiple fitness levels having the same size, the lowest
210: fitness level is chosen.
211: 
212: \vspace{0.2em}
213: 
214: If the number of fitness levels is chosen too low relative to the
215: population size, for example 5 fitness levels with a population of
216: 500, then the resulting model of the distribution of individuals
217: across the fitness range will be too coarse.  Alternatively, if a
218: large number of fitness levels is used with a very small population
219: the individuals may become too thinly spread across the fitness
220: levels.  While in these extreme cases this could effect the
221: performance of FUDS, in practice we have found that the system is not
222: particularly sensitive to the setting of this parameter.  If $n$ is
223: the population size then setting the number of fitness levels to be
224: $\sqrt{n}$ is a good rule of thumb.  Generally, so long as the
225: population size is in the range of 2 to 50 times the number of fitness
226: levels performance is unaffected.  A theoretically better justified
227: solution would be to model the population distribution using
228: (in)finite Bayesian trees \cite{Hutter:04bayestree}.
229: 
230: \begin{figure}
231: \includegraphics[width=\columnwidth, height=0.22\textheight]{treenl.eps}
232: \caption{\label{figtree} This illustrates the density of individuals
233: over a fitness landscape with FUDS.  The numbers represent the fitness
234: of the different regions and the shading represents the density of
235: individuals over the space.}
236: \end{figure}
237: 
238: \vspace{0.2em}
239: 
240: Under FUDS the takeover of the highest fitness level, or indeed any
241: fitness level, is impossible.  This is easy to see because as soon as
242: any fitness level starts to dominate, all of the deletions become
243: focused on this level until it is no longer the most populated fitness
244: level.  As a by-product, this also means that individuals on
245: relatively unpopulated fitness levels are preserved.
246: This allows the steady creation of individuals on many different
247: fitness levels and makes it relatively easy for the EA to find its way
248: out of local optima as it keeps on exploring evolutionary paths which
249: do not at first appear to be promising.
250: 
251: It is instructive to consider how individuals are distributed in the
252: genome space when using FUDS.  If we consider a distance semi-metric
253: between individuals $d(i,j) := | f(i) - f(j) |$ where $f$ is the
254: fitness function, then clearly FUDS attempts to uniformly distribute
255: the individuals according to this metric.  However this does not imply
256: that the individuals are uniformly distributed across the genome
257: space.  Typically, areas of high fitness are relatively small compared
258: to areas of lower fitness.  In this case, if we have the same number
259: of individuals in both regions then the density of individuals in the
260: high fitness region will be much higher due to its smaller size.  We
261: illustrate this visually on a fitness landscape in
262: Figure~\ref{figtree}.  The numbers indicate the fitness of individuals
263: in each region, while the density of individuals is given by how dark
264: the regions are shaded.
265: 
266: Clearly then, uniformity in the fitness distance metric $d$ does have
267: some implications for the distribution of individuals with respect to
268: a metric $g$ on the genome space.  This allows us to relate FUDS to
269: other methods of diversity control that require a genome space metric.
270: We say that a fitness function $f$ is \emph{smooth} with respect to
271: $g$, if $g( i, j )$ being small implies that $|f(i) - f(j)|$ is also
272: small, that is, $d( i, j )$ is small.  This implies that if $d( i, j
273: )$ is not small, $g( i, j )$ also cannot be small.  Thus, if we limit
274: the number of $d$ similar individuals, as we do in FUDS, this will
275: also limit the number of $g$ similar individuals, as is done in
276: crowding and niching methods.  The advantage of FUDS is that we do not
277: need to know what $g$ is, or to compute its value, something that can
278: be very difficult in some applications.  Indeed, the above argument is
279: true for \emph{any} metric $g$ on the genome space that $f$ is smooth
280: with respect to.  On the other hand, if the fitness function $f$ is
281: not smooth with respect to $g$, then this argument cannot be made.
282: However, in this case the optimisation problem is difficult as small
283: mutations in genome space with respect to $g$ will produce
284: unpredictable changes in fitness.
285: 
286: Because FUDS is only a deletion scheme, we still need to choose a
287: selection scheme which may require us to set a selection intensity
288: parameter.  With FUDS however, the performance of the system is less
289: sensitive to the correct setting of this parameter.  If the selection
290: intensity is set too high the normal problem is that the population
291: rushes into a \mbox{local} optima too soon and becomes stuck before it
292: has had a chance to properly explore the genotype space for other
293: promising regions.  However, with FUDS a total collapse in population
294: diversity is impossible and thus much higher levels of selection
295: intensity may be used.
296: 
297: Conversely, if the selection intensity is too low, the population
298: tends not to explore the higher areas of the fitness landscape at all.
299: Consider a population which contains 1,000 individuals.  Under random
300: deletion all of these individuals, including the highly fit ones, will
301: have a 1 in 1,000 chance of being deleted in each cycle and so the
302: expected life time of an individual is 1,000 deletion cycles.  Thus if
303: a highly fit individual is to contribute a child of the same fitness
304: or higher, it must do so reasonably quickly.  However for some
305: optimisation problems the probability of a fit individual having such
306: a child when it is selected is very low, so low in fact that it is
307: more likely to be deleted before this happens.  As a result the
308: population becomes stuck, unable to find individuals of greater
309: fitness before the fittest individuals are killed off.  With FUDS, as
310: rare fit individuals are not deleted, we can use much lower selection
311: intensity without the population becoming stuck.
312: 
313: 
314: 
315: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
316: \section{FUDS Test System}\label{sec:Zeta}
317: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
318: 
319: In order to test FUDS we have implemented a simple population based
320: optimiser in Java on a PC running Linux.  The full source code for
321: this along with usage instructions, example optimisation problems and
322: test data sets is available from\iffinal \cite{Legg:website}\else
323: [\emph{link removed for blind review}]\fi.  This zip file also
324: contains directions on where to download the full datasets that were
325: used to produce the results presented in this paper.
326: 
327: Our optimiser uses a ``steady state'' population rather than the more
328: usual ``generational'' population.  With a steady state population
329: individuals are selected and acted upon one at a time rather than in
330: bulk as under the generational approach.  Specifically the following
331: occurs: An individual is first selected according to some
332: \emph{selection scheme}, then according to the \emph{crossover
333: probability} a second individual may be selected and the two are
334: crossed to form a child.  Then according to the \emph{mutate
335: probability} a mutation operation may be applied to the child.  When a
336: crossover does not occur a mutation always takes place in order to
337: reduce the probability of a clone of an existing individual being
338: added to the population.  Finally the \emph{deletion scheme} selects
339: which individual from the population the new child will replace.
340: 
341: For the selection scheme we implemented the commonly used
342: \emph{tournament selection}.  Under tournament selection a group of
343: individuals is randomly chosen from the population, then the
344: individual with the highest fitness in this set is returned.  The size
345: of the group is called the \emph{tournament size} and it is clear that
346: the larger this group is the more likely we are to select a highly fit
347: individual from the population.  In our tests we have used tournament
348: sizes ranging from 2 to 12 in order to examine a wide range of
349: selection intensities.
350: 
351: We consider tournament selection to be roughly representative of other
352: standard selection schemes which favour the fitter individuals in the
353: population; indeed for tournament size 2 it can be shown that
354: tournament selection is equivalent to the linear ranking selection
355: scheme \cite[Sec.2.2.4]{Hutter:92cfs}. For other standard selection
356: schemes we expect the performance of these schemes to be at best
357: comparable to tournament selection when used with a correctly tuned
358: selection intensity.
359: 
360: Good values for the crossover and mutate probabilities depend on the
361: problem and must be manually tuned based on experience as there are
362: few theoretical guidelines on how to do this.  For some problems
363: performance can be quite sensitive to these values while in others
364: their values do not make much difference.  Our default values are 0.5
365: for both which has often provided us with reasonable performance.
366: 
367: With steady state optimisers the standard deletion scheme used is
368: simply random deletion.  The rational for this is that it is neutral
369: in the sense that it does not skew the distribution of the population
370: in any way.  Thus whether the population tends toward high or low
371: fitness etc.\ is solely a function of the selection scheme and its
372: parameters, in particular the selection intensity.  Of course random
373: deletion makes no effort to preserve diversity in the population as
374: all individuals have an equal chance of being removed.  Essentially
375: our objective in this paper is to investigate whether FUDS might be a
376: better alternative and under which circumstances.
377: 
378: 
379: When reporting test results we will adopt the following notation:
380: TOUR2 means tournament selection with a tournament size of 2.
381: Similarly for TOUR3, TOUR4 and so on.  When a graph shows the
382: performance of tournament selection over a range of tournament sizes
383: we will simply write TOURx.  To indicate the deletion scheme used, we
384: will add either the suffix -R or -F to indicate random deletion or
385: FUDS respectively.  Thus, TOUR10-R is tournament selection with a
386: tournament size of 10 used with random deletion.
387: 
388: For each problem we run the system using tournament selection with the
389: same tournament sizes, the same mutation and crossover rates and the
390: same population size.  The only difference is which deletion scheme is
391: used by the code.  Thus even if our parameters, mutation operators
392: etc.\ are not optimal for a given problem, the comparison between the
393: two deletion schemes is still fair.  Indeed we will often be
394: deliberately setting the optimisation parameters to non-optimal values
395: in order to compare the robustness of the system when using the
396: different deletion schemes.
397: 
398: As a steady state optimiser operates on just one individual at a time,
399: the number of cycles within a given run can be high, perhaps 100,000
400: or more.  In order to make our results more comparable to a
401: generational optimiser we divide this number by the size of the
402: population to give the approximate number of generations.
403: Unfortunately the theoretical understanding of the relationship
404: between steady state and generation optimisers is not strong.  It has
405: been shown that under the assumption of no crossover the effective
406: selection intensity using tournament selection with size 2 is
407: approximately twice as strong under a steady state GA as it is with a
408: generational GA \cite{Rogers:99}.  As far as we are aware a similar
409: comparison for systems with crossover has not been performed, though
410: we would not expect the results to be significantly different.
411: 
412: In each run of the system we stopped the optimiser after no progress
413: had been recorded for 20 generations.  Running the system longer and
414: looking at the graphs it seems that 20 generations is sufficient to
415: identify when the system becomes stuck and further progress is
416: unlikely.  In order to generate reliable statistics we ran each test
417: multiple times; typically 50 times.  From these runs we then
418: calculated the average performance for each selection scheme.  We also
419: computed the sample standard deviation and from this the standard
420: error in our estimate of the mean.  This value was then used to
421: generate 95\% confidence intervals which appear as error bars on the
422: graphs.
423: 
424: 
425: 
426: 
427: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
428: \section{A Deceptive 2D Problem}\label{secEx}
429: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
430: 
431: \begin{figure}
432: \includegraphics[width=0.232\textwidth,height=0.24\textwidth]{Deceptive-R-gecco.eps}
433: \hspace*{0.002\textwidth}
434: \includegraphics[width=0.232\textwidth,height=0.24\textwidth]{Deceptive-F-gecco.eps}
435: \caption{\label{SimpleProb} Switching from random deletion (left
436: graph) to FUDS (right graph) the number of generations required to
437: find the global optimum falls dramatically, especially when higher
438: selection intensity is used.}
439: \end{figure}
440: 
441: The first problem we examine is the highly deceptive 2D optimisation
442: problem previously analysed for FUSS in \cite{Hutter:01fuss}.  The
443: space of individuals is the unit square $[0,1]\times[0,1]$.  On this
444: space narrow regions $I_1 := [a,a+\delta] \times [0,1]$ and $I_2 :=
445: [0,1] \times [b,b+\delta]$ for some $a,b,\delta \in [0,1]$ are
446: defined.  Typically $\delta$ is chosen so that it is much smaller than
447: 1 and thus $I_1$ and $I_2$ do not occupy much of the domain space.
448: The fitness function is defined by the equation,
449: $$
450:   f(x,y) = \left\{
451:   \begin{array}{l}
452:     1 \quad\mbox{if}\quad (x,y)\in I_1\backslash I_2, \\
453:     2 \quad\mbox{if}\quad (x,y)\in I_2\backslash I_1, \\
454:     3 \quad\mbox{if}\quad (x,y)\not\in I_1\cup I_2, \\
455:     4 \quad\mbox{if}\quad (x,y)\in I_1\cap I_2. \\
456:   \end{array}\right.
457: \parbox{3cm}
458: {\hfill \unitlength=0.6mm
459: %\linethickness{0.4pt}
460: \begin{picture}(45,45)
461: \scriptsize
462: \put(5,5){\vector(0,1){40}}
463: \put(5,5){\vector(1,0){40}}
464: \put(20,5){\line(0,1){35}}
465: \put(25,5){\line(0,1){35}}
466: \put(40,5){\line(0,1){35}}
467: \put(5,15){\line(1,0){35}}
468: \put(5,20){\line(1,0){35}}
469: \put(5,40){\line(1,0){35}}
470: \put(22.5,17.5){\makebox(0,0)[cc]{4}}
471: \put(12.5,30){\makebox(0,0)[cc]{3}}
472: \put(22.5,30){\makebox(0,0)[cc]{1}}
473: \put(32.5,30){\makebox(0,0)[cc]{3}}
474: \put(32.5,10){\makebox(0,0)[cc]{3}}
475: \put(12.5,10){\makebox(0,0)[cc]{3}}
476: \put(12.5,17.5){\makebox(0,0)[cc]{2}}
477: \put(32.5,17.5){\makebox(0,0)[cc]{2}}
478: \put(22.5,10){\makebox(0,0)[cc]{1}}
479: \put(44,2.5){\makebox(0,0)[cc]{$x$}}
480: \put(22.5,2.5){\makebox(0,0)[cc]{$\delta$}}
481: \put(20,3.5){\makebox(0,0)[cc]{$a$}}
482: \put(2.5,17.5){\makebox(0,0)[cc]{$\delta$}}
483: \put(4,14.5){\makebox(0,0)[cc]{$b$}}
484: \put(40,3){\makebox(0,0)[cc]{1}}
485: \put(3.5,40){\makebox(0,0)[cc]{1}}
486: \put(2.5,44){\makebox(0,0)[cc]{$y$}}
487: \put(22.5,42.5){\makebox(0,0)[cc]{$f(x,y)$}}
488: \end{picture}
489: }
490: $$
491: 
492: For this problem we set up the mutation operator to randomly replace
493: either the $x$ or $y$ position of an individual and the crossover to
494: take the $x$ position from one individual and the $y$ position from
495: another to produce an offspring.  The size of the domain for which the
496: function is maximised is just $\delta^2$ which is very small for small
497: values of $\delta$, while the local maxima at fitness level 3 covers
498: most of the space.  Clearly the only way to reach the global maximum
499: is by leaving this local maxima and exploring the space of individuals
500: with lower fitness values of 1 or 2.  Thus, with respect to the
501: mutation and crossover operators we have defined, this is a deceptive
502: optimisation problem as these partitions mislead the EA (see
503: \cite{Forrest:93} for a definition of ``deceptive'').
504: 
505: For this test we set the maximum population size to 1,000 and made 20
506: runs for each $\delta$ value.  With a steady state EA it is usual to
507: start with a full population of random individuals.  However for this
508: particular problem we reduced the initial population size down to just
509: 10 in order to avoid the effect of doing a large random search when we
510: created the initial population and thereby distorting the scaling.
511: Usually this might create difficulties due to the poor genetic
512: diversity in the initial population.  However due to the fact that any
513: individual can mutate to any other in just two steps this is not a
514: problem in this situation.  Initial tests indicated that reducing the
515: crossover probability from 0.5 to 0.25 improved the performance
516: slightly and so we have used the latter value.
517: 
518: \begin{figure}
519: \includegraphics[width=0.232\textwidth,height=0.24\textwidth]{DTSPI-300gen-R-gecco.eps}
520: \hspace*{0.002\textwidth}
521: \includegraphics[width=0.232\textwidth,height=0.24\textwidth]{DTSPI-300gen-F-gecco.eps}
522: \caption{\label{DTSP-1} TOUR3-R converged too slowly while TOUR12-R
523: converged prematurely and became stuck.  TOUR6-R appears to be about
524: the correct tournament size for this problem.  With FUDS all of the
525: selection schemes performed well.}
526: \end{figure}
527: 
528: The first set of results for the selection schemes used with random
529: deletion appear in the left graph of Figure~\ref{SimpleProb}.  As
530: expected higher selection intensity is a significant disadvantage for
531: this problem.  Indeed even with just a tournament size of 3 the number
532: of generations required to find the maximum became infeasible to
533: compute for smaller values of $\delta$.  Be aware that this is a
534: log-log scaled graph and so the different slopes indicate
535: significantly different orders of scaling.  In the second set of tests
536: we switch from random deletion to FUDS.  These results appear in the
537: right graph of Figure~\ref{SimpleProb}.  We see that with FUDS as the
538: deletion scheme the scaling improves dramatically for RAND, TOUR2 and
539: TOUR3.
540: 
541: Although this problem was artificially constructed, the results
542: clearly demonstrate how for some very deceptive problems much higher
543: levels of selection intensity can be applied when using FUDS.
544: 
545: 
546: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
547: \section{Travelling Salesman Problem}\label{sec:dtsp}
548: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
549: 
550: 
551: A well known optimisation problem is the so called Travelling Salesman
552: Problem (TSP).  The task is to find the shortest Hamiltonian cycle
553: (path) in a graph of $N$ vertexes (cities) connected by edges of
554: certain lengths.  There exist highly specialised population based
555: optimisers which use advanced mutation and crossover operators and are
556: capable of finding paths less than one percent longer than the optimal
557: path for up to $10^7$ cities
558: \cite{Lin:73,Martin:96,Johnson:97,Applegate:00}.  As our goal is only
559: to study the relative performance of selection and deletion schemes,
560: having a highly refined implementation is not important.  Thus the
561: mutation and crossover operators we used were quite simple: Mutation
562: was achieved by just switching the position of two of the cities in
563: the solution, while for crossover we used the partial mapped crossover
564: technique~\cite{Goldberg:85}.  Fitness was computed by taking the
565: reciprocal of the tour length.
566: 
567: We have used randomly generated TSP problems, that is, the distance
568: between any two cities was chosen uniformly from the unit interval
569: $[0,1]$.  We chose this as it is known to be a particularly deceptive
570: form of the TSP problem as the usual triangle inequality relation does
571: not hold in general.  For example, the distance between cities $A$ and
572: $B$ might be $0.1$, between cities $B$ and $C$ $0.2$, and yet the
573: distance between $A$ and $C$ might be $0.8$.  The problem still has
574: some structure though as efficient partial solutions tend to be useful
575: building blocks for efficient complete tours.
576: 
577: \begin{figure*}[t]
578: \includegraphics[width=0.2355\textwidth,height=0.24\textwidth]{dtpsi20-s40-p250-gecco.eps}
579: \hspace*{0.004\textwidth}
580: \includegraphics[width=0.2355\textwidth,height=0.24\textwidth]{dtpsi20-s40-p500-gecco.eps}
581: \hspace*{0.004\textwidth}
582: \includegraphics[width=0.2355\textwidth,height=0.24\textwidth]{dtpsi20-s40-p1k-gecco.eps}
583: \hspace*{0.004\textwidth}
584: \includegraphics[width=0.2355\textwidth,height=0.24\textwidth]{dtpsi20-s40-p5k-gecco.eps}
585: \caption{\label{tsp} In every situation FUDS was superior to random
586: deletion.  The performance with FUDS was also much more stable under
587: variation in the selection intensity.}
588: \end{figure*}
589: 
590: For this test we used random distance TSP problems with 20 cities and
591: a population size of 1000.  We found that changing the crossover and
592: mutation probabilities did not improve performance and so these have
593: been left at their default values of 0.5.  Our stopping criteria was
594: simply to let the GA run for 300 generations as this appeared to be
595: adequate for all of the methods to converge and allowed us to easily
596: graph performance versus generations in a consistent way for each
597: combination of selection and deletion scheme.
598: 
599: \vspace{0.15em}
600: 
601: The first graph in Figure~\ref{DTSP-1} shows each of the selection
602: schemes used with random deletion.  We see that TOUR3-R has
603: insufficient selection intensity for adequate convergence while
604: TOUR12-R quickly converges to a local optimum and then becomes stuck.
605: TOUR6-R has about the correct level of selection intensity for this
606: problem and population size.
607: 
608: \vspace{0.15em}
609: 
610: The second graph in Figure~\ref{DTSP-1} shows the same set of
611: selection schemes but now using FUDS as the deletion scheme.  With
612: FUDS the performance for all tournament sizes either stayed the same
613: or improved.  In the case of TOUR3 the improvement was dramatic and
614: for TOUR12 the improvement was also significant.  This is interesting
615: because it shows that with FUDS performance can improve when the
616: selection intensity is either too high or too low making the GA more
617: robust.  With TOUR3-R the selection intensity is low and thus we would
618: expect the population diversity to remain relatively strong.  Thus the
619: fact that TOUR3-F was so much better than TOUR3-R shows that FUDS can
620: have performance benefits due to not deleting rare fit individuals, as
621: was predicted earlier in Section~\ref{sec:FUDS}.
622: 
623: \vspace{0.15em}
624: 
625: \begin{figure*}[t]
626: \includegraphics[width=0.2355\textwidth,height=0.24\textwidth]{SCPI42-p250-gecco.eps}
627: \hspace*{0.004\textwidth}
628: \includegraphics[width=0.2355\textwidth,height=0.24\textwidth]{SCPI42-p500-gecco.eps}
629: \hspace*{0.004\textwidth}
630: \includegraphics[width=0.2355\textwidth,height=0.24\textwidth]{SCPI42-p1k-gecco.eps}
631: \hspace*{0.004\textwidth}
632: \includegraphics[width=0.2355\textwidth,height=0.24\textwidth]{SCPI42-p5k-gecco.eps}
633: \caption{\label{scp-unbal} FUDS produced superior results to random
634: deletion in all situations tested, including when the tournament size
635: was optimally tuned.}
636: \end{figure*}
637: 
638: Investigating further it seems that this effect is due to the way that
639: FUDS focuses the deletion on the large mass of individuals which have
640: an average level of fitness while completely leaving the less common
641: fit individuals alone.  This helps a system with very weak selection
642: intensity move the mass of the population up through the fitness
643: space.  With higher selection intensity this problem tends not to
644: occur as individuals in this central mass are less likely to be
645: selected thus reducing the rate at which new individuals of average
646: fitness are added to the population.
647: 
648: \vspace{0.15em}
649: 
650: In order to better understand how stable FUDS performance is when used
651: with different selection intensities we ran another set of tests on
652: random TSP problems with 20 cities and graphed how performance varied
653: by tournament size.  For these tests we set the GA to stop each run
654: when no improvement had occurred in 40 generations.  We also tested on
655: a range of population sizes: 250, 500, 1000 and 5000.  The results
656: appear in Figure~\ref{tsp}.
657: 
658: In these graphs we can now clearly see how the performance of TOURx-R
659: varies significantly with tournament size.  Below the optimal
660: tournament size performance declined quickly while above this value it
661: also declined, though more slowly.  Interestingly, with a population
662: size of 5000 the optimal tournament size was about 6 while with small
663: populations this value fell to just 4.  Presumably this was partly
664: because smaller populations have lower diversity and thus cannot
665: withstand as much selection intensity.  In contrast, for every
666: combination of tournament size and population size the result with
667: FUDS was optimal.  \mbox{Indeed,} even with an optimally tuned
668: tournament size FUDS still improved performance.
669: 
670: More tests were run exploring performance with up to 100 cities.
671: Although the performance of FUDS remained much stronger than random
672: deletion for very low selection intensity, for high selection
673: intensity the two were equal.  We believe that the reason for this is
674: the following: When the space of potential solutions is very large,
675: finding anything close to a global optimum is practically impossible;
676: indeed it is difficult to even find the top of a reasonable local
677: optimum as the space has so many dimensions.  In these situations it
678: is more important to put effort into simply climbing in the space
679: rather than spreading out and trying to thoroughly explore.  Thus
680: higher selection intensity can be an advantage for large problem
681: spaces.  At any rate, for large problems and with high selection
682: intensity FUDS did not hinder the performance, while with low
683: selection intensity it continued to significantly improve it.
684: 
685: 
686: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
687: \section{Set Covering Problem}\label{sec:scp}
688: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
689: 
690: 
691: The set covering problem (\hspace{-0.05em}SCP\hspace{-0.05em}) is a
692: reasonably well known NP-complete optimisation problem with many real
693: world applications.  Let $M \in \{0,1\}^{m \times n}$ be a binary
694: valued matrix and let $c_j > 0$ for $j \in \{1, \ldots n \}$ be the
695: cost of column $j$.  The goal is to find a subset of the columns such
696: that the cost is minimised.  Define $x_j = 1$ if column $j$ is in our
697: solution and 0 otherwise.  The solution cost is then $\sum_{j=1}^n c_j
698: x_j$ subject to the condition that $\sum_{j=1}^n m_{ij} x_j \geq 1$
699: for $i \in \{1, \ldots m\}$.
700: 
701: 
702: Our system of representation, mutation operators and crossover follow
703: that used by Beasley \cite{Beasley:96} and we compute the fitness by
704: taking the reciprocal of the cost.  The results presented here are
705: based on the ``scp42'' problem from a standard collection of SCP
706: problems \cite{Beasley:03}.  The results obtained on other problems in
707: this test set were similar.  We found that increasing the crossover
708: probability and reducing the mutation probability improved
709: performance, especially when the selection intensity was low.  Thus we
710: have tested the system with a crossover probability of 0.8 and a
711: mutation probability of 0.2.  We performed each test at least 50 times
712: in order to minimise the error bars.  Our stopping criteria was to
713: terminate each run after no progress had occurred for 40 generations.
714: The results for this test appear in Figure~\ref{scp-unbal}.
715: 
716: 
717: Similar to the TSP graphs we again see the importance of correctly
718: tuning the tournament size with TOURx-R.  We also see the optimal
719: range of performance for TOURx-R moving to the right as the population
720: sizes increases.  This is what we would expect due to the greater
721: diversity in larger populations being able to support more selection
722: intensity.  This kind of variability is one of the reasons why the
723: selection intensity parameter usually has to be determined by
724: experimentation.
725: 
726: 
727: With FUDS the results were again very impressive.  As with the TSP
728: tests; for all combinations of tournament size and population size
729: that we tested, the performance with FUDS was superior to the
730: corresponding performance with random deletion.  This was true even
731: when the tournament size was not set optimally.  While the performance
732: of TOURx-F did vary with different tournament sizes, the results were
733: more robust than TOURx-R, especially with larger populations.  Indeed
734: for the larger two populations we again have a situation where the
735: worst performance of TOURx-F is equal to the best performance of
736: \mbox{TOURx-R}.
737: 
738: 
739: 
740: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
741: \section{Maximum CNF3 SAT}\label{sec:SAT}
742: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
743: 
744: Maximum CNF3 SAT is a well known NP hard optimisation problem
745: \cite{Crescenzi:04} that has been extensively studied.  A three
746: literal conjunctive normal form (CNF) logical equation is a boolean
747: equation that consists of a conjunction of clauses where each clause
748: contains a disjunction of three literals.  So for example, $(a \lor b
749: \lor \lnot c) \land ( a \lor \lnot e \lor f)$ is a CNF3 expression.
750: The goal in the maximum CNF3 SAT problem is to find an instantiation
751: of the variables such that the maximum number of clauses evaluate to
752: true.  Thus for the above equation if $a = F$, $b = T$, $c = T$, $e =
753: T$, and $f = F$ then just one clause evaluates to true and thus this
754: instantiation gets a score of one.  Achieving significant results in
755: this area would be difficult and this is not our aim; we are simply
756: using this problem as a test to compare deletion schemes.
757: 
758: Our test problems have been taken from the SATLIB collection of SAT
759: benchmark tests \cite{Hoos:00}.  The first test was performed on the
760: full set of 100 instances of randomly generated CNF3 formula with 150
761: variables and 645 clauses, all of which are known to be satisfiable.
762: Based on test results the crossover and mutation probabilities were
763: left at the default values.  Our mutation operator simply flips one
764: boolean variable and the crossover operator forms a new individual by
765: randomly selecting for each variable which parent's state to take.
766: Fitness was simply taken to be the number of clauses satisfied.  As in
767: previous sections we tested across a range of tournament sizes and
768: population sizes.  The results of these tests appear in
769: Figure~\ref{cnf-all}.
770: 
771: \vspace{0.1em}
772: 
773: We have shown only the population sizes of 500 and 5,000 as the other
774: population sizes tested followed the same pattern.  Interestingly, for
775: this problem there was no evidence of better performance with FUDS at
776: higher selection intensities.  Nor for that matter was there the
777: decline in performance with TOURx-R that we have seen elsewhere.
778: Indeed with random deletion the selection intensity appeared to have
779: no impact on performance at all.  While SAT3 CNF is an NP hard
780: optimisation problem, this lack of dependence of our selection
781: intensity parameter suggests that it may not have the deceptive
782: structure that FUDS was designed for.
783: 
784: \vspace{0.12em}
785: 
786: With low selection intensity FUDS caused performance to fall below
787: that of random deletion; something that we have not seen before.
788: Because the advantages of FUDS have been more apparent with low
789: populations in other test problems, we also tested the system with a
790: population size of only 150. Unfortunately no interesting changes in
791: behaviour were observed.
792: 
793: \vspace{0.12em}
794: 
795: We suspected that the uniform nature of the population distribution
796: that should occur with FUDS might be to blame as we only expect this
797: to be a benefit for very deceptive problems which are sensitive to the
798: tuning of the selection intensity parameter.  Thus we ran the EA with
799: a population of 1000 and graphed the population distribution across
800: the number of clauses satisfied at the end of the run.  We stopped
801: each run when the EA made no progress in 40 generations.  The results
802: of this appear in Figure~\ref{cnf-pop}.
803: 
804: \vspace{0.12em}
805: 
806: The first thing to note is that with TOUR4-R the population collapses
807: to a narrow band of fitness levels, as expected.  With TOUR4-F the
808: distribution is now uniform, though practically none of the population
809: satisfies fewer than 550 clauses.  The reason for this is quite
810: simple: While FUDS levels the population distribution out, TOUR4 tends
811: to select the most fit individuals and thus pushes the population to
812: the right from its starting point.
813: 
814: \vspace{0.12em}
815: 
816: Given that our goal is to find an instantiation that satisfies all 645
817: clauses, it is questionable whether having a large percentage of the
818: population unable to satisfy even 600 clauses is of much benefit.
819: While the total population diversity under FUDS might be very high,
820: perhaps the kind of diversity that matters the most is the diversity
821: among the relatively fit individuals in the population.  This should
822: be true for all but the most deceptive problems.  By thinly spreading
823: the population across a very wide range of fitness levels we actually
824: end up with very few individuals with the kind of diversity that
825: matters.  Of course this depends on the nature of the problem we are
826: trying to solve and the fitness function that we use.
827: 
828: 
829: 
830: \begin{figure}
831: \centering
832: \includegraphics[width=0.231\textwidth,height=0.24\textwidth]{CNF150-p500-gecco.eps}
833: \hspace*{0.002\textwidth}
834: \includegraphics[width=0.231\textwidth,height=0.24\textwidth]{CNF150-p5k-gecco.eps}
835: \caption{\label{cnf-all}With low selection intensity TOURx-F performed
836: slightly below TOURx-R, but was otherwise comparable.}
837: \end{figure}
838: 
839: With CNF3 SAT problems we can directly measure population diversity by
840: taking the average hamming distance between individuals' genomes.
841: While this means that the value of the fitness based similarity metric
842: is questionable for this problem, as more direct methods can be
843: applied, it is a useful situation for our analysis as it allows us to
844: directly measure how effective FUDS is at preserving population
845: diversity.  The hope of course is that any positive benefits that we
846: have seen here will also carry over to problems where directly
847: measuring the diversity is much more difficult.
848: 
849: 
850: For the diversity tests we used a population size of 1000 again.  For
851: comparison we used TOUR3 and TOUR12 both with random deletion and with
852: FUDS.  In each run we calculated two different statistics: The average
853: hamming distance between individuals in the whole population, and the
854: average hamming distance between individuals whose fitness was no more
855: than 20 below the fittest individual in the population at the time.
856: These two measurements give us the ``total population diversity'' and
857: ``top fitness diversity'' graphs in Figure~\ref{cnf-diver}.
858: 
859: 
860: We graphed these measurements against the number of clauses satisfied
861: by the fittest individual rather than the number of generations.  This
862: is only fair because if good solutions are found very quickly then an
863: equally rapid decline in diversity is acceptable and to be expected.
864: Indeed it is trivial to come up with a system which always maintains
865: high population diversity however long it runs, but is unlikely to
866: find any good solutions.  The results were averaged over all 100
867: problems in the test set.  Because the best solution found in each run
868: varied, we have only graphed each curve until the point where fewer
869: than 50\% of the runs were able to achieve this level of fitness.
870: Thus the terminal point at the right of each curve is representative
871: of fairly typical runs rather than just a few exceptional ones that
872: perhaps found unusually good solutions by chance.
873: 
874: \mbox{}
875: \vspace{-0.6em}
876: 
877: The left graph in Figure~\ref{cnf-diver} shows the total population
878: diversity.  As expected the diversity with TOUR3-R and TOUR12-R
879: decline steadily as finding better solutions becomes increasingly
880: difficult and the population tends to collapse into a narrow band of
881: fitness.  Also the total population diversity with TOUR3-R is higher
882: than with TOUR12-R as we would expect.  Importantly, FUDS
883: significantly improved the total population diversity with both TOUR3
884: and TOUR12 as desired.  However because the maximal solution found by
885: TOUR3-F and TOUR12-F were not better than TOUR3-R and TOUR12-R this
886: indicates that improved total population diversity was not a
887: significant factor for this optimisation problem.
888: 
889: \begin{figure}
890: \centering
891: \includegraphics[width=0.231\textwidth,height=0.24\textwidth]{CNF-TOUR4-R-popDist.eps}
892: \hspace*{0.002\textwidth}
893: \includegraphics[width=0.231\textwidth,height=0.24\textwidth]{CNF-TOUR4-B-popDist.eps}
894: \caption{\label{cnf-pop} With TOUR4-R the population collapses to a
895: narrow band of fitness levels while with TOUR4-F the distribution is
896: flat.}
897: \end{figure}
898: 
899: On the right graph we see the diversity among the fitter individuals
900: in the population.  TOUR3 has significantly greater diversity than
901: TOUR12 with both deletion schemes.  This is expected as TOUR3 tends to
902: search more evolutionary paths while TOUR12 just rushes down a few.
903: Disappointingly FUDS does not appear to have made very much difference
904: to the diversity among these highly fit individuals, though the curves
905: do appear to flatten out a little as the diversity drops below 30, so
906: perhaps FUDS is having a slight impact.
907: 
908: In summary, these results show that while FUDS has been successful in
909: maximising total population diversity, for problems such as CNF3 SAT
910: this in itself is not sufficient.  It appears to be more important
911: that the GA maximises the diversity among those individuals which have
912: reasonably high fitness.
913: 
914: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
915: \section{Conclusions and Future Work}\label{sec:conc}
916: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
917: 
918: 
919: We have used tournament selection to test FUDS against random deletion
920: on several optimisation problems with different population sizes,
921: mutation probabilities and crossover probabilities.  For the
922: artificial deceptive 2D problem, random distance matrix TSP problems
923: and the SCP problem, FUDS was consistently superior, returning better
924: results than random deletion for every combination of tournament size
925: and population size tested.  This is particularly significant given
926: that FUDS is trivial to implement, computational cheap and largely
927: problem independent.
928: 
929: \begin{figure}
930: \includegraphics[width=0.236\textwidth,height=0.25\textwidth]{CNF-total-diversity-gecco.eps}
931: \includegraphics[width=0.236\textwidth,height=0.25\textwidth]{CNF-top-diversity-gecco.eps}
932: \caption{\label{cnf-diver} While the total population diversity is
933: improved by FUDS, the diversity among fit individuals is similar to
934: that with random deletion.}
935: \end{figure}
936: 
937: For CNF3 SAT problems however the results were less impressive.  While
938: the performance with FUDS was comparable to random deletion for medium
939: to high selection intensity, it was inferior to random deletion for
940: low selection intensities.  Investigating further we found that while
941: the total population diversity was improved, as expected, the
942: diversity among the fit individuals was not.  However, because the
943: performance of TOURx-R was not reduced with very high selection
944: intensity, this indicates that CNF3 SAT problems do not have the kind
945: of diversity problems that FUDS was designed to overcome.  That is,
946: problems with serious population diversity difficulties where greedy
947: exploration is harshly punished.
948: 
949: In future work FUDS should be tested on more problem classes with an
950: aim to developing a better understanding of what kinds of deceptive
951: optimisation problems it is the most effective.\\
952: 
953: \subsection*{Acknowledgements}
954: 
955: This work was supported by SNF grant 2100-67712.02.\\
956: 
957: 
958: 
959: \vspace{0.3em}
960: 
961: \begin{thebibliography}{10}
962: 
963: \vspace{0.7em}
964: 
965: \bibitem{Applegate:00}
966: D.~Applegate, W.~Cook, and A.~Rohe.
967: \newblock Chained {L}in-{K}ernighan for large traveling salesman problems.
968: \newblock Technical report, Department of Computational and Applied
969:   Mathematics, Rice University, Houston, TX, 2000.
970: 
971: \vspace{0.1em}
972: 
973: \bibitem{Beasley:03}
974: J.~Beasley.
975: \newblock Or-library.
976: \newblock {\em mscmga.ms.ic.ac.uk/jeb/orlib/scpinfo.html}, 2003.
977: 
978: \vspace{0.1em}
979: 
980: \bibitem{Beasley:96}
981: J.~Beasley and P.~Chu.
982: \newblock A genetic algorithm for the set covering problem.
983: \newblock {\em European Journal of Operational Research}, 94:392--404, 1996.
984: 
985: \vspace{0.1em}
986: 
987: \bibitem{Collins:91}
988: R.~J. Collins and D.~R. Jefferson.
989: \newblock Selection in massively parallel genetic algorithms.
990: \newblock In {\em Proc. Fourth International Conference on Genetic Algorithms},
991:   San Mateo, CA, 1991. Morgan Kaufmann Publishers.
992: 
993: \vspace{0.1em}
994: 
995: \bibitem{Crescenzi:04}
996: P.~Crescenzi and V.~Kann.
997: \newblock A compendium of {NP} optimization problems.
998: \newblock {\em www.nada.kth.se/$\sim$viggo/problemlist/compendium.html}, 2003.
999: 
1000: 
1001: \vfill\eject
1002: 
1003: 
1004: 
1005: \bibitem{Forrest:93}
1006: S.~Forrest and M.~Mitchell.
1007: \newblock What makes a problem hard for a genetic algorithm? {S}ome anomalous
1008:   results and their explanation.
1009: \newblock {\em Machine Learning}, 13(2--3):285--319, 1993.
1010: 
1011: 
1012: \vspace{0.1em}
1013: 
1014: 
1015: \bibitem{Goldberg:85}
1016: D.~Goldberg and R.~L. Alleles.
1017: \newblock Loci and the traveling salesman problem.
1018: \newblock In {\em Proc. International Conference on Genetic Algorithms and
1019:   their Applications}, pages 154--159. Lawrence Erlbaum Associates, 1985.
1020: 
1021: \vspace{0.1em}
1022: 
1023: \bibitem{Goldberg:87}
1024: D.~E. Goldberg and J.~Richardson.
1025: \newblock Genetic algorithms with sharing for multi-modal function
1026:   optimization.
1027: \newblock In {\em Proc. 2nd International Conference on Genetic Algorithms and
1028:   their Applications}, pages 41--49, Cambridge, MA, July 1987. Lawrence Erlbaum
1029:   Associates.
1030: 
1031: \vspace{0.1em}
1032: 
1033: \bibitem{Hoos:00}
1034: H.~H. Hoos and T.~St{\"u}tzle.
1035: \newblock {SATLIB: An Online Resource for Research on {SAT}}.
1036: \newblock In {\em SAT 2000}, pages 283--292. IOS press, 2000.
1037: 
1038: \vspace{0.1em}
1039: 
1040: \bibitem{Hutter:92cfs}
1041: M.~Hutter.
1042: \newblock {I}mplementierung eines {K}lassifizierungs-{S}ystems.
1043: \newblock Master's thesis, Theoretische Informatik, TU M{\"u}nchen, 1991.
1044: \newblock 72 pages with C listing, in German,
1045:   http://www.idsia.ch/$\sim$marcus/ai/pcfs.htm.
1046: 
1047: \vspace{0.1em}
1048: 
1049: \bibitem{Hutter:01fuss}
1050: M.~Hutter.
1051: \newblock Fitness uniform selection to preserve genetic diversity.
1052: \newblock In {\em Proc. 2002 Congress on Evolutionary Computation (CEC-2002)},
1053:   pages 783--788, Washington D.C, USA, May 2002. IEEE.
1054: 
1055: \vspace{0.1em}
1056: 
1057: \bibitem{Hutter:04bayestree}
1058: M.~Hutter.
1059: \newblock Fast non-parametric {B}ayesian inference on infinite trees.
1060: \newblock In {\em Proc. 15th International Conference on Artificial
1061:   Intelligence and Statistics ({AISTATS-2005})}, pages 1--8, Barbados, 2005.
1062: 
1063: \vspace{0.1em}
1064: 
1065: \bibitem{Johnson:97}
1066: D.~S. Johnson and A.~McGeoch.
1067: \newblock The traveling salesman problem: {A} case study.
1068: \newblock In E.~H.~L. Aarts and J.~K. Lenstra, editors, {\em Local Search in
1069:   Combinatorial Optimization}, Discrete Mathematics and Optimization,
1070:   chapter~8, pages 215--310. Wiley-Interscience, Chichester, England, 1997.
1071: 
1072: \vspace{0.1em}
1073: 
1074: \bibitem{DeJong:75}
1075: K.~Jong.
1076: \newblock An analysis of the behavior of a class of genetic adaptive systems.
1077: \newblock {\em Dissertation Abstracts International}, 36(10), 5140B, 1975.
1078: 
1079: \vspace{0.1em}
1080: 
1081: \bibitem{Legg:website}
1082: S.~Legg.
1083: \newblock Website.
1084: \newblock {\em www.idsia.ch/$\sim$shane}, 2004.
1085: 
1086: \vspace{0.1em}
1087: 
1088: \bibitem{Legg:04fussexp}
1089: S.~Legg, M.~Hutter, and A.~Kumar.
1090: \newblock Tournament versus fitness uniform selection.
1091: \newblock In {\em Proceeding of the 2004 Congress on Evolutionary Computation},
1092:   2004.
1093: 
1094: \vspace{0.1em}
1095: 
1096: \bibitem{Lin:73}
1097: S.~Lin and B.~W. Kernighan.
1098: \newblock An effective heuristic for the travelling salesman problem.
1099: \newblock {\em Operations Research}, 21:498--516, 1973.
1100: 
1101: \vspace{0.1em}
1102: 
1103: \bibitem{Mahfoud:95}
1104: S.~W. Mahfoud.
1105: \newblock {\em Niching Methods for Genetic Algorithms}.
1106: \newblock PhD thesis, University of Illinois at Urbana-Champaign, Urbana, IL,
1107:   May 1995.
1108: 
1109: \vspace{0.1em}
1110: 
1111: \bibitem{Martin:96}
1112: O.~Martin and S.~Otto.
1113: \newblock Combining simulated annealing with local search heuristics.
1114: \newblock {\em Annals of Operations Research}, 63:57--75, 1996.
1115: 
1116: \vspace{0.1em}
1117: 
1118: \bibitem{Rogers:99}
1119: A.~Rogers and A.~Pr{\"u}gel-Bennett.
1120: \newblock Modelling the dynamics of a steady-state genetic algorithm.
1121: \newblock In W.~Banzhaf and C.~Reeves, editors, {\em Foundations of {G}enetic
1122:   {A}lgorithms 5}, pages 57--68. Morgan Kaufmann, San Francisco, CA, 1999.
1123: 
1124: \end{thebibliography}
1125: 
1126: 
1127: 
1128: 
1129: \end{document}
1130: