Our world is filled with systems of entities that collaborate in motion, both natural and engineered. These cooperative distributed systems are capable of sophisticated and surprising emergent behavior that arises from the comparatively simple interactions of their members. A model system for emergent collective behavior is programmable matter, a physical substance capable of autonomously changing its properties in response to user input or stimuli from its environment. This dissertation studies distributed and stochastic algorithms that control the local behaviors and interactions of individual modules of programmable matter to induce complex collective behavior at the macroscale. It consists of four parts.
In the first, a new distributed computing model of programmable matter called the canonical amoebot model is proposed. A key goal of the canonical amoebot model is to bring algorithmic theory closer to the physical realities of programmable matter hardware, especially with respect to concurrency and energy distribution. Two complementary protocols are presented that together can extend existing sequential, energy-agnostic algorithms for programmable matter to the more realistic concurrent, energy-constrained setting without sacrificing correctness, assuming the original algorithms satisfy certain conventions.
In the second part, stateful distributed algorithms that use amoebot memory and communication are presented for leader election, object coating, convex hull formation, and asynchronous hexagon formation. The first three algorithms are proven to have runtimes that are linear in the amoebot system size when assuming a simplified sequential setting. The final algorithm for hexagon formation is instead proven to be correct under unfair asynchronous adversarial activation, the most general of all adversarial activation models.
In the third part, the stochastic approach to self-organizing particle systems is presented. This approach combines distributed algorithms with ideas from statistical physics and Markov chain design to replace algorithm reliance on memory and communication with biased random decisions, requiring little to no memory and gaining inherent self-stabilizing and fault-tolerant properties. Using this stochastic approach, algorithms for compression, shortcut bridging, and separation are designed and analyzed.
Finally, a two-pronged approach to "programming" physical ensembles across scales is presented. This approach leverages the physics of local interactions to pair theoretical, algorithmic abstractions of self-organizing particle systems with experimental robot systems of active granular matter that intentionally lack digital computation and communication. We demonstrate how the behavior of robots whose design physically embodies salient features of an algorithm can be predicted by the algorithm’s theoretical analysis, treating the ensemble behaviors of phototaxing, aggregation, dispersion, and object transport.