This program investigates how self-organizing system could be systematically regulated by user preferences. Self-organization could be compatible with optimization process for global statistics. However, design objectives are not always well-defined, for example, user preference on forms is difficult to be formulated explicitly. To approach this problem, the Himmelstadt program tries to regulate self-organizing process via real-time interaction between the user and the computer. Particularly, cellular automaton is employed as a self-organizing system to model an urban district.
The concept of cellular automata (CA) was raised by the research of Ulam (on crystal growth) and Neumann (on self-replicating system), however, it didn’t become a widely recognized model until Gardner (1970) introduced Convey’s Game of Life. The dynamical system is based on a 2-dimensional lattice. Each cell has two states of “on” and “off”. There is a set of local rules for updating the state of each cell. Obviously, it is a self-organizing system. This simple machine amazed a lot of people by its complex products, e.g., still structure, oscillators and “spaceships”(periodic movements). Some scientists employed CA as a universal tool to model complex behavior, for example Wolfram (1984) stated that: Natural systems from snowflakes to mollusc shells show a great diversity of complex patterns, The origins of such complexity can be investigated through mathematical models termed ‘cellular automat’. Some researchers (Coates 1996, Herr 2007) have tried to employ CA in architectural design, but it seems that the methods to integrate local behavior and global patterns are not well developed.
A CA with eight neighbors is employed, the state of a cell in the next iteration is determined by the current states of eight neighbors around it. Thus, the updating rules serve as a function that has nine (8 neighbors plus the cell itself) boolean inputs and one boolean output. The task is to derive a specific function that leads to certain preferred global behavior. A user interface is developed (see video below). The variations of CA are shown on the top. Notice the system is a dynamical system, and the image for each CA is the resulting state after running the CA for dozens of iterations. Based on the interface, the user could select one particular CA to watch an animation of the evolving process. By these images or animations, the user could give his preferences (give high scores to favorite ones ). Then the computer would create a new generation of CAs by reproducing, mutating and crossing the preferred ones. A new generation always has new variations; and it probabilistically moves towards certain direction imposed by fitness function.
The results indicate that it is feasible to evolve CAs according to user preference. On one hand, both the self-organization within each CA and the interactions between the variations of CAs provide novel candidates; on the other hand, the user is able to guide the generations of CAs towards his own “flavor” gradually. Nevertheless, the main drawback is that the user’s exploration is time consuming. Besides, good results are not always assured. The artificial evolution in this program is not always continuous, in other words, the preferred CAs do not always produce desirable offspring in the succeeding generations. However, non-continuity is an essential aspect of evolution since it brings novel offspring. As a result, there is a trade-off between novelty and continuity.
At the final stage, the selected CAs are used to simulate the development of an urban district. There are two aspects that are valuable for architects or planners. One is about the interesting geometry and topological structures; the other is about the stability of the dynamical system: some CAs convergence to a certain pattern (towards equilibrium) even with different initial states; by contrast some would lead to very different results even with similar initial states. Thus, this experiment is useful for studying the dynamics of urban development.
researchers: Hao Hua, Brian Wang.