Download presentation
Presentation is loading. Please wait.
Published byAnna Mitchell Modified over 9 years ago
1
An Introduction to Amorphous Computing Daniel Coore, PhD Dept. Mathematics and Computer Science University of the West Indies, Mona
2
The Amorphous Computing Concept Inspiration: A collection of cells self-organize to form a single organism What are the organising principles at work within each of the individuals?
3
Motivation To control massively parallel systems (biological, chemical, quantum) that are likely to be built in the near future to do useful work: e.g. ― Build molecular scale circuits, ― Act as smart drug dispensers ― Build 'smart' materials To surpass the physical limits of traditional computers: by using low-cost parallelism
4
The Amorphous Computing Model Particle Constraints ― Asynchronous ― Irregularly located ― Local broadcast only ― Limited Resources ― Single program for all ― Only "reasonable" initial conditions
5
The Challenge How do we write programs to reliably produce coherent global behaviours under these constraints?
6
Outline Background ECOLI Simulator Current Directions
7
Background 1996: Simple Algorithms: Clusters, Leader Election 1997: Coordinate Systems (Coore, Nagpal) 1997: Tube Formation (Weiss) 1997: Amorphous Inverter (Coore) 1998: GPL – Growing Point Language (Coore) 2000: OSL – Origami Shape Language (Nagpal) 2003: Growth and Self-Assembly (Kondacs) 2003: Persistent Nodes (Beal) 2004 - : System Level languages (Beal, Coore)
8
Gradients Gradients: Assign values that increase (or decrease) with the distance from some specified processor. ― Solution: Measure hop count from processor. Smooth values by averaging, if necessary.
9
ECOLI Extensible Calculus of Local Interactions ― Idea “cooking” since 1997. ― Programming discipline used to develop GPL ― Interpreter developed at UWI in 2000, still in progress. Event-Driven Language ― messages arriving at processors trigger handlers ― handlers may, in turn, send more messages
10
Example: Finding Hop Counts Problem: Have each agent discover its shortest hop count to a given set of agents. (define-behaviour find-dist ((current-dist 10000)) (define-dict default (DIST (src-id n) (guard (< n current-dist)) (set current-dist n) (send DIST src-id (+ n 1))) (ACTIVATE () (set current-dist 0) (send DIST my-id 1)))) (init (set my-id (random 2000)) (if (< my-id10) (run find-dist)))
11
Simulator Screen Shot
12
Coordinate Systems a) x = k b) y = k c) r = k d) θ = k e) error a b c d e
13
The Amorphous Inverter A CMOS Inverter: Processors apply labels to themselves in the pattern of the CMOS layout of an inverter.
14
The Growing Point Language Language for describing topological relations In theory, any planar graph can be described Pattern descriptions are automatically converted into individual processor activities.
15
The Origami Shape Language OSL described patterns of folds as if they were origami commands. Compiled to agent level where local level actuations were effected to produce folds in correct sequence.
16
Current Efforts ECOLI enhancement. (Holness) A Higher Level Pattern Description Language (Coore) Persistent Nodes (Beal) Calculus for Localization (Ferguson, Coore)
17
Things To Be Done Language for programming mobile agents. Language for self-organizing function (vs. pattern formation = self-organizing form) Cooperative Computing: agents self-organize resources (computation + space) to solve a big problem. Powerful generalizable simulator for Amorphous Computing model to allow experiments with languages A coordinate-free language for network localization
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.