Generative Representations for Design Automation

Gregory S. Hornby
hornby@email.arc.nasa.gov


Introduction

Computer automated design systems have been used to design a variety of different types of artifacts such as antennas, flywheels, load cells, trusses, and robots. While they have been successful at producing simple, albeit novel artifacts, a concern with these systems is how well their search ability will scale to the larger design spaces associated with more complex artifacts.

Here we claim that for automatic design systems to scale in complexity the designs they produce must have a hierarchical reuse of building blocks. Our approach is based on the use of a generative representation as the method to encode individuals in the population.

In the following two sections we first define generative representations and then present some results with GENRE, an evolutionary design system which uses generative representations to encode designs.



Types of Design Representations

While the optimization algorithm can affect the degree of reuse in a design, the ability to create structures which reuse building blocks is limited by the ability of the representation to encode them. The different types of representations for computer-automated design systems can be classified by how they encode designs. First, designs can be split into parameterizations or open-ended representations:

Since one of the goals of automated design systems is to achieve truly novel artifacts, we focus on open-ended representations because it is difficult for a parameterization to achieve a type of design that was not conceived of by its creators.

A fundamental distinction between open-ended representations is whether they are non-generative or generative:


GENRE

GENRE is a computer automated design system that uses generative representations to evolve designs. It consists of the design constructor and simulator, the compiler for the generative representation and the evolutionary algorithm. Each design is constructed by compiling the generative representation of a design into an assembly procedure for creating the design's blueprint. Once a design has been constructed it is evaluated in simulation. Using the results from simulation, the evolutionary algorithm acts on the generative representations to evolve good designs.

A graphical example of the explicit, generative representation used by GENRE is shown below, along with the assembly procedure it compiles to:
Generative representation. Assembly procedure. Constructed object.

In these images the cubes are a reference to a compound object, gray spheres are conditionals and multi-colored spheres are construction commands. Once compiled into an assembly procedure, this sequence of commands is used by the design constructor to build the actual object. The reason an explicit, generative representation is used is that GENRE can be applied to different types of designs (eg solid objects, robots, neural networks, computer programs, ...) by changing only the set of construction commands and the design constructor.


Evolved Objects

GENRE has been used to evolve solid objects, robots, neural networks, and computer programs. In the following two sections we present results from two of these design classes.

Genobots

Here we evolve both the morphology and the controllers for different robots, which we call genobots. The genobot builder takes a compiled assembly procedure from which it constructs a robot and its controller. Once built, the robot's movement is simulated for a fixed amount of time and evaluated for how far it travelled. This distance is the basis of the fitness function for the evolutionary algorithm.

gbot_kayak.avi (8.8M)


gbot_quatro1.mov (600k)


gbot_quatro1.mov (600k)



Here are animations of several: oscillator-controlled genobots (genobots3d.mpg (1.7M)); and several neural network controlled genobots (geno_net.mpg (5.8M)).

Tables

In this design domain the objective is to evolve tables of three-dimensional cubes. The fitness function rewarded structures for maximizing: height; surface area; stability/volume; and minimizing the number of cubes. Evolved tables use anywhere from several hundred to several thousand cubes.







The following two tables were "printed" with commercial rapid prototyping technology out of thermoplastic:

Table 1

Table 1 - built

Table 2

Table 2 - built

Selected Publications on Generative Representations

  • Hornby, G. S. Measuring, Enabling and Comparing Modularity, Regularity and Hierarchy in Evolutionary Design. Genetic and Evolutionary Computation Conference. Springer-Verlag, 2005.

  • Hornby, Gregory S., Functional Scalability through Generative Representations: the Evolution of Table Designs. Environment and Planning B: Planning and Design, 31(4), 569 - 587, July 2004.

  • Hornby, Gregory S., Lipson, Hod, and Pollack, Jordan B. Generative Representations for the Automated Design of Modular Physical Robots. IEEE Transactions on Robotics and Automation, 19:4, pp 703-719. 2003.

  • Hornby, Gregory S. Generative Representations for Evolving Families of Designs.
    Genetic and Evolutionary Computation Conference, pp 1678-1689, Springer, 2003. (nominated for: Best Paper, GP Track).

  • Hornby, Gregory S. Generative Representations for Evolutionary Design Automation.
    Brandeis University Dept. of Computer Science, Ph.D. Dissertation. 2003.

  • Hornby, Gregory S. and Pollack, Jordan B. Creating High-level Components with a Generative Representation for Body-Brain Evolution. Artificial Life, 2002, 8:3.

  • Hornby, Gregory S. and Pollack, Jordan B. The Advantages of Generative Grammatical Encodings for Physical Design. Congress on Evolutionary Computation (CEC) 2001.


    Homepage All Publications Last modified: Oct 1, 2005