Biomorpher - Interactive Evolution For Parametric Design - GH
Biomorpher - Interactive Evolution For Parametric Design - GH
net/publication/325758851
CITATIONS READS
11 3,354
2 authors, including:
John Harding
University of Reading
18 PUBLICATIONS 135 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by John Harding on 19 June 2018.
1. Introduction
In the forward to John Frazer seminal book, An Evolutionary Architecture [1], the
cyberneticist Gordon Pask states that “the role of the architect here is not so much to
design a building or a city as to catalyse them; to act that they may evolve.” Now over
twenty years on, one could argue that the impact of evolutionary approaches within
architecture has been relatively minimal despite their potential. Handing the process of
design, even a part of it, over to the machine seems to run counter to the control a
designer usually craves, with many impressive academic developments rarely making it
into real projects.
One may therefore ask why, especially in the context of technological progression
within this time? It could be argued that the reasons are twofold. Firstly, the ‘problem’ of
architectural design can rarely be stated with explicit objective functions, and therefore
open to be ‘optimised’ in the traditional sense. As Menges [2] puts it, evaluation criteria
and design objectives often co-evolve with the development of a project, with Rowe [3]
defining architecture as a prime example of a ‘wicked’ problem too complex to be
formally defined against metrics alone. Secondly, metaheuristic algorithms (such as
evolutionary solvers) that enable wide design exploration have until recent years,
required the specialist to master both the technical skill of computer programming and
the complexity of architectural design.
As the popularity of visual programming continues to rise, the latter of these two
issues is becoming increasingly eroded, opening computational design to the non-
specialist with intuitive human user interfaces [4]. However, the nature of evolutionary
methods integrated within parametric design software are yet to fully address the first -
namely that architecture, as a study of place, should not be reduced to minimising or
maximising objective functions within a black box. Instead, the process of evolution in
architectural design should be adaptable, mediated and guided. As Derix asks with
regards an evolutionary architecture [5], “how can a designer better interfere with
computational heuristics and understand the search struggle, offering the opportunity for
identification between designers’ analogue and computational heuristics?”
2. Background
Parametric modelling software for visually constructing algorithms is now becoming
commonplace, opening up computational methods to a much broader audience. A form of
dataflow programming, visual programs define the development of form through a series
of associated explicit functions, commonly taking the form of a Directed Acyclic Graph
(DAG). The structure of the DAG describes a mapping of number to geometry, setting
out a possible design space to be explored when parameters are adjusted [6].
Broadly speaking, there are two forms of IEC: the first where the user changes the
weightings between known objectives as part of a multi-objective search, the second
where the user has input to the selection of the designs to go through at each generation
[16]. The former requires multiple objective functions be constructed with selection
taking place from a Pareto optimal non-dominated set [17-19], whereas the latter requires
no such objectives and is the main focus of this research.
Historically, Dawkins [20] was the first to implement this latter approach, using
computation and a selection interface to evolve so-called ‘Biomorphs’. Using a direct
encoding from a bit string, various patterns resembling common creatures or new ones
could be explored without a target being defined. This work has inspired many artists
interested in computation since, such as the work of Latham and Todd [21] and more
recent applications such as exploring fashion designs [22], the evolution of 2D images
[23] and 3D forms by combining with Compositional Pattern Producing Networks, so-
called CPPN-NEAT [24, 25]. A thorough historical record is given by Steadman [26].
Despite these applications, until recently the development of a generic tool for a
parametric environment has not been specifically developed for wider general use. To the
authors’ knowledge, a sole example exists that enables interactive evolution within
Grasshopper, developed by the Digital Structures Group at MIT [32]. Known as
‘Stormcloud’, this tool has been recently made available to the community at a similar
time to the work discussed here, however it is geared mainly to the evolution of structures
in its phenotype display, and does not include mixed-mode evolutionary search using a
cluster-oriented approach.
3. Biomorpher
The lack of a suitably available tool led to the authors to develop a new freely available
plug-in for Rhino Grasshopper known as Biomorpher, inspired by the pioneering work of
Dawkins. The choice of development within Grasshopper was partly due to its current
popularity as an environment for integrating both modelling and analysis. In addition,
models that have been evolved can easily be manually adjusted either during the search
process or during a post-production phase, something often lacking in stand-alone
applications. Such adjustments need not be limited to parameters only, with topological
adjustments to the graph available to the designer following design evolution.
At present, all parameters, even integers, are encoded into normalised real number
(double precision) format between 0.0 and 1.0, thus forming a genotype for each design.
Once Biomorpher is launched, the user may select a population size, single point
crossover and random mutation rate. Selecting these parameters depends on the problem
in hand, which can vary dramatically depending on the nature of the parametric model
itself, the (unknown) search space and the sensitivity of the mapping between genotype
and phenotype. By default however, population is set to 100, mutation rate 0.01 and
crossover set to zero, noting that with some genotype-phenotype mappings crossover can
be often be disruptive (see Section 4.6.2). An overview of the process underpinning
Biomorpher is given in figure 3.
Figure 3: Overview of process, with human interaction stages highlighted.
With a tool that can in theory be applied to many different parametric models, the
mapping directness is hard to predict, however in general as DAGs follow an explicit
form (or embryogeny) and therefore their suitability for evolutionary search is highly
likely [33]. As Coates et al. state [29, p339], “the development and improvement of the
artificial embryogeny is crucial”, with most parametric models assumed to have at least
some direct relationship between altering a parameter and altering form, a so-called
‘developmental’ genotype-phenotype mapping. In simple examples using Biomorpher,
model parameters are encoded to real numbers, however it is possible to encode entire
parametric definitions themselves and hence evolve them. This is discussed further in
Section 4.6.
Figure 6. Search tree example. Each new search is formed from a previous population.
4. Application
A series of experiments were conducted to test the effectiveness of the tool in a variety of
situations from individual trials, workshops and real projects. The examples given in this
section involved defined parametric models (i.e. parameter based search space). Rather
than focusing on one particular use, the aim of these tests were to establish the benefits of
locating an IGA within a parametric design environment which could in theory lead to
many different types of application. Examples set out in sections 4.1 and 4.2 are work
solely by the authors, examples 4.3 and 4.4 the result of workshops, and examples 4.5
and 4.6 are real-world projects. The final example investigates the evolution of
parametric definitions themselves using a ‘Meta-Parametric’ encoding, more suited to the
earlier design stage.
An initial population of 100 random designs, with a decreasing mutation rate from
0.20 to 0.01 (shown to be effective for COGAs [38]) was trialed, with the results of one
example run shown in Figure 7. After three generations during the first evolutionary
branch (0), it was decided to return to the original population upon which two suitable
candidates (clusters) appeared that subjectively felt like a balanced composition of
elements, with the mutation rate reduced and arriving at a final design at generation 1.4.
Again, by basing the IGA within Grasshopper, parameters could then be manually
adjusted in the model following evolution, as shown in Figure 8. From constructing the
model, exploring through evolution, and post-production, the study took little more than
ten minutes to complete.
Figure 7. Evolution of Junya Ishigami inspired compositions with final design
highlighted.
Figure 8. Refining the evolutionary result manually using the parametric model.
Feedback from the workshop indicated that participants struggled with the
intractability between generations. For example, if manually selecting a cluster centroid,
it was not guaranteed to be in the next generation due to the nature of fitness
proportionate selection. Incorporating elitism in the selection process could counter this
in future. In addition, it was found that starting with an initial random population caused
problems with intractability, leading to the authors to add a facility to copy the current
parameter state to the first generation following this workshop. In addition, the
Biomorpher component was modified to output the historic data of parameter states (in
addition to the display) within Grasshopper, thus allowing any past parameter states to be
recalled and calculated from historic data.
Figure 10. Screenshot taken from the ‘CoOptimise’ workshop, eCAADe conference,
Rome, 2017.
It was found that the interactive method helped explore a wide design space by
automating multiple parameters associated with the VMCs during evolution, rather than
participants individually adjusting single parameter states. Detailed information on the
workshop is given by Heinrich et al. [41].
Rather than act as an explicit constraint, the ‘pollen grain’ count was imported as
a performance measure, guiding the design search by minimising for one or two
generations should the sculptures become too large. Here, the mixed-mode selection
method proved useful, as indicated in generations 0.5 and 0.6 of the example (Figure 11).
This passage of performance-based evolution acted as negative feedback for the search,
with the average ‘pollen-grain count’ of the population brought back to a sensible level
without requiring a restart, with desirable individual members of the population still
being retained. It was found that whilst running the computational model gave rise to a
varied design search, however assessing phenotypes ideally required physical models be
constructed. In future, ease of exporting for 3d printing could be incorporated, although
in reality the practical time for manufacture would have to be considered.
Figure 11. Evolving hanging pollen-grain sculptures by the artist Lee Simmons.
4.6. Meta-Parametric example
So far the examples given have involved adjusting parameters in a static parametric
definition. Although in theory an infinite amount of designs can often be generated by a
parametric system, they are bounded by the topological structure of the graph. As Aish
and Woodbury [6] state: “nothing can be created in a parametric system for which a
designer has not explicitly externalised... this runs counter to the often-deliberate
cultivation of ambiguity that appears to be part of the healthy design process.”
4.6.1. Encoding
Harding and Shepherd [44] describe a method of encoding a parametric model within a
single numeric list, opening the topology of a parametric model itself for evolution.
Encoding the model is similar to that used in Cartesian Genetic Programming (CGP)
[45], which has been shown to be suitable for evolutionary methods due to its
developmental mapping from genotype to phenotype. Such ‘Meta-Parametric’ methods
have recently been investigated Joyce and Ibrahim [46] for the combinatorial search of
parametric models.
The genome consists of three parts: External parameters (for example numeric
sliders, external geometry, etc.), the pool of components in the graph (nodes) and the
topological structure that forms associations between components (edges). These three
categories form the basis of the genotype used by a separate Grasshopper plug-in called
‘Embryo’ when constructing a parametric model:
1. Metric genes (double): control the parameter values for generated sliders and have
a direct numerical mapping. These can be either integer or floating point values.
These metric parameters are the first things generated by Embryo.
2. Function genes (integer): when a component is added to the graph, the function
genes controls the type of component is selected from the pool.
3. Topological genes (integer): map the output location for each component input
when forming the graph. Altering these genes changes the topology of the graph.
4.6.2. Application
It was decided to return to an earlier study by the first author [42] and compare the search
process now using Biomorpher to establish whether the limitations identified had been
overcome - namely now using an interface that displayed populations associatively. In
the earlier study, a series of bespoke grammar rules were created, specific to a residential
project in collaboration with 3D Reid Architects, London. As with genetic programming,
the grammar rules were both parametric and combinatorial, hence offering a wider design
space than that enabled by parameters alone. Importantly, the rules could be formed
bespoke to the project during an early design team meeting, which were then
encapsulated in bespoke Grasshopper components (Figure 13).
Figure 13. Two residential blocks (a, b) and circulation link bridge (c).
The resulting massing studies and parametric definitions were once again simple
to manipulate manually following evolution, as the complexity of the graphs was kept
relatively simple – indeed graph complexity became part of the evaluation itself.
Increasing the component number decreases legibility to the user. With this in mind, a
shape grammar that included iteration or recursion, without requiring a component be
used multiple times in the same graph would help to increase legibility and reduce the
genotype size. As opposed to the earlier study without Biomorpher [42], associative
evaluation of phenotypes was possible without iterating through each possibility thus
enabling a more fluid experience during evolution.
One of the issues identified during the study was that the cluster centroids did not
fully represent the nature of the population as a whole. For example, if in a total
population of 100 designs, 70 of these were very similar they were then only represented
by a single design in the phenotype display. As noted by Bonham and Parmee [38, p269],
the sampling nature “can lead to promoting over-zealous exploration of areas that do not
lie within any of the defined high performance regions”. This lead to the most useful
setup being a population of just twelve designs (one per cluster) being used in favour of
enabling any performance based optimisation benefitting from a large population.
Potential methods to counter this issue are discussed in Section 5.1.
4.7. Discussion
The examples given are aimed to highlight the versatility of the tool for parametric
design, rather than focus on one particular application. The ability to display multiple
models in parallel enhances the Grasshopper user environment and necessary for
assessing phenotypes. Some limitations during these tests were highlighted and
addressed, such as establishing a predefined initial population. Others require further
research: for example, it was found that despite selecting a design, it may get replaced in
the next generation due to fitness proportionate selection. Here, incorporating elitism
perhaps only for those designs explicitly selected (i.e. cluster centroids) would seem to be
a possible step forward and will be discussed further in Section 5.1.
5. Conclusion
The purpose of this paper is to highlight the benefits of using interactive evolution
(including optional performance optimisation) within a parametric design environment.
The authors have developed the software Biomorpher, a plug-in for Rhino Grasshopper
that allows the non-expert to engage in such evolutionary methods within an environment
that already boasts many modelling and analysis native tools and third-party plug-ins.
Two types of examples have been shown, for parameter-based exploration and
exploration of parametric definitions themselves using a ‘meta-parametric’ approach
better suited to the early design stage. It was found that the IGA works effectively for a
wide range of situations with graph-based parametric definitions, due to their often
developmental mapping between genotype and phenotype and their flexibility of use;
before, during and after evolution.
5.1. Outlook
Biomorpher is an ongoing project, with the results of the initial experiments informing
the future of the approach. Any future enhancements should strike a balance between
‘feature creep’ and maintaining intuition ahead of a crowded user interface, however
future possible developments include the following:
Incorporating multi-objective methods with interactive selection could be
explored, whilst noting the dangers of preferencing measurable objectives as
discussed in Section 3.4. At present an equal weighted-sum approach is used.
As identified in Section 4.6.2, COGAs tended to give equal weighting to a single
design if it was unique rather than adequately bias many similar designs. An
associative method of dimensionality reduction of the parameter space would be a
possible solution to this, as opposed to discrete cluster methods. Self-organising
maps, implemented for example by Amor and Rettinger [48] for IGAs, and
Principal Component Analysis as used by Talton et al. [49] in displaying large
populations of tree designs are possible alternatives. These methods could also be
used to select a large group of designs for high fitness, rather than the current
‘checkbox’ approach.
As noted in the examples in Section 4, in order to address the issue with lost
designs even after selection, implementing elitism, either at the cluster level or
individual designs, may be beneficial.
Investigate clustering of phenotypes based on notional performance, in addition to
parameter space. As noted, one must be careful not to overemphasise quantitative
metrics over qualitative measures with this approach.
Include recursive structures in the generation of parametric definitions to reduce
the genotype size.
Crossover causes a larger than expected disruption when used in combination
with generating parametric definitions. This was likely due to the CGP method of
encoding and using mutation alone may be more suitable approach in future in
line with other CGP applications [50].
As mentioned in Section 4.5, incorporating physical models in the selection
process as an alternative form of representation. As 3d printing is likely to be too
slow, a form of augmented reality may be a viable compromise.
Acknowledgement
The authors would like to thank those that have helped shape Biomorpher from 2016 to
present: Professor Larry Bull (UWE), Mary-Katherine Heinrich (CITA), Stephen
Melville (Format Engineers), Kristjan Nielsen, Mariam Khademi, Lee Simmons,
Ramboll Computational Design, Foster + Partners ARD, 3D Reid Architects, and Bjarke
Ingels Group. This work was supported internally through the University of The West of
England Early Career Researcher Development Award 2016/17.
References
1. Frazer J. An evolutionary architecture, Architectural Association Publications, 1995,
p.7.
11. Stiny G and Gips J. Shape Grammars and the Generative Specification of Painting
and Sculpture. In: IFIP Congress 1971; 2(3).
13. Rutten D. Galapagos: On the logic and limitations of generic solvers, Architectural
Design 2013; 83(2): 132-135.
16. Parmee I. Towards Interactive Evolutionary Search and Exploration Systems. In:
Bird-of-a-feather workshop: Genetic and Evolutionary Conference, 2002. New
York.
17. Fonseca CM and Fleming PJ. Genetic algorithms for multiobjective optimization:
Formulation, discussion and generalization. ICGA, 1993 Jun 1; 93: 416-423.
18. Caldas LG and Norford LK. Shape generation using pareto genetic algorithms:
integrating conflicting design objectives in low-energy architecture. International
journal of architectural computing 2003; 1(4): 503-15.
19. Reinhard K. Urban Design Synthesis for Building Layouts based on Evolutionary
Many-Criteria Optimization. International Journal of Architectural Computing
2015; 13(3): 257-269.
20. Dawkins R. The blind watchmaker: Why the evidence of evolution reveals a universe
without design. WW Norton and Company, 1986.
21. Latham W and Todd S. Evolutionary Art and Computers. Academic Press, 1992.
22. Cho SB. Towards creative evolutionary systems with interactive genetic algorithm.
Applied Intelligence 2002 Mar 1; 16(2):129-138.
23. Secretan J, Beato N, D Ambrosio DB, Rodriguez A, Campbell A and Stanley KO.
Picbreeder: evolving pictures collaboratively online. In: Proceedings of the SIGCHI
Conference on Human Factors in Computing Systems, 2008 Apr 6, pp. 1759-1768.
ACM.
25. Clune J and Lipson H. Evolving 3d objects with a generative encoding inspired by
developmental biology. ACM SIGEVOlution 2011 Nov 1; 5(4): 2-12. ACM.
26. Steadman P. The Evolution of Designs: Biological analogy in architecture and the
applied arts. Routledge, 2008.
27. Shackelford M and Simons CL. Metaheuristic design pattern: Interactive solution
presentation. In: Proceedings of the Companion Publication of the 2014 Annual
Conference on Genetic and Evolutionary Computation, 2014 Jul 12, pp.1431-1434.
ACM.
28. Bonham CR and Parmee IC. An investigation of exploration and exploitation within
cluster oriented genetic algorithms (COGAs). In: Proceedings of the 1st Annual
Conference on Genetic and Evolutionary Computation - Volume 2, 1999 Jul 13, pp.
1491-1497. Morgan Kaufmann Publishers Inc.
31. Mor L, Liu C and Von Mammen S. Interactive biomimetic space: an interactive
installation to explore living architecture. In: European Conference on the
Applications of Evolutionary Computation, Berlin: Springer, 2011 Apr 27, pp. 364-
373.
33. Bentley P and Kumar S. Three ways to grow designs: A comparison of embryogenies
for an evolutionary design problem. In: Proceedings of the 1st Annual Conference on
Genetic and Evolutionary Computation – Volume 1, 1999 Jul 13, pp. 35-43. Morgan
Kaufmann Publishers Inc.
34. Arthur D and Vassilvitskii S. K-means++: The advantages of careful seeding. In:
Proceedings of the eighteenth annual ACM-SIAM symposium on discrete algorithms,
2007 Jan 7, pp. 1027-1035. Society for Industrial and Applied Mathematics.
36. Goldberg. 1989. Genetic Algorithms in Search, Optimization and Machine Learning.
1st ed. Boston: Addison-Wesley Longman Publishing Co.
38. Bonham CR and Parmee IC. Developments of the cluster oriented genetic algorithm
(COGA). Engineering Optimization 2004 Apr 2; 36(2): 249-79.
39. Piker D. Kangaroo: form finding with computational physics. Architectural Design
2013; 83: 136-137.
41. Heinrich MK, Zahadat P, Harding J, Ayres P, Nicholas P, et al. Using Interactive
Evolution to Design Behaviors for Non-deterministic Self-organized Construction.
In: Proceedings of the Symposium on Simulation for Architecture and Urban Design
(SimAUD), 2018, forthcoming.
42. Harding J. Evolving Parametric Models using Genetic Programming with Artificial
Selection. In: Proceedings of the 34th eCAADe Conference, Oulu, Finland, 2016,
pp.423-432.
44. Harding J and Shepherd P. Meta-parametric design. Design Studies 2017; 52: 73-95.
45. Miller J and Harding S. Cartesian genetic programming. In: Proceedings of the 2008
GECCO conference companion on Genetic and evolutionary computation, 2008, pp.
2701-2726.
46. Joyce S and Ibrahim N. Exploring the evolution of meta-parametric models. In:
Proceedings of ACADIA Conference, 2017, pp.308-317.
47. Kumar S and Bentley PJ. Implicit evolvability: an investigation into the evolvability
of an embryogeny. In: Late Breaking Papers at the 2000 Genetic and Evolutionary
Computation Conference, Las Vegas, Nevada, USA, 2000, pp.198-204.
48. Amor HB and Rettinger A. Intelligent exploration for genetic algorithms: using self-
organizing maps in evolutionary computation. In: Proceedings of the 7th annual
conference on genetic and evolutionary computation, 2005 Jun 25, pp. 1531-1538.
ACM.
50. Clegg J, Walker JA and Miller JF. A new crossover technique for cartesian genetic
programming. In: Proceedings of the 9th annual conference on Genetic and
evolutionary computation, 2007 Jul 7, pp.1580-1587. ACM.