Natural Computing

, Volume 10, Issue 1, pp 337–355 | Cite as

Distributed agreement in tile self-assembly



Laboratory investigations have shown that a formal theory of fault-tolerance will be essential to harness nanoscale self-assembly as a medium of computation. Several researchers have voiced an intuition that self-assembly phenomena are related to the field of distributed computing. This paper formalizes some of that intuition. We construct tile assembly systems that are able to simulate the solution of the wait-free consensus problem in some distributed systems. (For potential future work, this may allow binding errors in tile assembly to be analyzed, and managed, with positive results in distributed computing, as a “blockage” in our tile assembly model is analogous to a crash failure in a distributed computing model.) We also define a strengthening of the “traditional” consensus problem, to make explicit an expectation about consensus algorithms that is often implicit in distributed computing literature. We show that solution of this strengthened consensus problem can be simulated by a two-dimensional tile assembly model only for two processes, whereas a three-dimensional tile assembly model can simulate its solution in a distributed system with any number of processes.


Tile self-assembly Consensus problem Consensus hierarchy 



This research was supported in part by National Science Foundation Grants 0652569 and 0728806. I am grateful to James Aspnes, Jim Lathrop, Jack Lutz and Scott Summers for helpful discussions on earlier versions of this paper. I am especially grateful to Soma Chaudhuri for many helpful discussions.


  1. Arora S, Blum A, Schulman L, Sinclair A, Vazirani V (2007) The computational worldview and the sciences: a report on two workshops. NSF Report, October 2007Google Scholar
  2. Attiya H, Welch J (2004) Distributed computing: fundamentals, simulations, and advanced topics, 2nd edn. Wiley Series on Parallel and Distributed ComputingGoogle Scholar
  3. Chen H-L, Goel A (2005) Error free self-assembly using error prone tiles. In: Ferretti C, Mauri G, Zandron C (eds) DNA computing 10. LNCS, vol 3384. Springer, Berlin, pp 1–11Google Scholar
  4. Fischer M, Lynch N, Paterson M (1985) Impossibility of distributed consensus with one faulty process. J ACM 32(2):374–382MathSciNetMATHCrossRefGoogle Scholar
  5. Fujibayashi K, Zhang DY, Winfree E, Murata S (2008) Error suppression mechanisms for DNA tile self-assembly and their simulation. Nat Comput 8(3):589–612MathSciNetGoogle Scholar
  6. Gacs P (2004) Reliable cellular automata with self-organization. J Stat Phys 103(1–2):45–267MathSciNetGoogle Scholar
  7. Herlihy M (1991) Wait-free synchronization. ACM Trans Program Lang Syst 13(1):124–149CrossRefGoogle Scholar
  8. Herlihy M, Shavit N (2008) The art of multiprocessor programming. Morgan Kaufmann, BurlingtonGoogle Scholar
  9. Kao M-Y, Ramachandran V (2001) DNA self-assembly for constructing 3D boxes. In: Eades P, Takaoka T (eds) Proceedings of the 12th international symposium on algorithms and computation (ISAAC 2001). LNCS, vol 2223, pp 429–441Google Scholar
  10. Lathrop J, Lutz J, Summers S (2007) Strict self-assembly of discrete Sierpinski triangles. In: Computation and logic in the real world: proceedings of the third conference on computability in Europe. Springer, Heidelberg, pp 455–464Google Scholar
  11. Lathrop J, Lutz J, Patitz M, Summers S (2008) Computability and complexity in self-assembly. In: Logic and theory of algorithms. LNCS, vol 5028, pp 349–358Google Scholar
  12. Patitz M, Summers S (2008) Self-assembly of decidable sets. In: Proceedings of the seventh international conference on unconventional computation, Vienna, Austria, August 25–28, 2008, SpringerGoogle Scholar
  13. Rothemund PWK (2001) Theory and experiments in algorithmic self-assembly. Ph.D. thesis, University of Southern California, Los AngelesGoogle Scholar
  14. Rothemund P, Winfree E (2000) The program-size complexity of self-assembled squares. In: Proceedings of the 32nd annual ACM symposium on theory of computing, pp 459–468Google Scholar
  15. Soloveichik D, Winfree E (2007) Complexity of self-assembled shapes. SIAM J Comput 36(6):1544–1569MathSciNetMATHCrossRefGoogle Scholar
  16. Soloveichik D, Cook M, Winfree E (2008) Combining self-healing and proofreading in self-assembly. Nat Comput 7(2):203–218MathSciNetCrossRefGoogle Scholar
  17. Sterling A (2008) A limit to the power of multiple nucleation in self-assembly. In: Taubenfeld G (ed) Proceedings of the international symposium on distributed computing 2008. LNCS, vol 5218, pp 451–465Google Scholar
  18. Sterling A A Limit to the power of multiple nucleation in self-assembly (full version). (submitted)
  19. Sterling A Self-assembly as graph grammar as distributed system. (submitted)
  20. Winfree E (1998) Algorithmic self-assembly of DNA. Ph.D. thesis, California Institute of Technology, PasadenaGoogle Scholar

Copyright information

© Springer Science+Business Media B.V. 2010

Authors and Affiliations

  1. 1.Department of Computer ScienceIowa State UniversityAmesUSA

Personalised recommendations