170 likes | 259 Views
Growing arbitrary shapes with more fun than you can shake a caml at! Swarm @ UVa October 4 th , 2002 Christopher Frost frost@virginia.edu Massachusetts Institute of Technology / University of Virginia. Shape Formation Through Cell Growth and Gradient Exudation. Overview.
E N D
Growing arbitrary shapes with more fun than you can shake a caml at! Swarm @ UVa October 4th, 2002 Christopher Frost frost@virginia.edu Massachusetts Institute of Technology / University of Virginia Shape Formation ThroughCell Growth and Gradient Exudation
Overview • Amorphous computing • Goals • Description of environment • Creating shapes without direction • Bootstrapping, determining the ‘goodness’ of cells • Shapes to descriptions • Future work
Amorphous 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
Amorphous Computing:Why 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
Goals • 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
Child Area Environment Description • Cell Primitives • Replication/Having children • Defines one’s ‘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 we’re 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
Environment Description, cont • Cells are immobile • Cells can’t overlap • No concept of orientation of a cell or a global notion of direction • Gradients spread instantly • Gradients allow measurement of exact distance
Environment 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
How 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
Without 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
General Location ‘Goodness’ Algorithm • Phi is the measure of how good a cell’s 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
Ref 0 Ref 3, defined above Ref 4 Ref 1 Ref 2 Example 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
Getting Cells to Figure OutWho Has the Best Phi Value:A 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
Getting 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’
Qualities 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
Shapes 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
Future Work • The near future • Finish implementing multiple circle creation (Implement ideas for cell death and growth restart) • Read Catie’s program’s datastructure • Ideas to look into • Introducing more perturbations and testing robustness • Possibly optimizing when should cells die • Dynamic gradient dependent determination / robust shape recreation