Defining and Enabling Structural Organization Gregory S. Hornby University of California Santa Cruz NASA Ames Research Center, Mailstop 269-3 Moffett Field, CA hornby@email.arc.nasa.gov ABSTRACT For computer-automated design systems to scale to more sophisticated designs they must be able to produce designs with greater structural organization than previously achieved. By structural organization we mean the characteristics of modularity, regularity and hierarchy (MR&H), characteris- tics that are found both in man-made and natural designs. Here we claim that these characteristics are enabled by im- plementing the attributes of combination, control-flow and abstraction in the representation. To support this claim we define metrics for measuring the three components of struc- tural organization – modularity, regularity and hierarchy – and then use an evolutionary algorithm to evolve solutions to different sizes of a table design problem using five dif- ferent representations, each with different combinations of modularity, regularity and hierarchy are enabled and show that the best designs are achieved when all three of these attributes are present. Finally, we demonstrate the value of our metrics by comparing them against existing complexity measures and show that our metrics better correlate with good designs than do the other metrics. Categories and Subject Descriptors I.2 [Artificial Intelligence]: General General Terms Algorithms, Design Keywords Representation, Computer-Automated Design, Design, Com- plexity, Structural Organization, Evolutionary Algorithms, Evolutionary Design, Open-ended design 1. INTRODUCTION As the computational power of computers continues to grow, software design tools are becoming increasingly more pow- erful tools which enable architects, designers and engineers CSE’07, Jan. 11–12, 2007, Santa Monica, CA, USA. to express their ideas. In addition, the use of artificial in- telligence techniques, such as evolutionary algorithms, has enabled these software packages to assist in the design pro- cess themselves. Already automated design systems based on evolutionary algorithms have been used for the design of antennas, flywheels, load cells, trusses, robots and other structures [2, 3]. While these systems have been success- ful at producing simple, yet interesting artifacts, it remains difficult for them to produce truly novel and sophisticated designs. For automated design to continue to gain wider acceptance and industrial usage, the sophistication of what can be produced must continue to increase. Necessary for improving the ability of computer-automated design (CAD) systems to scale to more sophisticated structures is a better understanding of the types of characteristics we are inter- ested in, metrics for measuring them, and an understanding of which attributes of a computer-automated design system enable these types of characteristics. In engineering and software development sophisticated arti- facts are achieved by exploiting the principles of modularity, regularity, and hierarchy [12, 17, 21], and these character- istics can also be seen in the artifacts of the natural world. Assuming that the principles of modularity, regularity and hierarchy (MR&H) are necessary to achieve scalability then by constructing a CAD system capable of producing designs with these characteristics we can hope to achieve more scal- able computer-automated design. Breaking down a CAD system into its separate modules yields the representation for encoding designs, the search algorithm for exploring the space of designs that can be represented, and the fitness function for scoring the goodness of a particular design. Ide- ally, the ability of a CAD system to create hierarchies of reused modules should be independent of how designs are scored. In addition, the search algorithm for exploring the space of designs can only find designs that can be expressed by the chosen representation. Thus for a CAD system to achieve MR&H it must use a representation capable of en- coding designs with these characteristics. Previously we have argued that the fundamental attributes of design representations are combination, control-flow and abstraction [8, 9, 11]. Here we claim that these attributes enable modularity, regularity and hierarchy and that using representations with these characteristics will result in CAD systems with better performance. In addition, we develop metrics for measuring the modularity, regularity and hierar- chy in an encoded design and argue that these metrics are