Today I read a paper titled “Self-Assembling Systems are Distributed Systems”
The abstract is:
In 2004, Klavins et al.
introduced the use of graph grammars to describe — and to program — systems of self-assembly.
We show that these graph grammars can be embedded in a graph rewriting characterization of distributed systems that was proposed by Degano and Montanari over twenty years ago.
We apply this embedding to generalize Soloveichik and Winfree’s local determinism criterion (for achieving a unique terminal assembly), from assembly systems of 4-sided tiles that embed in the plane, to arbitrary graph assembly systems.
We present a partial converse of the embedding result, by providing sufficient conditions under which systems of distributed processors can be simulated by graph assembly systems topologically, in the plane, and in 3-space.
We conclude by defining a new complexity measure: “surface cost” (essentially the convex hull of the space inhabited by agents at the conclusion of a self-assembled computation).
We show that, for growth-bounded graphs, executing a subroutine to find a Maximum Independent Set only increases the surface cost of a self-assembling computation by a constant factor.
We obtain this complexity bound by using the simulation results to import the distributed computing notions of “local synchronizer” and “deterministic coin flipping” into self-assembly.