Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programming Methodology for Biologically-Inspired Self-Assembling Systems Otherwise known as “Amorphous Computing” or “Swarm Computing” Radhika Nagpal.

Similar presentations


Presentation on theme: "Programming Methodology for Biologically-Inspired Self-Assembling Systems Otherwise known as “Amorphous Computing” or “Swarm Computing” Radhika Nagpal."— Presentation transcript:

1 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)

2 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

3 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?

4 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

5 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

6 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

7 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

8 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

9 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

10 Origami Shape Language

11 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.

12 “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

13 Fold 0 – make paper square

14 Fold 1

15 Fold 2

16 Fold 3

17 Fold 4

18 Fold 5

19 Fold 6 – unfold it

20 Fold 7

21 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

22 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

23 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

24 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

25 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

26 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

27 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

28 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

29 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

30 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

31 Example Black cells are leaders Gray cells are losers White cells still competing

32 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?

33 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.

34 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/


Download ppt "Programming Methodology for Biologically-Inspired Self-Assembling Systems Otherwise known as “Amorphous Computing” or “Swarm Computing” Radhika Nagpal."

Similar presentations


Ads by Google