A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable...

25
A Brief History of Amorphous Computing Jake Beal April, 2007

Transcript of A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable...

Page 1: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

A Brief History of Amorphous Computing

Jake BealApril, 2007

Page 2: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Motivation: Organization

From the amorphous computing manifesto:– How do we obtain coherent behavior from the

cooperation of large numbers of unreliable parts that are interconnected in unknown, irregular, and time-varying ways?

– What are the methods for instructing myriads of programmable entities to cooperate to achieve particular goals?

The problem is description

Page 3: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

What is a Language?

● Standardized library of parts [Primitives]● Rules for building bigger parts by

combining smaller parts [Composition]● Mechanism for naming parts and treating

them like primitives. [Abstraction]

What is explicit and what is implicit?

Page 4: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Four Themes

● Physics: reaction-diffusion, wave equations, turing patterns, population dynamics

● Infrastructure: firefly time synch, coordinate systems, clustering

● Morphogenesis: MCL, GPL, OSL, 2D shape growth

● Engineering: Paintable Computing, Persistent Nodes, AML, Proto

Page 5: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Physics: PDEs

● Reaction-Diffusion (Coore & Nagpal, 1998)

Page 6: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Physics: PDEs

● Wave Equation (Rauch, 1999)

Page 7: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Physics: PDEs

● Biologically plausible Turing Patterns (Rauch & Millonas, 1999)

Page 8: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Physics: Population Dynamics

● Group Evolution (Rauch, 2002)

Page 9: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Infrastructure: Time Synch

● Strogatz firefly demo (Beebee, 1998)

Page 10: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Infrastructure: Coordinates

● (Coore, Nagpal, Shrobe, Bachrach)

Page 11: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Infrastructure: Groups

● Clubs algorithm (Coore, Nagpal, Weiss)

Page 12: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Morphogenesis

● Microbial Colony Language (Weiss, Homsy & Nagpal, 1998)

Page 13: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Morphogenesis

● Growing Point Language (Coore, 1999)

Page 14: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Morphogenesis

● Origami Shape Language (Nagpal, 2001)

Page 15: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Morphogenesis

● 2D Shape Growth (Kondacs, 2003)

Page 16: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Engineering

● Paintable Computing (Butera, 2001)

Page 17: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Engineering

● Dataflow Hack (Beal & Newton, 2002)

Page 18: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Engineering

● Persistent Node (Beal, 2003)

Page 19: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Engineering

● Amorphous Medium & AML (Beal, 2004)

Page 20: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Spatial Computing

Page 21: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Engineering

● Proto (Beal & Bachrach, 2006)– Based on Amorphous Medium– 3 sets of space/time primitives:

● Restriction● Incremental evolution● Field/summary operations

– Powerful:● Compact code● Gradual degradation● Automatic scaling

Page 22: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Compact Code

● Target tracking: 28 lines● Threat avoidance: 22 lines

Page 23: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Gradual Degradation

● Plane wave at different resolutions:

100

1,000

10,000

Page 24: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Automatic Scaling

● Target tracking on 20 to 10,000 nodes:

Page 25: A Brief History of Amorphous Computing · 2D Shape Growth (Kondacs, 2003) Engineering Paintable Computing (Butera, 2001) Engineering Dataflow Hack (Beal & Newton, 2002) Engineering

Where now?

● Applications!– Swarm robotics– Reconfigurable robotics– Synthetic biology– Sensor networks

● Theory– How good are the approximations?– How do you predict composition?– How do you describe acceptable behavior?