In short, my work centered on the development of bottom-up space planning software - borrowing mechanisms of self-organization from ants, termites, slime moulds and other social organisms to solve spatial adjacencies amongst elements of a given programmatic brief. The model treats each programmatic element as an autonomous agent whose goal is to territorialize some portion of a shared three dimensional node network. Agents communicate indirectly through the modification of this mutual environment via virtual "pheromones". Each agent both pursues and emits a specific pheromone concentration or "target" in its occupation of space. As such, agents with similar targets congregate while those with disparate targets avoid each other as they expand and refine their respective territories.
In due time, adjacencies between compatible programs self-organize producing an informed schematic design solution. The trick lies in defining compatibility ie. determining the appropriate pheromone target of each element in the programmatic brief. For now I've left this up to manual input - targets can be changed in real time if space is settling in undesirable ways. Moving forward however, I'd be interested in giving the agents the ability to refine their own targets if they find themselves in uncomfortable configurations.
In any case, spatial organization becomes the emergent product of a competitive ecology - agents negotiate with one another, carving out their own niches within a finite volume. The task of space planning, one that is typically carried out by a singular high-level decision-maker (aka the architect), is handed off to the distributed decision-making of low-level collective intelligence - a common approach to solving problems that exceed a certain level of complexity. Much like the slime mould mentioned a few posts back, the individuals of this collective brain are quite stupid - following only the simplest of rules - yet the result of their collective efforts can be remarkably clever.
Platforms: Eclipse, Processing