Natural Computing

, Volume 11, Issue 3, pp 475–498 | Cite as

Programming and evolving physical self-assembling systems in three dimensions

  • Navneet Bhalla
  • Peter J. Bentley
  • Peter D. Vize
  • Christian Jacob


Being able to engineer a set of components and their corresponding environmental conditions such that target entities emerge as the result of self-assembly remains an elusive goal. In particular, understanding how to exploit physical properties to create self-assembling systems in three dimensions (in terms of component movement) with symmetric and asymmetric features is extremely challenging. Furthermore, primarily top-down design methodologies have been used to create physical self-assembling systems. As the sophistication of these systems increases, it will be more challenging to use top-down design due to self-assembly being an algorithmically NP-complete problem. In this work, we first present a nature-inspired approach to demonstrate how physically encoded information can be used to program and direct the self-assembly process in three dimensions. Second, we extend our nature-inspired approach by incorporating evolutionary computing, to couple bottom-up construction (self-assembly) with bottom-up design (evolution). To demonstrate our design approach, we present eight proof-of-concept experiments where virtual component sets either defined (programmed) or generated (evolved) during the design process have their specifications translated and fabricated using rapid prototyping. The resulting mechanical components are placed in a jar of fluid on an orbital shaker, their environment. The energy and physical properties of the environment, along with the physical properties of the components (including complementary shapes and magnetic-bit patterns, created using permanent magnets to attract and repel components) are used to engineer the self-assembly process to create emergent target structures with three-dimensional symmetric and asymmetric features. The successful results demonstrate how physically encoded information can be used with programming and evolving physical self-assembling systems in three dimensions.


Embodied computation Evolutionary computing Physical information encoding Rapid prototyping Self-assembly Tile assembly model 



We would like to thank the two anonymous reviewers for their thoughtful and insightful comments.


  1. Adleman L (1994) Molecular computation of solutions to combinatorial problems. Science 266(5187):1021–1024CrossRefGoogle Scholar
  2. Adleman L, Cheng Q, Goel A, Huang M-D, Kempe D, de Espanés PM, Rothemund PWK (2002) Combinatorial optimization problems in self-assembly. In: 34th ACM international symposium on theory of computing, New YorkGoogle Scholar
  3. Ampatzis C, Tuci E, Tuci V, Christensen AL, Dorigo M (2009) Evolving self-assembly in autonomous homogeneous robots: experiments with two physical robots. Artif Life 15(4):1–20CrossRefGoogle Scholar
  4. Ball P (1999) The self-made tapestry pattern formation in nature. Oxford University Press, OxfordzbMATHGoogle Scholar
  5. Bentley PJ, Wakefield JP (1997) Finding acceptable solutions in the pareto-optimal range using multiobjective genetic algorithms. In: Chawdry PK, Roy R, Pant RK (eds) Soft computing in engineering design and manufacturing. Springer Verlag London Limited, Heidelberg, pp 231–240Google Scholar
  6. Berger R (1966) Memoirs of the american mathematical soceity—the undecidability of the domino problem. American Mathematical Society, ProvidenceGoogle Scholar
  7. Bhalla N, Bentley, PJ. Programming physical self-assembling systems via physically encoded information. In: Doursat R, Sayama H, and Michel O (eds) Morphogenetic engineering: toward programmable complex systems. NECSI “Studies on Complexity” Series. Springer-Verlag (in press)Google Scholar
  8. Bhalla N, Bentley PJ, Jacob C (2007) Mapping virtual self-assembly rules to physical systems. In: Proceedings of the international conference on unconventional computing (UC 2007), BristolGoogle Scholar
  9. Bhalla N, Bentley PJ, Jacob C (2010) Evolving physical self-assembling systems in two-dimensions. In: Proceedings of the international conference on evolvable systems (ICES 2010)Google Scholar
  10. Bhalla N, Bentley PJ, Vize PD, Jacob C (2011) Staging the self-assembly process using morphological information. In: Proceedings of European conference on artificial life, Paris, FranceGoogle Scholar
  11. Blasquez I, Poiraudeau J-F (2003) Efficient processing of Minkowski functionals on a 3D binary image using binary decision diagrams. J WSCG 11(1)Google Scholar
  12. Boncheva M, Bruzewicz DA, Whitesides GM (2003a) Formation of chiral, three-dimensional aggregates by self-assembly of helical components. Langmuir 19:6066–6071CrossRefGoogle Scholar
  13. Boncheva M, Bruzewicz DA, Whitesides GM (2003b) Millimeter-scale self-assembly and its applications. Pure Appl Chem 75(5):621–630CrossRefGoogle Scholar
  14. Boncheva M, Andreev SA, Mahadevan L, Winkleman A, Reichman DR, Prentiss MG, Whitesides S, Whitesides GM (2005) Magnetic self-assembly of three-dimensional surfaces from planar sheets. Proc Natl Acad Sci 102(11):3924–3929CrossRefGoogle Scholar
  15. Brun Y (2008a) Constant-size tileset for solving an NP-complete problem in nondeterministic linear time. In: Garzon MH, Yan H (eds) DNA. Springer, Berlin, pp 26–35Google Scholar
  16. Brun Y (2008b) Solving NP-complete problems in the tile assembly model. Theor Comput Sci 395:31–46MathSciNetzbMATHCrossRefGoogle Scholar
  17. Buchanan A, Gazzola G, Bedau MA (2008) Evolutionary design of a model of self-assembling chemical structures. In: Krasnogor N, Gustafson S, Pelta DA, Verdegay JL (eds) Systems self-assembly: multidisciplinary snapshots. Elsevier, AmsterdamGoogle Scholar
  18. Callicott N (2001) Computer-aided manufacture in architecture: the pursuit of novelty. Architectural Press, OxfordGoogle Scholar
  19. Chen J, Seeman NC (1991) Synthesis from DNA of a molecule with the connectivity of a cube. Nature 350:631–633CrossRefGoogle Scholar
  20. Cook SA (1971) The complexity of theorem-proving procedures. In Proceedings of the third annual ACM symposium on theory of compuitng (STOC), pp 151–158Google Scholar
  21. Cook M, Fu Y, Schweller R (2011) Temperature 1 self-assembly: deterministic assembly in 3D and probabilistic assembly in 2D. In: Proceedings of the 22nd annual ACM-SIAM symposium on discrete algorithms (SODA 2011)Google Scholar
  22. Corne D, Knowles J (2007) Techniques for highly multiobjective optimisation: some nondominated points are better than others. In: Lipson H (ed) Genetic and evolutionary computing conference, London, pp 773–780Google Scholar
  23. Cox DR, Snell EJ (1989) Analysis of binary data. Chapman and Hall/CRC Press, LondonzbMATHGoogle Scholar
  24. Crick FHC (1970) Central dogma of molecular biology. Nature 227:561–563CrossRefGoogle Scholar
  25. Culik K (1996) An aperiodic set of 13 wang tiles. Discr Math 160:245–251MathSciNetzbMATHCrossRefGoogle Scholar
  26. Douglas SM, Dietz H, Liedl T, Högberg B, Graf F, Shih WM (2009) Self-assembly of DNA into nanoscale three-dimensional shapes. Nature 459:414–418CrossRefGoogle Scholar
  27. Garey M, Johnson DS (1979) Computers and intractability: a guide to the theory of np-completeness. W.H. Freeman and Company, San FranciscozbMATHGoogle Scholar
  28. Gates BD, Xu Q, Stewart M, Ryan D, Wilson CG, Whitesides GM (2005) New approaches to nanofabrication: molding, printing, and other techniques. Chem Rev 105:1171–1196CrossRefGoogle Scholar
  29. Gracias DH, Tien J, Breen TL, Hsu C, Whitesides GM (2000) Forming electrical networks in three dimensions by self-assembly. Science 289(5482):1170–1172CrossRefGoogle Scholar
  30. Gracias DH, Kavthekar V, Love JC, Paul KE, Whitesides GM (2002) Fabrication of micrometer-scale, patterned polyhedra by self-assembly. Adv Mater 14(3):235–238CrossRefGoogle Scholar
  31. Groß R, Dorigo M (2008) Self-assembly at the macroscopic scale. Proc IEEE 96(9):1490–1508CrossRefGoogle Scholar
  32. Hiller J, Lipson H (2009) Design and analysis of digital materials for physical 3D voxel printing. Rapid Prototyp J 15(2):137–149CrossRefGoogle Scholar
  33. Jonoska N, McColm GL (2009) Complexity classes for self-assembling flexible tiles. Theor Comput Sci 410:332–346MathSciNetzbMATHCrossRefGoogle Scholar
  34. Jr ERJ, Eisenberg E, Mazurek D (2009) Vector mechanics for engineers: statics. McGraw-Hill Higher Education, New YorkGoogle Scholar
  35. Kao M-Y, Schweller R (2006) Reducing tile complexity for self-assembly through temperature programming. In: Proceedings of the 7th annual ACM-SIAM symposium series on discrete algorithms, Miami, FL, pp 571–580Google Scholar
  36. Kari L, Mahalingam K (2010) Watson–crick palindromes in DNA computing. Nat Comput 9:297–316MathSciNetzbMATHCrossRefGoogle Scholar
  37. Karp RM (1972) Reducibility among combinatorial problems. In: Miller RE, Thatcher JW (eds) Complexity of computer computations. Plenum Press, New York, pp 85–103CrossRefGoogle Scholar
  38. Li L, Siepmann P, Smaldon J, Terrazas G, Krasnogor N (2008) Automated self-assembling programming. In: Krasnogor N, Gustafson S, Pelta DA, Verdegay JL (eds) Systems self-assembly: multidisciplinary snapshots. Studies in multidisciplinary, vol 5. Elsevier, Amsertdam, pp 281–307Google Scholar
  39. Michielsen K, de Raedt H (2000) Morphological image analysis. Comput Phys Commun 132:94–103zbMATHCrossRefGoogle Scholar
  40. Mitchell M (1996) An introduction to genetic algorithms. MIT Press, CambridgeGoogle Scholar
  41. Murphy MP, O’Neill LAJ (1997) What is life?: the next fifty years: speculations on the future of biology. Cambridge University Press, CambridgeGoogle Scholar
  42. Păun G, Rozenberg G, Salomaa A (1998) DNA computing—new computing paradigms. Springer, New YorkzbMATHGoogle Scholar
  43. Pelesko J (2007) Self assembly: the science of things that put themselves together. Chapman and Hall/CRC Press, Boca RatonzbMATHCrossRefGoogle Scholar
  44. Pelletier O, Weimerskrich A (2002) Algorithmic self-assembly of DNA tiles and its applications to cryptanalysis. In: Proceedings of the international conference on genetic and evolutionary computation (GECCO 2002)Google Scholar
  45. Rothmund PWK (2005) Design of DNA origami. In: Proceedings of the international conference on computer-aided design (ICCAD 2005)Google Scholar
  46. Rothmund PWK (2006) Folding DNA to create nanoscale shapes and patterns. Nature 440:297–302CrossRefGoogle Scholar
  47. Rothmund PWK, Winfree E (2000) The program size complexity of self-assembled squares. In: ACM symposium on theory of computing (STOC 2000)Google Scholar
  48. Schrödinger E (1944, reprinted 2003) What is life? with mind and matter and autobiographical sketches. Cambridge University Press, CambridgeGoogle Scholar
  49. Seeman NC (1999) DNA engineering and its application to nanotechnology. Trends Biotechnol 17(11):437–443CrossRefGoogle Scholar
  50. Seeman NC (2004) Nanotechnology and the double helix. Sci Am 290(6):64–75CrossRefGoogle Scholar
  51. Seeman NC (2007) An overview of structural DNA nanotechnology. Mol Biotechnol 3(37):246–257CrossRefGoogle Scholar
  52. Sipser M (1997) Introduction to the theory of computation. PWS Publishing Company, BostonzbMATHGoogle Scholar
  53. Soille P (2003) Morphological image analysis. Springer, BerlinzbMATHGoogle Scholar
  54. Stepney S, Braunstein SL, Clark JA, Tyrrell T, Adamatzky A, Smith RE, Addis T, Johnson C, Timmis J, Welch P, Milner R, Partridge D (2005) Journeys in non-classical computation I: a grand challenge. Int J Parallel Emerg Distrib Syst 20(1):5–19MathSciNetzbMATHCrossRefGoogle Scholar
  55. Stepney S, Braunstein SL, Clark JA, Tyrrell T, Adamatzky A, Smith RE, Addis T, Johnson C, Timmis J, Welch P, Milner R, Partridge D (2006) Journeys in non-classical computation II: initial journeys and waypoints. Int J Parallel Emerg Distrib Syst 21(2):97–125MathSciNetCrossRefGoogle Scholar
  56. Terfort A, Bowden N, Whitesides GM (1997) Three-dimensional self-assembly of millimeter-scale components. Nature 386:162–164CrossRefGoogle Scholar
  57. Terrazas G, Gheorghe M, Kendall G, Kranogor N (2007) Evolving tiles for automated self-assembly design. In: Proceedings of the 2007 IEEE congress on evolutionary computation (CEC2007) 2001–2008Google Scholar
  58. Thompson, D. W. (1942, reprinted 1992). On growth and form. In: Bonner JT (abridged ed). Cambridge University Press, CambridgeGoogle Scholar
  59. Wang H (1961) Proving theorems by pattern recognition. Bell Syst Tech J 40(1):1–41Google Scholar
  60. Wang H (1965) Games, logic and computers. Sci Am 213:98–106CrossRefGoogle Scholar
  61. Watson JD, Crick FHC (1953) Molecular structure of nucleic acids—a structure for deoxyribose nucleic acid. Nature 171(4356):737–738CrossRefGoogle Scholar
  62. Whitesides GM, Boncheva M (2002) Beyond molecules: self-assembly of mesoscopic and macroscopic components. PNAS 99(8):4769–4774CrossRefGoogle Scholar
  63. Whitesides GM, Boncheva M (2005) Making things by self-assembly. MRES Bull 30:736–742CrossRefGoogle Scholar
  64. Whitesides GM, Gryzbowski G (2002) Self-assembly at all scales. Science 295:2418–2421CrossRefGoogle Scholar
  65. Winfree E (1995) On the computational power of DNA annealing and ligation. DNA Based Comput 27:199–221Google Scholar
  66. Winfree E (1998a) Simulations of computing by self-assembly. In: Proceedings of 4th international meeting on DNA based computersGoogle Scholar
  67. Winfree E (1998b) Algorithmic self-assembly of DNA. PhD dissertation, California Institute of Technology, PasadenaGoogle Scholar
  68. Winfree E (1999) Algorithmic self-assembly of DNA: theoretical motivations and 2D assembly experiments. J Biomol Struct Dyn 11(2):263–270Google Scholar
  69. Winfree E, Liu F, Wenzier LA, Seeman NC (1998) Design and self-assembly of two-dimensional DNA crystals. Nature 394(6):539–544CrossRefGoogle Scholar
  70. Wolfram S (2002) A new kind of science. Wolfram Media, ChampaignzbMATHGoogle Scholar
  71. Wu H, Thalladi VR, Whitesides S, Whitesides GM (2002) Using hierarchical self-assembly to form three-dimensional lattices of spheres. J Am Chem Soc 124(48):14495–14502CrossRefGoogle Scholar
  72. Zhang Y, Seeman NC (1994) Construction of a DNA-truncated octahedron. J Am Chem Soc 5(116):1661–1669CrossRefGoogle Scholar
  73. Zykov V, Mytilinaios E, Adams B, Lipson H (2005) Self-reproducing machines. Nature 435(7038):163–164CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media B.V. 2011

Authors and Affiliations

  • Navneet Bhalla
    • 1
  • Peter J. Bentley
    • 2
  • Peter D. Vize
    • 1
    • 3
    • 4
  • Christian Jacob
    • 1
    • 4
  1. 1.Department of Computer ScienceUniversity of CalgaryCalgaryCanada
  2. 2.Department of Computer ScienceUniversity College LondonLondonUK
  3. 3.Department of Biological SciencesUniversity of CalgaryCalgaryCanada
  4. 4.Department of Biochemistry and Molecular BiologyUniversity of CalgaryCalgaryCanada

Personalised recommendations