Types of Computable Spaces

As the name implies, computable spaces are conceptions of space that have a close affinity to mathematical constructs and data structures.

They essentially derive their own affordances (and hindrances) from mathematics and computational logic, which enables us to first, create computational models of such spaces, and finally, develop AI to reason through the rules and semantics of those spaces.

Real-World Setting

The real-world setting embodies the aim of our work. If we’re interested in the dynamics of urban redevelopment, then that’s our real-world setting.

To make predictions in the real world with spatial AI, we need a spatial conception that enables us to (1) describe the statics and dynamics of the real world we’re interested in, and (2) compute something about those statics and dynamics.

Spatial Conception

For any computational model, we need ways reduce aspects of the real world to numeric values. The nature of those values is very important, just as the data we use to train a machine learning model guides the performance of that model, particularly with respect to its intended functionality and whatever biases that may result.

In what ways might we describe space to make such descriptions pragmatic for computational design?

In what ways might we describe space to make such descriptions pragmatic for computational design?

To start, most computable notions of space often rely on notions of “location.” Perhaps even a generalized definition of computable space could be an infinite set of locations paired with the logical mechanisms to traverse them.

For example, thanks to our smartphones and similar devices, the most common computable locations are GPS coordinates; even if we don’t interact with the actual numbers, they underlie all our map and navigation apps. Above underlying map by Stamen Design.

Below is a preliminary taxonomy of definitions.

Computable Space

There are a few common patterns of computable space:

“Architectural” Space

Not strictly computable, but this one of the spaces we’re trying to model through computation: The physical, temporal, and experiential expanse of opportunity around our embodied selves. This is our daily tangible experience, so perhaps it’s more properly, “human space?”

I’m tempted to include urban space here technically, but urban spaces are also overlapping systems that each use different spatial models. Everything cataloged here could be combined several times over to represent urban space.

Coordinate Space

Locations in these spaces are represented by of mathematical values, called “ordinates,” sometimes discrete, often continuous. The key to coordinate spaces is you can perform mathematical operations on ordinates to intuitively represent locations.

That is, I add 1 to an ordinate, and I get another location next to the original location, represented by the original ordinate. If I were to compute coordinates in the shape of a circle, the locations in space also form a circle, or at least something circle-like.

This seeming tautology is important, since in computational design we inevitably operate on mathematical values and data, but the outputs and outcomes we want are in a space. So it may be more accurate to say, if in a space I were to isolate locations forming a circle, their respective coordinates would embody consistent mathematical relationships that are circular.

In computational design, coordinate spaces are often our default, as 3D modeling software uses them (like Cartesian grids) as its primary medium. They come in different shapes, like circular and spherical coordinate spaces, and different scales, like a cutting mat on our desk or GPS coordinates for the entire globe.

Vector Spaces

These are analogous to coordinate spaces, but their locations include vectors, which can carry extra dimensionality. With these extras, we can model phenomena like magnetic fields, temperature gradients, wind, gravity, and more.

Indexed Space

Indexed spaces are those in which entities in one space are referred to by entities in another space, an “index.”

Once built, these indices have their own affordances and semantics that make it more efficient to use (or perhaps more relevant to the problem at hand) than the target space.

In a spatial context, you could index street intersections with their cross streets, like in Manhattan, where many locations are simply, “Corner of 8th Avenue and 42nd Street,” and the like.

If we get the index right, we can infer to places and the localities around them. Street addresses could serve as a similar index.

Behind the scenes, the “search index” for engines like Google and Bing make millions of related webpages available to us in milliseconds (with significant computing power to back it, of course). A book index is an indexed space, as terms are arranged in an alphabetical list, but the target space is that of lexical text. A bookmarking app is a managed index of the Internet we’ve personally traversed. A card catalog holds an index of a physical library. A contacts list indexes our social graph.

This relies on the concept of “mapping,” associating one space with another.

Connective Space

Such spaces are defined by associations or connections among entities, but not necessarily those defined by physical positions. These are more abstract; locations can be places but also people or even ideas. With these, you can model the properties of street grids, transit systems, supply chain networks, flights, and social networks.

Or we might model streets as connections between traffic intersections.

A geographic version of a transit map might look like this below, here the Boston T. But the geographic coordinates (latitude and longitude locations) of each station don’t mean much to riders; what matters to them first is the connectivity between the stations that the tracks connect.

Boston T Map from Apple Maps

One class of “spatial agents” occupying the transit system, the riders, are looking for what lines connect which stations, which is why transit maps are usually draw in a graphic fashion that emphasizes station names, their connections, and the individual train lines, like this:

Boston T Map

Similarly, the London transit map:

Social networks are connective spaces among people (the “locations”). Things like conversations or ideas traverse (and evolve) as they move from person to person.

An architectural example, court houses need to create connected pathways for different personas (judges, defendants, general public) and also isolate those pathways from each other except for specific places, like the courtrooms.

Connective spaces are effectively modeled by data structures like trees and graphs.

And in a machine learning context, there are a growing number of techniques like graph convolutional networks and graph embeddings that are expanding the possibilities for modeling connective space.

Metric Space

In a metric spaces, “distance” is the key concept, which is useful for spatial problems involving quantities like time and cost. Metric spaces are spaces in which distance is well-defined. That is, given any two locations, one can use a function to compute a distance between them, and distances follow the typical rules of addition.

For example, transit times between urban metro stops can serve us without a cartographic map. If you were to collect data from riders who were timing their morning and evening commutes, then you’d have a sampling of data from a metric space. In fact, one could say looking at a transit network as a metric space with distance as time is even more useful to riders, as what they’re really interested in is how long it takes to get from departure station to destination.

A graphic map of the Boston T with respect to time might look like this (here, drawn by Stone Brown Design):

But time and physical distance isn’t the only “distance” function, costs associated with shipping routes could be a metric space that fluctuates with volatile prices of resources, like fuel and personnel.

Topological Space

This is less a discrete type of space but rather a characteristic of spaces. Here, we refer to overall patterns of relations among entities. By thinking of architectural space in topologies, we may be able to describe the categorical similarities and differences of experiences and access.

More abstractly, a two-dimensional coordinate space is “toroidal” if traversing locations continuously in either cardinal direction eventually leads back upon itself.

This doesn’t mean a toroidal space is necessarily shaped like a donut, but that the connectivity of the space mimics what would happen as if an ant were crawling on a donut.

So many more possibilities exist. Möbius strips of course fit into this typology. Slice a donut the right way, and you have a surface in a cylindrical space. And there’s a rich area of exploration of topological relationships between surfaces and spaces.

The Point

This taxonomy aims to give us a toolkit for picking the right pattern for the design problem at hand. With each type comes different modes of computation, each with its own affordances, which naturally serve some situations better than others. It’s a foundational piece to spatial AI, enabling us eventually to reason with AI more effectively.

(It also complement a typology of conceptual space, pending another post.)