Abstract
Throughout nature, in both the inorganic and organic realms, complex entities emerge as a result of self-assembly from decentralised components governed by simple rules. Natural self-assembly is dictated by the morphology of the components and the environmental conditions they are subjected to, as well as the physical and chemical properties of their components and environments—their information. Components, their environment, and the interactions among them form a system, which can be described as a set of simple rules. The process of self-assembly is equivalent to a physical computation, through the interaction and transformation of physically and chemically encoded information. A critical question then arises: How does one program self-assembling systems? In the pursuit of answering this question we first use the classic Penrose physical self-assembling system as a case study. This is followed by our three-level design approach, which comprises: specifying a set of self-assembly rules, modelling these rules to determine the outcome of a system in software, and translating to a physical system by mapping the set of rules using physically encoded information. The objective of our approach is to provide a bottom-up design methodology to create scalable self-assembling systems. Two physically encoded information schemes are presented in eight experiments, to demonstrate how component interactions can be directed during the self-assembly process. The results show that the translated physical systems self-assembled into the target structures achieved by the modelling. We use rapid prototyping to construct the translated components and their environment in the latter three experiments. These successful results demonstrate how our three-level approach can be used for programming self-assembling systems via physically encoded information.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Supplementary resources, including CNC/CAD files [20] and videos, pertaining to the case study and experiments can be found at http://www.navneetbhalla.com/resources.
References
Adleman, L., Cheng, Q., Goel, A., Huang, M.D.: Running time and program size for self-assembled squares. In: STOC ’01 Processdings of the Thirty-third Annual ACM Sympsoium on Theory of, Computing, pp. 740–758 (2001)
Adleman, L.M.: Molecular computation of solutions to combinatorial problems. Science 266(5187), 1021–1024 (1994)
Aggarwal, G., Cheng, Q., Goldwasser, M.H., Kao, M.Y., de Espanés, P.M., Schweller, R.T.: Complexities for generalized models of self-assembly. SIAM J. Comput. 34(6), 1493–1515 (2005)
Ball, P.: The shape of things to come. Nature 371, 202–203 (1994)
Ball, P.: The Self-Made Tapestry: Pattern Formation in Nature. Oxford University Press, Oxford (1999)
Ball, P.: Branches: Nature’s Patterns: A Tapestry in Three Parts. Oxford University Press, Oxford (2009)
Ball, P.: Flow: Nature’s Patterns: A Tapestry in Three parts. Oxford University Press, Oxford (2009)
Ball, P.: Shapes: Nature’s Patterns: A Tapestry in Three Parts. Oxford University Press, Oxford (2009)
Barish, R.D., Rothemund, P.W.K., Winfree, E.: Two computational primitives for algorithmic self-assembly: copying and counting. Nano Lett. 5(12), 2586–2592 (2005)
Berger, R.: Memoirs of the American Mathematical Society: The Undecidability of the Domino Problem, vol. 66. American Mathematical Soceity, Providence (1966)
Bhalla, N.: Self-assembling systems in two dimensions. Master’s thesis, M.Sc. in Intelligent Systems, University College London (2004)
Bhalla, N.: Designing self-assembling systems via physically encoded information. Ph.D. thesis, Department of Computer Science, University of Calgary (2011).
Bhalla, N., Bentley, P.J.: Working towards self-assembling robots at all scales. In: International Conference on Autonomous Robots and Agents (ICARA 2006), pp. 617–622. Palmerston North, NZ (2006)
Bhalla, N., Bentley, P.J., Jacob, C.: Mapping virtual self-assembly rules to physical systems. In: Proceedings of the International Conference on Unconventional Computing (UC 2007), pp. 117–147 (2007)
Bhalla, N., Bentley, P.J., Jacob, C.: Evolving self-assembling systems in two-dimensions. In: Proceedings of the International Conference on Evolvable Systems (ICES2010), pp. 381–392. Springer, Heidelberg (2010)
Bhalla, N., Bentley, P.J., Vize, P.D., Jacob, C.: Programming and evolving physical self-assembling systems in three dimensions. Nat. Comput. J. 11(3), 475–498 (2012). http://www.springerlink.com/content/vk86j5h8l6087207/
Bhalla, N., Bentley, P.J., Vize, P.D., Jacob, C.: Staging the self-assembly process using morphological information. In: T. Lenaerts, M. Giacobini, H. Bersini, P. Bourgine, M. Dorigo, R. Doursat (eds.) Proceedings of the European Conference on Artificial Life (ECAL 2011), pp. 93–100 (2011)
Bhalla, N., Bentley, P.J., Vize, P.D., Jacob, C.: Staging the self-assembly process: inspiration from biological development. Artif. Life J. (in print).
Boncheva, M., Bruzewicz, D.A., Whitesides, G.M.: Millimeter-scale self-assembly and its applications. Pure Appl. Chem. 75(5), 621–630 (2003)
Callicott, N.: Computer-Aided Manufacture in Architecture: The Pursuit of Novelty. Architectural Press, Oxford (2001)
Chandran, H., Gopalkrishnan, N., Reif, J.: The tile complexity of linear assemblies. In: Albers, S., Marchetti-Spaccamela, A., Matiasand, Y., Nikoletseas, S., Thomas, W. (eds.) Automata, Languages and Programming, Lecture Notes in Computer Science, vol. 5555, pp. 235–253. Springer, Berlin (2009)
Christner, B.C., Morris, C.E., Foreman, C.M., Cai, R., Sands, D.C.: Ubiquity of biological ice nucleators in snowfall. Science 319(5867), 1214 (2008)
Crick, F.: Central dogma of molecular biology. Nature 227, 561–563 (1970)
Culik II, K.: An aperiodic set of 13 wang tiles. Discrete Math. 160, 245–251 (1996)
Demaine, E.D., Demaine, M.L., Fekete, S.P., Ishaque, M., Rafalin, E., Schweller, R.T., Souvaine, D.L.: Staged self-assembly: nanomanufacture of arbitrary shapes with o(1) glues. Nat. Comput. 7(3), 347–370 (2008)
Doty, D.: Randomized self-assembly for exact shapes. In: Proceedings of the 50th Annual IEEE Symposium on Foundations of Computer Science (FOCS 2009), pp. 85–94 (2009)
Douglas, S.M., Dietz, H., Liedl, T., Högberg, B., Graf, F., Shih, W.M.: Self-assembly of dna into nanoscale three-dimensional shapes. Nature 459, 414–418 (2009)
Doursat, R.: Programmable architectures that are complex and self-organized: from morphogeneis to engineering. In: 11th International Conference on the Simulation and Synthesis of Living Systems (ALIFE XI), pp. 181–188 (2008)
Doursat, R., Sayama, H., Michel, O.: Overview. In: 1st International Workshop on Morphogenetic Engineering, p. 2 (2009)
de Espanés, P.M., Goel, A.: Toward minimum self-assembled counters. In: Garzon, M.H., Yan, H. (eds.) DNA Computing, Lecture Notes in Computer Science, vol. 4848, pp. 46–53. Springer, Berlin (2007)
Freitas Jr, R.A., Merkle, R.C.: Kinematic Self-Replicating Machines. Landes Bioscience, Georgetown (2004)
Garey, M., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman and Company, San Francisco (1979)
Goel, A., Cheng, Q., de Espanés, P.M.: Optimal self-assembly of counters at temperature two. In: Proceedings of the First Conference on Foundations of Nanoscience (2004)
Ingber, D.E.: The architecture of life. Sci. Am. 278, 48–57 (1998)
Jones, C., Matari, M.J.: From local to global behavior in intelligent self-assembly. In: Proceedings of the 2003 IEEE International Conference on Robotics and Automation, vol. 1, pp. 721–726 (2003)
Kaewkamnerdpong, B., Bhalla, N., Bentley, P.J.: Programming nanotechnology: learning from nature. In: Zelkowitz, M.V. (ed.) Advances in Computers, vol. 71. Academic Press, Amsterdam (2007)
Kao, M.Y., Schweller, R.T.: Randomized self-assembly for approximate shapes. In: Proceedings of the 35th International Colloquium on Automata, Languages and Programming (ICALP 2008) (2008)
Kauffman, S.: Investigations. Oxford University Press, New York (2000)
Klavins, E., Ghrist, R., Lipsky, D.: A grammatical approach to self-organizing robotic systems. IEEE Trans. Autom. Control 51(6), 949–962 (2006)
Krasnogor, N., Gustafson, S., Pelta, D.A., Verdegay, J.L. (eds.): Systems Self-Assembly: Multidisciplinary Snapshots, vol. 5. Elsevier, Hungary (2008)
Libbercht, K.G.: Morphogenesis on ice: the physics of snow crystals. Eng. Sci. LXIV(1), 10–19 (2001)
Mitchell, M.: An Introduction to Genetic Algorithms. MIT Press, Cambridge (1996)
Moore, E.F.: Machine models of self-replication. In: R. Bellman (ed.) Proceedings of the 14th Symposium in Applied Mathematics, pp. 17–33. American Mathematical Soceity, New York (1962)
Murphy, M.P., O’Neill, L.A.J.: What is Life? The Next Fifty Years: Speculations on the Future of Biology. Cambridge University Press, Cambridge (1997)
Nagpal, R.: Self-organizing shape and pattern: from cells to robots. IEEE Intell. Syst. 21(2), 50–53 (2006)
Păun, G., Rozenberg, G., Salomaa, A.: DNA Computing: New Computing Paradigms. Springer, New York (1998)
Pelesko, J.: Self-Assembly: The Science of Things that Put Themselves Together. Chapman and Hall/CRC Press, Boca Raton (2007)
Pelletier, O., Weimerskrich, A.: Algorithmic self-assembly of dna tiles and its applications to cryptanalysis. In: Proceedings of the International Conference on Genetic and Evolutionary Computation (GECCO 2002) (2002)
Penrose, L.S.: Mechanics of self-reproduction. Ann. Human Genet. 23, 59–72 (1958)
Penrose, L.S.: Self-reproducing machines. Sci. Am. 200, 105–114 (1959)
Penrose, L.S., Penrose, R.: A self-reproducing analogue. Nature 179(4571), 1183–1184 (1957)
Penrose, R.: Role of aesthetics in pure and applied research. Bull. Inst. Math. Appl. 10, 266 (1974)
Rothemund, P.W.K.: Design of dna origami. In: Proceedings of the International Conference on Computer-Aided Design (ICCAD 2005) (2005)
Rothemund, P.W.K.: Folding dna to create nanoscale shapes and patterns. Nature 440, 297–302 (2006)
Rothemund, P.W.K., Winfree, E.: The program size complexity of self-assembled squares. In: ACM Symposium on Theory of Computing (STOC 2000), pp. 459–468 (2000)
Schrödinger, E.: What is Life? With Mind and Matter and autobiographical sketches. Canto Series. Cambridge University Press, Cambridge (1944, reprinted 2003)
Senechal, M.: What is a quasicrystal. Not. AMS 53(8), 886–887 (2006)
Sipser, M.: Introduction to the Theory of Computation. PWS Pub. Co., Boston (1997)
Stepney, S., Braunstein, S.L., Clark, J.A., Tyrrell, T., Adamatzky, A., Smith, R.E., Addis, T., Johnson, C., Timmis, J., Welch, P., Milner, R., Partridge, D.: Journeys in non-classical computation i: a grand challenge. Int. J. Parallel Emergent Distrib. Syst. 20(1), 5–19 (2005)
Stepney, S., Braunstein, S.L., Clark, J.A., Tyrrell, T., Adamatzky, A., Smith, R.E., Addis, T., Johnson, C., Timmis, J., Welch, P., Milner, R., Partridge, D.: Journeys in non-classical computation ii: initial journeys and waypoints. Int. J. Parallel Emergent Distrib. Syst. 21(2), 97–125 (2006)
Symonds, N.: What is life? schrödinger’s influence on biology. Q. Rev. Biol. 61(2), 221–226 (1986)
Symonds, N.: Schrödiner and what is life? Nature 327, 663–664 (1987)
Thompson, D.W.: On Growth and Form (abridged ed./edited by John Tyler Bonner). Canto Series. Cambridge University Press, Cambridge (1942, reprinted 1992)
Turing, A.M.: On computable numbers, with application to the entscheidungsproblem. Proc. Lond. Math. Soc. Ser. 2(42), 230–265 (1936)
Wang, H.: Proving theorems by pattern recognition ii. Bell Syst. Tech. J. 40(1), 1–41 (1961)
Wang, H.: Games, logic and computers. Sci. Am. 213, 98–106 (1965)
Watson, J.D., Crick, F.H.C.: Molecular structure of nucleic acids—a structure for deoxyribose nucleic acid. Nature 171(4356), 737–738 (1953)
Whitesides, G.M., Boncheva, M.: Beyond molecules: self-assembly of mesoscopic and macroscopic components. PNAS 99(8), 4769–4774 (2002)
Whitesides, G.M., Boncheva, M.: Making things by self-assembly. MRES Bull. 30, 736–742 (2005)
Whitesides, G.M., Grzybowski, B.: Self-assembly at all scales. Science 295(5564), 2418–2421 (2002)
Winfree, E.: On the computational power of dna annealing and ligation. DNA Based Comput. 27, 199–221 (1995)
Winfree, E.: Algorithmic self-assembly of dna. Ph.D. thesis, California Institute of Technology (1998)
Winfree, E.: Simulations of computing by self-assembly. DNA Based Computers IV (1998)
Winfree, E.: Algorithmic self-assembly of dna: theoretical motivations and 2d assembly experiments. J. Biomol. Struct. Dyn. 11(2), 263–270 (1999)
Winfree, E., Liu, F., Wenzier, L.A., Seeman, N.C.: Design and self-assembly of two-dimensional dna crystals. Nature 394(6), 539–544 (1998)
Wolfram, S.: A New Kind of Science. Wolfram Media, Champaign (2002)
Acknowledgments
We thank Charanjit Bilkhu and Luc Martin at Surtek Precision Machining Inc. for their assistance in constructing parts for the Penrose system. We also thank Garry Campbell and his team at Nova Product Development Services Ltd., and Craig LeBlanc and Christopher Massie at the Faculty of Environmental Design, University of Calgary, for their assistance in constructing parts for the three experiments.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Bhalla, N., Bentley, P.J. (2012). Programming Self-Assembling Systems via Physically Encoded Information. In: Doursat, R., Sayama, H., Michel, O. (eds) Morphogenetic Engineering. Understanding Complex Systems. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33902-8_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-33902-8_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-33901-1
Online ISBN: 978-3-642-33902-8
eBook Packages: Physics and AstronomyPhysics and Astronomy (R0)