Searching for Designs in-between
SSearching for Designs in-between
Camilo Cruz Gambardella Jon McCormack
Abstract
The use of evolutionary methods in design and art is increasing indiversity and popularity. Approaches to using these methods for cre-ative production typically focus either on optimisation or exploration. Inthis paper we introduce an evolutionary system for design that combinesthese two approaches, enabling users to explore landscapes of designalternatives using design-oriented measures of fitness, along with theirown aesthetic preferences. We test our methods using a biologically-inspired generative system capable of producing 3D objects that can beexported directly as 3D printing toolpath instructions. For the searchstage of our system we combine the use of the CMA-ES algorithm foroptimisation and linear interpolation between generated objects for fea-ture exploration. We investigate the system’s capabilities by evolvinghighly fit artefacts and then combining them with aesthetically interest-ing ones.
Keywords–
Generative Design, Evolutionary Design, 3D Printing
Evolutionary Computing (EC) methods have been used to address a wide variety offormal and functional problems in creative practice since the mid 1980s (for an in-troduction Frazer, 1995, see). The most common applications of these techniquesare the optimisation of performance-oriented attributes of artefacts, and the explo-ration of novel design alternatives. For instance, in architecture, evolutionary methods,among other metaheuristics (Wortmann & Nannicini, 2016), are used in conjunctionwith parametric models (Woodbury, 2010) to search for efficient design alternatives,where efficiency is clearly defined through formal fitness measures. In contrast, visualartists and researchers in creative fields commonly use search methods that incor-porate aesthetic selection mechanisms along with stochastic generative systems, toexplore vast landscapes of alternatives looking for ‘interesting’ and novel phenotypes(McCormack, 2005).Typical design problems addressed with these techniques in architecture and engi-neering are the optimisation of structural elements (Goldberg & Samtani, 1986; Jenk-ins, 1991), the design of efficient building layouts (Jo & Gero, 1998; Wong & Chan,2009), sunlight and energy performance of buildings (Caldas, 2001) and acoustic op-timisation of concrete shells (Mendez et al., 2013), to mention a few. All of these a r X i v : . [ c s . N E ] F e b xamples use EC methods to drive mostly deterministic parametric models, whichgenerate alternative phenotypes. In other words, it is via the combination of thesecomputational methods that the designed artefacts they produce acquire their charac-teristics.Creative exploration using EC differs from optimisation-oriented approaches inthat the main objective is not efficiency, but finding novel alternatives. In many casesartists substitute formal fitness functions with their own aesthetic judgement, puttinga “human in the loop” of the evolutionary algorithm (Dawkins, 1986). Seminal ex-amples in this field can be found in the work of William Latham and Karl Sims, whoin the late 1980s began using evolutionary techniques, like selection and mutation, togenerate complex forms and imagery (Sims, 1991; Todd & Latham, 1992), as wellas to evolve Virtual Creatures (Sims, 1994). Another example is the work on aes-thetic fitness and evolution by Dorin (2001), who explores the aesthetic capabilitiesof human-guided computational evolution via the generation of digital images. Morerecently, Dutch artists Erwin Driessens and Maria Verstappen’s Accretor (Whitelaw,2015) used evolutionary techniques to produce 3D shapes by evolving sets of rulesfor a cellular automaton. In this case the artists’ process involves monitoring the stateof the evolving objects, in search of abrupt changes along their evolutionary trajec-tory. Then, the process is interrupted and the objects are fine-tuned manually. Anotherexample is the work of artist Andy Lomas (2013), who combines the use of a cellu-lar division-inspired generative system with interactive genetic algorithms to generateaesthetically complex digital 3D objects, which he then categorises and evaluates aes-thetically based on his own preference. Lomas’ latest work builds on his generate andevolve process, focusing on the exploration of the areas of the fitness landscape of hissystem located in-between categories by interpolating between objects, and lookingfor sudden/unexpected changes as the objects transition between states.In this paper we introduce a prototype EC system for the creation of physicalartefacts that combines evolutionary strategies (ES) with a novel, bio-inspired, agent-based generative system. By coupling a stochastic generative method capable ofproducing a wide range of diverse alternatives with a flexible ES driven by fitnessfunctions that respond to holistic design objectives, our system integrates elementsof creative exploration with design optimisation, enabling users to purposefully andholistically explore complex design spaces. Figure 1:
Examples of 3D printed forms grown using our generative system. Generative System
The guiding principle behind the implementation of our generative system was thegeneration of interesting 3D forms that could be directly translated into digital fab-rication instructions. For this purpose we defined a model that generates 2D shapesand transforms them over time. By capturing the state of these shapes at discrete timeintervals as they develop, we obtain geometric information analogue to the represen-tation used by slicing software to prepare 3D models for fused deposition modelling3D printing (FDM): a series of stacked contours (Figure 1).To drive the dynamics of the 2D shapes and produce complex geometry we bor-rowed concepts from natural differential growth processes (Barlow et al., 1989), asseen in the work of Anders Hoff (2015). We use the metaphor of “organisms”: se-quences of artificial cells connected to their neighbours to form closed loops. Cellularprocesses – a rich source of complexity and diversity (Ball, 1999) – serve as inspira-tion for our system, directing the behaviours of our synthetic organisms. However, itis important to emphasise that the focus of our model is form-generation for creativepurposes, and not the accurate reproduction of physical or biological phenomena.
Our generative system operates on the metaphor of colonies of organisms , that developover time in discrete timesteps. Each organism in a colony is defined as an arrayof cells ( C , C . . . C n ) connected by edges ( e , e . . . e n ) , where e i = ( C i , C i + ) and e n = ( C n , C ) , forming closed loops.Colonies develop in a synthetic environment – a simulated viscous medium of uni-form density. Sources of nutrients are randomly distributed across the environment.Each source has a limited amount of nutrition units, which are released, one at thetime, every timestep, and diffused over their neighbouring area. Once nutrients havebeen released they progressively loose nutritional value over time. Once the source ofnutrients is fully depleted, it disappears, giving rise to a new source randomly posi-tioned within the development environment.The dynamics of a colony are determined by how its components interact witheach other and with the environment. The behaviours of cells and edges - acquiringnutrients, attracting/repelling neighbouring cells (2a), and reproducing (Figure 2b)– determine the shape of organisms as they develop. As a consequence organismsexpand, contract, move, change shape and split into multiple organisms, forming alarger colony (Figure 3). The characteristics of these behaviours are defined by thegenetic composition of the colony, detailed in Section 2.2. The genetic information ( genome ) of a colony consists of the following five alleles:•
Metabolic rate ( η ), determines how efficient the cells in a colony are at trans-forming nutrients into energy. A more efficient metabolism comes at the costof a higher energy consumption.• Cell drag coefficient ( ν ) represents the surface drag per unit area of cells. Cellswith low drag move quickly, making stable configurations more unlikely. igure 2: Behaviours of cells ( C ) and edges ( e ). a) Forces acting on C F C e F C e F is the sum of repulsion forces exerted by all the other cells in the system withinrepulsion radius ( rr ) distance to C
2. b) Cellular division: (i) C ε max (seeSec. 2.2). (ii) C C C
3. (iii) C C Energy Capacity ( ε max ) represents the maximum amount of energy a cell canstore. As capacity increases, so does the mass of the cells, along with theamount of energy required for movement and metabolism.• Edge spring coefficient ( k ) determines the stiffness of the edges connectingadjacent cells. High k results in rigid organisms. On the contrary, low k resultsin organisms that move with fluidity, which leads to stretched edges making thetransmission of energy between cells less efficient.• Energy ratio ( ρ ) determines the relative size of new organisms after one ofthem splits into two. To purposefully explore the diverse landscape of design alternatives that our genera-tive system is capable of producing, we developed a set of quantitative representationsof design objectives, which are used as fitness functions to drive two evolution-basedstrategies.
We developed three proof of concept fitness functions, each of which attempts to ad-dress a different type of design objective: technical, spatial and aesthetic. . C max C split C max C split F attr F attr C max r C split b. c. d. Figure 3:
Stages of organism splitting. a) The cell with highest amount of energy C max and C split are defined. b) Attraction forces between C max and C split are applied. c)Distance between C max and C split reaches splitting threshold (2 r r ) d) Organism splits,producing two separate and independent organisms. We base our printability measure on the principles of FDM. The goal is to generateobjects that can be printed using a single strand of plastic filament with no additionalsupports, thus minimising the use of material and eliminating the removal of support-ing structures. For this to be feasible two conditions must be met: (i) the smallestdiameter of the convex hull of all organisms cannot be smaller than 5 mm (determinedempirically for our specific 3D printer) and (ii) each layer of material has to be sup-ported by the layer below it.At every timestep during the generation process, the system calculates the min-imum diameter of the convex hull of all organisms in a colony, as well as the ratio P = P s / P t where P s is the perimeter of an organism that is in contact with the layer offilament immediately below, and P t is the total perimeter of the organism. This metric determines the area of the largest canopy that can be supported by a given3D object as a ratio of the area of the environment. We use a 2D iso-surface approach,as it provides a reasonable approximation. The size of the canopy is calculated bysubdividing the environment into equal area square tiles, which are then assigned asupport score m = ∑ ni = r i d i , where n is the total number of organisms in the top layerof a 3D shape, d i is the distance between the centroid of the tile t c and the centroidof the i th organism and r i is the distance between the centroid of the i th organismand the point where the line connecting it to t c intersects the organism’s perimeter.If m ≥ .
85 for a tile, it is considered supported. It is important to emphasise thatthis is an approximation, and that further structural analysis would be required for thedevelopment an accurate metric to calculate the load-bearing capabilities of generatedobjects.Relative coverage is then calculated as R c = R − A where A where A is the ratioof the area of the environment covered by the organisms in the first layer, and R is theratio of supported tiles ( m ≥ .
85) over the total number of tiles. .1.3 Formal Complexity This metric attempts to determine if a generated object has physical features that weconsidered desirable: surface diversity (smooth/rugged), and “branching”.To measure surface diversity we consider the convexity of every organism in acolony at every timestep, as well as the quartile coefficient of dispersion of the anglesbetween consecutive edges.Convexity is calculated as c = p h / p , where p h is the perimeter of the convex hullof an organism and p is its total perimeter. A highly convex object, such as a circle,should be smooth.Quartile coefficient is calculated as Q = ( q − q ) / ( q + q ) where q and q are the first and third quartiles of the array of all angles between consecutive edges ( e n , e n + ) sorted by size.“Branching” measures the number of times organism splits occur as a colony de-velops (see Figure 3 for reference). We then calculate a splitting score S = d ( / ( + n s )) where d is a constant and n s is the total number of splits.The overall complexity of a generated object is calculated as the equal-weightedsum of the three metrics described above: C = ( c + Q + S ) / The general aim of this research was to develop a system that enables designers toexplore diverse landscapes of designs using a combination of domain knowledge andintuition, in search of functional alternatives with novel/unexpected features.We approximate the desired characteristics with our fitness functions (see Section3.1). However, due to the uncertain nature of some design goals – especially thoserelated to perceptual attributes, like aesthetic complexity – we regard optimisationprocesses as instrumental for exploration, rather than tools for the efficiently searchingfor the best alternative. This is why we used a hybrid, two-stage exploration strategythat combines a powerful optimisation algorithm with a method that introduces someintuitive aspects of creative exploration.
Firstly we leverage the optimisation capabilities of the Covariance Matrix Adapta-tion Evolution Strategy (CMA-ES) (Hansen & Ostermeier, 2001), a state of the artpopulation-based optimisation algorithm that works by randomly sampling alterna-tives in the area of the fitness landscape close to other successful alternatives, us-ing a distribution that is updated every generation based on the previous generation’smost successful individuals. Despite the fact that the efficiency of evolutionary algo-rithms for design optimisation has been contested (Wortmann et al., 2017), we selectedCMA-ES for two specific reasons: (i) its adaptive capabilities make it suitable for theexploration of multimodal fitness landscapes, a characteristic that our generative sys-tem displayed during preliminary testing, and (ii) it works well with low-dimensionalfloating point vectors as genomes, as it does not rely on crossover to generate newgenotypes.An argument could be made against the suitability of CMA-ES to address a multi-objective problem. We believe that, given the imprecise nature of some of the design bjectives being pursued, it is beneficial to address them individually, and then allowthe user to fill-in the shortcomings of the formal implementation of said objectives viaa procedure that enables intuitive selection. For the second stage of our method we produce a series of new genotypes by inter-polating between the genotypes of two user-selected CMA-ES evolved objects. Todo this we calculate the Euclidean distance between them, and then divide it by thenumber of desired “in-between” objects. These genotypes generate new objects thatcan be examined by the user, both visually and by evaluating their properties usingthe measures described in Section 3.1. This allows the user to optimise to taste, whilepreserving measurable fitness, fine-tuning the details that formal fitness measures areunable to capture sufficiently.We believe that this method, coupled with the more traditional use of CMA-ES,has the potential to expand the creative capabilities of designers, as it enables the userof the system to introduce their own aesthetic preference as part of a process that isalso capable of maintaining performance standards.
The first stage of our experiments involved the progressive transformation of thegenome vector ( η , ν , ε max , k , ρ ) using CMA-ES. We did 5 evolutionary runs of 150generations each, using a population of λ =
40 individuals at each generation. Fromeach population, a set of 2 parents was selected to define the distribution for the sam-pling of the new population. For the generation of individual objects we set the en-vironment size to ( × ) units. Each object was initialised as a colony of 4organisms, located on the midpoints of the diagonal lines connecting the centre of theenvironment and its vertices. Colonies were developed for 200 timesteps (with 100timesteps of warmup), resulting in objects 200 layers high. For each evolutionary runthe environment was initialised with a different random seed, in order to obtain varia-tion in form via the random distribution of nutrient sources. For the second stage of theexperiments two individuals generated on identical environments were selected basedon their aesthetic characteristics and fitness. These individuals were used to run a lin-ear interpolation between genome vectors, generating 99 in-between new individualswhich were then evaluated for fitness, as well as by visual inspection. The first stage of experiments tested the ability of the CMA-ES algorithm to finddesigns with specific characteristics. Figure 4 shows the results when optimising foroverall fitness (averaging printability, complexity and relative coverage) (a), and whenoptimising for relative coverage (b). Even though both graphs show similar results,it is possible to make interesting observations. For instance, in (a) printability (blue)quickly reaches its optimum value and exhibits little variance, whereas complexity light grey) and relative coverage (dark grey) exhibit a fairly dramatic relative increaseand follow remarkably similar trajectories, but do not reach high values. This suggeststhat once the system finds a highly printable alternative, it becomes difficult for it tofind objects that perform well in other metrics. However, an assessment of graph (b)indicates that the system struggles to reach high scores for relative coverage in general. Figure 4:
Plots of evolutionary runs showing mean scores for the best individual atevery generation averaged over 5 runs. Shaded areas illustrate the variance. In a) weoptimise for full fitness, and in b) we optimise for relative coverage.To further understand the characteristics of the objects that the system can gener-ate, we digitally render the highest performing individual for each generation. We thenmanually select the ones that exhibit interesting characteristics or are highly fit. Figure5 shows an example obtained from one of the runs in which we optimised for relativecoverage. The pavilion-like shape of the object exhibits a set of complex structurescapable of supporting a canopy that covers about 60% of the environment. However,a printability P < . Figure 5:
Object obtained by optimising coverage. a) Contour 3D rendering (withprojected canopy), b) Contour 3D rendering (no canopy) and c) 3D printed version.The object shown in Figure 6, in contrast, exhibits simple geometry, low relativecoverage and high printability, allowing for a successful 3D print (to which we addeda laser-cut canopy for reference). The lack of formal complexity is not necessarilynegative, as from an aesthetic point of view the object appears structurally robust andits components are easily discernible. This is why we selected it as the second endpoint for the interpolation procedure. igure 6: Object obtained by optimising for full fitness. a) Contour 3D rendering(with projected canopy), b) Contour 3D rendering (no canopy) and c) 3D printed ver-sion.Figure 7 shows the outcomes of the exploration stage. In the graph (a) it is possi-ble to observe unexpected behaviours of the fitness values for complexity and relativecoverage as we interpolate between objects. The overall trend shows complexity in-creasing as coverage decreases. However the random value spikes and drops betweensteps 40 and 50 suggest that the fitness landscape is not smooth, making it harder forthe optimisation algorithm to find the overall best solutions. Nevertheless, this canbe fertile ground for creative opportunities, as the user of our system may encounterunexpected attributes in objects found in those areas of the landscape. For instance,the object depicted in (b) and (c) – iteration 78 – exhibits similar characteristics to theobject in Figure 5, yet, on closer inspection, it is also possible to see that its contoursare smoother, which indicates that some features of the object in Figure 6 have beencaptured to produce an object in-between . Figure 7:
Interpolation results. a) Relative coverage (blue) and complexity (orange)scores through interpolation. b) Selected 3D object (with projected canopy). c) Se-lected 3D object.
This paper introduced a novel generate/explore digital design system inspired by nat-ural and digital-fabrication processes. The method enables users to produce and pur-posefully search through a vast landscape of design alternatives. Our goal was to ex- mine the capability of our novel stochastic agent-based generative system to producea diverse landscape of design alternatives, as well as how the integration of automatedand “manual” selection mechanisms can widen the range of creative opportunities fordesigners.Via the implementation of a two-stage approach that considers optimisation andguided exploration through interpolation – searching in-between designs – we tookinitial steps toward the development of a system that enables users to uncover areas ofthe design landscape that hold unexpected design solutions. Our results indicate thatthese systems have the potential to expand the creative capabilities of the designerswho use them.The strength of our system lies on its capability to combine the optimisation powerof the CMA-ES algorithm with human creative judgment. This opens up areas of thedesign landscape that are extremely difficult to discover by either approach if usedseparately. We foresee many opportunities to continue this work, beyond the fur-ther development of the system’s components. This includes the exploration of newmethods for generation and optimisation, and the implementation of a user interface.Another avenue for investigation is the development of fitness functions informed byhuman perception, to evaluate hard-to-measure features, like “spatial continuity” or“openness”. This could be achieved by, e.g., generating a large database of categorisedobjects to train a classifier model for the recognition of features in newly generatedobjects. References
Ball, P. (1999).
The self-made tapestry: Pattern formation in nature . OxfordUniversity Press.Barlow, P., Brain, P., & Adam, J. (1989). Differential growth and plant tropisms:A study assisted by computer simulation.
Differential growth in plants (pp. 71–83). Elsevier.Caldas, M. L. d. O. G. (2001).
An evolution-based generative design system:Using adaptation to shape architectural form (Doctoral dissertation).Massachusetts Institute of Technology.Dawkins, R. (1986).
The blind watchmaker . Longman Scientific & Technical.Dorin, A. (2001). Aesthetic fitness and artificial evolution for the selection ofimagery from the mythical infinite library.
European Conference onArtificial Life , 659–668.Frazer, J. (1995).
An evolutionary architecture . Architectural Association.Goldberg, D. E., & Samtani, M. P. (1986). Engineering optimization via ge-netic algorithm.
Electronic computation , 471–482.Hansen, N., & Ostermeier, A. (2001). Completely derandomized self-adaptationin evolution strategies.
Evolutionary computation , (2), 159–195.Hoff, A. (2015). Differential line . https://inconvergent.net/generative/differential-line/ 10enkins, W. (1991). Towards structural optimization via the genetic algorithm.
Computers & Structures , (5), 1321–1327.Jo, J. H., & Gero, J. S. (1998). Space layout planning using an evolutionaryapproach. Artificial intelligence in Engineering , (3), 149–162.Lomas, A. (2013). Cellular forms
Work-shops on Applications of Evolutionary Computation , 428–436.Mendez, T., Pugnale, A., & Sassone, M. (2013). Multi-objective optimizationof concrete shells. .Sims, K. (1991). Artificial evolution for computer graphics.
Proceedings of the18th annual conference on Computer graphics and interactive tech-niques , 319–328.Sims, K. (1994). Evolving virtual creatures.
Proceedings of the 21st annualconference on Computer graphics and interactive techniques , 15–22.Todd, S., & Latham, W. (1992).
Evolutionary art and computers . AcademicPress.Whitelaw, M. (2015). Accretor: Generative materiality in the work of Driessensand Verstappen.
Artificial life , (3), 307–312.Wong, S. S., & Chan, K. C. (2009). Evoarch: An evolutionary algorithm forarchitectural layout design. Computer-Aided Design , (9), 649–667.Woodbury, R. (2010). Elements of parametric design . Taylor & Francis Group.Wortmann, T., & Nannicini, G. (2016). Black-box optimization for architec-tural design: An overview and quantitative comparison of metaheuris-tic, direct search, and model-based optimization methods.
Proceedingsof the 21th CAADRIA conference , 177–186.Wortmann, T., Waibel, C., Nannicini, G., Evins, R., Schroepfer, T., & Carmeliet,J. (2017). Are genetic algorithms really the best choice for building en-ergy optimization?