This thesis proposes that urban designers should use dynamic models that represent the incremental infill process, and that even a simplified model that changes over time can help a designer visualize the contingency and emergence that occur in neighborhood growth. We propose here that a computer algorithm, the cellular automata, can serve as a basis for developing dynamic models.
Like many regions of North America, the San Francisco Bay will grow significantly in the next generation. Population studies project that by 2040 the nine counties surrounding the Bay will add another 2 million people to the 7 million already living there (ABAG and MTC 2013). Every community will feel this increase in population. The pressure for change will cause some neighborhoods to be completely replaced or changed beyond recognition. Other neighborhoods will add density gracefully, finding ways to accommodate new residents through small-scale additions and infill. This densification through infill has been occurring for over a century. Individual homeowners have constructed vertical or horizontal additions, garage units, and mother-in-law apartments. These accessory dwelling units are currently regulated by building codes, with some municipalities encouraging their construction as a way to help homeowners achieve value from their properties. An additional benefit, however, is the increase in density without replacement; the physical and demographic continuity of the neighborhood are enhanced through strategies of incremental change and densification.
However, this process presents a challenge for the planners and designers often tasked with creating visions for future growth. How can a bottom-up process be represented, evaluated, designed? Urban designers and architects typically use drawings and models to organize their proposals and to visualize potential outcomes. These representations are necessarily static, they depict one moment in time. Also they generalize the results; a single drawing, no matter how cleverly conceived, can only indicate one potential outcome. Yet the essence of incremental growth is its un-predictability, with many changes occurring at small-scales. Such a process is difficult to represent without either over-generalizing or choosing a set of controls or constraints that is too restrictive.
Among the tools that urban designers use to visualize future outcomes are the test fit and the master plan buildout. The test fit examines the capacity of an urban plan through design. A designer is given the geometry of a site or parcel with a loose program and conceptual zoning controls and she produces a reasonable scheme that follows these rules. For example, an architect might be asked to show housing on a 1.5 acre site, both townhouses and apartments, with a maximum building height of 4 stories. The result might be a schematic layout, a rendering and set of metrics: unit counts, parking ratios, floor-area-ratio, etc. A master plan build-out is an extrapolation of this technique to an entire planning area; each potential site is test fit for capacity, and the resulting schematic structures are accumulated together as a way to visualize and evaluate the entire proposed project.
This approach is very successful and is often used to test both formal elements such as street layouts, block sizes, parcelization, and allowable height/bulk/setback zoning. Clients find the metrics useful, designers evaluate the character of the resulting fabric, and all participants are glad to have a glimpse of a possible future. The problem is that it is only a possible future. At every step of the proposed future path, different decisions could be made, and the more steps, the more futures are possible. Neighborhood growth, with many small steps made by many individual actors, produces a densely branching tree. Contingency becomes critical: actors in the environment make decisions based on what has happened before and each individual project creates a context for its neighbors and successors. The accumulation of these small actions can often go in unexpected and surprising directions, and new, unanticipated forms will emerge.
The complete work introduces cellular automata, surveys applications to urban design and introduces two models developed for this study using the programming language Python. It goes on to apply the more advanced model to a specific context, a typical residential block in the city of Berkeley, California. Finally, it situates the model within a broader design context, asking how the tools might inform design decisions and demonstrating the method through the exploration of block typologies. The Conclusion brings together the various strands of the work to argue for incremental infill as a solution to the challenges we face in keeping the earth habitable.