340 likes | 485 Views
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.
E N D
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
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 Motivation / Background
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
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 System 2: 2d shape assembly
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
Example Black cells are leaders Gray cells are losers White cells still competing
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/