Title: Shape Formation Through Cell Growth and Gradient Exudation
1Shape Formation ThroughCell Growth and Gradient
Exudation
- Growing arbitrary shapes with more fun
- than you can shake a caml at!
- Swarm _at_ UVa
- October 4th, 2002
- Christopher Frost
- frost_at_virginia.edu
- Massachusetts Institute of Technology /
- University of Virginia
2Overview
- Amorphous computing
- Goals
- Description of environment
- Creating shapes without direction
- Bootstrapping, determining the goodness of
cells - Shapes to descriptions
- Future work
3Amorphous Computing
- The defining characteristics of an amorphous
system are - Large numbers of identically programmed elements
- Limited computing power of individual elements
- Limited communication radius
- No a priori or global knowledge of the system
- No positional information
4Amorphous ComputingWhy Spatial Organization?
- This is a general example of how to organize an
amorphous system - Spatial differentiation is a clean way of showing
differentiation of function - Prevalence in biology
5Goals
- Develop a method of constructing arbitrary shapes
using only cells which have no concept of
direction and can - Replicate
- Commit suicide
- Exude and react to gradients
- Create circles from circles creating and using
reference points - Work in 2D
6Environment Description
- Cell Primitives
- Replication/Having children
- Defines ones family
- Committing suicide
- Important because of positioning later on..
- Exuding and reacting to gradients
- Control amount of material exuded, determining
how far a gradient will travel - Not as realistic as were shooting for, but
easier for now - When a cells reads a gradient it knows
- corresponding reference id, the strength of
the gradient here, and the exuder's phi value
7Environment Description, cont
- Cells are immobile
- Cells cant overlap
- No concept of orientation of a cell or a global
notion of direction - Gradients spread instantly
- Gradients allow measurement of exact distance
8Environment Simulator
- Was thread for every cell
- Now execs cell steps in random order (random
subset of cells in each cycle) - So methods can't depend on cells receiving
gradients instantly - Later reintroduce threads to exec fixed number
of, but randomly chosen, cells at a time - Cells sleep until a change in the environment
- Big speedup, most cells not executing most of the
time - Gradients can pass through voids, but we only
use gradients that pass through cell areas
9How Do We Create Shapes Without The Notion of
Direction?
- We can create local coordinate systems in circles
composed of cells - Creating five reference points allows you to
triangulate the closest cell within a circle to
some position - Including locations to grow new circles
- Five? Indeed, we will use all five in
locating the first three reference points of
additional circles
10Without Direction,How Do We Get The First Five
Points?
- First cell becomes the center
- Second reference point is an arbitrary
- point on the circumference
- Third reference point cell a certain distance
from second reference point - Fourth and fifth points triangulate using three
existing points and be at least some minimum
distance from each other - Can now locate any point within the circle and
triangulate points in the creation of new circles
11General Location Goodness Algorithm
- Phi is the measure of how good a cells location
is compared to the location we would like - A is the set of gradient values a particular
cell reads and B is the set of gradient values
one is trying to find - Scale independent
12Example of Defining a Reference Point
Create a reference point with the id 3 whose
gradient travels the diameter of the circle uses
reference points 4, 1, 0, and 2, the ratios ...
, and triangulation to position itself
13Getting Cells to Figure OutWho Has the Best Phi
ValueA Fierce Competition
- Two methods explored
- cell hopping and listen and exude
- Cell hopping
- A cell asks its family for their phis, tells
family the best phi value heard - If you ask your family and you are the best, send
the gradient and terminate - Cell familiage often has separations, so this
method can get stuck - Many gradients sent
14Getting Cells to Figure OutWho Has the Best Phi
Value, cont
- Listen and exude
- Every cell listens to reference points it can
hear - Finds phi value for every gradient it could
create using these hearable reference points - If this value is within a certain range, the cell
tries to become the gradient emitter - If if no one else is exuding or this gradient is
not being exuded with a better phi than ours - this cell becomes the winner, exudes
- Stop exuding if
- another, better phied, gradient is heard
- we fall out of the phi range
15Qualities of theListen and Exude Method
- If a gradient disappears, someone else will pick
it up - Currently the first two points of the first
circle are not recreateable, but once the first
circle is created this can be changed - If a reference point moves, reference points
which depend on this reference point can move
16Shapes to Descriptions
- Describe an arbitrary shape by packing it with
overlapping circles - Three-phase compilation
- Finding an efficient circle covering (initial
network) - Constructing a tightly-linked network of circles
by introducing intermediate circles - Specifying position information in terms of
- distance ratios
17Future Work
- The near future
- Finish implementing multiple circle creation
- (Implement ideas for cell death and growth
restart) - Read Caties programs datastructure
- Ideas to look into
- Introducing more perturbations and testing
robustness - Possibly optimizing when should cells die
- Dynamic gradient dependent determination / robust
shape recreation