Programming Methodology for Biologically-Inspired Self-Assembling Systems Otherwise known as...

34
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)
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    224
  • download

    0

Transcript of Programming Methodology for Biologically-Inspired Self-Assembling Systems Otherwise known as...

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

Origami Shape Language

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

Fold 0 – make paper square

Fold 1

Fold 2

Fold 3

Fold 4

Fold 5

Fold 6 – unfold it

Fold 7

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

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/