Swarm intelligence 2009 spring columbia
From KokkugiaWiki
spring 2009 | columbia gsapp | roland snooks | roland@kokkugia.com
Contents |
workshops
workshop 01
introduction to processing
rhinoScript agent
workshop 02
object oriented programming and vectors
introduction to steering behaviors
workshop 03
processing advanced agent code
workshop 04
kAgent drawing and extracting line networks
processing attractors and obstacles
workshop 05
processing output
rhinoScript introduction
rhinoScript importing custom file formats - importing agents to rhino
rhinoScript morphodynamic - attractor tools, using the proximity of agents to effect geometry
desk crit sign up 04/19
2:00_Name_Location
2:20_Name_Location
2:40_Name_Location
3:00_Name_Location
3:20_Name_Location
3:40_Name_Location
4:00_Name_Location
4:20_Marlisa & Benedict 500N 1st/2nd row on the left
kAgent code
kAgent repository of code and examples
working code
student projects
Marlisa & Benedict
Ignacio and Sergio
Joe
Chen
Lauren
david and brad
Leigha and Adam
Mariliis
Keunbo and Mike
resources
kGeom
basic kAgent code flow diagram
swarm intelligence reading
swarm intelligence links
scripting links
meshing resources
processing useful stuff
news
project: swarm urbanism
The major project of the Swarm Intelligence workshop is to develop a multi-agent design methodology that operates at an urban scale. An application of swarm logic to urbanism enables a shift from notions of the master-plan to that of master-algorithm as an urban design tool. This shift changes the conception of urban design from a sequential set of decisions at reducing scales, to a simultaneous process in which a set of micro or local decisions interact to generate a complex urban system. Rather than designing an urban plan that meets a finite set of criteria, urban imperatives are programmed into a set of agents which are able to self-organise.
Urban structures always act as ecologies while their design is often sequential. Swarm Urbanism seeks to develop design strategies which operate as an ecology of mutually negotiating agents, which cause a necessary rethinking of many of the hierarchies which exist in urban planning. This project necessitates the development of a minimum of two teams of agents which operate to generate two different aspects of the urban fabric (eg. road networks, public space, program, built mass).
The deliverables for this project will be as a minimum:
1. working processing swarm code
2. plans/sections/axos of the final design
3. catalogue of possible outcomes (demonstrating the extents and refinement of the system)
4. diagram of the rules encode into the agents
syllabus
This seminar will examine the role of agency within generative design processes. The course will engage algorithmic techniques in the development of a computational methodology grounded in swarm intelligence. While discussing the political and social role of agency, the workshop will focus on an abstract design methodology, recasting simple decision making ability into agents capable of self-organizing into an emergent intelligence. Scripting will form the basis for algorithmic models which enable localized interaction of agents to generate emergent topologies in the design of proto-architectural forms, structures and articulation. Unlike the typical application of swarm systems in design, this workshop will not engage simply in the mapping of these complex systems, but instead, we will mine the self-organizing potential of the systems to negotiate between a complex set of desires and parameters in the generation of architecture.
The semester will focus around two areas of research, initially developing simulations of vector based swarm systems and then using these as the basis for developing an architectural design methodology which operates within a topological substrate. This second stage of the research will shift away from any analogous relationship to an existing swarm systems and develop a design process capable of negotiating architectural inputs.
The seminar will intensively engage scripting, using and expanding on a library of agent code which will ensure that students are not slowed by the necessity of writing all the code they require. Instead the focus will be on the application and manipulation of code within the design process. This expansive library has been developed through research at Kokkugia and previous studios and seminars. The library consists of relatively simple functions (such as steering behaviors) which can be recombined in the development of more complex algorithms.
Computational design is shifting away from the reliance on heavy platforms such as Maya’s MEL scripting language into lightweight object oriented programming environments, enabling the massive iteration required for emergent processes. In anticipating this shift, the workshops will focus on the newer lightweight languages such as Processing and Python. As the research shifts into a topological substrate these languages will be transferred into Maya (Python) and RhinoScript to enable agent intelligence to be embedded into geometry.
schedule
week 1
Seminar: Introductory lecture
Instruction: introduction to processing
weekend workshop: processing - object oriented + vector libraries + intro to steering behavior
week 2
Instruction: Steering behaviors + processing in 3D
week 3
Instruction: Agent libraries and advanced steering behaviors
Critique: Desk crits for project 1B
week 4
Seminar: The algorithmic emergence of character
Critique: presentation of project progress
week 5
Seminar: The substrate of agent code
week 6
Seminar: Materializing the Swarm
Instruction: Processing Output + RhinoScript
Critique: Desk crits for project 1C
week 7
Final project review
