Architecture as a Graph

A Computational Approach

Stanislas Chaillou
Spacemaker Research
10 min readFeb 25, 2020

--

Jeffrey Landes, Data Scientist,

Håkon Dissen, Software Engineer,

Håkon Fure, Data Scientist

Stanislas Chaillou, Architect & Data Scientist

In this article, we unveil some of our recent results and methodologies implemented at Spacemaker AI over the past quarter. This project aimed at supporting Spacemaker’s long term vision, as one of our many ongoing research initiatives.

The design of floorplans can leverage machine intuition to generate and qualify potential design options. In this article, we address a specific abstraction of space: adjacency. Any floorplan carries its own embedded logic; in clear, the relative placement of rooms and their connections is driven by a certain logic of interdependence, and yields varying qualities across space. For instance, the presence of a room will condition the existence of other rooms, as well as the position of openings between them. First, we attempt here to qualify adjacencies of existing floorplans, to assess the relevance of adjacencies among rooms. We later turn to Bayesian modeling to generate adjacency graphs, either freely or under set constraints. By qualifying and generating, our hope is to investigate both sides of the same problem: the understanding of relationships among neighboring spaces.

I. Qualify

Adjacencies among rooms define the quality of any given floorplan. These relationships are more or less relevant given the rooms they connect. They also vary in importance given the context. What could be appropriate in a studio would not necessarily be in a two-bedroom apartment. At the intersection of importance and relevance, we offer a quality assessment methodology that is both easily interpretable and tunable.

Our framework cross-references two matrices :

  • The Connectivity Matrix (Figure 1, left), where we define whether certain connections should (direct) or shouldn’t (indirect) exist within a given floorplan.
  • The Importance Matrix (Figure 1, right), where we specify how crucial the rules defined in the Connectivity matrix actually are.
Figure 1: Adjacency Rules & Framework | Source: Authors

We then score floorplans by extracting their adjacency matrix and grading it based on the above framework. In clear, each edge existing in the adjacency graph will be graded, by querying its “Connectivity x Importance” score. The overall grade of the floorplan is then the combined score of all edges summed up together. We display that process in Figure 2.

Figure 2: Adjacency Scoring Methodology | Source: Authors

Since these rules are context-dependent, ensuring that the designer can change them is crucial. This methodology allows the designer to tune the scoring methodology based on what he/she would expect from a given floorplan by simply editing the weights withing both matrices. We display in Figure 3 a subset of our database, where each connection has been assigned a score, using the above framework & weights.

Figure 3: Adjacency Assessment Graphs | Source: Authors

II. Generate

Figure 4: Bayesian Causal Graphs for (left) studio, (center) one-bedroom apartment & (right) two-bedroom apartment | Source: Authors

We turn now to the generation of adjacency graphs. Instead of using any form of procedural or rule-based technics, we prefer a Bayesian approach. This field of statistics is generally described as:

“the study of the conditional probability of an event based on data as well as prior information or beliefs about the event or conditions related to the event”.

For us, a Bayesian approach offers the opportunity to study and model the underlying set of relationships (causes) that condition the existence of rooms in a floorplan, as well as the potential existing connections between them. For instance, the existence of given rooms can cause the existence of another one, and condition the existence of connections between rooms. This reality can be captured using Bayesian statistics, across our database of 500+ floorplans.

We model rooms and connections as nodes and hope that our Bayesian model will help us infer the existence of causal relationships between them, as well as the relative weight of these inter-dependances.

A. Studio

Figure 5: Bayesian Causal Graph for Studio Typology | Source: Authors

We first run a model on a subset of studio plans. These plans only display one bedroom, no living room, and a maximum of 6 rooms. Fairly quickly the model is able to draw all existing causal relationships (the edges in Figure 5) among rooms and connections (the nodes in Figure 5). Taken together, the incoming edges to a given node form a conditional probability table. This formation means that the probability of a room or adjacency existing is conditioned on the values of its parents. That way, we unpack quantitatively and topologically the existence of inter-dependance among rooms and connections.

You can also browse through the interactive version of this bayesian causal graph at this address.

To generate new studio-like adjacency graphs, we can now sample from the above graph. Since sampling is inherently a stochastic process, it should yield different results each time. We can, therefore, generate a vast amount of different graph structures, all inspired by the observed structure of studio apartments found in our database.

We display in Figure 6 a subset of such graphs. We can notice that most adjacencies are sound, and reflect typical program mix and connections usually found in studio apartments.

Figure 6: Sampled Adjacency Graphs | Source: Authors

These graphs can now be graded using the scoring methodology defined above. To limit the number of graphs that our Bayesian approach can yield, we use the score to filter out irrelevant options.

Figure 7: Sampled & Scored Adjacency Graphs | Source: Authors

B. One-Bedroom Apartment

Figure 8: Bayesian Causal Graph for One-Bedroom Apt. Typology | Source: Authors

We apply the same process in this section, this time to a subset of one-bedroom apartments. These floorplans have a living room, a bedroom and a maximum amount of rooms of 10.

The resulting causal graph is shown in Figure 8.

You can also browse through the interactive version of this bayesian causal graph at this address.

We show in Figure 9 a subset of sampled graphs, and in Figure 10 the same graphs, evaluated using the scoring methodology defined previously.

Figure 9: Sampled Adjacency Graphs | Source: Authors
Figure 10: Sampled & Scored Adjacency Graphs | Source: Authors

C. Two-Bedroom Apartment & more

Figure 11: Bayesian Causal Graph for Two-Bedroom Apt. Typology | Source: Authors

We apply the same process in this section, this time to a subset of two-bedroom apartments. These floorplans have a living room, two bedrooms and a maximum amount of rooms of 13.

The resulting causal graph is shown in Figure 11.

You can also browse through the interactive version of this bayesian causal graph at this address.

We show in Figure 12 a subset of sampled graphs, and in Figure 13 the same graphs evaluated using the scoring methodology defined previously.

Figure 12: Sampled Adjacency Graphs | Source: Authors
Figure 13: Sampled & Scored Adjacency Graphs | Source: Authors

III. Conclusion

The Bayesian approach used in this article demonstrates the relevance of stochasticity for the design process. On one hand, statistical inference allows us to model and replicate complicated phenomena and here, complexity found among floorplans. On the other hand, it allows us to generate a wide variety of options, that will inspire the creative process.

At the same time, we provide evidence for the importance of unpacking design into nested steps and levels of abstraction. We have addressed here the underlying structure of floorplans by tackling their adjacency. By both qualifying and generating such adjacencies we demonstrate the importance of a high-level representation of floorplans, and how crucial this abstraction is to the understanding of space planning.

Addressing the hierarchy and connections among rooms is, in fact, an initial step for us towards a more holistic definition of floorplan generation. From a set of adjacencies to the actual geometry of rooms in space, we plan to extend this research and couple our current model with another generative model that would generate the final floorplan layout.

Finally, we hope our framework will help address the endless complexity of floorplan design. Tackling their structure using a Bayesian approach as we do is one possible approach among, we believe, a large set of options. To encapsulate the necessary steps of space planning, the key is more the principle than the method. And with the growing availability of architectural data, we encourage further work and open-minded experimentation.

Jeffrey is a data scientist at Spacemaker. His areas of focus includes surrogate and generative modeling. He holds a bachelors degree in Economics and Computer Science from the University of California, Berkeley in Berkeley, California.

Håkon Dissen is a software engineer at Spacemaker. He holds a masters in computer science from the Norwegian University of Science and Technology.

Håkon Fure is a data scientist at Spacemaker. He works with mathematical modelling together with architects. He holds a master in applied mathematics from l’Institut National des Sciences Appliquées de Toulouse in France.

Stanislas is an architect and data science in Spacemaker’s R&D department. A native of Paris, he received his undergraduate degree in Architecture at the Swiss Federal Institute of Technology of Lausanne, and his Master in Architecture from the Harvard Graduate School of Design. His work focuses on generative design, using ML-based approaches, to assist and enhance architectural conception.

References

  • Pomegranate: Fast and Flexible Probabilistic Modeling in Python, Journal of Machine Learning Research 18, 2018, Jacob Schreiber & al. [Link]
  • Bayesian Statistics: An Introduction, 4th Edition, Peter M. Lee, Wiley [Link]
  • Computer-Generated Residential Building Layouts, Merrell & al., Stanford University, 2010 [Link]

--

--