9
Microcomputers in Civil Engineering 11 (1996) 185-193 Interactive Evolution: A Prototyping Framework for Engineering Jeanine Graf fnformatik Centrum Dortmund (ICD), 44227 Dortmund, Germany Abstract: Interactive evolution is a powerful method com- bining the strength of simulated evolution with the judgment of a human user. This technique can serve as a useful tool for achieving flexibility and complexity in architectural de- sign and civil engineering applications. Operators such as recombination, mutation, and expansion are used to evolve variations and improvements on an existing set of models with only a moderate amount of user input and detailed knowl- edge. One of the main advantages of this method is that it has the potential to optimize a preferred model and to produce many variationsfrom a limited dataset of models. In addition, since it generates constrained variants reflecting the user's preferences,it provides both the architectand engineer with a creative design tool. Ipresent the IDEA system, an interactive X-window tool, for this purpose. This method is exempli$ed within an architectural design situation through the design of houses, bridges, and urban planning. 1 EVOLUTIONARY COMPUTATION Within the last decade, a number of tools have been devel- oped that allow us to solve problems that were previously intractable from an application standpoint. These new tools include neural networks, fizzy logic systems, and evolution- ary computation. These tools are particularly good at solving classification and clustering problems. Evolutionary compu- tation in particular has been very promising for optimization problems. The best-known representatives of evolutionary computa- tion are evolution strategies (ESs), developed in Germany by I. Rechenbergz4 and H.-P. SchwefelZ6; evolutionary pro- gramming (EP), developed in the United States by L. J. Fogel"; genetic algorithms (GAS), developed in the United States by Hollandm; and genetic programming (GP), devel- oped in the United States by Koza*' among others. Evolution strategies (ESs) were first applied in the field of experimental optimization and used discrete mutations.24 When computers became available, algorithms were devised that operated on continuous-valued variables. ESs, like evo- lutionary programming, use random mutation as their main search operator. In addition, however, recombination opera- tors are also included at the discretion of the human oper- ator. Parameters for self-adaption of the step sizes are also provided.26 Evolution strategies are often described in the form (p +A), in which p parents give rise to 1 offspring, and the best p solutions from both parents and offspring become parents of the next generation, or (p, A), in which the best p solutions are chosen solely from the 1 offspring and the old parents are replaced (see refs. 2,24, and 26). Evolutionary programming (EP) was originally proposed as a method to optimize finite-state machines for time se- ries prediction." More recently, EP has been used to ad- dress real-valued optimization problems? A population of candidate solutions to the task at hand is subjected to ran- dom variation and selection over successive iterations. For real-valued problems, the variation usually takes the form of zero mean Gaussian perturbations, with the variances of the perturbations either being set as a function of the parent's error score or as a self-adaptive value.7 Recombinationis not used in typical implementations of EP. Selection is accom- plished probabilistically,using a competition procedure that allows less-fit solutions some probability of being included in the subsequent generation yet also guarantees that the best solution found to that point will be retained. Genetic algorithms (GAS) emphasize the genotypic level of evolution, primarily operating on binary encodings (a choice that is founded by the argument of maximizing the number of schemata a ~ a i l a b l e ~ * ' ~ . ~ ) . Selection is often made probabilistically in proportion to a solution's relative fitness; the greater the realtive fitness, the greater the probability of generating offspring. Emphasis is placed on using crossover operators to search for new solutions by bringing together 0 1996 Microcomputers in Civil Engineering. Published by Blackwell Publishers. 238 Main Street, Cambridge, MA. 02142, USA, and 108 Cowley Road, Oxford OX41JF, UK.

Interactive Evolution: A Prototyping Framework for Engineering

Embed Size (px)

Citation preview

Page 1: Interactive Evolution: A Prototyping Framework for Engineering

Microcomputers in Civil Engineering 11 (1996) 185-193

Interactive Evolution: A Prototyping Framework for Engineering

Jeanine Graf fnformatik Centrum Dortmund (ICD), 44227 Dortmund, Germany

Abstract: Interactive evolution is a powerful method com- bining the strength of simulated evolution with the judgment of a human user. This technique can serve as a useful tool for achieving flexibility and complexity in architectural de- sign and civil engineering applications. Operators such as recombination, mutation, and expansion are used to evolve variations and improvements on an existing set of models with only a moderate amount of user input and detailed knowl- edge. One of the main advantages of this method is that it has the potential to optimize a preferred model and to produce many variationsfrom a limited dataset of models. In addition, since it generates constrained variants reflecting the user's preferences, it provides both the architect and engineer with a creative design tool. Ipresent the IDEA system, an interactive X-window tool, for this purpose. This method is exempli$ed within an architectural design situation through the design of houses, bridges, and urban planning.

1 EVOLUTIONARY COMPUTATION

Within the last decade, a number of tools have been devel- oped that allow us to solve problems that were previously intractable from an application standpoint. These new tools include neural networks, fizzy logic systems, and evolution- ary computation. These tools are particularly good at solving classification and clustering problems. Evolutionary compu- tation in particular has been very promising for optimization problems.

The best-known representatives of evolutionary computa- tion are evolution strategies (ESs), developed in Germany by I. Rechenbergz4 and H.-P. SchwefelZ6; evolutionary pro- gramming (EP), developed in the United States by L. J. Fogel"; genetic algorithms (GAS), developed in the United States by Hollandm; and genetic programming (GP), devel- oped in the United States by Koza*' among others.

Evolution strategies (ESs) were first applied in the field of experimental optimization and used discrete mutations.24 When computers became available, algorithms were devised that operated on continuous-valued variables. ESs, like evo- lutionary programming, use random mutation as their main search operator. In addition, however, recombination opera- tors are also included at the discretion of the human oper- ator. Parameters for self-adaption of the step sizes are also provided.26 Evolution strategies are often described in the form ( p +A), in which p parents give rise to 1 offspring, and the best p solutions from both parents and offspring become parents of the next generation, or (p , A), in which the best p solutions are chosen solely from the 1 offspring and the old parents are replaced (see refs. 2,24, and 26).

Evolutionary programming (EP) was originally proposed as a method to optimize finite-state machines for time se- ries prediction." More recently, EP has been used to ad- dress real-valued optimization problems? A population of candidate solutions to the task at hand is subjected to ran- dom variation and selection over successive iterations. For real-valued problems, the variation usually takes the form of zero mean Gaussian perturbations, with the variances of the perturbations either being set as a function of the parent's error score or as a self-adaptive value.7 Recombination is not used in typical implementations of EP. Selection is accom- plished probabilistically, using a competition procedure that allows less-fit solutions some probability of being included in the subsequent generation yet also guarantees that the best solution found to that point will be retained.

Genetic algorithms (GAS) emphasize the genotypic level of evolution, primarily operating on binary encodings (a choice that is founded by the argument of maximizing the number of schemata a ~ a i l a b l e ~ * ' ~ . ~ ) . Selection is often made probabilistically in proportion to a solution's relative fitness; the greater the realtive fitness, the greater the probability of generating offspring. Emphasis is placed on using crossover operators to search for new solutions by bringing together

0 1996 Microcomputers in Civil Engineering. Published by Blackwell Publishers. 238 Main Street, Cambridge, MA. 02142, USA, and 108 Cowley Road, Oxford OX41JF, UK.

Page 2: Interactive Evolution: A Prototyping Framework for Engineering

186 Jeanine Craf

pieces of different parents. The effectiveness of many of these crossover operators depends on the degree to which the com- ponents of a solution are independent. A low rate of mutation is applied to ensure that a l l solutions are possible in the limit.

Genetic programming (GP) is a machine learning model that extends the genetic model of learning into the space of programs. That is, the objects that constitute the population are not fixed-length character strings encoding possible so- lutions; rather, they are programs that, when executed, are candidate solutions. These programs, then, are expressed as parse trees rather than as lines of code.

In all these cases, the selection criteria are traditionally fixed and are held constant from the start of the simulation. Therefore, these criteria must be detailed explicitly before- hand. This constitutes a significant problem in many realistic applications (apart from optimization), because an explicit fit- ness function may not be available in closed form. Recently, various work-arounds have been tried, one of the most promi- nent being co-evolution. In this method, rather than using one population to search for the best solution, two or more antag- onistic populations are run and compete against each other. The realized fitness in this case is in part determined by the relationship of one population to the other and does not have to be defined explicitly beforehand.”

This paper makes use of an alternative method to gener- ate fitness by involving the user in the selection process of simulated evolution. I work in a natural domain for humans, computer graphics, because it easily engages the user by re- lying on human visual capacity.

In the book, The Blind Watchmaker? Dawkins demon- strated convincingly the potential of Darwinian variation and selection in graphics. He evolved two-dimensional (2D) graphic objects termed biomolphs, which were produced from a collection of genetic parameters in interaction with the user.6*28 Recently, some research has been directed at the ap- plication of GAS to image and graphics problems, such as the segmentation of range imagesa and pattern identification.18 Sims2’ used GAS for interactive generation of color art; Todd and L a t h a ~ n ~ ~ have considered similar ideas to reproduce computer sculptures through structural geometric techniques. Caldwell and Johnson3 have applied the concept of GAS to search interactively in face-space of criminal suspects.

The novel idea offered in this paper is to provide the user with new techniques to evolve progressive solutions for sim- ulated models by means of interactive processes. We have developed a technique to evolve 2D (bitmap) and 3D (voxel) design images. Simulations may be in such domains as struc- tured grammars, geometric models, or bitmap and voxel im- ages. All these simulated models can be applied to many fields of interest, such as design of houses, other buildings, bridge construction, or indeed any area of architectural design.

Interactive evolution is one such technique from the class of evolutionary algorithms (EAs), which are based on a sim- plified model of organic evolution. Evolution is not only pow-

erful enough to bring about biologic entities as complex as humans, but its principles are also useful in simulations to create algorithms and structures of higher levels of complex- ity than could easily be built by traditional design.

Each iteration of interactive evolution consists of four phases: recombination, mutation, expansion, and reproduc- tion. In the recombination phase, pairs from the population are recombined by exchanging material between them ac- cording to some rule, giving rise to new models. In the mu&- tion phase, interactive evolution modifies some number of se- lected components in the population. In the expansion phase, one individual evolves from previous iterations through the application of the prediction algorithm. Finally, in the repm- duction phase, a new population is generated with inherited features from the previous generation. Most of these algo- rithms operate on a population of individuals that represents search points in the space of the decision variables (either directly or by using coding mappings).

A top-level description is as follows:

Step 1: Start with an initial time T = 0. Initialize an initial population P(0) of models M. Compute the fitness function f(Mi) for each object M i .

Step 2: Apply the selection with the interactive system by selecting the best parents for offspring production.

Step 3: Select pairs of objects and apply recombination and/or mutation and/or expansion. Create new generation of models by mating current models.

for each object Mi.

repeat until you get the best models solution.

Step 4: Compute the fitness function f(M’,)

Step 5: Increase the time counter; set T = T + 1;

2 INTERACTIVE EVOLUTIONARY ALGORITHMS IN ENGINEERING

In interactive evolutionary algorithms, the human user first ranks or selects one or more favorite models in a current pop- ulation. These then constitute the bases for the next set of models through their offspring after the application of the evolutionary operators. The important advantages of this in- teractive evolution (IE) lie in its capacity to optimize or reach a favorite model and in realizing many good models from a few in a very short time.

These techniques apply naturally to the production of com- puter graphics, since this domain provides a rich context for user interaction. Potential applications of interactive evolu- tion include various design problems, e.g.. architectural de-

Page 3: Interactive Evolution: A Prototyping Framework for Engineering

Interactive evolution: a pmtotypingfmmework for engineering 187

sign, urban and environmental development, and industrial design, such as automobile, aircraft, and consumer products.17

2.1 Phenotypes and genotypes

It is necessary to distinguish between genotypes and pheno- types in interactive evolution. Since both these terms are also basic biologic concepts, we may use these as motivation for our own definitions. The biologic genotype is the information that codes for the development of an individual, most often DNA sequences.

In our interactive evolution framework, genotypes are rep- resented as real-valued numerical data, structured trees, func- tions, or curves. The phenotype is the realized behavior of the individual itself, i.e., the product of an interpretation of the underlying genotypic representation. In our case, the pheno- type results in simulated models.

2 3 Fitness and selection

The primary advantage of interactive evolution is the capa- bility of the user to interrupt the evolutionary process. Doing so, the user may direct the evolutionary process by using his or her preferences to select which models will reproduce. This plays an important role in overcoming some potential limitations involving purely stochastic search. We have thus examined when this method is necessary and useful. Follow- ing are some results regarding fitness methods.

Fitness in interactive evolution is the capability of an in- dividual or model to survive into the next generation and therefore is tied to selection. Usually, selection is defined as a relative measure of success following from the selection activity of a human user or automatically by the computer. The following are methods for defining fitness:

the presently existing population of simulated models on the screen.

In the next section I shall provide appropriate operators for manipulation of structured models (with vectors and gram- mars) and bitmap 2D images and voxel3D graphics.

In interactive evolutionary algorithms, the user selects one or more favorite models that survive and reproduce (with variation) to constitute a new generation. In my approach, I evolve two-dimensional and three-dimensional models spec- ified either directly as bitmaps, voxels, or as parameterized geometric models. These latter include those models pro- vided by vector graphics in CAD systems and grammars. Here I introduce evolutionary methods for both classes of models because these play an important role in architecture and civil engineering.

Let us begin by describing the algorithms of a simulated model and specifically that of graphical models. The follow- ing presents my model definition:

M = (0, a), Simulated model

8 = (81, . . . , OC), Salient components of the model, where c E N denotes the number of components, parts, or features (i.e., polygons of graphic models)

8i = (Xl i , . . . , X n i ) Vertices or points of each component 8, with i €11, ..., c}and ni E N Coordinates for 2- and 3-dimensional graphic models with 1 E 11,. . . , ni}

X, E R2 or R3

8 := (81, . . . , 8d), Environment of the model or nonsalient components d c N Vertices or points of the nonsalient components or environment 8

1. Fitness F’l may be based on nonquantifiable measures, such as visual preference, personal taste, or user knowl- edge.

2. Fitness F2 is provided by certain predefined criteria (e.g., the mechanical constraints of the construction)

8i := ( X l i , . . . , Xm,)

and helps to sort candidates for survival from the set of all variants; this is an automatic process.

3. Hybrid systems F3 are combinations of nonquantifiable measures and automatic criteria.

2.3 Variation

In interactive evolution, the true realm of the computer is the automatic generation of variants. Variation is accomplished by defining problem-specific mutation, recombination, and expansion operators that constantly propose new variants to

E as a prototyping framework for engineering. The ele- ments of B and 8 are linked to M by the is-part-of relation of the hierarchy model, (see Fig. 1).

The variation process may be applied to the entire model representing the whole structure M, or it might be applied to its components 8. By using many points in a component, influence can be exerted to any necessary degree on the details of the evolving structure.

Now that I have described various aspects of my model, I next describe how to evolve geometric models with particular emphasis on images for civil engineering design.

Page 4: Interactive Evolution: A Prototyping Framework for Engineering

188 Jeanine Graf

Fig. 1. Example of the form models take in this framework. Here buildings are decomposed according to a logical hierarchy with

their subcomponents specified.

3 EVOLVING GEOMETRIC MODELS

Procedural models of designs can be characterized by certain parameters that must be interpreted in the appropriate con- text. These parameters constitute the genotype of a model. Some work has been done with evolving vectors or grammar structures.

In interactive evolution, variation operates on parameters that are subjected to both normally distributed random muta- tions and to intermediate or discrete recombination and ex- pansion operations. This latter operator, expansion, is one I have developed that acts as apredication algorithm for growth and de~elopment.'~

To understand how variation operates in interactive evo- lution, we need to consider some predefined conditions and criteria. For example, if we want to evolve a design of a house, first we have to consider the salient physical constraints, such as the area of the house, the number of rooms, and possible additions. Once these have been defined, we can allow evolu- tion to proceed to obtain constrained variants or to optimize the design according to certain objectives. To be more exact, a geometric object can be represented by a sequence of edge vectors or grammars that define it.

3.1 Operations

3.1.1 Recombination Recombination involves exchanging genetic material between individuals. In this case, it is an exchange between vectors and forms from one model to another. Figure 2 gives a sketch of what variants might arise from graphic parent objects. We can interpret the two cubes A and B in Fig. 2 as the bound- aries of two rooms. The bottom row of this figure illustrates how the recombination operator can be applied to such simple structures.

3.1.2 Mutation For interactive evolution, we use mutation for the variation operator. For mutation, we use transformation foxms in few parts t9i in a structured model. Transformation forms such as scaling, translation, rotation, and shearing form the funda- mental shape-manipulation operations in 2D and 3D graphics and have a compact descriptions using matrix notation.

3.1.3 Expansion The expansion operator predicts future models on the basis of time-series analyses of evolutionary processes. I demonstrate the application of this operator in the context of interactive evolution to predict or extrapolate new graphic models. Such an operator might therefore also be applicable to research on environmental change, biologic development and growth, and engineering construction projects. Graphic models are predicted on the condition that a large body of historical in- formation is available from their evolution. In time-series analysis, historical data on the variable to be forecast are an- alyzed in an attempt to identify a data pattern. Then, assuming that the pattern will continue into the future, this pattern is extrapolated in order to produce forecasts. Growth process can be described also by adding parts i? to grow.

To my knowledge, the first application of evolutionary al- gorithms to the evolution of bitmap and voxel design images directly was that of Graf and Banzhaf.I7 In the following, the emphasis is on this application.

4 EVOLVING IMAGES FOR ENGINEERING DESIGN

I have used this technique to evolve both two-dimensional design bitmap images and three-dimensional voxel images. To be more exact, any graphic model can be represented by its decomposition into components bi. These, in turn, can be represented by a sequence of points or vertices Xi.

One of my motivations for developing a system to evolve bitmap and voxel images lies in the following reason. Since architects often possess photographs of various buildings but not details of their structural design, I have applied my frame- work to the evolution of bitmaps and voxel images. This al- lows these methods to operate directly on design images to either produce numerous variations or to optimize the archi- tect's best models.

Bitmaps and other forms of direct encoding of images have found a good niche in computer graphics, video composition, and image rendering. One represents any shape as a sequence of points or vertices, with each vertex consisting of an ordered pair of numbers ( x , y ) , or ( x , y , z ) , its coordinates. The array of pixel values of an image, however, has nothing to do with the structure being represented in the image. This constitutes the challenge to finding appropriate operators for the genera- tion of new variants of an existing model, because structural

Page 5: Interactive Evolution: A Prototyping Framework for Engineering

Interactive evolution: a prototyping framework for engineering 189

Fia. 2. The boundaries of two rooms are represented as cubes, 3D structured models, A and B . To the left, variants have been generated by the application of the recombination operator.

Expansion - Fig. 3. Example shows the expansion operator

or functional conservation of the model content is of utmost importance in applications.

4.1 Operations

One solves the problem of realizing evolutionary operations by using interpolation and extrapolation, which includes warp- ing to create variations. Image interpolation is an application of digital image ~ a r p i n g . ~ . ~ ~ It is a method in which two images, A and B , allow for the creation of intermediate im- ages. Basically, these intermediate images are interpolations along an abstract axis from image A to image B . The inter- mediate images are constraints of the interpolation because corresponding images in A have to be transformed into im- age B.

Let us look more closely at the operations usually imple- mented in interactive evolution.

4.1.1 Recombination The process of interactive evolution uses the concept of struc- ture in image warping. It is interesting to note that even with- out any concept of structure in image warping, visually ap- pealing images may be generated. Whereas in conventional computer graphics image interpolation is used for the pur- pose of transforming images in a dynamic animation series, one uses the generated intermediate images as variants of the original images in the process of interactive evolution.

To define the shape of an image, one defines special points, which in interactive evolution are the genotype. The cor- responding point pairs can be selected manually or auto- matically, with the help of pattern-recognition algorithms. For manual selection, an interactive program constitutes se- quential slices such that correspondence points Xi can be selected.

For automatic selection, features in the images have to be determined by an advanced pattern-recognition algorithm. In this case, heuristics from 3D surface reconstruction algo- rithms may be applied. These vertices or points X i are only defined in the f is t generation. During evolution, every new model has its own different points Xi inherited from the pre- vious generation.

The first generation images in a way that facilitates the for- mation of equivalence classes between structures expressed as vertices or points Xi. Some domain knowledge must be used in the process of vertices or points X i selection for the fist generation.

I adopt this novel approach for the simulated evolution of design images. By specifying vertices or points X i , sufficient control can be exerted on structure in the simulated models so as to provide useful variants of the images. These vertices or points are defined in order to specify the shape or structure of the model, i.e., to define the parts or components of a graphic model.

Transformations are important tools in evolving 2D and 3D scenes. The ( x , y ) and ( x , y , z) coordinates might have been processed by transformation functions that left them unchanged, stretched, or compressed. Such functions enable any object to be deformed simply by setting parameters in the warping function.

Recombination is implemented as a more global opera- tion in which two or more models exchange information. I propose to use as many vertices or points X i as necessary to conserve the underlying structure in two or more mod- els. A recombination would then be quantified in the image space between two or more images by a certain parameter indicating the degree of “intermediateness” of a variant.

Page 6: Interactive Evolution: A Prototyping Framework for Engineering

190 Jeanine Craf

One can note that

y ~ N y > l number of models in a population V E N number of selected models or

p E N 1 e p 5 u number ofparents foreach

6 € N number of descendants

offspring

descendant

One can recombine different kinds of simulated models and get different kinds of descendants.

Depending on the type w of the recombination, there are several ways to recombine parents in order to define off- spring:

o = 0 no recombination, if p = 1

o = 1 global intermediary recombinations are created by recombining the entire model M (Fig. 4)

IS = 2 local intermediary recombinations are created by recombining components 19 of several models.

The recombination operator REC : I" + ZB is defined as follows:

REC = r o rec (1)

r : I" -+ Z P

rec : ZP -+ I B

chooses p parent vectors from I" (e.g., with uniform probability) creates 6 offspring by mixing characters from p parents

(2)

If we combine several models, we get a resultant model M', where every point in M' is inherited from its parents.

Recombination process involves distributing vertices or points Xi over two images in such a way as to conserve essen- tial structures in interpolated (intermediate) graphic m0de1s.l~ In this way, an arbitrary initial model can evolve via inter- mediate steps of interpolation into another model without leaving visual irritations. Figure 3 demonstrates a recombi- nation. Different variants between the five original houses are shown.

4.1.2 Mutation Mutation is commonly considered to be a local operation that does not radically change the resulting phenotype. In order to provide this feature in bitmap image evolution, I propose to use a very small number of components 19,. . For the variation process, apoint mutation would select few parts 6i in amodel. The corresponding Zpi in another model, depending on their Jitness values, would then be used as a source for novelty, by providing information regarding which direction to evolve the original model.

Structure is conserved because vertices or points Xi in both images correspond to each other. A parameter would be used to quantify the degree of substitution in the image.

The mutation operator MUT : I" + I is defined as fol- lows:

lMUT=momutbomut, (3)

(4) m : I" + I chooses 1 parent model from I"

(e.g., with uniform probability)

We have two kinds of mutations, which are independent from each other. First, a mutation mutb selects one com- ponent Bi of a model. Then this component 6i is randomly substituted by another part 6i'. For example, if the compo- nent t?i is a window from a house, by applying the mutation muh, we obtain a new window 6i' from a different model that can exist in the same or different generation. Second, a mutation mut, modifies the form of a component f i j from the model. mut, is given as follows:

Local mutation operator: mu& : I -+ I mutX(ex, := (& %) with 0; = ( I 9 I x , . . . ,19~-~,, Oi,', Bi+ll, . . . , Oc,)

Each of the offspring solutions are mutated according to a distribution of mutation types, ranging from minor to ex- treme, with a continuum of mutation types in between. The severity of mutation is judged on the basis of the functional change imposed on the parents. Note that the second model, from which novelty is gained, is not necessarily in the present generation of the evolutionary process. Instead, a first gener- ation of models, equipped with a number of parts 19i , is used for mutation.

Figure 4 demonstrates the mutation process by using 2D designs of houses. A local variation takes place by substi- tuting, for example, windows. Structurally, the content of an image is usually composed of components. In this example, a house is composed of a roof, windows, doors, walls, chimney, etc.

Note that the mutation process is not simply a substitu- tion of components. The components also change form, be- come bigger or smaller, to fill the right place correctly (see Fig. 4). The generalization of the preceding methods into the realm of 3D graphics is straightforward. Vertices or points in 3D voxel graphics influence 3D areas instead of 2D areas in pixel graphics. Apart from that, any other component of the mechanism remains in place, especially interpolation and the generation of local and global variation to an original parent generation of images.

Page 7: Interactive Evolution: A Prototyping Framework for Engineering

Interactive evolution: a prototyping framework for engineering 191

First Generation

Second Generation Third Generation Fourth Generation

Fig. 4. This example shows the evolution of bitmap images of five houses. After the fourth generation, some models are found that are closer to the user’s taste and to his or her target model.

Fig. 5. The original houses.

Page 8: Interactive Evolution: A Prototyping Framework for Engineering

192 Jeanine Graf

Fig. 6. This figure illustrates the mutation operator in interactive evolution of housing. In this case, the houses receive new windows that are substituted for those from the houses in Fig. 5. The mutation process, however, is not simply a substitution of components. The components also change form, become bigger or smaller, to fill the right place correctly. So, as we see, the windows on the left in Fig. 5 are bigger than

after the mutation in the house on the right in this figure.

4.1.3 Expansion I define a new genetic operator, called expansion, that plays a significant role in interactive evolution. It is important to understand the role that expansion plays in interactive evolu- tion. The most straightforward use of the expansion operator is to predict a future model from the time series of a record of its past ev~lution.'~

Thus the expansion operator provides predictive models of the evolutionary process:

EXPA = e o expa ( 5 )

e: I' -+ I chooses from generation t = 0 t o t = T models M i

expa := @f, . ;. ,Mi ' ) +

5 IDEA: A SYSTEM FOR INTERACTIVE EVOLUTION

IDEA (Interactive Design with Evolutionary Algorithms) is a program with evolutionary operators that allows the evolu- tion of designs and runs under the X Window System. IDEA loads and saves simulated model populations, these being structured models and images. It provides facilities to store vertices or points Xi in models, to warp images, and to ap- ply the evolutionary process. Vertices or points are inherited from generation to generation. With a very small popula- tion, between 5 and 20 graphic models per generation can be generated. Over a short time, a human user can select new generations of models. This process may be repeated until an acceptable individual in the population has been generated.

6 SUMMARY

I demonstrate how interactive evolution can be applied to 2D structured graphic models and bitmap images and show

its generalization to 3D representation. The main idea is to combine the concepts from interactive evolutionary algo- ri thms with the concepts of interpolation and extrapolation from computer graphics. Structure within images is substi- tuted by a collection of vertices or points X i . By providing a first generation of models, evolution then proceeds along the paths constrained by the set of these vertices or points X i in all the models. The original generation is kept as a source for mutations, which allows for new models to be created.

In my version of interactive evolution, the user selects his or her favorite individual, which then is reproduced to constitute the next generation. These techniques may be ap- plied to the design of buildings but also to other kinds of product visualizations, e.g., cars, planes, engineering com- ponents, construction ~rojects , '~ and biologic models.I6 My interactive evolution system has the potential for a large num- ber of other application areas: CAD design, interactive plot- ting in business, electronic publishing, biologic growth,l4 computer-aided design, drafting and manufacturing, simula- tion and animation for scientific visualization, entertainment, etc.

My interactive simulations have shown that interesting re- sults can be achieved even with small population sizes and only a few generations. This makes the system useful for quick design and prototyping in a large variety of application areas. One of the main benefits of this technique, then, is the ability to help the user to generate new ideas and thereby increase his or her creativity.

ACKNOWLEDGMENTS

Funding from the German Bundesministerium fuer Forschung und Technologie (BMFT) under project EVOALG is grate- fully acknowledged. Special thanks to Steve Quartz for his suggestions and comments.

Page 9: Interactive Evolution: A Prototyping Framework for Engineering

Interactive evolution: a prototyping framework for engineering 193

REFERENCES

1. Adeli, H. & Cheng, N.-T., Concurrent genetic algorithms for optimization of large structures, ASCE Journal of Aerospace Engineering, 7(3), (1994), 276-96.

2. Back, TH., Evolutionary algorithms in theory and practice, doc- toral dissertation, University of Dortmund, February 1994.

3. Caldwell, C. &Johnson, V., Tracking acriminal suspect through face-space with a genetic algorithm. In Proceedings of ICGA, San Diego, CA, 1991,416-22.

4. Cutler, E., Gilly, D., & O’Reilly, T., The X Window System in a Nutshell: The Definitive Guides to the X Window System, O’Reilly & Associates, Inc., Sebastopol, CA, 1993.

5 . Davis, L., Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York, 199 1 .

6. Dawkins, R., The Blind Watchmaker, Longmans, Harlow, Lon- don, 1986.

7. Fogel, D. B., Evolutionary programming society. In Proceed- ings of the First Annual Conference on Evolutionary Pmgram- ming, eds. D. B.Fogel & W. Atmar, Evolutionary Programming Society, La Jolla, CA, 1992.

8. Fogel, D. B., Fogel, L. J., Atmar, W., & Fogel, G. B., Hierarchic methods of evolutionary programming. In Proceedings of the First Annual Conference on Evolutionary Programming, eds. D. B. Fogel & W. Atmar, La Jolla, CA, Evolutionary Program- ming Society, 1992, pp. 175-82.

9. Fogel, D. B., On the philosophical differences between evolu- tionary algorithms and genetic algorithms. In Proceedings of the Second Annual Conference on Evolutionary Programming, eds. D. B. Fogel & W. Atmar, Evolutionary Programming So- ciety, La Jolla, CA, 1993,23-9.

10. Fogel, L. J., Owens, A. J., & Walsh, M. J.,Art?ifcial Intelligence Through Simulated Evolution, Wiley, New York, 1966.

11. Gaskin, T., DGXWS PEXlib Programming Manual 3 0 Pro- gramming in X , O’Reilly & Associates, Sebastopol, CA, 1992.

12. Goldberg, D. E., Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley, Reading, MA, 1989.

13. Graf, J., Interactive evolutionary algorithms in design. In Inter- national Conference on Amjicial Neural Networks and Genetic Algorirhms, eds. D. W. Pearson, N. C. Steele & R. F. Albrecht, &ole des Mines d’Albs, France, April 1995,227-30.

14. Graf, J. & Banzhaf, W., An expansion operator for interactive evolution. In Proceedings of the 2nd IEEE-International Con- ference on Evolutionary Computing, Perth, Australia, Novem- ber 1995.

15. Graf, J. & Banzhaf, W., Interactive evolution in civil engineer- ing. In Third International Conference on Computational Mod- els of Creative Design, ed. J. Gero, Heron Island, Queensland, Australia, December 3-7, 1995.

16. Graf, J. & Banzhaf, W., Interactive evolution in the framework of simulated natural evolution. In Evolution Artificielle, Tele- com Bretagne, Brest, France, September 1995.

17. Graf, J. & Banzhaf, W., Interactive evolution of images. In Pro- ceedings of the Fourth Annual Conference on Evolutionary Pro- gramming, ed. D. B. Fogel, San Diego, CA, March 1995, The MIT Press, Cambridge, MA, 1996.

18. Hill, A. &Taylor, C. J., Model-based image interpretation using genetic algorithms, Image and Vision Computing, 10 (1992),

19. Hillis, W. D., Co-evolving parasites improve simulated evolu- tion as an optimization procedure, Physica, D42 (199O), 228- 34.

20. Holland, J., Adaption in Natural and Artijcial Systems, Uni- versity of Michigan Press, Ann Arbor, 1975.

21. Koza, J. R., Genetic Programming: On the Programming of Computers by Means of Natural Selection. ha Press, Cam- bridge, MA, 1992.

22. Gero, J. S., Rosenman, M. A., & Maher, M. L., Knowledge- based design research at the key centre of design computing. In Knowledge-Based Computer-Aided Architectural Design, eds. G. Carrara & Y. Kalay, Elsevier, Amsterdam, 1994,329-78.

23. Meygret, A., Levine, D. & Roth, G., Robust primitive extraction in arange image. In Conference on Panem Recognition, Vol. Ill, pp. 193-6.

24. Rechenberg, I., Evolutionsstrategie: Optimierung technis- cher Systeme nach Prinzipien der biologischen Evolution, Frommann-Holzboog, Stuttgart, 1973.

25. Ruprecht, D., Geometrische Deformationen als Werkzeug in der graphischen Datenverarbeitung, doctoral dissertation, Uni- versity of Dortmund, May 1994.

26. Schwefel, H.-P., Numerical Optimization of Computer Models, Wiley, Chichester, 198 1.

27. Sims, K., Artificial evolution for computer graphics, Computer Graphics, 25 (1991), 319-28.

28. Smith, J., Plants, fractals, and formal languages, Computer Graphics, 18(3) (1984), 1-10.

29. Todd, S. P. & Latham, W., Mutator, a Subjective Human Inter- face for Evolution of Computer Sculptures, IBM United King- dom Scientific Center Report, 1991.

30. Watt, A., 3 0 Computer Graphics, 2d Ed., Addison-Wesley, Reading, MA, 1993.

3 1. Woldberg, G., Digital Image Warping, IEEE Computer Society Press, New York, 1990.

32. Young, D. A. & Pew, J. A., The X Window System Programming & Applications with Xt, Prentice-Hall, Englewood Cliffs, NJ, 1992.

295-300.