Programming Methodology for Biologically-Inspired Self-Assembling
Systems
Otherwise known as “Amorphous Computing” or “Swarm Computing”
Radhika Nagpal (Harvard)
Attila Kondacs (MIT)
Catherine Chang (MIT)
Goal: create self assembly system
Goal: Design system to coordinate emerging technologies such as: self-reconfiguring robots, self
assembling nanostructures, … Difficulties: unreliable cells,
variations in cell numbers, environment changes, etc..
Systems with low fault tolerance cannot handle such difficulties
Two main questions
How do we take a global goal and translate it into local interactions between identical agents?
How do we engineer robust, predictable behavior from large number of unreliable agents?
Answer: General Idea
System uses ideas from morphogenesis and developmental biology
Principles of system formalized with programming languages
After global goal has been specified, global-to-local compilation creates one agent program, which is sent to all (identical) agents
Agents run program using basic cell primitives (routines), and hopefully goal is reached
Motivation / Background
Micro-electronic Mechanical Devices (MEMS). Ex: paint on airplane wing that can change shape depending upon shear, programmable tissues.
These applications require control over large number of individual elements
MEMS
Challenge: Need to coordinate individual goals toward common global goal
Current MEMS methods inadequate because they rely upon external devices such as global clock, coordinate beacons. What if these devices fail?
Current methods also intractable for very large number of agents
Current MEMS systems very expensive, require complex and precise elements / interconnects
Advantages of Biology
Biological systems are incredibly robust in the face of constant death of parts.
System can be constructed from large number of inexpensive, unreliable, mass produced parts
Attempt to mimic how biological agents produce complex pattern and shape during morphogenesis (development of form)
Ex: epithelial cells create skin, capillaries, gut, neural tube, etc…diverse range of structures
System 1: 3d Self-assembling system
General Overview of Process: Self-assembling system is given a desired global
shape, represented abstractly in “folding” language Representation is automatically compiled to
produce agent program Agents run program using 5 basic primitives,
inspired by observation of cell differiation in Drosophilia
Global Shape Representation
Global shape is specified in Origami Shape Language (OSL), a system developed at MIT that can construct a large class of flat folded shapes
Language works with points, lines, regions
Folding operations can generate new lines, new points created by new intersections between lines
Example: cup shape
Compilation
After global shape has been determined, program is compiled and sent to individual agents
Global operations translated into local operations Folding operations translated into biological
primitives 5 primitives of individual agents: gradients,
neighborhood query, cell-to-cell contact, polarity inversion, flexible folding.
“Gradients”
Idea is analogous to gradient from chemical source
Used by agents to measure distance, determine local direction, make geometrical inferences
Gradient creation: agent send gradient to its local neighborhood with value 0. Agents in neighborhood sent gradient to their neighbors with value 1. And so on… Higher value = weaker signal
Conclusion: So what?
Nagpal et al believe their 3d self assembly system is unique for the following 4 reasons:
Global to local compilation General purpose local primitives Robustness Analogies to biology
Unique System Features - 1
1. Global-to-local compilation – allows global goal to be described in an abstract level origami shape language. Then paper folding mathematics is applied to narrow down list of possible shapes.
Agents are sent a compiled program to generate probable global goal
Unique System Features - 2
2. General-purpose Local Primitives – local agents only use a small but powerful set of local primitives.
Gradients can be applied to other problems
Examples: gradients can be used in topological pattern formation, design of ad-hoc sensor networks, discovery of global coordinates without beacons
Unique System Features - 3
3. Robustness – agent programs are robust because they do not depend upon global coordinates, synchronous operation, and can tolerate some amount of agent death.
Robustness achieved by large and dense agent populations
Rely on average rather than individual behavior Trade precision for reliability
Unique System Features - 4
4. Analogies to Biology – agent program is scale independent
If agent programs do not differ, this implies not much genetic difference
Therefore, must observe development process to gain insight into morphology
System 2: 2d shape assembly
2d goal shape specified as a set of overlapping circles. Circle model is powerful, can be constructed from any polygonal 2d shape using computer graphics techniques
Agent Primitives
After constructing circle network, goal is to grow all circles in network, given an initial circle (agent)
Primitives of agents Create gradients Exchange messages with immediate neighbors Reproduce by placing child agent in random position
within fixed radius Die
Agent Types
All high level operations formed from combinations of these primitives
Methodology: 2 important types of agents
1. Grower (circle center) – grow children to expand the network
2. References point – receives and sends gradients to help other agents triangulate their positions
Overview of process
Grow reference points to establish local coordinate system
Use local coordinate systems to determine locations of next circles to grow
Expand to those locations Repeat
Competitive Mechanism
When a grower or reference point agent dies, how do we replace it?
Neighbors of agent “compete” with each other to assume leadership role
Agents send out gradients to determine their own “fitness levels”
Agent with highest fitness level = leader. If leader survives for time > threshold, competition phase ends. All neighbors become passive. No more “fitness level” measuring
Results
Conclusion: high density of cells needed for good shape replication
Specifically, density directly affects “reference point” placement, which is essential to the process
Future: place bounds on error from insufficient agent density? maybe can extend this self assembly system to 3d?
Conclusion
Results of “amorphous computing” are somewhat amorphous / foggy
No “real” experiments conducted Opinion: Seems more like exercise in design
than actual research. Form your own opinions by reading the
papers.
Interested?
Programming Methodology for Biologically-Inspired Self-Assembling Systems, Nagpal, Kondacs, Chang, AAAI Spring Symposium on Computational Synthesis: From Basic Building Blocks to High Level Functionality, March 2003.
Kondacs, Biologically-inspired Self-Assembly of 2D Shapes, Using Global-to-local Compilation, International Joint Conference on Artificial Intelligence (IJCAI), 2003.
MIT Amorphous Computing http://www.swiss.ai.mit.edu/projects/amorphous/