Peter Bentley
Intelligent Systems Group, Department of Computer Science, University College London, Gower St., London WC1E 6BT, UK.
Tel. +44 (0)171 391 1329 Fax. +44 (0)171 387 1397
E-mail: P.Bentley@cs.ucl.ac.uk WWW: http://www.cs.ucl.ac.uk/staff/P.Bentley/
This paper examines the four main types of Evolutionary Design by computers: Evolutionary Design Optimisation, Evolutionary Art, Evolutionary Artificial Life Forms and Creative Evolutionary Design. Definitions for all four areas are provided. A review of current work in each of these areas is given, with examples of the types of applications that have been tackled. The different properties and requirements of each are examined. Descriptions of typical representations and evolutionary algorithms are provided and examples of designs evolved using these techniques are shown. The paper then discusses how the boundaries of these areas are beginning to merge, resulting in four new 'overlapping' types of Evolutionary Design: Integral Evolutionary Design, Artificial Life Based Evolutionary Design, Aesthetic Evolutionary AL and Aesthetic Evolutionary Design. Finally, the last part of the paper discusses some common problems faced by creators of Evolutionary Design systems, including: interdependent elements in designs, epistasis, and constraint handling.
Keywords:
evolutionary design, creative design, optimisation, computer art, artificial lifeThe use of Evolutionary Computation to generate designs has taken place in many different guises over the last ten or fifteen years. Designers have optimised selected parts of their designs using evolution, artists have used evolution to generate aesthetically pleasing forms, architects have evolved new building plans from scratch, computer scientists have evolved the morphologies and control systems of artificial life.
However, work in these different application areas tends to be performed by researchers isolated within different fields, and whilst there is some cross-disciplinary communication, it seems that many work in ignorance of the highly related research performed by others. In order to remedy this situation, this paper attempts to bring together the varied aspects of this type of research under a single heading: Evolutionary Design.
Figure 1 Evolutionary Computation and Evolutionary Design have their roots in Computer Science and Evolutionary Biology.
Cross-disciplinary research is hardly new to Evolutionary Computation. Indeed, the entire field only exists because of the efforts of those such as Holland [24], Rechenberg [32] and Fogel [16] to merge the boundaries of Evolutionary Biology and Computer Science, see figure 1.
Unfortunately, it does seem that the natural behaviour of many researchers is to entrench themselves within a single area, and then erect barriers around that area by trying to stress wider and wider distinctions - almost a form of intellectual territorialism. This paper tries to encourage some of these barriers to be removed, by identifying the common elements of research often considered as distinct and separate.
Consequently, this paper proposes that the branch of research entitled 'Evolutionary Design' should encompass four distinct aspects: Evolutionary Design Optimisation, Creative Evolutionary Design, Evolutionary Art, and Evolutionary Artificial Life Forms.
As is usually the case with any kind of classification system, the work of a few researchers does not fall neatly within one category, but may be included in two or more categories. This paper also examines such work. Particular attention is paid to the four 'overlapping' research areas, which this paper shall name: Integral Evolutionary Design, Aesthetic Evolutionary Design, Artificial Life-based Evolutionary Design, and Aesthetic Evolutionary AL. Figure 2 shows all of these areas of research and how they relate to each other.
Figure 2 Aspects of Evolutionary Design by Computers
The following sections of this paper summarise the scope of research in each area and describe the aims and objectives that researchers in each area typically have, examining some key contributions to each of these fields of research. For each aspect of Evolutionary Design, examples of the representations, evolutionary algorithms and evolved solutions are outlined. Finally, some typical problems encountered by creators of Evolutionary Design systems are discussed, together with ways to overcome them.
The use of Evolutionary Computation to optimise existing designs was one of the first types of Evolutionary Design to be tackled. Over the last fifteen years, a huge variety of different engineering designs have been successfully optimised [3,19], from flywheels [15] to aircraft geometries [25].
Although the exact approach used by developers of such systems varies, typically this type of Evolutionary Design cannot be classed as generative or creative (see next section). Practitioners of Evolutionary Optimization usually begin the process with an existing design, and parameterise those parts of the design they feel need improvement. These parameters are then encoded as genes, the alleles (values) of which are then evolved by an evolutionary search algorithm. The designs are often judged by interfacing the system to analysis software, which is used to derive a fitness measure for each design. For example, Goodman [15] describes the optimisation of flywheels using genetic algorithms (GAs). Cross-sections of flywheels are parameterised (into a collection of height parameters) and evolved, see fig. 3 (top left). Evaluation of structure is performed using multiple Finite Element Models [15]. Alternatively, Keane has minimised the structural vibration of designs such as axially vibrating rods and satellite booms, using a GA to minimise fitness values returned by a Statistical Energy Analysis package [26]. For more examples of Evolutionary Optimisation of Designs, see Gen and Cheng's recent book: Genetic Algorithms and Engineering Design [19].
Phenotype representations for these design optimisation problems are application-specific, consisting of existing designs for that application, with the evolved parameter values simply inserted into the corresponding parameterised elements. Artificial embryologies (mapping or 'growth' stages from genotypes to phenotypes [14]) are often rudimentary or non-existent, simply because they are not necessary for such Evolutionary Design. Because of this, genotype representations may match phenotype representations closely, often with a one-to-one mapping between genes and parameters. Consequently, the addition or deletion of genes in genotypes, and parameters in phenotypes, is usually not performed by the evolutionary algorithm for Evolutionary Design Optimisation.
When optimising designs, great emphasis is placed upon finding a solution as close to the global optimal as possible - perhaps more so than for any other type of Evolutionary Design. Often designs that are already of good quality are to be improved, and it can be a challenge to improve them at all. Because of this motivation towards global optimality, researchers tend to concentrate on evolutionary search methods for reducing any tendencies towards convergence upon local optima. In addition, because the analysis software used to provide fitness functions for solutions can have heavy computational demands, there is often a strong emphasis towards reducing the number of evaluations required before a final solution is found.
Numerous techniques have been tried to achieve these goals. To improve performance, sometimes multiple genetic representations are used in parallel [15]. Many complex types of genetic algorithm are used [19]. For example, Husbands [25] describes the use of a distributed GA and a distributed GA hybridized with gradient descent techniques to evolve the cross-section of optimal aircraft wingboxes. The research found that hybrid GAs outperformed many other search algorithms for this problem [25].
CLICK HERE FOR AN EXAMPLE OF EVOLUTIONARY OPTIMISATION
Calling anything generated by computer 'creative' is fraught with ambiguity and controversy, so this section will begin by attempting to define, for the purposes of Evolutionary Design, what 'creative' actually means.
Writing about this very subject in his paper 'Computers and Creative Design' [20], Gero makes the distinction between cognitive and social views, i.e. an individual can display creativity when designing, and a design can have characteristics which may be regarded as being creative. Gero concentrates on the former definition, and concludes that a computer is designing creatively when it explores the set of possible design state spaces in addition to exploring individual design spaces. In other words, Gero indicates that by evolving the number of decision variables in addition to evolving the values of those variables, a computer is being creative [20]. In a similar vein, Boden suggests in her book The Creative Mind [9], that creativity is only possible by going beyond the bounds of a representation, and by finding a novel solution which simply could not have been defined by that representation. Boden, however, does not feel that computers are capable of such creativity [9].
Other definitions for creative design include: having ability to generate 'surprising and innovative solutions', or 'novel solutions that are qualitatively better than previous solutions' [21]. However, for the purposes of this paper, Rosenman's description seems most apt: 'the lesser the knowledge about existing relationships between the requirements and the form to satisfy those requirements, the more a design problem tends towards creative design' [33].
Consequently, the main feature that all Creative Evolutionary Design systems have in common, is the ability to generate new forms starting from little or nothing (i.e. random initial populations), and be guided purely by functional performance criteria. In achieving this, such systems often do vary the number of decision variables during evolution [4,21,33]. They can often generate surprising and innovative solutions, or novel solutions qualitatively better than others [6,23]. Whether this means that these systems are really 'designing creatively', or whether they simply generate 'creative designs', will be left for the reader to decide.
Research in the field of Creative Evolutionary Design is concerned with the preliminary stages of the design process. There are two main approaches. Both involve the use of evolutionary computation to generate entirely new designs from scratch, however the level at which these designs are represented is different:
Conceptual Evolutionary Design - the production of high-level conceptual frameworks for designs.
In this type of Evolutionary Design, the relationships and arrangements of high-level design concepts are evolved in an attempt to generate novel preliminary designs. A good example of this is the work of Pham, who describes his preliminary design system known as TRADES (TRAnsmission DESigner) [31]. TRADES uses a genetic algorithm to evolve the organisation of a set of conceptual building blocks (such as rack and pinion, worm gear, belt drive). When given the type of input (e.g. rotary motion) and the desired output (e.g. perpendicular linear motion), the system generates a suitable conceptual transmission system to convert the input into the output.
In these systems, evolution is used to search through the possible networks of interconnected conceptual building blocks. The genotype and phenotype representations of these systems are often simple, with rudimentary embryologies, if any. Basic evolutionary algorithms are usually sufficient for this type of problem. There are always exceptions to every rule, however, and the work of Parmee provides such an exception. Parmee [29] describes the use of structured GA to evolve a large-scale hydropower system (this is intended to take place at the feasibility/bid stages of the design process, after the conceptual design stage). His advanced GA manipulates a design hierarchy of 'sites', 'dam types', 'tunnel lengths', 'modes of operation', etc., and allows appropriate elements to be switched on or off by control genes during evolution [29].
CLICK HERE FOR AN EXAMPLE OF CONCEPTUAL EVOLUTIONARY DESIGN
Generative Evolutionary Design (or Genetic Design) - the generation of the form of designs directly.
Using computers to generate the form of designs rather than a collection of pre-defined high-level concepts has the advantage of giving greater freedom to the computer. Typically such systems are free to evolve any form capable of being represented, and the evolution of such forms may well result in the emergence of implicit design concepts [6,23]. However, the difficulty of this type of Creative Evolutionary Design is severe, since it often involves the creation of dynamically specified representations and complex evaluation routines (see below).
Often involving just the preliminary stages of design, the emphasis for this type of Evolutionary Design is on the generation of novelty and originality, and not the production of globally optimal solutions. Representations of form vary tremendously, but they do all share certain features. For example, because the emphasis is on the generation of new forms, phenotype representations are typically quite general, capable of representing vast numbers of alternative morphologies (this is in contrast to representations for optimisation, which can only define variations of a single form). Representations range from direct spatial partitioning (e.g. voxels), which have one-to-one mappings between genes in genotypes and elements of phenotypes [2], to highly indirect representations which use shape grammars or cellular automata (CA) with some advanced embryologies to map genotypes to phenotypes [11,33]. For example, Rosenman describes the use of a GA to evolve house plans, using a design grammar of rules to define how polygons should be constructed out of edge vectors [33]. Coates uses genetic programming (GP) to evolve abstract architectural forms, with L-Systems forming the basis of the representation [11]. Schnier and Gero even attempt to evolve new higher-level representations of form, suitable for subsequent evolution of house plans in a specific architectural style [35].
Simple genetic algorithms are often sufficient for the design systems that employ simpler representations [2]. However, for Creative Evolutionary Design systems with advanced representations and corresponding embryologies (e.g. to 'grow' phenotypes from a set of shape-grammar rules defined in the genotypes), more advanced GAs are essential. Typically, these GAs are used to evolve the larger structure of the representation (e.g. number and organisation of shape-rules) in addition to the detail (e.g. type and content of the individual rules). In other words, these GAs are capable of evolving designs which have representations of variable length - they explore new and different search spaces in addition to the parameter values within each space [7]. GAs and GP are used to evolve these highly variable forms [4,11,33], usually beginning from random, simple forms, and gradually improving the structure and detail of these designs until some functional criteria is met. The objective of this type of research is not normally to use computers to generate a single global optimal solution, but rather to generate a number of 'creative' alternatives. The evaluation of designs can be more difficult, since most off-the-shelf analysis packages are limited to judging specific types of designs - when presented with some of the initially random forms generated by these systems, they simply generate errors. Consequently, many of these systems rely on simplified custom-written evaluation routines, which can analyse everything presented to them, but perhaps not always with the desired accuracy [4].
However, this is one of the most recent and exciting types of Evolutionary Design, and is already showing great potential in a number of application areas. Bentley [4,6,8] describes the evolution, from scratch, of a number of unusual and inventive designs for numerous applications, such as tables, heatsinks, optical prisms, aerodynamic and hydrodynamic forms, etc., see fig. 3 (top right). Pollack [17] demonstrates the use of a GA to evolve novel bridge and crane structures, which are subsequently built as LEGOTM models [17]. An application area currently receiving much media attention is 'Evolveable Hardware', where new logic circuits are evolved and evaluated in real silicon using FPGAs [23]. Already some surprising and novel electronic solutions have been found using these techniques [23].
CLICK HERE FOR AN EXAMPLE OF GENERATIVE EVOLUTIONARY DESIGN
Evolutionary Art is perhaps the most commercially successful type of Evolutionary Design. Although academic research in this area is less common than in the other fields, there are perhaps more Evolutionary Art products available today than any other type of Evolutionary Design system.
All Evolutionary Art systems tend to resemble each other closely. They all generate new forms or images from scratch (random initial populations). They all rely completely upon a human evaluator to set fitnesses for each member of the population - normally based on aesthetic appeal. Population sizes are usually very small (often less than ten individuals), to allow them all to be quickly judged every generation. User-interfaces are often similar, with members of the current population shown on the screen in the form of a grid, allowing the user to rank them, or assign fitness scores by clicking on them with a mouse, see fig. 3, bottom left.
The main differences between these systems lie in their phenotype representations. A large variety of alternative representations have been employed, from fractal equations (such as John Mount's 'Interactive Genetic Art', which was shown on-line at http://robocop.modmath.cs.cmu.edu.8001), to recursive grammar-rules using constructive solid geometry [40]. These representations are created with different intentions. For example, Dawkins' recursive tree-like structures were intended to resemble the recursive embryologies found in nature, in the hope that natural looking forms would emerge [13,14]. Todd and Latham's representation was based upon repeated elements such as spheres and tori, used to form 'horns' and 'ribs' out of which images are constructed [40]. Colour and texture can also be incorporated into these representations [14,40].
Perhaps surprisingly, many of the representations are evolved with fixed structures (e.g. Todd and Latham hand-designed the structures of forms, then evolved the detail within these structures [40]). Allowing evolution to vary structures (e.g. change the number of rules or primitive shapes), as is done in Creative Evolutionary Design, could possibly increase the creativity of such systems.
One undesired side effect of many of these representations is that they generate pieces of art which have very distinct styles. Often the style of form generated using a particular representation is more identifiable than the style of the artist used to guide the evolution. This can cause problems if the artist wishes to take the credit for the piece. The cause of this 'style problem' is perhaps due to the initial preconceptions and assumptions of the designer of the representation. By limiting the computer to a specific type of structure, or a specific set of primitive shapes and constructive rules, it will inevitably always generate forms with many common and identifiable elements.
Because evolution is guided by a human selector (i.e. the 'fitness function' is an artist), the evolutionary algorithm does not have to be complex. Evolution is used more as a continuous novelty generator, not as an optimiser. The artist is likely to score designs highly inconsistently as he/she changes his/her mind about desirable features during evolution, so the continuous generation of new forms based on the fittest from the previous generation is essential. Consequently, an important element of the evolutionary algorithms used is non-convergence. If the populations of forms were ever to lose diversity and converge onto a single shape, the artist would be unable to explore any further forms. Because of this, most Evolutionary Art systems do not employ crossover within their evolutionary algorithms. Typically only mutation is used, with all offspring being mutated copies of their parents (and often only a single parent is used per generation). This mutation-driven evolution is similar to the approach used in evolution strategies, which are known to be excellent for finding solutions to problems with continuously changing fitness functions [1].
Examples of such systems include Dawkins' biomorphs [13,14], Todd & Latham's Evolutionary Art [40], and Sims' evolved computer graphics [37]. Today, numerous Evolutionary Art systems are available on-line (see http://www.netlink.co.uk/~snaffle/form/evolutio.html for an up-to-date list).
CLICK HERE FOR AN EXAMPLE OF EVOLUTIONARY ART
Evolutionary Computation plays a significant role in many aspects of the new field of Computer Science known as Artificial Life (AL). Artificial 'brains', behaviour strategies, methods of communication, distributed problem solving and many other topics are commonly explored using genetic algorithms and other evolutionary search techniques [12].
Although all types of evolved AL could be described as aspects of Evolutionary Design, it is clear that certain topics within AL fall into the 'Evolutionary Design' category more comfortably than others. For the purposes of this paper, AL research that can be readily categorised as an aspect of Evolutionary Design will be defined as research which aims to evolve 'Artificial Life-Forms'. Examples of Evolutionary AL-Forms include: Lohn's Cellular Automata (CA) evolved to be capable of self-replication [27], Harvey's evolved layout and structure of neurons [22], and the evolved plant-like and animal-like morphologies of Dawkins and Sims [13,14,38,39].
Motivations for the creation of Evolutionary AL-Forms are usually theoretical. The goals of such research are often to discover more about the mechanisms of natural evolution, to find explanations of forms observed in nature, or to exploit the solutions proven in nature by attempting to duplicate them. Often the evolved AL-forms show the enormous potentials of this type of Evolutionary Design, but as yet, practical applications are still scarce. Figure 3 (bottom right) shows some of Sims' evolved 'virtual creatures'.
Representations are typically specific to each system. For example, Lohn and Reggia [27] use CA 'rule tables' within the chromosomes of their GA. Sims [38,39] uses a hierarchical chromosome structure to define both 'brain' and 'body'. Ventrella [41] combines ordered morphology and control parameters of his animats in a flat chromosome structure. Many of these representations are inspired by the genotype structure of natural organisms, and some researchers have attempted to evolve AL-forms with complex embryologies. Other researchers invent their own intricate coding schemes [39]. Most such representations are highly flexible and of variable length, requiring complex genetic operators with the evolutionary algorithms.
Because research in this field is still very much at the 'blue-sky' stage, evolutionary techniques are often used as exploration tools, in a similar way to Evolutionary Art. These algorithms can be used to generate multiple solutions, incorporating niching, speciation, parasitism, competition, co-operation and other advanced methods [12]. Evaluation usually consists of analysing behaviour in simulated virtual worlds (although some researchers do test solutions using real robots [22]), and can be very time-consuming. To try to shorten evolution run-times, advanced methods are commonly used, e.g. steady-state GAs, parallel GAs, hybrid GAs [12]. Many systems that evolve AL-forms also use changing fitness functions, which necessitate the use of other specialised genetic search techniques (Harvey) [22]. Most systems evolve the forms from scratch (the initial population is random), however some occasionally seed initial populations with the fittest individuals from previous runs [39].
CLICK HERE FOR AN EXAMPLE OF EVOLVING ARTIFICIAL LIFE FORMS
|
|
Goodman's Evolutionary Optimisation of Flywheels |
Bentley's Creative Evolutionary Design |
Rowbottom's Evolutionary Art |
Sims' Evolved Artificial Life Forms |
Figure 3 Examples of the four main types of Evolutionary Design.
Many researchers confine themselves to one of the four aspects of Evolutionary Design mentioned above, and seem loath to consider alternative approaches. However, more recently, some have begun to combine ideas from one or more of these areas in their work. This is leading to four more (still very new and relatively unexplored) 'overlapping' areas of research in Evolutionary Design (see fig. 2).
The evolution of engineering designs is becoming widespread today, with numerous academic engineering design centres exploring these ideas. Although most research seems to fall into either the Evolutionary Optimisation category, or the Creative Evolutionary Design category, some work does attempt to combine the two into unified, or Integral Evolutionary Design systems.
Parmee suggests that computers can be used within the entire design process, both the early conceptual design stages and the later, detailed design stages, by using a number of adaptive techniques. He discusses how the use of several different systems, each dedicated to a specific stage of design could be used in combination, thus 'integrating adaptive search at every stage of the design process' [29].
Alternatively, work performed by Bentley has investigated the use of a single Generic Evolutionary Design system, to perform the complete design process without making any distinction between the stages of design. It is 'generic' because it is capable of evolving designs for multiple different design tasks. This work has shown that it is possible to use a computer to evolve entirely new designs from scratch, and optimise them, such that they fulfil specific functional criteria [4,6,8].
With many optimisation systems beginning to be applied to more and more detailed parameterisations of designs, and many creative design systems beginning to be used to optimise the designs they generate, the field of Integral Evolutionary Design looks set to grow rapidly.
Work in Artificial Life has generated forms of astonishing diversity and creativity, so some researchers are now using some of the techniques from AL in their Creative Evolutionary Design systems, in an attempt to improve the quality and originality of evolved engineering designs. For example, Parmee borrows distributed agent methods from AL to increase performance of search, in his 'Ant Colony' method, which he combines with evolutionary search [30]. Coates employs L-systems with GP to evolve new architectural forms [11].
Many other unexplored possibilities still exist in this area. For example, Bonabeau [10] describes an AL computer simulation of a swarm of artificial wasps, which build intricate three-dimensional nest architectures. One future avenue of research may be to evolve artificial wasps capable of building new engineering designs between them.
The evolution of aesthetically pleasing AL was perhaps first performed by Dawkins, who hand-selected his artificial 'biomorphs' for reproduction in exactly the way artists select their forms using Evolutionary Art systems [13]. Ventrella has taken this one step further, and has evolved aesthetically pleasing animats which resemble animated stick-men. These are evolved for their ability to walk naturally in a virtual world, and also are guided by the aesthetic judgement of the user [41]. Alternatively, Lund [28] describes the use of neural networks which learn how to judge evolved pictures based on their aesthetics.
Although to date there have been few applications to benefit from this area of research, the use of computers to evolve amusing or attractive animated characters may well be lucrative in the computer games industry, or for television advertisements.
The evolution of aesthetic designs is an obvious area of research, which should perhaps receive more attention than it does. Few designs are purely functional, most are chosen partly because of their aesthetics, and some functionally outstanding designs are discarded purely because of their ugly appearance. Furuta [18] describes an approach in which bridge designs can be optimised using GAs, based on their appearance, using 'psychovectors' to quantify the aesthetic factors of the structures. Husbands [25] describes the evolution of 3D solid objects resembling propellers, using a superquadric shape-description language and guided by 'the eye of the beholder'.
There are a number of common problems encountered when attempting to perform Evolutionary Design using computers. As is usual when applying evolutionary computation to anything, there are issues related to the fitness functions, such as noisy functions, discontinuous functions, multimodal functions, and multiobjective functions [3,5,24]. There are, however, some more specific problems that typically arise more often with Evolutionary Design [34].
Epistasis means the 'degree of dependency' between multiple genes in a chromosome. A genetic representation with high epistasis may have many genes whose phenotypic effect relies to a large degree on the alleles of other genes. For example, a single shape-rule in a rule-based representation may have very different phenotypic effects, depending on which other shape-rules precede and succeed it. Conversely, a representation with low epistasis has few or no genes whose phenotypic effect relies on the alleles of other genes. For example, a simple voxel representation where every gene switches on or off a single voxel in a grid has zero epistasis.
Experiments investigating whether epistasis should be high or low have so far been inconclusive [36]. However, a simple thought experiment may shed light on this dilemma. Consider a (fictional) representation which uses, say, ten genes to represent the entire form of designs, and the phenotypic effect of every gene is completely dependent on all of the other genes through some embryology process. With this (maximum) amount of epistasis, these ten genes effectively become elements of a single overall gene (just as the separate binary digits in an ordinary gene are completely dependent on their neighbours). So our ten-gene representation with complete epistasis could be considered as a single-gene representation. Consider what effect varying any part of that gene would have on the phenotype. With every part of the design epistatically linked to every other part, any attempt to improve just one small area would result in changes to all of the rest of the design - making evolution to acceptable designs very difficult, if not impossible.
Alternatively, consider a representation with zero epistasis (e.g. a voxel representation using a 3D array). This requires no embryology, since every gene maps directly onto a specific area of the phenotype, and only that area of the phenotype. It should be clear that such a representation is well suited for evolution of small-scale detail, but evolution of large-scale characteristics becomes immensely difficult e.g., the scaling of the entire form in one dimension, or the duplication or mirroring of an existing feature in the design. (To duplicate or mirror an existing feature in the way segmentation or symmetry does, each new duplicate part would have to be re-evolved in entirety - highly unlikely to occur [8]).
Having examined the two extreme cases, it should be clear that both too much epistasis and too little epistasis in a representation is undesirable. Consequently, it seems that an ideal representation for Evolutionary Design should have a 'middling' amount of epistasis - just as nature seems to use.
Many design problems are heavily constrained, and dealing with these constraints within an evolutionary algorithm can be difficult. If the creator of the Evolutionary Design system does not take care, constraints can limit the effectiveness of evolutionary search by blocking off useful areas of the search space. Alternatively, if soft constraints are specified, there can be no guarantee that all the constraints will be satisfied. There are eleven main ways in which a constraint can be implemented within an evolutionary system [42]:
C1: LEGAL SEARCHSPACE Design genotype representation.
During the design of the evolutionary system, create a genotype representation that is only capable of representing legal solutions. Evolutionary search is then forced to consider only the space of legal solutions, where all constraints are satisfied. This method is frequently used, although designers who use it are often unaware that they are performing constraint handling of any kind. For example, in GAs, if the range of a problem parameter must be between 0 and 255, most designers would automatically use a binary gene consisting of eight bits - and this genotype representation would then ensure that the 0-255 range constraint was always satisfied.
C2: LEGAL SOLUTIONSPACE Design phenotype representation.
During the design of the evolutionary system, create a new phenotype representation, so that only legal phenotypes can be defined. All genotypes are then mapped onto these phenotypes, which by definition, must always satisfy the constraints. Often great care can go into the design of suitable phenotypes. For example, practitioners of floor-planning problems have two important constraints: room-spaces should not overlap, and no space should be left unaccounted for. To ensure that the computer always evolves solutions that satisfy these constraints, designers of these systems tend to use phenotype representations which define the location of rooms indirectly, by defining the location and number of dividing walls [21].
C3: LEGAL SEED Seed with non-conflicting solutions.
The initial population is seeded with solutions that do not conflict with the constraints and the crossover and mutation operators are designed so that they cannot generate illegal solutions. This method has been used in GP to ensure that only type-correct programs are considered during evolution [42]. The method ensures that all constraints are always satisfied, but may limit exploration by evolutionary search because of reduced initial diversity and limited genetic operations. (It may also be impractical or impossible to generate the initial population of individuals - particularly if the whole point of using evolutionary search was to find solutions that satisfy the constraints.)
C4: GENETIC REPAIR Correct illegal genotypes.
If a new individual conflicts with a constraint, correct the genes that are responsible for the conflict to make it satisfy that constraint. For algorithms such as GP which make no explicit distinction between genotypes and phenotypes, this method modifies the solution, and the modification is inherited by its offspring.
This 'genetic engineering' approach ensures that all solutions will satisfy all constraints, but may damage epistatic genotypes, discarding the result of careful evolution over many generations. The design of the repair procedure may be a non-trivial task for some problems.
C5: LEGAL MAP Correct illegal phenotypes.
Map every genotype of an individual to a phenotype that satisfies the constraints using some form of simple embryology. This forces all solutions to satisfy all constraints, and also does not disrupt or constrain the genotypes in any way, allowing evolutionary search to continue unrestricted. For algorithms such as GP which make no distinction between genotypes and phenotypes, this method modifies the solution before fitness evaluation, but the modification is not inherited by its offspring.
Using a mapping stage to generate legal phenotypes is a very common approach to perform simple constraint handling. In his book, Goldberg describes perhaps the simplest: mapping the range of a gene to a specified interval. This permits constraints on parameter range and precision to be satisfied without the need to redesign the genotype representation and coding. More recently mapping stages have become more intricate and deserving of the term 'artificial embryology'. Researchers in GP have also reported that the use of an explicit genotype and mapping stage for constraint handling can increase diversity in populations [42].
C6: GENOTYPE PENALTY Penalize illegal genotypes.
Identify alleles or gene fragments within genotypes that seem to increase the chances of a solution conflicting the constraints, and reduce the fitness of any individual containing these fragments of genetic code. Although the identification of 'bad genes' may discourage solutions from conflicting constraints, it will not guarantee that all solutions satisfy all constraints. In addition, with epistatic genotypes, this approach may result in the discouragement of other, epistatically linked, useful features within solutions. To date, research has investigated the automatic identification of 'good genes' during evolution to encourage the evolution of solutions with higher fitnesses [21]. However, the author of this paper is unaware of any work which identifies 'bad genes' for constraint handling.
C7: PHENOTYPE PENALTY Penalize illegal phenotypes.
When a phenotype conflicts a constraint, reduce its fitness (ideally in direct proportion to the number of constraints conflicted, and the degree to which they are conflicted). This 'soft constraint' discourages all phenotypes that conflict the constraints, but does not force evolutionary search to generate legal solutions. In effect, the use of a penalty value becomes an additional criteria to be considered by the evolutionary algorithm, and multiobjective techniques should be used to ensure that all criteria are considered separately (otherwise one or more criteria may dominate the others) [5]. This is one of the most commonly used methods for constraint handling in evolutionary algorithms. (Indeed, it is the only one explicitly mentioned in Goldberg's book.)
C8: LEGAL SELECTION Select legal parents only for reproduction.
During reproduction, only select parent solutions which satisfy the constraints. This method should be used with a fitness-based replacement method to ensure that evolution is guided to evolve fit solutions in addition to legal solutions. However, the exclusion of potential parents discards potentially beneficial genetic material and so may be harmful to evolution. Only two recent investigations have been made on this method [42].
C9: LEGAL FERTILITY Increase the no. of offspring for legal parents.
Having selected the parent genotypes (based on their fitnesses) this method allocates a larger fertility to parents which better satisfy the constraints. This method can be thought of as an implicit multiobjective method, allowing independent selection pressure to be exerted for high fitness and legal solutions. Being a 'soft constraint', there are no guarantees that all solutions will always satisfy the constraints. In addition, if legal parents are favoured excessively, it is possible that the diversity of the population could be reduced. To the author's knowledge, this idea has not been previously used for constraint handling.
C10: INFANTICIDE Stop illegal offspring from being born.
If a new solution conflicts a constraint, discard it, and try generating another solution using the same parents. This brute-force method, which is sometimes used in GAs [42], forces all solutions to satisfy the constraints, but may discard useful genetic material. In addition, for heavily constrained problems, it may get stuck in an endless loop, generating and discarding illegal solutions forever, given two parents that can only have illegal offspring.
C11: ILLEGAL REPLACEMENT Replace illegal solutions with legal offspring.
When replacing individuals with new offspring in the population, always replace the solutions that conflict constraints. (If all solutions satisfy the constraints, either replace randomly or replace the least fit.) This method should be used with a fitness-based selection method to ensure that evolution is guided to evolve fit solutions in addition to legal solutions. However, the replacement of potential parents discards potentially beneficial genetic material and so may be harmful to evolution.
Work is in progress to investigate and compare these different techniques, both separately and in combination [42].
Opponents of Darwin's theory of natural section often give the example of the eye as a structure 'impossible to occur by evolution'. They state that the eye consists of many interdependent parts: the iris, the retina, the cornea, the lens, with each element relying on the correct functioning of all the other elements for the eye to work as a whole. Dawkins convincingly argues that there does exist a series of gradual evolutionary steps from no eye to eye, and that not only has the eye evolved, but it has evolved many times independently in different species [13]. However, although it is clear that such intricate designs have been evolved in nature, it is also clear that using evolutionary computation to generate designs with interdependent elements is a very difficult task.
For example, Bentley [6] describes (amongst other things) the evolution of a Penta-Prism. This design must bounce light twice using total internal reflection within its solid glass structure in order to reflect an image through 90 degrees whilst keeping the output image the right way up. Although it is a single component, it does have two interdependent elements: the two reflective parts. If either of these internally reflective sides are imprecisely oriented, or omitted, the design will not function correctly. Not only that, but the first reflection must direct the light in a direction almost opposite to the final, desired direction: so a design without the second reflective part is actually worse than a design with no reflective parts at all [6].
Evolution 'prefers' to use as few elements as possible, slowly building up the complexity of designs [14]. However, if care is not taken in the design of the representation and operators, evolution may commit itself too early to simple approximations of the desired design. In the example of the Penta-Prism, evolution normally began by evolving a simple right-angle prism (using a single reflection), which directed the light in the correct direction, but oriented the wrong way up. Having committed itself to this simple, but unsatisfactory type of solution, evolution was then unable to proceed to the more complex Penta-prism design. Perhaps because of limitations of the representation, the only way that evolution could be forced to abandon this unsatisfactory local optimum was by penalising all such designs with a fitness constraint [6].
Such examples of Evolutionary Design [6] illustrate that design problems requiring solutions with many interdependent elements can have large numbers of local optima - some of which do not resemble the functionally correct designs at all. Penalising all such unsatisfactory designs is not always a practical solution, so for design problems of this type, very careful consideration should be given to the creation of a representation and genetic operators that will always permit evolutionary paths from local optima to global optima.
As described in previous sections, some types of Evolutionary Design allow evolution to explore the structure (e.g. number of parameters/rules/primitive shapes) of designs in addition to the detail (e.g. parameter values) of designs. In most representations, varying the structure of designs has considerably more impact on the fitness of these designs, compared to varying the detail. Because of this, evolution typically converges on suitable design structures long before converging on design details. Although this is not always a disadvantage (e.g. the skeletal structure of all mammals seems to permit sufficient diversity, as does the cell structure of plants), in some instances evolution may prematurely converge onto an inappropriate structure. If this happens, the evolution of detail around this structure may be insufficient to allow the production of an acceptable design.
There are two potential solutions to this problem. First, an improved representation capable of allowing changes in structure without disastrous fitness changes would allow structure and detail to converge simultaneously. This could be accomplished if the evolution of detail could directly affect the degree to which changes in structure affected fitnesses. For example, in nature, a superfluous bone will be gradually reduced in size by evolution (a change in design detail), whilst at the same time improving other aspects of the organism because of that change. This reduction continues until at some point the bone becomes sufficiently small and redundant that evolution can remove the entire bone (structure mutation), without decreasing the fitness of the organism.
The second way to prevent premature convergence of structure is to reduce selection pressure once in a while, and permit less-fit designs to propagate. Dawkins [14] suggests that certain landmark mutations in structure such as the development of segmentation may have initially resulted in solutions with worse fitnesses. It seems likely that some of the more gross mutations are more likely to survive during 'good times' where food is plentiful, predators are scarce, and hence selection pressure low [14]. By reducing selection pressure in our Evolutionary Design systems in a similar way, we may well permit changes in structure to occur at later stages of evolution.
This paper has reviewed four highly related fields of research: Evolutionary Design Optimisation, Evolutionary Art, Evolutionary Artificial Life-Forms and Creative Evolutionary Design. In order to promote closer collaboration, it was proposed that the branch of research entitled Evolutionary Design should encompass these four distinct aspects. The different aims and techniques of each type of Evolutionary Design were then explored. For example, practitioners of Evolutionary Design Optimisation typically desire a single, global optimal design, in the minimum of time. In contrast, users of Evolutionary Art systems require a never-ending, non-converging, supply of novel forms to explore, and judge for themselves. Yet despite the differences between the approaches, researchers have now begun to combine these areas, forming four very new 'overlapping' types of Evolutionary Design: Integral Evolutionary Design, Artificial Life Based Evolutionary Design, Aesthetic Evolutionary AL and Aesthetic Evolutionary Design.
The paper then briefly described some common problems faced by creators of Evolutionary Design Systems: evolving designs with interdependent elements, evolving structure and detail, epistasis with representations, and constraint handling. Some solutions were discussed to these problems, but research is ongoing to discover conclusive answers.
Interest in Evolutionary Design is expanding from academia into industry, with the media now beginning to report its successes. Although Evolutionary Design is still in its infancy, it shows great promise in becoming an invaluable type of computer software tool for designers, artists and biologists.
My thanks to Erik Goodman, Karl Sims, and Andrew Rowbottom for their permission to reproduce images of their evolved designs. Thanks also to Tina Yu and Sanjeev Kumar for providing stimulating discussions and helpful criticism.