Image Image Image Image Image Image Image Image Image Image

Bartlett School of Architecture, UCL

Scroll to top


Architectural Optimisation and Evolutionary Systems with Genetic Algorithms

Architectural Optimisation and Evolutionary Systems with Genetic Algorithms


One of the main issues in architecture today is the quantity of information and the level of complexity involved in most building projects. [12] GAs provide an effective method to deal with these problems by considering a large number of possible solutions and thereby optimising the final result. Many practical projects have proven that GAs could assist in architectural design regarding form-generation and structural optimisation, such as the Marxer Active Energy Building designed by Falkeis Architects [14]. In principle GAs mimic natural selection. Generations will adapt to internal or external conditions. A set of criteria can be defined to regulate the subsequent generations, no matter if they are static or dynamic.



Architectural design is the process of solving sophisticated difficulties to satisfy a set of demands. “While architecture primarily serves the function of buildings, it always deals with cultural, social, aesthetical notions.” [12] For any particular architecture project, some concepts are always more suitable than others, because they better fulfil the natural and social requirements of the site. The basic principle of GAs is finding an optimised result by including a large number of potential solutions and not limiting the number of search criteria. Most judging standard that can be coded as numbers can be used as criteria for GAs. As a result, I propose that GAs could assist designers in finding an optimal solution for a complicated architectural concept. Additionally, they could also be used to drive kinetic architectures to be adaptive to their environmental and social changes over a longer period of time. This leads to the main question of this report: How can Genetic Algorithms be used to achieve short-term structural optimisation and long-term spatial evolution in architectural design?

This can be sub-categorised into a number of more specific questions:

  1. Which parameters can be used as criteria for short-term optimisation? What kind of results are reasonable?
  2. Which parameters can be used as criteria for long-term evolution? What kind of results are reasonable?
  3. What kind of evolutionary space can be created with GAs? What is a reasonable pace?
  4. What is the difference between the short-term and long-term application of GAs?

The design project Golem uses GAs in terms of architectural design to try and answer these questions. It is comprised of two parts – Golem Robot and Golem Space. Golem Robot uses GAs for structural optimisation. Golem Space on the other hand, uses GAs to create an evolutionary system, whereby the architectural performance is generated by the GAs. During the research, kinetic structures are considered to be the prominent parts of adaptive architecture concerning long-term evolution of form. [10] So the hypothesis of this report is making a simulated spatial installation to test the possibilities and performance of a long-term evolutionary space, which is assembled by a group of kinetic structures. To realise this concept, two primary objectives are set to achieve the research design:

  1. Design a locomotive robot as the essential kinetic part of an adaptive architectural structure.
  1. With this optimised structure, an interactive spatial installation will be designed to create a long-term evolutionary structure, by including interactive GA coding.


2.Background — Genetic algorithms and Adaptive Architecture

2.1-Genetic Algorithms

GAs are inspired by natural selection and Darwin’s theory of evolution. They have been used in many disciplines, such as industrial design, computer-automated design, social systems, etc. “Genetic Algorithm is developed primarily for problem-solving and optimisation in situations where it is possible to state clearly both the problems and the criteria to be fulfilled for their successful solution.” (J. Frazer) [5]. Genetic algorithms are an iterative process, where the potential solutions in each iteration are called a generation. The set of properties (also referred to as genes) of these possible solutions are referred to as chromosomes. There are several fundamentals regarding GAs — population of chromosomes, selection according to fitness, crossover to produce new offspring, and random mutation of new offspring [13]. “GAs are used under the scope of the concept of Emergence.” [12] Genetic algorithms can essentially be split up into three procedures:

Figure 1 Activity diagram of a typical GA

Figure 1 Activity diagram of a typical GA

  1. Selection: selecting a pool of candidates from the current generation by means of some fitness criteria. The fitter any candidate is, the more likely it is to get chosen. This ensu
    res, that only the better suitable candidates are used to create the next generation.
  1. Crossover: this is one of the genetic operators used in GAs. A pair of candidates is selected from the pool generated in the first step to create new offspring. This involves combining the properties from the parents to construct new potential solutions. The selection of the properties can be completely random, or follow a set of rules, e.g. take the first X percent of one parent and the rest from the other parent. X can be randomised in each successive generation to minimalize the chance of recession.
  1. Mutation: this is another genetic operator. Its main purpose is to ensure genetic diversity. Some randomly selected bits in chromosomes in each generation are changed. The mutation rate is usually kept low to keep the evolution steady.

Figure 1 shows the workflow of activities involved in genetic algorithms.

In architectural design different building properties can be used as genes for GAs, such as structural, lighting, energy, and acoustic elements. These can easily be digitalised in order to run the algorithm. Some existing tools for GAs in 3D software can help execute basic optimisations, such as Octopus and Galapagos in Grasshopper which is a plugin for Rhinoceros. These tools require the definition of the initial population and the criteria used for the fitness evaluation. Running the GA on the initial population will eventually generate an enormous amount of solutions, each with its own fitness level. Using these, the optimal solution can be found among the candidates. Octopus uses a very traditional form of genetic algorithms, which could not cater towards the demands of our design project. We required a special kind of GA, namely an interactive one. This involves human evaluation of the given candidates in the selection process. It was therefor necessary to implement our own version of a genetic algorithm. The interactive GA for our design projects was implemented in Processing.

2.2-Adaptive Architecture and GAs

GAs have the potential to include various architectural elements in the optimisation process, in order to lead to an optimised solution, especially during the design process. For example, the form of irregular structures can be optimized based on the capacity of different materials. This has been used in architectural design, e.g. for the Marxer-active-energy-building. “Instead of a traditional approach based on a regular grid of straight columns, inclined columns were introduced that support the building. The geometry and position of the columns was optimised using GA.” [14] These kind of optimisations based on GAs are short-term. When the design process is finished, GAs will not be involved in the architecture anymore.

If we see the life-span of a building to be evolutionary, GAs can be helpful in creating long-term adaptive architecture. These are expected to explore the possibilities of the building to improve its performance according to human demands and natural parameters, which could be dynamic and ever changing. [8] As John Frazer stated, “Architecture is considered as a form of artificial life, subject, like the natural world, to principles of morphogenesis, genetic coding, replication and selection”. [9] Real-time architectural adaptive performance can be controlled by various sensors. Long-term architectural evolution on the other hand requires a more complex controlling mechanism.  GAs are a reasonable instrument for the evolution of building. Kinetic structures are essential for both real-time adaption and long-term evolution.

What kind of evolving space can be created with genetic algorithms? The answer to this question depends on the structural performance and morphology of the structure forming the space. In order to make a space evolutionary, its attributes must be variable. The buildings adaptive performance is based on analogues, i.e. the parameters that change during its evolution. These can be coded as numbers, such as angles, distances, etc. Not every space needs to use the same parameters. In terms of building function, diverse functional blocks could have an optimal position based on various functional demands in different occasions. An example of this is the Fun Palace designed by Cedric Price. “Using an unenclosed structure, fully serviced by travelling gantry cranes the building comprised a ‘kit of parts’: pre-fabricated walls, platforms, floors, stairs, and ceiling modules that can be moved and assembled by the cranes. Virtually every part of the structures is variable.”[6] Regarding spatial experience, changing height, width, position, light and relative spatial effects would shift the viewers perception of the space. Having kinetic structures is an important requirement for adaptive architecture and GAs can be an effective strategy to achieve long-term architectural evolution.

3.Project Golem — Overview

As stated in the previous section, kinetic structures are essential for evolutionary architecture over a long period of time. Correspondingly GAs are used to optimise the kinetic structure of Project Golem, to achieve efficient performance. These will then be used for the long-term evolutionary installation as the basic module.

3.1 Golem Robot – short-term optimisation

The objective of this project is designing a kinetic robot and optimising its movement. Based on our research and experiments, the act of movement can be categorised into two methods. Either by walking with legs, like mammals do, or by rolling. The development of the morphology goes along these two methods. Finding a good or even optimal structure for a walking robot is difficult. Our research included studying other designs of mechanical, kinetic structures, such as the tensegrity robot from NASA [3] and the STRANDBEEST from Theo Jansen [1]. Both of these creations aim is to walk.

We studied the methods they used to get these robots to walk and designed a set of our own prototypes assembled by a basepyramid with legs. During this phase of the project, GAs were used to optimise the proportion of the upper pyramid to achieve a wide range of movement of the rigid structure with minimal friction.

Figure 2 — Four different prototypes for the Golem Robot

Figure 2 — Four different prototypes for the Golem Robot

Figure 2 shows four prototypes of our robot, each designed individually. They all have advantages and disadvantages. Because of its simple design, prototype 2 is chosen as an example to show the procedure of structural optimisation in this report.

3.2 Golem Space – the long-term evolution

Figure 3 - Golem Space 1

Figure 3 – Golem Space 1

As has been stated before, GAs could also be used as a long-term evolutionary tool in architecture to evolve the morphology of a structure based on peoples’ demands. In order to test this concept, we combined several prototypes that were optimised in Golem Robot as an interactive spatial installation, named Golem Space 1 (depicted in Figure 3). Every sculpture is composed of two vertically mirrored modules. Eight of these sculptures form one group as an individual ecology.

Golem Space 2 (depicted in Figure 4) is a more practical design than Golem Space 1. It has been designed to be exhibited at a festival in Amsterdam in October 2016. Seven kinetic modules are set up to act as a dynamic pavilion. Every module is composed of five submodules, each with the same size. Four air-muscles control the movement of every module whose size and position are different with any others’. The time unit of evolution is one day, and movements are quite slow, so it does not disturb visitors. The criteria for selection (i.e. for the GAs selection procedure) depend on the visitor’s rankings of the space and the number of people that are attracted to the structure itself.

Figure 4 - Golem Space 2

Figure 4 – Golem Space 2

The genetic algorithm code in Nature of Code [7] is used for the evolution of the behaviour of the modules. The sculptures that attract more people’s attention will become the elite to pass its genes on to the next generation. The genes are the degree of inflation of the air-driven actuators, which represent the relative position of the submodules in the physical installation.

4.GA and short-term structural optimisation

For the optimisation process with GAs, the genes and the criteria to be satisfied are the most important parts. These need to be defined prior to the execution. In terms of structural optimisation, genes commonly are the variable parameters set by the designers, such as the size, degrees, and positions. During the execution of the algorithm, an enormous number of combinations will emerge and be evaluated by the criteria. The genes of elites will be allocated more opportunities to survive. In terms of architectural design, most parameters related to the environment and the buildings can be treated as criteria, including natural and social parameters. For our kinetic structure, the criteria are related to its movement, such as less friction, larger range of movement, more efficient control, etc.

For the research project covered in this report, the target is increasing the range of movement of the robots. In order to efficiently design, evaluate and select adaptive structures before the construction of a physical models, it is necessary to precisely understand the static and dynamic behaviour of the machines. Rhinoceros and Grasshopper were used to build virtual representations of our robots and test their performance. During the process of design, we encountered the most remarkable moving patterns of our robots. The movement of our robots are controlled via short rods, which, when moved slightly, move the longer legs. A change in the length of these rods would result in different movement patterns. In order to find an optimal solution, a range of different lengths of rods and a combination thereof would need to be tested. Rather than manually changing these lengths and seeing what the results are, GAs could be used to simulate possible combinations more efficiently.

4.1 – The optimisation of Golem Robot with GAs

As stated above, Prototype 2 is chosen as the example of structural optimisation for this report. It is composed of two parts. The top is an upside-down pyramid made of 6mm wooden pipes and 3d-printed joints, which form the base of the robot. The bottom consists of three pipes, which are connected in one common vertex on the one end and three sliding nodes along the sides of the pyramid on the other end. Three air-muscles connect the three sliding nodes with the corners of the pyramid respectively. According to our experiments, the contraction rate of the air-muscles is 25%, which means when they are inflated they are ¾ of the original length. Based on this rate, we built the simulation in Rhinoceros.

We chose two parameters as genes for the GA. The first one was the height of the pyramid, the second one was the distance between the vertex of the pyramid and the common vertex of the structure below. We used the Grasshopper plugin, Octopus, as the GAs operator. We provided it with the two varying parameters and set the desired criteria. Different values for L1 and L2 will lead to different behaviour patterns of the robot. Additionally, the lengths of L1 and L2 are operating in a reasonable domain in Octopus. We defined three criteria to evaluate the fitness of each potential candidate.

Figure 5 - Diagram of genes

Figure 5 – Diagram of genes

Figure 5 shows a diagram of a simplified version of Prototype 2, to aid in the description of the three criteria listed below.

Criterion 1 – L1, the larger the better

An increase of L1 would lead to steeper angles of the pyramids sides. This would allow a small change in the air-muscles to translate into a larger change in the kinetic vertex’s position, thereby resulting in a wider range of movement.

Criterion 2 – Reduction Rate of Air-muscles, the smaller the better

There is a pair of parameters which are contradictory with each other. The first one is the length of L1, the second one is the reduction rate of the air-muscle. When the length of L1 is larger, the sliding node has to move in a more slanted pipe, which will increase the friction between the sliding node and the orbit, which will reduce the reduction rate of the air-muscle. This would result in the force of the air-muscle to be reduced by the gradient orbit, rather than expanding on the sliding node. For this problem, we set a direct ratio between the length of L1 and the reduction rate of air-muscles, which means when the reduction rate of air-muscles is smaller, the movement range increases, while L1 can be kept lower.

Criterion 3 – X=0.5-(L2′-L2)/L2′, the smaller the better

In order to limit the moving range of the kinetic vertex, we set 0.5*L2′<L2<L2′. It means the GA operator will find an optimal solution, while keeping the ratio between L2 and L2′ at 50%.

Figure 6 - Generations of searching solutions

Figure 6 – Generations of searching solutions

After defining the three criteria, we executed the GA. Octopus randomly chose values to populate the first generation. Genes were shown in the fitness landscape. The searching results were shown in real-time while the algorithm was operating (see Figure 6). In the fitness landscape (Figure 7 on the left) these three criteria are mapped to the X-, Y-, and Z-axis respectively. Criterion 1 on the Z-axis, Criterion 2 on the X-axis, and Criterion 3 on the Y-axis. As per our criteria definitions, a high value on Z and low values on X and Y are desired solutions. After more than 150 generations, we chose the optimal solution, from the fitness landscape, to build the physical model of prototype 2 (Figure 7 on the right).

Figure 7 - Fitness landscape (left): Model of the optimal solution (right)

Figure 7 – Fitness landscape (left): Model of the optimal solution (right)

After testing the physical model of prototype 2, the moving range is similar to the simulation in Rhinoceros. Though it is slightly different, the inaccuracy of the data is less than 10%. The difference between simulated and practical data could be attributed to a few factors. Firstly, the friction between the sliding nodes and the pipes, secondly, the inaccuracy of the hand-made air-muscles. But the solution provided by the GA basically meets our demands.

In the design of the latest walking robot, a new structure was designed with similar modules as prototype 2. However, the criteria were slightly different. Four kinetic structures are assembled on one regular tetrahedron, which composed a cube while air-muscles are deflated. The goals are to achieve a larger range of movement as before and regulating the angle between pipes at the kinetic vertex to roughly 90º when the muscles are deflated. As a result, the angle and the length of L1 were parameters for the criteria for the GA (Figure 8 on the left). The lengths of L2 and L3 were the genes. Figure 8 in the middle shows the fitness landscape after 15 generations. The red and green axis represents the length of L1, and deviation of the angle from 90º respectively. The chromosome with a larger length of L1 and a smaller deviation value was chosen as the reference to build the physical walking cube. When the air-muscles are inflated, the cube can transform by extending the vertex, which will change the position of the robot’s centre of gravity and drive it to walk properly (Figure 8 on the right).

Figure 8 - Diagrams and Physical Model of Walking Cube

Figure 8 – Diagrams and Physical Model of Walking Cube

4.2 Brief Summary

Based on the different morphologies and behaviours, every prototype has a unique set of genes and criteria. However, the basic goal of optimisation is similar, that is achieving a larger moving range by adjusting the length of pipes, while the shirking rate of air-muscles is fixed at 25%.

During this stage of the project, GAs were used to optimise the structure to enhance the performance of the prototypes. Even though the contraction rate of the air-muscles is permanent, the right combination of the variable parameters could double the range of motion of the moveable parts. The GAs resulting elite candidate’s chromosomes were used for the fabrication of the robots. Rather than manually testing a variety of physical structures, GAs helped us to find an optimal prototype in a short period of time. Because of the set parameters and criteria, I consider that short-term optimisation is able to produce a solution that satisfies the designer’s demands. For most static optimisation, traditional GA can finish the optimisation work completely. Given the right parameters and criteria, GAs are even able to create morphologies. Artificial creatures made by Karl Sims have proven the creative ability of GAs. [4] In the project Golem Robot, every parameter is objective, which makes the solution reasonable and clear. Though GAs play a major role in the design process, their role is still a passive one. In other words, the evolution of prototypes still requires a human designer to identify the problem in a complicated physical world and reduce it to a form the GA can understand and calculate. To sum up, GAs can contribute a lot during the design phase, and they help designers to work efficiently and effectively.

5.Interactive GA and long-term spatial evolution

John Frazer defined GAs as a class of highly evolutionary and adaptive search procedures. [9] In the process of long-term architectural evolution, buildings can be considered as an intelligent and adaptive system which can change their morphology depending on people’s demands. They are obviously not alive, but it could have consciousness endowed by people, and can be seen as an artificial lifeform. In the short-term optimisation, objective parameters are always treated as criteria. However, evolution involves interaction, such as the interaction between buildings and people, or buildings and nature. Considering these interactions, which actions can affect the architectural evolution? Which parameters can be used as criteria for long-term evolution?

Over an extended period of time we could treat the interactions between people and buildings as the fundamental elements to drive the evolution. If we do so, the goal state could explicitly be undefined before the algorithm starts, which would make the entire evolution a dynamic process. This would require people to interact with the evaluation criteria directly, which in turn would require the buildings to be kinetic structures that can adapt accordingly. This would make the buildings dynamic, rather than static. People’s choices and ratings are the most effective criteria. The architectural morphology and performance with higher rankings would have a higher chance of survival. When people’s demands change, the resulting new criteria would affect the evolution to adjust the form of the building.

For short-term optimisation problems the available computational power determines the speed of operation. For long-term architectural evolution the required speed should be much less. People could decide on the evolution pace, which could be one day for one generation, or six months. Besides people’s subjective setting, the speed is also limited by various architectural, social and natural elements, such as function, scale, the life-span of the building, the climate, and interaction frequency. As long as the evolution speed can match the demand of people, the pace is reasonable.

As stated earlier, for our research project we developed two prototypes, namely Golem Space 1 and Golem Space 2. The interactive genetic algorithm from The Nature of Code [7] is used for both of them as the primary code of execution. There are several key differences between them, such as the methods to calculate the criteria, the speed of evolution and the performance of the kinetic structures. Though the designs are different, the logic behind them are similar. Optimised modular robots are used for Golem Space 1 to assemble a set of evolutionary installations. Golem Space 2 is designed for an exhibition and a workshop, which is an experiment of the practical method of evolutionary space. After our testing of the physical kinetic module driven by air-muscles, the simulation of a set of these structures was built in Grasshopper. This simulation is basically able to replicate the way they would move in real life. The interactive genetic algorithm (as mentioned above) is implemented in Processing, and different generation’s chromosomes are sent from Processing to Grasshopper to simulate the behaviour.

5.1 Golem Space 1

The aim of Golem Space1 was finding an operational method to use interactive GAs to control a group of kinetic structures and achieve form evolution. A set of Golem Robots was assembled as a spatial installation (Figure 9). The behaviour and actions of the surrounding world in relation to the systems goals is included in the structures strategy to transform, similar to Ruairi Glynn’s Performative Ecology. [2]

Figure 9 - Module of Golem Space 1

Figure 9 – Module of Golem Space 1

Figure 9 shows the module used for Golem Space 1. Six of these modules are set up in an array. The amount of air-inflation of the air-muscles is used as the genes. There are twelve air-muscles in each kinetic column to control their movement, which means twelve genes are set for one module. For the first generation, each gene is assigned a random number. Modules that attract more attention than others are chosen by the GA in its selection phase, thereby passing its genes on to the next generation. The fitness value of a module is based on people’s preferences, which are entirely subjective. As long as people keep choosing, the GA will continue to generate new genes, which in turn will lead to new robotic behaviours.

Figure 10 illustrates the initial state of the six columns. Because the mutation rate is set to 20%, some of them may behave differently than others. Though this mutation rate is higher than usually employed in GAs, it increases the amount of new morphologies which in turn gives observers more choices. A board is set up for people to select their preferred module. Because different people choose different morphologies as their favourites the installation will continuously change its behaviour in a very subjective manner. Figures 10 and 11 shows the two generations tested in Grasshopper, whose criteria were set with our subjective evaluation.

Figure 10 - Generation 0 of Golem Space 1

Figure 10 – Generation 0 of Golem Space 1

Figure 11 - Generation 5 of Golem Space 1

Figure 11 – Generation 5 of Golem Space 1

Golem Space 1 basically fulfils the target requirements for this stage, which is using a simple method to achieve an interactive and evolutionary space. Because of the high mutation rate, the installation’s behaviour might not visibly reflect the observer’s choices a lot. The changes might seem a bit erratic. This might lead observers to not believe the evolutionary manner of the system. To counteract these problems, a lower mutation rate has been defined for Golem Space 2. Additionally, it uses different criteria for the selection, to achieve a seemingly more conscious evolution.

5.2 Golem Space 2

Golem Space 1 was used as a test to combine interactive GAs and kinetic structures to create an evolutionary space. Based on its achievements and problems, the kinetic structures and selection criteria are updated for Golem Space 2. Its aim is to be an evolutionary pavilion, to be tested in a practical architectural context. It will be set up in a workshop at a festival in Amsterdam in October 2016. Therefor its size, the form of its kinetic structures, the criteria system, the pace of evolution, the interactive method and public safety were considered during the design of this evolutionary space. 

Figure 12 - Module of Golem Space 2

Figure 12 – Module of Golem Space 2

The modular robot from Golem Space 1 is replaced by a new kind of module which can perform a bending motion by changing the angle between two adjacent submodules (Figure 12). In the design, seven modules with different sizes are grouped together and fixed to the ground to form the pavilion. One module is comprised of five submodules and controlled by four air-muscles. The maximum rotation range between two submodules is 35º. Each generation has seven chromosomes (one per module), each made up of four genes. Every gene represents the extent of inflation for its corresponding air-driven actuator.

An updated set of criteria is used for Golem Space 2. It is quite essential and composed of three specific parts:

Criterion 1: People’s evaluation of the space – representing people’s preference of the spatial form

Criterion 2: Background sound level – representing the level of activity in the workshop

Criterion 3: Number of people around the installation — representing the public’s subconscious interest of the current form of installation

The significances of these three criteria are different. Both criteria 1 and 3 are considered to be able to represent people’s subjective opinion of the space, whereby criterion 1 does so most effectively. As this space will be mostly used by children, the background sound level is another obvious parameter to show how active the space around the structure is. The general sound level which is affected by children directly will be used as criterion 2. However, the sound is not as important as criteria 1 and 3, it could be considered as a secondary one. These criteria are used to calculate each potential solutions fitness level using the following formula:

Fitness Level = 45%*(Criterion 1) + 15%*(Criterion 2) + 40%*(Criterion 3) 

Figure 13 — Generation 0 and Fitness Levels of Golem Space 2

Figure 13 — Generation 0 and Fitness Levels of Golem Space 2

The six rectangles in Figure 13 represent six different behavioural patterns with their respective fitness levels. During the course of one day, the pavilion will execute these six behavioural patterns at predefined times. The criteria system will be used to continuously evaluate each patterns fitness level. As per the definition of GAs the patterns with a higher fitness level will have a higher chance to pass on its genes to the next generation. Each iteration of the system will take 24 hours, so there will be a new generation every day. To ensure continuous diversity, the mutation rate is 15%, which is lower than that in Golem Space 1. To guarantee the safety of the people in the workshop, the airflow is kept at a very moderate pressure of 1.5 bar all the time, which will still provide the air-muscles with enough power to move the structure.

Figure 14 - Setup of Golem Space 2

Figure 14 – Setup of Golem Space 2

Figure 14 shows the setup for the system. Three sensors are connected to the computer. The evaluation board with buttons is for Criterion 1. The microphone records the level of background noise, which is for Criterion 2. The camera records the number of people around, which is for Criterion 3. The interactive GA runs in Processing on the computer. Its output is sent to the Arduino board, which in turn controls the valves to control the actuators and precisely drive the kinetic modules.

The following shows a simulation of the setup to test the evolutionary process and possible behaviour patterns.

Figure 15 - Generation 0 of Golem Space 2

Figure 15 – Generation 0 of Golem Space 2

Figure 15 shows the six initial behaviour patterns of generation 0, which are created randomly and independent from each other. The structure will represent these six patterns on the first day of the workshop at the allocated times. To calculate the fitness values of each pattern we invited a number of people to evaluate each structure for this simulation, but they will be calculated from the defined criteria during the actual experiment. Among them, Generation-0-D got the highest fitness level. The fitness of Generation-0-E is also relatively high. As a result, the genes of Generation-0-D and Generation-0-E will have a higher chance to survive.

Figure 16 - Generation 1 of Golem Space 2

Figure 16 – Generation 1 of Golem Space 2

Based on the fitness levels of generation 0, generation 1 is created by the GA (Figure 16). Comparing these two generations, we can tell that the new genes predominantly come from generation-0-D and generation-0-E (Figure 13). The experiment shows that a couple of patterns are again rated higher than others. For the purpose of this simulation, we set the fitness levels of the six patterns to extremes to see how the system reacts. After testing three generations, we used generation 4 as the base population for the following. Figure 17 shows the next generations calculated by the GA with different extreme fitness values. The six different behaviour patterns of each generation are combined in a single image each. 

Figure 17 - Three groups of solutions

Figure 17 – Three groups of solutions

Situation 1: A-0; B-0; C-0; D-0; E-0; F-0

Every behaviour pattern gets an assigned fitness score of 0. None of the patterns are favoured, which means every module’s genes have the same chance of being passed on. In this case mutation is the only element that adds diversity to the new generation.

Situation 2: A-100; B-0; C-0; D-0; E-0; F-0

Pattern A gets the absolute highest fitness value. As a result, it’s genes will survive predominately. It is obvious that the new patterns will be quite similar with each other.

Situation 3: A-50; B-50; C-50; D-50; E-50; F-50

Every pattern gets the same fitness value, which is like Situation 1. Therefor every pattern’s genes get the same chance to survive. This situation is effectively identical to the first one.

This simulation proves that the criteria affects the evolution in the expected manner, and that favoured patterns have a higher chance to survive. Furthermore, the mutation rate keeps the evolution alive.

5.3 Brief summary

Both Golem Space 1 and Golem Space 2 use an interactive GA to produce an evolutionary structure. A GA-based evolutionary system was designed and tested for Golem Space 1. Its GA is implemented in Processing and uses Grasshopper to simulate the results. Golem Space 2 was designed with a more practical structure and criteria system, based on the results from Golem Space 1. The kinetic structure can perform safely and flexibly, while producing various reasonable patterns. The criteria used to calculate the fitness levels include the publics opinion, which makes the structure’s new arrangements more satisfactory to people’s preferences. Because the criteria are very subjective the resulting structures won’t be appealing to everyone. For example, children’s judgments about a structures height might be very different from adults’. So an arrangement deemed satisfactory by one group of people might not be for another. Counteracting this might result in a very complicated criteria system. Sufficient investigation in terms of architectural context prior to defining the criteria will lead to a more comprehensive system, which in turn will satisfy more people’s demands of the construction.

Additionally, people’s demands of a structure might change over time, such as functional-, material-, lighting-, or acoustic requirements. The architectural evolution should be kept at a slow pace, regarding both the data collection for the criteria and the spatial transformation. Not only the factors contributing to real-time adaption, but also those for long-term adaptation should be considered. To achieve a kinetic building’s optimal system, the evaluation criteria should interact and evolve with the context.


Genetic Algorithms play an essential role in Project Golem. For Golem Robot the GA operator Octopus for Grasshopper was used to discover an effective structure. The lengths of pipes at key positions are defined as the genes for the GA, and the moving range of the vertex is set as the criterion. By using a GA, we did not have to test a large number of kinetic structures manually. Several prototypes for the kinetic structures were designed and assembled in a short period of time. As a research project, Golem Robot confirms the advantages of GAs in terms of structural optimisation, by discovering an optimal solution for a complicated kinetic structure.

An interactive GA is at the core of the Golem Space evolutionary system. Interactive criteria are an indispensable component, as they affect the dynamic evolutionary procedure directly. We combined an interactive GA with kinetic structures in Golem Space 1 as a first test of operating a long-term evolutionary structure. Golem Space 2 was designed in a more practical manner. The kinetic structures that were used are more suitable for a workshop. They were developed with safety and usability in mind. Considering the timeframe of the workshop, a reasonable evolutionary pace was chosen. A rating system affects the structure’s evolution, which produces a new generation every day. Visitors opinions, as well as the attraction of the structure, are used for a specifically designed criteria system to assess the success-rate of each generation. This criteria system and the use of GAs as a strategy for the adaption could benefit researchers who consider long-term architectural evolution.

The GAs used for the projects covered in this report mainly differ in the criteria used to assess the fitness of the results. For short-term optimisation they are static and cannot be changed during execution. For long-term evolution, people’s opinions are included, which makes the criteria dynamic. A combination of these two facets of GAs could be used to create an evolutionary structure using objective parameters and people’s subjective demands. At this point, adaptive architecture is concerned with evolutionary morphology, kinetic structures and building materials. GAs can help architects to optimise a buildings performance at a low cost, no matter how complex the architectural information is. The life span of a building could be dynamic. Using GAs to create intelligent form generation of a kinetic building is potentially very complicated and difficult. The comprehensive social and natural criteria might change faster than the evolution of the kinetic buildings organisation. In my opinion, it might be more practical to use multiple GAs to solve this issue. Furthermore, a combination of GAs with other theories and technologies, such as artificial neural networks or learning classifier systems, could make the system more adaptive and intelligent.

In conclusion, Genetic Algorithms can be used by architects to optimise their designs in complex environments. Furthermore, they can also aid in developing long-term adaptive structures based on dynamic criteria, which interact with the present architectural contexts.



[1]. (2016). STRANDBEEST. [online] Available at: [Accessed 21 Jul. 2016].

[2]., (2016). Performative Ecologies | Ruairi Glynn. [online] Available at: [Accessed 14 Jan. 2016].

[3]. (2016). Tensegrity Robotics – SuperBallBot. [online] Available at: [Accessed 21 Jul. 2016]. 

[4] .Sims, K. (1994). Evolving 3D Morphology and Behavior by Competition. Artificial Life, 1(4), pp.353-372.

[5]. Frazer, J. (1995). An evolutionary architecture. London: Architectural Association.

[6]. Glynn, R. (2005). Fun Palace — Cedric Price. [online] Interactive Architecture Lab. Available at: http://two.wordpress.test/fun-palace-cedric-price.html [Accessed 21 Jul. 2016]. ”¨

[7]. Shiffman, D., Fry, S. and Marsh, Z. (n.d.). The nature of code.

[8]. Li, L. (2012). The optimization of architectural shape based on Genetic Algorithm. Frontiers of Architectural Research, 1(4), pp.392-399.Ӭ

[10]. Sher, E., Chronis, A. and Glynn, R. (2014). Adaptive behavior of structural systems in unpredictable changing environments by using self-learning algorithms: A case study. SIMULATION, 90(8), pp.991-1006.Ӭ

[11]. L. Caldas. (2001). An Evolution-Based Generative Design System- Using Adaptation to Shape Architectural Form. Advanced Engineering InformaticsӬ

[12]. Fasoulaki ,E. (2007). Genetic Algorithms in Architecture: a Necessity or a Trend?Ӭ

[13]. Wikipedia, (2016). Genetic algorithm. [online] Available at: [Accessed 9 Jan. 2016].

[14]. (2016). Marxer Active Energy Building — KARAMBA3D. [online] Available at: [Accessed 21 Jul. 2016].

Image Reference:

Figure 1: Columbia University, (2016). Figure 1 – Activity diagram of a typical GA. [image] Available at: [Accessed 20 Jul. 2016].

Figure 2: Jing, S. (2016). Four different prototypes for the Golem Robot. [image].

Figure 3: Jing, S. (2016). Golem Space 1. [image].

Figure 4: Jing, S. (2016). Golem Space 2. [image].

Figure 5: Jing, S. (2016). Diagram of genes. [image].

Figure 6: Jing, S. (2016). Generation of searching solutions. [image].

Figure 7: Jing, S. (2016). Fitness landscape and model of the optimal solution. [image].

Figure 8: Jing, S. (2016). Diagrams and physical model of Walking Cube. [image].

Figure 9: Jing, S. (2016). Module of Golem Space 1. [image].

Figure 10: Jing, S. (2016). Generation 0 of Golem Space 1. [image].

Figure 11: Jing, S. (2016). Generation 5 of Golem Space 1. [image].

Figure 12: Jing, S. (2016). Module of Golem Space 2. [image].

Figure 13: Jing, S. (2016). Generation 0 and fitness levels of Golem Space 2. [image].

Figure 14: Jing, S. (2016). Setup of Golem Space 2. [image].

Figure 15: Jing, S. (2016). Generation 0 of Golem Space 2. [image].

Figure 16: Jing, S. (2016). Generation 1 of Golem Space 2. [image].

Figure 17: Jing, S. (2016). Three groups of solutions. [image].