Spatial Reasoning
Some of what I’m exploring as “spatial reasoning” I’ll unpack below under the sections on designers, environments, and agents. Generally, spatial reasoning is about choreographing spatial dynamics, which depends on the perspective.
From a designer’s perspective, this means deciding on spatial configurations and systems of change. What kinds of opportunities are available (physical locations, visual connection, auditory connection, etc.) and how should an environment be designed to provide them?
More fundamentally, we consider the spatial intelligence and ability of the agents who will occupy these environments:
- What kinds of perception and simulation abilities do they have themselves?
- How can we signal to them what they need to know to navigate and traverse an environment effectively?
- What do they know and when do they know it?
- Can they visualize and simulate, or do they only respond to immediate stimulus and spatial instructions, like the simplest of robots?
- Can artificial intelligence enhance how we approach these questions?
way-guiding → an environment signals to agents way-finding → an agent attempts to find its own way through sensing and reasoning
The properties of the “space” then depend on rules and constraints in the environment, which are potentially determined by the agents themselves.
So if the study of AI formulates how agents may plan to navigate specific environments, maybe it’s productive to use “space” to mean a more abstract nature used to model an environment. (This would obviate a few common usages like “living space,” which doesn’t seem problematic to me.)
Computationally, we would model the connectivity of such environments differently depending on our concerns. If we only care about street topology, we may model intersections as nodes and street lanes as edges in a representative graph data structure. But if we’re interested in the characteristics of air flow and ventilation through the same environment, we would prefer a polygonal mesh decorated with normal vectors instead.