Series Dedication
Studies in Multidisciplinarity is dedicated to the memory of Ray Paton. Sure, he that made us with s...
349 downloads
1365 Views
7MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Series Dedication
Studies in Multidisciplinarity is dedicated to the memory of Ray Paton. Sure, he that made us with such large discourse, Looking before and after, gave us not That capability and god-like reason To fust in us unused. – William Shakespeare, Hamlet
xi
Preface
A deeper understanding of the fundamentals of molecular self-assembly all the way up to the self-organisation of biological processes is set to profoundly affect the way we build systems, and more specifically, computational or informational ones. That is, self-assembly and self-organisation, ubiquitous natural processes, are likely to become key engineering tools in the quest for faster, cheaper, smaller and pervasive information processing. Self-assembly is a potentially advantageous fabrication and control process because, with an appropriate set of components and associated interactions, these components will autonomously, robustly and efficiently assemble into a desired system without recurring to a master plan or centralised (e.g., top down) control. Robustness and versatility are some of the most important properties of self-assembling natural systems and this makes self-assembly an even more appealing engineering methodology. The idea for compiling this book arose out of necessity: although there are many conference proceedings and journals that deal in details with, for example, DNA-based computation and DNA-based self-assembly, there was no one book that would overview self-assembly research from a wider, more systemic, perspective. This book is an attempt to, at least partially, cover this gap. Although systems where self-assembly takes place, or which are created by a selfassembling process, are remarkably varied, some common principles for selfassembly are starting to be discerned. This book is a showcase of self-assembly in systems that arise from the physical, chemical, biological, computational and engineering disciplines. The “Ariadna’s Thread” that unifies the various case studies described within the book is the computational nature of self-assembling systems. That is, this book proposes that computational tools might give us and advantageous perspective from where to study self-assembling systems as to be able to better design, program and control them. The contributions in this book cover a range of different research themes dealing with self-assembly and self-organisation either as the focus of research itself or as a mechanism to achieve some other technological goal, e.g., new computational architectures. The book includes thirteen chapters that were written by renown scientists. These chapters cover five main themes, namely, the language of self-assembly (Chapters 3, 7 and 9), optimal design of self-assembling systems (Chapters 4, 10 and 13), self-assembled computing architectures (Chapters 5, 6 and 8), self-assembly principles (Chapters 2 and 12) and molecular self-assembly (Chapters 1 and 11). The chapters are not clustered around these five themes as we feel that each and every chapter is a fascinating and complementary account of the state-of-the-art (and current challenges) in self-assembly and selforganisation research. We thus invite the reader to reach and read every chapter,
xii
Preface
regardless of the theme it belongs to and to do so even if a given chapter does not fall exactly within the reader’s own research domain. The first chapter, by C.P. Martin, M.O. Blunt, E. Vaujour, A. Fahmi, A. D’Aléo, L. De Cola, F. Vögtle and P. Moriarty, is entitled Self-Organised Nanoparticle Assemblies: A Panoply of Patterns. This chapter provides a well-balanced account of recent progress made in relation to the understanding of self-organisation in nanoparticles ensembles. The paper provides a general introduction to the field and its terminology and presents detailed experiments performed by the authors. They also review some of the main analytical tools that can be used to understand the processes behind self-assembly and self-organisation, e.g., information theoretic analysis, proximity graphs analysis (e.g., Voronoi tessellations), and morphological image analysis. They then proceed to explain the relevance and impact of these types of analysis and how they can be used to go back to the chemistry and physics of these systems with new and improved understanding. Biomimetic Design of Dynamic Self-Assembling Systems by K.J.M. Bishop, C.J. Campbell, G. Mahmud and B.A. Grzybowski, the second chapter in the book, presents a very detailed account of nature’s strategies for achieving highly sophisticated self-assembly structures and processes. The authors argue that, although remarkable progress has been made in what relates to self-organisation and self-assembly, many lessons remain to be uncovered by closely studying biologically-based systems. They provide a series of study cases and propose a heuristic design methodology for self-assembly systems that is based on a detailed understanding of how nature utilises competitive interactions, energy dissipation, the interplay between medium and length scale and the hierarchical organisation of complexity for the purpose of creating stunning dynamical selfassembling systems. M. Gheorghe and G. P˘aun’s Computing by Self-Assembly: DNA Molecules, Polyominoes, Cells, the third chapter in this book, provides a language theoretical characterisation of Turing computability by self-assembly through the use of the so-called “self-assembly universality” (SAU) lemma. The authors present three distinct paradigms: DNA self-assembly through Sticker systems, 2D “pixelated” tiles of arbitrary shapes and self-assembling membrane systems (i.e., P-systems). They demonstrate that, while the details that make up each one of these computing-by-self-assembly paradigms are different, they retain some essential common features that can best be understood through the tools provided by theoretical computer science. The chapter Evolutionary Design of a Model of Self-Assembling Chemical Structures, by A. Buchanan, G. Gazzola and M.A. Bedau, is the fourth in the book. The authors present a modified version of the well-known Dissipative Particle Dynamics simulation method that can cope with the formation and dissociation of strong bonds. They couple their DPD simulation environment to an
Preface
xiii
evolutionary algorithm and they demonstrate how the latter can be used to automatically fine tune the parameters of the simulation as to produce specific emergent behaviour and, more specifically, prototype versions of templated ligation. The fifth chapter by S. Stauth, C.J. Morris and B. Parviz entitled Self-Assembly as an Engineering Concept across Size Scales surveys the limitations of current technology vis-a-vis self-assembly processes that could span many length scales and be able to handle heterogeneous fabrication processes. The authors focus on computing devices built through self-assembly that use micron-scale parts and provides two illustrating examples. The first example investigates the incorporation of single crystal silicon components on flexible plastic substrates for the construction of large area electronic systems. The second example explores an avenue for future construction of three-dimensional silicon computing structures. Limitations, potentials and future avenues of research are outlined from both case studies. In Probabilistic Analysis of Self-Assembled Molecular Networks, the sixth chapter, D. Bhaduri and S.K. Shukla propose the first hierarchical technique to introduce structural redundancy in systems built from nanoscale devices and networks. Structural redundancy is highly relevant since it may help to mitigate operational faults. As the devices studied are bound to have errors due to the stochastic nature of the self-assembly fabrication process (and natural wear), this chapter demonstrates that it is possible to produce an accurate probabilistic map of the fabrication errors and then, to use that map to insert structural redundancy in the reconfigurable molecular nanofabric. In this way, the combination of defect mapping and structural redundancy may help to circumvent both natural hard and soft faults. The seventh chapter, by A.M. Bouchard, C.E. Warrender and G.C. Osbourn, is entitled The “Programming Language” of Dynamic Self-Assembly. In this chapter the authors pose two very suggestive questions: (1) if self-assembly processes in living organisms are performing computations, what algorithms are they executing? and (2) if it was possible to understand the “programming language” of dynamic self-assembly, would it be possible to design programs in that language as to assemble novel structures and materials? The authors answer both questions positively through theoretical and simulation arguments. C. Dwyer and A.R. Lebeck, in Self-Assembled Computer Architectures, explore the potential and challenges behind the self-assembling of computing systems, that is, how to use current nanoscience technology to build from the bottom–up novel unconventional computer architectures. This chapter, the eight in the book, provides a general introduction to the field and its terminology, and then presents specific experiments and simulations performed by the authors. The chapter characterises the main features and limitations of state-of-the-art selfassembly technology, e.g., short-range control only, large scale randomness, high defect rates, etc. Novel computing architectures capable of coping and exploiting (some) of these features are presented.
xiv
Preface
The chapter Simulation of Self-Assembly Processes using Abstract Reduction Systems by J.-L. Giavitto and A. Spicher is the ninth chapter on this book. The authors explore an abstract modelling language, MGS, for self-organising processes. MGS is a declarative and rule-based formalism that relies on local rewriting rules. The local rewriting rules are adequate to capture natural processes that exhibit emergent self-organisation. The authors explain in detail the motivation behind their work and show several examples that mimics accretive growth and carving processes. P. Moisset de Espanés’ chapter, the tenth of the book, Computer Aided Search for Optimal Self-Assembly Systems, presents a fascinating account of the research behind the optimal design of self-assembling tiles. The author reviews current theoretical results on the complexity of “counters” design, i.e., self-assembling tiles that form rectangles, and details the pivotal role that computer aided proofs had on finding some of the key milestones for DNA-based self-assembled counters. He finishes the work by providing a summary of both solved and open problems. In the eleventh chapter, Programmable Self-Assembly—Theoretical Aspects and DNA-Linked Nanoparticles by B. Högberg, J. Boo, J. Liu-Helmersson, L. Glans and H. Olin, the concept of “bond uniqueness” and its impact on programmable self-assembly is detailed. The authors present a mathematical tool called “sticky graphs” for modelling self-assembly systems. Some key properties of the needed building blocks are derived from formal models. Then, the authors propose a way to physically obtain such building blocks. Lastly, the programmability of DNA modified nanoparticles for the self-assembly of nanostructures is shown. The twelfth chapter in this book, From Microscopic Rules to Emergent Cooperativity in Large-Scale Patterns by B. Tadi´c focuses on the self-organisation of complex spin-networks. The author shows that, as the microscopic rules that govern the assembly of nodes into connected components change so do the macroscopic structural features of the resulting network. In turn the “function” of the network, e.g., its hysteresis, memory, etc., is strongly correlated with the macrostructure, thus the link between microscopic rules and emergent function at the macroscopic level is established. In the last chapter of the book, Automated Self-Assembling Programming, L. Li, P. Siepmann, J. Smaldon, G. Terrazas and N. Krasnogor review a series of computational studies of self-assembling systems. They explore various selfassembling and self-organising processes that range from the evolvability of abstract Wang tile-like systems and a nanoparticle simulator, to the self-assembly of Java programs and the use of self-assembly of artificial vesicles as a potentially realistic implementation of a novel computing paradigm. The editors are immensely indebted with the authors of the various chapters and with the series editors R. Paton, Anne Rusum and Laura McNamara for their
Preface
xv
support during the preparation of this book. If it was not for the hard work of chapters’ contributors and the patience of reviewers and of the series editors, this book would have not seen the light of days. Very sadly, Ray Paton passed away soon after the proposal that preceded this book was accepted by Elsevier. We will remain forever grateful to him for his initial encouragement and support with this project. D. Pelta and J.L Verdegay acknowledge the support of Projects TIN2005-08404-C04-01 (Co-HeuriFuzzy) and TIC-00129-JA (MINAS). N. Krasnogor acknowledges the support of the United Kingdom’s Engineering and Physical Sciences Research Council (EPSRC) for the funding of projects GR/T07534/01, EP/D021847/1 and EP/E017215/1. Natalio Krasnogor, Steven Gustafson, David A. Pelta, José L. Verdegay
1
Chapter 1
Self-Organised Nanoparticle Assemblies: A Panoply of Patterns Christopher P. Martina,1 , Matthew O. Blunta,1 , Emmanuelle Vaujoura , Amir Fahmib , Anthony D’Aléoc , Luisa De Colad , Fritz Vögtlee , Philip Moriartya,* a School of Physics & Astronomy, University of Nottingham, Nottingham NG7 2RD, UK b School of Mechanical, Materials, and Manufacturing Engineering, Faculty of Engineering,
University of Nottingham, Nottingham NG7 2RD, UK c Universiteit van Amsterdam, Nieuwe Achtergracht 166, 1018 WV Amsterdam, The Netherlands d Physikalisches Institut, Mendelstrasse 7, D-48149 Münster, Germany e Kekulé-Institut für Organische Chemie & Biochemie, Universität Bonn, Gerhard-Domagk-Str. 1, D-53121 Bonn, Germany Abstract. An overview of self-organisation in an archetypal nanostructured system—2D nanoparticle assemblies—is given. We first focus on the parallels that may be drawn for pattern formation in nanoscopic, microscopic, and macroscopic systems (spanning, for example, nanoparticle arrays, phase-separated polymers, diatom microskeletons, and binary fluid separation) before discussing the quantification of morphology and topology in nanostructured matter. The question of quantification is of key importance for the development of programmable or directed assembly and we highlight the central role that image morphometry can play in the software control of matter. The nanostructured systems we describe are, in very many cases, far from their ground state and we show that Monte Carlo simulations (based on the approach pioneered by Rabani et al. [Nature 426 (2003) 271]) provide important insights into the coarsening (i.e. approach to equilibrium) of nanoparticle arrays. We conclude with a consideration of the near-term prospects for programmable matter.
1. Introduction At the time of writing (Spring 2007), the field of complexity science is arguably rivalled only by nanoscience/nanotechnology when it comes to general expectation and hype. With this in mind, in this chapter we will attempt to consider the connections between these areas, focussing specifically on self-assembly, selforganisation, and non-linear dynamics in a prototypical nanostructured system: colloidal nanoparticle assemblies. Our aim is to provide a useful overview of * Corresponding author. E-mail: philip.moriarty@nottingham.ac.uk, url: http://www.nottingham. ac.uk/physics/research/nano. 1 The authors contributed equally to the work described in this chapter.
STUDIES IN MULTIDISCIPLINARITY VOLUME 5 ISSN 1571-0831/DOI: 10.1016/S1571-0831(07)00001-9
© 2008 Elsevier B.V. All rights reserved.
2
Chapter 1
pattern formation—both near to, and far from, thermodynamic equilibrium—in nanoparticle systems and to review current strategies to exploit self-organisation as a mechanism for pre-defined nanostructure fabrication. The emphasis is on the patterns formed in extremely thin (∼ a few nm) films of nanoparticles on solid substrates. As this contribution necessarily represents a rather brief consideration of self-organised nanosystems, the particular subset of nanostructured materials we shall discuss will largely be informed by the authors’ research interests and, thus (from a materials science perspective), will be relatively narrow in scope. Nevertheless, the system chosen for discussion (colloidal nanoparticle assemblies) exemplifies many key aspects of the physical properties and behaviour associated with the self-organisation of nanoscale units. Perhaps ‘complexity’—a nebulous term in many contexts—is most simply defined on the basis of Aristotle’s observation in 150 BC that a system can be very much more than just the sum of its parts. That is, there is a particular “added value” arising from the interactions of the units (or “agents”) comprising the ensemble. In terms of nanostructured systems, to illustrate many of the fundamental physical (and physicochemical) phenomena stemming from the interactions of large numbers of virtually identical units, we shall use what we consider the archetypal exemplar: nanoparticles dissolved in an organic solvent, forming a colloidal solution. Colloidal nanoparticles deposited from a solution onto solid surfaces form a rich variety of intricate patterns and the focus in the following discussion is to highlight morphological (and topological) parallels between nanostructured, microstructured, mesoscale, and macroscale systems formed via self-assembly and self-organisation. To avoid potential confusion in later sections, we stress that we draw a distinction between the terms self-assembly and self-organisation where, throughout this chapter, the former is used to describe structures formed close-to-equilibrium whereas the latter refers to far-from-equilibrium dissipative processes involving energy/matter flow. Although this distinction is not always made in the literature, and in some cases the terms are used interchangeably, “self-organisation” has traditionally been reserved to describe processes occurring away from equilibrium. Perhaps the most important example, returning to the question of parallels with complex systems and complexity theory, is self-organised criticality. Although it is a moot point as to whether the systems we describe in the following sections can truly be described as complex systems (exhibiting emergent behaviour), there is no question that correlations in the spatial distribution of the nanoparticles occur on length scales far exceeding those associated with interparticle interactions. The development of correlations on mesoscopic length scales is an important signature of a self-organised system; in self-assembly, interparticle interactions (perhaps mediated by the underlying surface) define the length scales of the observed patterns. We note that other authors, most notably Whitesides and Grzybowski [1], have instead adopted somewhat different definitions. Whitesides and Grzybowski draw
Self-Organised Nanoparticle Assemblies
3
a distinction between static and dynamic self-assembly, where they define the latter as arising only in dissipative systems. There is then an equivalence between the Whitesides and Grzybowski dynamic self-assembly process and selforganisation as described above. The colloidal nanoparticle assemblies described in the following sections could be seen to fall into yet a third class involving ‘arrested’ self-organisation (or, depending on the reader’s preference, “arrested dynamic self-assembly”!). By “arrested”, we mean that although the patterns may be defined by far-from-equilibrium processes such as convective flow, the system is strongly kinetically hindered at some point in its evolution so that even when the pattern-forming process is switched off, the associated structure is “frozen in”.
2. Pattern Formation: Spanning the Nanoscopic to the Macroscopic The striking array of patterns shown in Fig. 1.1 was created via a straight-forward experiment involving the deposition of a droplet of a nanoparticle/solvent solution onto a solid substrate (with subsequent evaporation of the solvent). In this case, the particles in question are alkylthiol-passivated Au nanoclusters of ∼2 nm diameter synthesised using the technique pioneered by Brust and co-workers [2]. Other types of nanoparticle, including, for example, CdSe [3] and PbSe [4], also produce a broad variety of complex patterns. The physics underlying the appearance of the types of pattern seen in Fig. 1.1 and in similar systems is rather complex and can involve very many coexisting
Fig. 1.1. A subset of the wide variety of patterns observed in colloidal nanoparticle assemblies formed via solvent evaporation. In each case tapping mode atomic force microscopy has been used to image the distribution of nanoparticles on a native oxide (SiO2 ) covered Si(111) sample. The images shown in (a)–(e) and (h) are of single layers of nanoparticles whereas those in (f) and (g) are bilayer samples. For colour version, see Colour Plate Section.
4
Chapter 1
phenomena. These include (but are not limited to): the (de)wetting properties of the solvent–nanoparticle solution (on a given substrate); hydrodynamics (including the Marangoni effect [5]); phase transitions related to variations in solvent and nanoparticle density; instabilities in the solvent–nanoparticle fluid front; and nucleation/growth at the solid–liquid and/or liquid–air interface. Although some of these effects have previously been elucidated through experimentation and/or computer simulations [3–10], there remain very many open questions regarding the dynamics of pattern formation in colloidal nanoparticle assemblies. The patterns shown in Fig. 1.1 range from isolated droplets (Fig. 1.1(a)) through dendritic/branched structures (Fig. 1.1(b)), worm-like and interconnected domains (Figs. 1.1(c) and (d)), and cellular networks (Figs. 1.1(e) and (f)), to relatively well-developed fractal morphologies (Figs. 1.1(g) and (h)). The interconnected and labyrinthine structures of Figs. 1.1(c) and (d) are, as shall be discussed below, strikingly similar to the self-organised patterns which form in binary fluid, polymer, and ferromagnetic systems. Importantly, Fig. 1.1 represents only a subset of the wide variety of patterns possible in colloidal nanoparticle systems: the parameter space associated with this—at first glance, rather simple—system is extremely wide. A significant point to realise is that many of the structures shown in Fig. 1.1 are formed far from equilibrium because the solvent (or the vast majority of the solvent) is rapidly driven off by spinning the sample at speeds of a few thousand rpm. As the nanoparticles are restricted from diffusing on the substrate in the absence of solvent [4,11], the system can be kinetically trapped very far away from its equilibrium state. In the limit of a perfectly wetting solvent–nanoparticle film, this equilibrium state is a single close-packed ‘island’ of nanoparticles covering a large surface area. Bigioni et al. [10] have, however, also shown that highly ordered assemblies comprising ∼108 close-packed nanoparticles can be formed by seeding growth of the assembly at the liquid–air interface. One might now enquire as to the “usefulness” of the various morphologies shown in Fig. 1.1 when it comes to developing novel nanostructured systems. Importantly, the majority of the different patterns shown in the figures are each associated with a particular length scale (or set of length scales). It is this presence of well-defined correlation lengths which makes the far-from-perfectly-ordered structures of Fig. 1.1 so interesting. First, the correlation lengths themselves (and other morphological/topological metrics) betray the influence of substantial longranged cross-talk between the elements of the system. These correlations in turn can represent a signature of a particular physical/physicochemical process. In the context of complex system dynamics, therefore, images of the type shown in Fig. 1.1 prompt questions related to the collective interaction of the nanoparticle units. The patterns shown have typical correlation lengths ranging from of order 100 nanometres to a few microns. This should be compared with the typical length scale associated with interparticle interactions which is of order a
Self-Organised Nanoparticle Assemblies
5
Fig. 1.2. A comparison of patterns formed in (a) phase-separating polymer and (c) binary fluid systems with those observed in colloidal nanoparticle assemblies ((b) and (d)). Figures (a) and (c) are reproduced from [13] and [14] respectively.
nanoparticle diameter (∼3 nm). Second, it is gaining control of this long-ranged collective behaviour that underpins much of the interest in pattern formation in far-from-equilibrium nanostructured systems. Certain types of pattern are ubiquitous in nature and appear in a remarkably wide range of materials and across length scales differing by many orders of magnitude. (We refer the reader to a comprehensive and immensely readable account of pattern formation in nature written within the last few years by Ball [12].) To illustrate the ubiquity of the patterns which appear in nanostructured assemblies, we shall focus on the “worm-like”, labyrinthine, and network structures shown in Figs. 1.1(c)–(f). Figure 1.2 places images of patterns formed in dewetting polymer films and phase separating binary fluids (Figs. 1.2(a) and (c) respectively) alongside atomic force micrographs of structures formed in nanoparticle assemblies (Figs. 1.2(b) and (d)). The qualitative similarity between Figs. 1.2(a) and (b) and between Figs. 1.2(c) and (d) is striking. Although close similarities in pattern formation of course do not necessarily arise from parallels in underlying physical/chemical behaviour, it is nevertheless important to note that polymer, binary fluid, and colloidal nanoparticle systems indeed share a number of common features. These include the influence of spinodal phase separation [3,4], nucleation and growth, and convective fluid flow on the evolution of the system. (We return to the question of the evolution/dynamics of pattern formation in Section 4 below.) A structural motif which appears repeatedly in nanoparticle assemblies is the cellular network [7,8,15]. (Cellular in this case refers to the geometric cells (polygons) comprising the network and does not allude to biological cells.) We
6
Chapter 1
Fig. 1.3. Cellular networks in nature: (a) the microstructure of a cork [16]; (b) the cellular pattern formed on the hide of a giraffe; (c) the Giant’s Causeway in Co. Antrim, Northern Ireland [17]; and (d) a frame taken from the Virgo Consortium Millennium simulation of the evolution of a structure in the Universe [18]. For colour version, see Colour Plate Section.
have observed a cellular morphology ranging from relatively simple networks which are associated with a single correlation length (see, for example, Martin et al. [8]) to the rather more complex structures shown in Figs. 1.1(e) and (f) which comprise multi-level hierarchies of holes. Although the most widely recognised example is perhaps the foam formed by soap bubbles [15,19], cellular structure of the type shown in Figs. 1.1(e) and (f) is ubiquitous in nature (as pointed out by Weaire and Rivier [15]). We show in Fig. 1.3 four examples of cellular networks ranging from the microstructure of a cork from a wine bottle to the large scale structure of the Universe. What is particularly intriguing about the morphology/topology of cellular networks is that it is possible, using the mathematics of statistical mechanics, to write down an equation of state for an ideal random cellular network which is analogous to the ideal gas law in classical thermodynamics [15,19]. Just as deviations from the ideal gas law betray the influence of new physics and chemistry, a statistical study of the structure of a cellular network (using Voronoi tessellations (see the following section) coupled with, for example, Lewis’ law and the Aboav–Weaire law [15]) provides key insights into the relative importance of physics and chemistry vs. the mathematics of space filling in determining the structure of the system. A particularly interesting example of multi-level network formation in nature (involving hierarchical distributions of holes/pores of different sizes) is found in the diverse set of complex microskeletons formed by the family of singlecelled algae known as the diatoms. These fascinating structures were first described in detail by Haeckel in the late 19th century [20]. Diatoms—of which there are estimated to be ∼105 distinct species—are capable of fabricating exquisitely microstructured silica shells which have, ever since the seminal work of
Self-Organised Nanoparticle Assemblies
7
Fig. 1.4. Mimicking diatom microskeletons in colloidal (inorganic) nanoparticle assemblies. (a) A SEM image of the valve architecture of Coscinodiscus wailesii (taken from [26]). The scale bar in this image and all other images represents 1 µm. (b) A tapping mode AFM image of a 1.5 mg/ml solution of C5 thiol-passivated Au nanoparticles (2.2 nm mean diameter) spin cast (at 4 krpm) onto a native oxide terminated silicon substrate. (c)–(f) AFM images of nanoparticle array morphologies resulting from spin-casting 1.0, 1.1, 1.25, and 1.5 mg/ml solutions, respectively, onto silicon.
both Haeckel and D’Arcy Thompson [21], fascinated scientist and layman alike. While many aspects of pattern formation in diatom frustules remain to be elucidated [22–24], the potential for exploitation of this class of algae as a “nanofabricator” technology has garnered a remarkable amount of cross-disciplinary attention [25]. Although forming an impressively broad assortment of different patterns [20,23], a distinctive structural theme common to very many species of diatom is the hierarchical nature of the shell architecture. A striking example of this is shown in Fig. 1.4(a), a scanning electron microscope (SEM) image of the morphology of the valve of Coscinodiscus wailesii [26]. A similar type of hierarchical patterning is also observed in the (entirely abiotic) gold nanoparticle assembly shown in Fig. 1.4(b). The ability to pattern matter via selfassembly/self-organisation across a range of different length scales, as exemplified by Figs. 1.4(a) and (b), is an increasingly important goal in nanoscience [27] and a substantial amount of the intense recent interest in the potential nanotech applications of diatoms stems from this morphological characteristic. (Moreover, ground-breaking efforts by Oliver et al. [22] have resulted in the fabrication of artificial diatom microskeleton forms via advanced inorganic morphosynthesis.)
8
Chapter 1
The nanoparticle assembly of Fig. 1.4(b) clearly comprises cellular networks— “foams”—having two very distinct length scales. Of particular significance to multiple length scale patterning, a short wavelength network formed in the first monolayer of particles is embedded within a larger cellular structure in the second layer, mimicking the hierarchical structuring (at the micron and sub-micron levels) of the diatom frustules shown in Fig. 1.4(a). We tentatively suggest that two distinct processes with well-defined correlation lengths—namely Marangoni convection [6] and evaporative nucleation of holes in the solvent–nanoparticle film [8]—drive the generation of the micron and sub-micron scale nanoparticle foams observed in Fig. 1.4(b). (As initially shown by Ge and Brus [3] and confirmed in recent simulations by Rabani et al. [4], spinodal decomposition can also play a role in forming spatially correlated nanoparticle patterns.) Although in previous works [7,8] we have discussed the ability of far-from-equilibrium assembly to generate nanostructured cellular networks, the diatom-like, ‘foam within foam’ patterning observed in Fig. 1.4(b) is an entirely new and unexpected nanoparticle array morphology. Its origins may be ascertained from an examination of Figs. 1.4(c)–(f). Figures 1.4(c)–(f) show the nanoparticle array morphology arising from spincoating progressively more concentrated nanoparticle solutions onto the silicon substrate. Note the absence of hierarchical patterning in Fig. 1.4(c) and its gradual emergence as the solution concentration is gradually increased. A plausible origin of the longer length scale network present in Figs. 1.4(d)–(f) is the Marangoni effect: a convective flow driven by the temperature gradient imposed due to the evaporation of the volatile solvent (in this case, toluene) [6,28]. In Fig. 1.4(d), a polygonal network (whose cells are spaced by approximately 1 micron) of densely packed nanocrystals in the first monolayer is observed and, as shown in Figs. 1.4(e) and (f), acts as a template for the adsorption of the second layer of nanoparticles (Figs. 1.1(e) and (f)). We are confident that there is a particular scope to program both the degree of network order and the associated correlation lengths (via, for example, the establishment and control of spatially well-defined temperature fields during solvent evaporation).
3.
Quantifying Morphology and Topology
Although qualitatively striking, it is obviously important to consider metrics that might be used to classify quantitatively the morphology and topology of the various nanostructured patterns shown in the previous sections. Not only is this necessary from the perspective of determining, for example, the connectivity and correlations within a given structure but quantitative metrics can be applied to ascertain what parallels might exist between apparently disparate systems. Although Fourier (and wavelet) analysis can be used to determine correlation lengths and
Self-Organised Nanoparticle Assemblies
9
Fig. 1.5. The ‘grain growth’ approach to image analysis using Minkowski measures [30]. The decoration of germs (light grey) with grains (dark grey) that are discrete approximations to circles (left) and squares (right).
degrees of orientational order, sophisticated complementary methods such as statistical crystallography [15] and Minkowski morphometry [30] are increasingly being used to characterise the morphology and topology of nanostructured systems. We have previously [7,8] used Voronoi tessellations [15] to elucidate the degree of spatial correlation (i.e. deviations from Poisson statistics) in nanoparticle assemblies. Mecke et al. [29] pioneered the use of Minkowski functionals in the analysis of spatial correlations in dewetting polymer films. In 2D, the Minkowski functionals [30] are reduced to three relatively straight-forward geometric measures: the total covered area, the total perimeter length, and the Euler characteristic. This latter measure effectively accounts for the number of interconnected regions in an image [30] and is of obvious significance if the connectivity of a nanostructured system is of interest (in, for example, electron transport via percolation). From an image where the centres of mass of the morphological features may be readily identified, Minkowski analysis may be applied using the method described in the review article by de Raedt et al. [30] and schematically shown in Fig. 1.5. From each initial “germ” (of edge length r = 1) representing the centre of mass of a feature in the original image (e.g. a hole in an otherwise continuous film or an island of material on a substrate), a square “grain” of edge length 2r +1 is grown and the Minkowski measures are calculated for each grain size or, more correctly, as a function of the normalised quantity x = r/L where L is the mean germ separation. Different spatial distributions of the germs will produce marked differences in plots of the Minkowski measures (perimeter, area, or Euler characteristic) against x. A number of groups have discussed the application of Minkowski measures to the analysis of structure formation in polymer thin films [29,31,32]. Cer-
10
Chapter 1
Fig. 1.6. A simple schematic illustration of an Au nanoparticle terminated by a 3,5-Bis(benzyloxy)benzylbromide S6G1 dendrimer. For colour version, see Colour Plate Section.
tain classes of pattern, however, specifically those associated with the nucleation and growth of holes or islands, give rise to effectively system-independent Minkowski characteristics. That is, despite having dramatically different materials characteristics, the same types of spatial correlations are seen in many systems. What is the origin of these similarities? To attempt to address this question we will consider a nanoparticle system which is markedly different from that discussed thus far. In Fig. 1.6 we show a schematic diagram of a gold nanoparticle where the surface-terminating species is not a simple thiol molecule but a 3,5Bis(benzyloxy)benzylbromide S6G1 dendrimer [33,34]—a complex branched polymer. Dendrimers [35] are increasingly used as stabilising agents for nanoparticle surfaces as they have a well-defined molecular weight, size, and structure and they can encapsulate both organic and inorganic hosts. We show in the following that despite these significant differences in nanoparticle size and structure, morphological measures based on Voronoi tessellations and Minkowski functionals show that there are striking parallels in the structure of assemblies of thioland dendrimer-terminated nanoparticles. Indeed, these parallels extend to entirely unrelated materials systems such as polymers [8] and small organometallic molecules [36]. Figure 1.7(a) shows the adsorbed “film” formed by S6G1-terminated Au nanoparticles following spin-coating of a colloidal solution of the particles on a silicon substrate. The dendrimer-stabilised nanoparticles aggregate to form globular structures with heights and diameters of order 50 and 250 nm respectively. In common with previous AFM measurements of spin-coated dendrimer films [37], we observe a relatively high density of ‘droplets’. What is intriguing, however, is that even from an initial qualitative appraisal of the images, the positions of the dendrimer-functionalised nanoparticle droplets appear to be spatially correlated to some degree (i.e. there are strong deviations from a Poisson-distributed point set). (This is true also of the images reported by Sano et al. [37].) To put our
Self-Organised Nanoparticle Assemblies
11
Fig. 1.7. (a) A tapping mode atomic force microscope (AFM) image (40 × 40 µm2 ) of the film morphology formed by spin-coating a solution of dendrimer-functionalised Au nanoparticles in toluene onto a native oxide-terminated Si(111) substrate. Note that the nanoparticles aggregate to form droplets with a relatively narrow size distribution and with an apparent ordering in their spatial distribution. (b) A Voronoi tessellation constructed from the centres of the droplets shown in (a). (c) A histogram of the probability, p(n), of finding an n-sided cell. For colour version, see Colour Plate Section.
discussion on a firmer quantitative footing, we have carried out Voronoi tessellation and Minkowski functional analyses for the dendrimer–nanoparticle aggregate distributions (see Figs. 1.7(b) and 1.8). A Voronoi tessellation is the statistical crystallography analog of the Wigner– Seitz unit cell used extensively in conventional crystallography and condensed matter science. Briefly, the tessellation shown in Fig. 1.7(b) was constructed by: (i) identifying the centre of mass of each of the nanoparticle droplets shown in Fig. 1.7(a), (ii) connecting each centre of mass to its nearest neighbours, and (iii) finding the perpendicular bisectors of those connecting lines. This produces, for each droplet, a Voronoi cell (a polygon) which represents the smallest surface
12
Chapter 1
area associated with that droplet. The subsequent analysis of the distribution of polygon sidedness (i.e. the number of polygon sides), area, and perimeter length can yield substantial insights into the physics underlying the formation of a particular surface morphology. From the distribution of polygon sidedness shown in Fig. 1.7(b), it is straightforward to calculate a ‘tessellation entropy’ (a quantity that is obviously very much distinct from the overall thermodynamic entropy of the system) which is defined in an analogous fashion to the conventional statistical mechanics form: S = − pn ln pn , where pn is the probability associated with finding an n-sided polygon. For a Poisson point set, the tessellation entropy is ∼1.75. For the image shown in Fig. 1.7(b), and in common with a number of other nanostructured systems [7,8], we find an entropy of ∼1.4 (to two significant figures). That the value of S for the distribution of aggregates shown in Fig. 1.7(a) falls substantially below that expected for a Poisson distribution is indicative of the presence of spatial correlations in the nanoparticle arrangement. Moreover, it is intriguing that a value of S = 1.40(±0.05) is associated with a rather broad range of nanostructured thin films: could this be indicative of a common origin for the deviation from Poisson statistics? To address this question, we have calculated the variation of the Minkowski measures with ‘grain’ size, as described above. The deviation from a Poisson point set is also apparent from the Minkowski measure analysis. We show in Fig. 1.8 the variation of the Euler characteristic, χ, as a function of x for the distribution of nanoparticle aggregates shown in Fig. 1.7(a). (Note that although in general it is important to consider variations in all three Minkowski measures, we focus here on the Euler characteristic as a representative example of the analysis technique.) Figure 1.8(a) is a comparison of the variation in χ for the image shown in Fig. 1.7(a) with the variation expected for a Poisson point set. The difference between these quantities is shown in Fig. 1.8(b) where the deviation from Poisson statistics is clear, in agreement with the Voronoi tessellation analysis of Fig. 1.7. The Minkowski measures, however, provide substantially more insight into the morphology and topology of a system. Perhaps more importantly, the Euler characteristics shown in Fig. 1.8 overlap almost perfectly with those measured in very different systems including dewetting organometallic thin films [36] and thiol-passivated Au nanoparticles [8]. How does this similarity in morphological characteristics arise and, in particular, why are strong deviations from Poisson statistics observed in each of these systems? Although phenomena such as spinodal decomposition/dewetting or Marangoni convection are inherently associated with well-defined correlation lengths, in the systems discussed above and, in particular, that shown in Fig. 1.7, we have proposed [8] that the deviations from spatially uncorrelated morphological features arise simply from coalescence events which wipe out the clustering that is the signature of a Poisson distribution of points. Brinkmann et al. [38,39] have previously observed similar strong mesoscopic correlations in the positions
Self-Organised Nanoparticle Assemblies
13
Fig. 1.8. (a) The variation of the Euler characteristic as a function of normalised grain size (see text for a discussion) for a point set derived from the centres of the droplets shown in Fig. 1.7(a). The graph in (b) shows the deviation of the Euler characteristic from that expected for a Poisson (spatially uncorrelated) distribution of points. For colour version, see Colour Plate Section.
of islands of organic molecules deposited by vacuum sublimation onto silicon substrates. They attribute the emergence of a cut-off distance in the distribution of nearest neighbour separations to the merging of neighbouring aggregates either via direct coalescence (touching) of two islands or via a ripening phenomenon involving overlapping island diffusion fields. Regardless of the coalescence mechanism, it is from some perspectives remarkable that an undirected assembly process (occurring on a homogeneous substrate) can give rise to such striking spatial correlations in disparate systems (colloidal nanoparticles vs. vacuumdeposited organic molecules). An open question relates to the degree to which the correlations can be tuned or programmed—an issue of obvious importance for self-organised nanostructured systems.
4.
Evolving to Equilibrium
Returning to a consideration of the thiol-passivated nanoparticle patterns shown in Fig. 1.1, Rabani et al. [4] have put forward an Ising model description of drying-mediated pattern formation in nanoparticle–solvent films where the Hamiltonian of Eq. (1) is used within a Monte Carlo algorithm to model the system dynamics. H = −l (1) li lj − n ni nj − n l ni lj − μ li . ij
ij
ij
i
This model reproduces many (though certainly not all—see below) of the types of patterns we [7,8] and others [3] observe experimentally and has also been shown to yield good agreement with experimental data on the dynamics of nanoparticle aggregate (i.e. cluster) growth [4]. Equation (1) comprises (from left
14
Chapter 1
to right) terms describing nanoparticle–nanoparticle, nanoparticle–solvent, and solvent–solvent interactions, with the final term related to the chemical potential of the solvent (which accounts for the solvent evaporation rate/vapour pressure). Changes in the value of the total (global) energy of the system (represented by the Hamiltonian in Eq. (1)) are used to assign probabilities (via a Boltzmann factor, exp(− H kT )) for a number of processes to occur (i.e. the standard Metropolis algorithm Monte Carlo strategy [40] is implemented). In the nanoparticle–solvent system of interest here, the dynamic processes are limited by Rabani et al. [4] to solvent evaporation/condensation and nanoparticle hopping on the substrate. Importantly, nanoparticles do not diffuse on dry substrate: the model restricts nanoparticle hopping into sites which are occupied with the solvent. As highlighted by Rabani et al., it is this coupling between the solvent and nanoparticle dynamics which gives rise to much of the interesting behaviour of the system. For certain classes of pattern, the Rabani et al. approach produces remarkable agreement with experiment [4,8]. The process by which a far-from-equilibrium system approaches its equilibrium state is known as coarsening or ripening. Just as the snapshots of patterns shown in the figures thus far (where each image shows the system at a particular point in time) exhibit striking system-independent morphologies, coarsening is a ubiquitous phenomenon which displays a key universal feature: a temporal selfsimilarity of the sample morphology. (For an excellent review of coarsening in 2D systems, see Zinke-Allmang [41].) The self-similar nature of the coarsening process means that the evolution of the system towards equilibrium needs only one parameter—the fundamental length scale—for its description. This length scale, r, follows a power-law dependence on time, i.e. r ∼ t γ , where γ is the growth exponent. Different diffusion mechanisms (which underlie the coarsening process) give rise to different values of γ (although it is important to note that knowledge of γ alone is not always sufficient to correctly characterise the coarsening mechanism). Perhaps of most relevance to the central theme of this book, the self-similarity inherent in coarsening systems enables a pattern initially present at the nanometre scale to be preserved and “expanded”, in principle, up to micron (or larger) length scales. In recent experiments we have observed a striking coarsening of nanoparticle assemblies driven by a scanning probe [42]. In this coerced coarsening phenomenon, the degree of “pattern expansion” is tunable simply by interrupting the scan process at a pre-defined time. As the work on probe-induced coarsening is detailed elsewhere [42], we shall instead focus here on an analysis of the evolution of a nanoparticle assembly (formed in the spinodal regime of solvent evaporation) using the Monte Carlo simulation described above. Figure 1.9 shows three snapshots from a simulation of the evolution of a “spinodal” assembly. It is clear that, as time progresses, while the average size and spacing of the domains increase, the general form of the pattern does not change. This is clear from an analysis
Self-Organised Nanoparticle Assemblies
15
Fig. 1.9. Three frames showing coarsening of a nanoparticle assembly formed by solvent evaporation in the spinodal regime. (Simulation parameters: 1008 × 1008 pixel system with kB T = l /2, MR = 30, and a nanoparticle coverage of 30%.) (a) After 39 Monte Carlo steps, the majority of the solvent has already evaporated leaving only a thin wetting layer around the domains; (b) after 299 MC steps, a visibly increased length scale is present, and (c) after 999 MC steps where the length scale has clearly increased further. For colour version, see Colour Plate Section.
of the radially averaged Fourier transforms of the images (not shown). With appropriate scaling so that the magnitude of the transform is plotted not against q (where q represents wavevector) but against q/qmax (where qmax is the value of q at which the Fourier transform peaks, representing the “signature” length scale of the system), the Fourier transforms collapse onto a time-independent master curve [42,47]. As the position of the peak in the radially averaged Fourier transform (qmax ) represents the correlation length of the coarsening system at a given point in time, by plotting qmax versus MC step number (i.e. time) on a log–log scale, it is possible to extract the value of the growth exponent, γ . Rabani et al. [4] have shown that for nanoparticle assemblies comprising ensembles of isolated islands, the mean island radius scales so that γ = 0.25. An interesting question is whether the interconnected morphology of the assemblies shown in Fig. 1.9 might produce a different scaling exponent (i.e. are different diffusion pathways active?). Both experimental data [42] and the results of MC simulations (see Fig. 1.10(a)) indicate that the exponent of 0.25 is preserved in the spinodal regime. Figure 1.10(a) is a log–log plot of qmax vs. number of MC steps and it is clear that the slope of the graph asymptotically approaches −0.25 (the negative sign arises because in this case we have plotted wavevector rather than wavelength against time). We have recently verified that the 0.25 exponent derived from Fig. 1.10(a) for a relatively short simulation time does not change for simulation times up to a few hundred thousand MC steps. That is, in Fig. 1.10(a) the system has reached the appropriate scaling regime. We have also examined the evolution of the various Minkowski measures for the nanoparticle assembly shown in Fig. 1.9. Intuitively, the boundary length, U , of this structure will decrease over time. This can be used as a measure of
16
Chapter 1
Fig. 1.10. Analysis of the scaling regime in the evolution of a ‘spinodal’ nanoparticle assembly showing (a) the evolution of the peak in the 2D FFT, and (b) the evolution of the length scale L = Atotal /U of the pattern (where U is the total perimeter length—a 2D Minkowski measure). Both reveal an approach to an exponent of 1/4. For colour version, see Colour Plate Section.
the length scale of the pattern. We can define a length scale, L = Atotal /U , where Atotal is the total area of the simulation grid. L is then a measure of the mean size of features in the image and, as shown in Fig. 1.10(b), this quantity follows the same growth law (γ = 0.25) as the peak in the Fourier transform. More importantly, Minkowski measures can be used to demonstrate that despite an increasing length scale, the pattern retains the same morphology. If the Euler characteristic scales in the same manner as the perimeter, then the pattern can be said to be morphologically stable. The value of χ /U should tend to a constant, ) should therefore tend to zero. This is indeed the case: and the value of d(χ/U dt such a plot drops to within 10−4 of zero after 100 MC steps, and after 400 MC steps there is an even clustering around zero. Finally, despite its ability to accurately (and impressively) reproduce many of the patterns observed experimentally in colloidal nanoparticle assemblies (and their associated dynamics), there are a number of very important limitations of the Monte Carlo model described above. Many of the key limitations stem from the fact that only solvent evaporation or condensation is incorporated in the algorithm—there is no flow of solvent possible. In other words, although the nanoparticles hop on the substrate, the solvent molecules do not diffuse from site to site. This restriction in turn means that the effects of convective solvent dewetting cannot be reproduced in the Monte Carlo code. To build in convective dewetting processes requires not only a consideration of solvent diffusion but the modelling of a solvent film which can have local 2D or 3D character in different regions of the surface. (We are currently developing code which incorporates dewetting phenomena of this type. Note added in proof: This work was subsequently published
Self-Organised Nanoparticle Assemblies
17
in September 2007 [43].) Important additional effects not built into the model— and pointed out by Rabani et al. [4] in the conclusions of their paper—are hydrodynamics driven by Marangoni convection [6,7] and front instabilities (which the results of our recent experiments [44] suggest are strongly mediated by solvent dewetting). These front instabilities give rise to structures very reminiscent of the “viscous fingering” patterns observed in a range of systems including mixtures of viscous and inviscid fluids and solidification from a melt. What is of particular importance is that each of these effects can be, in essence, “programmed” by varying the substrate chemistry, opening new avenues of research in directed assembly of nanostructured systems [42,43].
5.
Conclusions
Colloidal nanoparticle assemblies represent a fascinating archetype for the study of self-assembly, self-organisation, and pattern formation in nanostructured systems. Many complex and intricate patterns result from a rather simple experiment where droplets of colloidal solution are deposited or spun onto solid substrates. Despite the simplicity of the experiment, a variety of complex physicochemical effects give rise to intricate (but generally spatially correlated) patterns ranging from isolated nanoscale droplets through labyrinthine structures to fractal branches. In this chapter some of the phenomena underlying the origin and evolution of patterns in nanoparticle assemblies have been described but in many ways we (i.e. the nanoscience research community) have barely “scratched the surface” both in terms of our understanding of self-assembly and, of key importance, in developing protocols to reliably tune or, more excitingly, program the assembly/organisation process. Pioneering steps in controlling the assembly of nanoparticle arrays have been made by a number of groups (including Refs. [3,4,10,45,46] amongst others) but it is clear that even in arguably the most basic colloidal nanoparticle system (thiol-passivated Au clusters) there is a very wide parameter space associated with pattern formation. When one considers the broad variety of functional groups that can be added to either the nanoparticle or the substrate surface, the parameter space associated with pattern formation becomes not just wide but vast! As such, we can expect to continue to see (for quite some time) a wealth of exciting fundamental and applied science on self-assembly and self-organisation in colloidal nanoparticle arrays. Arguably, however, the most exciting element of the self-assembly/selforganisation processes described above lies in their potential to lead to programmable assembly of matter. Software compilation of matter from individual molecules forms the core of the molecular manufacturing concept pioneered by K. Eric Drexler in his book Nanosystems [48]. Although molecular manufacturing is an extremely controversial subject within the nanoscience community
18
Chapter 1
(see, for example, [49–52]), at its core lies an important and demonstrably valid idea: computer-controlled single molecule chemistry. In the Drexler scheme, the position of each atom in a macroscopic structure is completely defined and the structure is assembled via entirely deterministic molecular trajectories. An alternative approach to the realisation of programmable matter is to tune the pattern-forming processes described above. This could be achieved via a variety of physicochemical parameters including electric and magnetic field strengths (and/or frequencies, phases, etc.), pH differences, and optical wavefields. Of course, the exploitation of one or more of these parameters in directed selforganisation necessitates a careful consideration of the thermodynamic and kinetic constraints on a particular system and thus, although a number of groups are currently pursuing research programmes involving directed assembly, progress is relatively slow. Nevertheless, a number of approaches—including the use of genetic algorithms to tune a nanostructured system towards a particular type of non-equilibrium state [53]—appear viable and we are confident that in the next decade important advances will be made in the area perhaps best described as “matter compilation”.
Acknowledgements The authors gratefully acknowledge funding from the European Commission under Sixth Framework contract HMT-RTN-200450728 (the PATTERNS Marie Curie Research Training Network (RTN)). This work was also supported by a Fifth Framework RTN, Supramolecular Self-Assembly of Interfacial Nanostructures (SUSANA) (HPRN-CT-2002-00185) and by the UK Engineering & Physical Sciences Research Council (EPSRC). We thank members of the PATTERNS network (in particular, Uwe Thiele, Ulli Steiner, Mathias Brust, and Bosa Tadic) for extremely helpful and enlightening discussions on pattern formation in thin film and nanostructured systems.
References [1] George M. Whitesides, Bartosz Grzybowski, Science 295 (2002) 2418. [2] M. Brust, M. Walker, D. Bethell, D.J. Schiffrin, R. Whyman, J. Chem. Soc. Chem. Comm. 1994 (1994) 801. [3] G. Ge, L. Brus, J. Phys. Chem. B 104 (2000) 9573. [4] E. Rabani, D.R. Reichman, P.L. Geissler, L.E. Brus, Nature 426 (2003) 271. [5] M.P. Pileni, J. Phys. Chem. B 105 (2001) 3358. [6] M. Maillard, L. Motte, M.P. Pileni, Adv. Mat. 13 (2001) 200. [7] P. Moriarty, M.D.R. Taylor, M. Brust, Phys. Rev. Lett. 89 (2002) 248303. [8] C.P. Martin, M.O. Blunt, P. Moriarty, Nano Lett. 4 (2004) 2389. [9] X.M. Lin, H.M. Jaeger, C.M. Sorensen, K.J. Klabunde, J. Phys. Chem. B 105 (2001) 3353.
Self-Organised Nanoparticle Assemblies
19
[10] T.P. Bigioni, X.M. Lin, T.T. Nguyen, E.I. Corwin, T.A. Witten, H.M. Jaeger, Nature Materials 5 (2006) 265. [11] J.N. O’Shea, M.A. Phillips, M.D.R. Taylor, P. Moriarty, M. Brust, V.R. Dhanak, Appl. Phys. Lett. 81 (2002) 5039. [12] Philip Ball, The Self-Made Tapestry: Pattern Formation in Nature, Oxford University Press, 2001. [13] K. Fukunaga, H. Elbs, G. Krausch, Langmuir 16 (2000) 3474. [14] H. Tanaka, T. Araki, Phys. Rev. Lett. 81 (1998) 389. [15] D. Weaire, N. Rivier, Contemp. Phys. 25 (1984) 59. [16] Sidney Perkowitz, Universal Foam, Walker & Co., New York, 2000. [17] Image taken from The National Trust website: www.nationaltrust.org.uk. [18] www.virgo.dur.ac.uk. [19] N. Rivier, Philos. Mag. B 52 (1985) 795. [20] E. Haeckel, Challenger Monograph (1887). [21] D. Thompson, On Growth and Form, Cambridge University Press, Cambridge, 1917. [22] O. Oliver, et al., Nature 378 (1995) 47. [23] G.A. Ozin, Acc. Chem. Res. 30 (1997) 17. [24] M. Sumper, Science 295 (2002) 2430. [25] Journal of Nanoscience and Nanotechnology (January 2005) devoted entirely to diatom nanotechnology. [26] A.-M.M. Schmid, B.E. Volcani, J. Phycol. 19 (1983) 387. [27] M.D. Morariu, N.E. Voicu, E. Schaffer, Z.Q. Lin, T.P. Russell, U. Steiner, Nature Materials 2 (2003) 48. [28] H. Bénard, Rev. Gen. Sci. Pures Appl. Bull. 11 (1900) 1261. [29] K. Jacobs, S. Herminghaus, K.R. Mecke, Langmuir 14 (1998) 965. [30] K. Michielsen, H. De Raedt, Phys. Rep. 347 (2001) 461. [31] J. Becker, G. Grun, R. Seemann, H. Mantz, K. Jacobs, K.R. Mecke, R. Blossey, Nature Materials 2 (2003) 59. [32] J. Rysz, Polymer 46 (2005) 977. [33] S.W. Chen, R.W. Murray, Langmuir 15 (1999) 682. [34] A. D’Aléo, R.M. Williams, F. Osswald, P. Edamana, U. Hahn, J. van Heyst, F.D. Tichelaar, F. Vögtle, L. De Cola, Adv. Funct. Mat. 14 (2004) 1167. [35] F. Vögtle, S. Gestermann, R. Hesse, H. Schwierz, B. Windisch, Prof. Poly. Sci. 25 (2000) 987. [36] F. Frehill, K.H.G. Schulte, C.P. Martin, L. Wang, S. Patel, J.A. Purton, J.G. Vos, P. Moriarty, Langmuir 20 (2004) 6421. [37] M. Sano, J. Okamura, A. Ikeda, S. Shinkai, Langmuir 17 (2001) 1807. [38] M. Brinkmann, F. Biscarini, C. Taliani, I. Aiello, M. Ghedini, Phys. Rev. B 61 (2000) R16339. [39] M. Brinkmann, S. Graff, F. Biscarini, Phys. Rev. B 66 (2002) 165430. [40] G. Casella, C.P. Robert, Monte Carlo Statistical Methods, Springer-Verlag, New York, 2004. [41] M. Zinke-Allmang, Thin Solid Films 346 (1999) 1. [42] M. Blunt, et al., Nature Nanotech. 2 (2007) 167. [43] C.P. Martin, M.O. Blunt, E. Pauliac-Vaujour, A. Stannard, P.J. Moriarty, I. Vancea, U. Thiele, Phys. Rev. Lett. 99 (2007) 116103. [44] E. Pauliac-Vaujour, P. Moriarty, J. Phys. Chem. C, published online 9 October 2007, doi: 10.1021/jp074152t. [45] R.P. Andres, J.D. Bielefeld, J.I. Henderson, D.B. Janes, V.R. Kolagunta, C.P.V. Kubiak, W.J. Mahoney, R.G. Osifchin, Science 273 (1996) 1690. [46] C.J. Kiely, J. Fink, M. Brust, D. Bethell, D.J. Schiffrin, Nature 396 (1998) 444. [47] H.-J. Ernst, F. Fabre, J. Lapujoulade, Phys. Rev. Lett. 69 (1992) 458.
20
Chapter 1
[48] K. Eric Drexler, Nanosystems: Molecular Machinery, Manufacturing, and Computation, Wiley Interscience, Chichester, 1992. [49] K. Eric Drexler, R.E. Smalley, Chem. Engng. News 81 (2003) 37. [50] http://www.softmachines.org/wordpress/index.php?p=70. [51] P. Moriarty, Nanotechnology Perceptions 1 (2005) 115. [52] http://video.google.com/videoplay?docid=-6086023528639836493. [53] P. Siepmann, C.P. Martin, I. Vancea, P.J. Moriarty, N. Krasnogor, Nano Lett. 7 (2007) 1985.
21
Chapter 2
Biomimetic Design of Dynamic Self-Assembling Systems Kyle J.M. Bishop, Christopher J. Campbell, Goher Mahmud, Bartosz A. Grzybowski* Department of Chemical & Biological Engineering and Department of Chemistry, Northwestern University, 2145 Sheridan Road, Evanston, IL 60208, USA Abstract. Biological systems at all scales self-assemble and maintain themselves in dynamic states away from thermodynamic equilibrium. Examination of various biological examples of dynamic self-assembly (DySA) enables one to extract general principles that govern it. These principles, in turn, can be applied to the rational design of artificial DySA systems by combining biological inspiration with the tools of chemistry, physics, and engineering. Such artificial DySA ensembles can be studied in quantitative detail and will ultimately lead to novel applications in biomimetic “smart” structures and materials.
1. Introduction Self-assembly (Figs. 2.1 and 2.2)—that is, the process by which isolated components organize autonomously and spontaneously into ordered and/or functional structures [1]—is nature’s preferred way of building its animate creations on various length scales. Science and technology have long recognized the promise of the “bioinspired” SA approach for building large structures from small objects. Nevertheless, despite several impressive demonstrations, such as SA of 2D and 3D structures via capillary forces [2,3], DNA templating [4,5], fluidic machines [6], microspheres with complex internal structures [7], 2D electrostatic crystals [8,9], and several more, we are still very far from using SA as flexibly and creatively as nature does, especially in dynamic systems operating far from thermodynamic equilibrium. Therefore, to better understand dynamic self-assembly (DySA), it is instructive to first examine representative biological ensembles and extract from them at least qualitative governing principles. This effort will, in turn, further our ability to create artificial DySA systems that can be studied in quantitative detail and will ultimately lead to novel applications in biomimetic “smart” structures and materials. * E-mail: grzybor@northwestern.edu.
STUDIES IN MULTIDISCIPLINARITY VOLUME 5 ISSN 1571-0831/DOI: 10.1016/S1571-0831(07)00002-0
© 2008 Elsevier B.V. All rights reserved.
22
Chapter 2
The present contribution is intended to provide a basis for a systematic study of DySA and to illustrate some early experimental developments in the field. We begin by defining and characterizing various modes of self-assembly with emphasis on dynamic systems. We then examine several examples of DySA in biological systems operating on length scales from molecular to macroscopic. Based on these examples, we develop a heuristic approach that allows for the rational design of simple artificial DySA systems and combines biological inspiration with the “tools” of physics, chemistry, and engineering. A case study of magnetohydrodynamic DySA illustrates how this approach can be used in practice to construct dynamic ensembles of increasing complexities. Finally, we discuss two artificial DySA systems that closely mimic biological phenomena of bacterial colonization and insect swarming, respectively.
2.
Definitions
Before exploring specific examples of SA, it is first necessary to define precisely what is meant by self-assembly in general. While we note that any realistic definition of SA is not without some ambiguity, it can nevertheless provide a useful guide with which to navigate a diverse and growing set of phenomena, ranging from supramolecular chemistry [10–12] to the rings of Saturn [13]. Here, we define self-assembly as the spontaneous formation of organized structures from many discrete components that interact with one another directly (e.g., by electrostatic repulsions [14]) and/or indirectly, through their environment (e.g., magnetohydrodynamic SA [15,16], cf. Section 6). The term “organized” refers to some form of spatial and/or temporal ordering (e.g., an ionic crystal) and distinguishes SA proper from less ordered aggregation processes such as precipitation [17] and ballistic deposition [18]. Furthermore, because the building blocks of SA structures are specified as “discrete”, our definition excludes pattern formation in continuous media such as Bénard convection [19,20], chemical waves [21–23], and Turing structures [24,25]. In general, SA cannot be described by continuum modeling approaches; instead, its description relies on discrete methods such as particle dynamics simulations [26] or agent based modeling [27]. Within the definition outlined above, we make two further distinctions between static self-assembly (SSA) and dynamic self-assembly (DySA) by considering the thermodynamic description of the resulting assemblies (cf. Fig. 2.1). SSA refers to stable equilibrium structures characterized by a maximum (local or global) in the system’s entropy and no systematic energy flows. Examples include organic and inorganic crystals, block copolymer assemblies [28,29], supramolecular structures [10–12], and capillary SA [30,31]; however, due to the constraints of thermodynamic equilibrium, the control and flexibility of artificial SSA systems is somewhat limited. In contrast, DySA refers to ordered
Biomimetic Design of Dynamic Self-Assembling Systems
23
Fig. 2.1. Schematic representations of (a) static and (b–d) dynamic self-assembly. (a) In static self-assembly, components form an ordered, thermodynamically isolated aggregate whose structure does not change in time. (b–d) Dynamic self-assembly evolves a disordered collection of components into an ordered structure through input of energy from an external source and dissipates this energy (e.g., as heat) into the environment. (b) The system can adapt to changes in the rate of energy input by realizing different configurations. (c) When no energy is delivered to “drive” the system, it “falls apart”. When the supply of energy is restored, the system self-heals into a dynamic, stable configuration. (d) Self-replication can be realized through creating daughter assemblies from parental templates with the input of energy. In this hypothetical example, individual components dock onto the templates through capillary interactions. Once two components dock on one template, external energy (here, light of a specified wavelength) is supplied to initiate a permanent bond between the two components to form a daughter assembly. Another form of external energy (e.g., light of different wavelength) is inputted to overcome the capillary bond between the template, and the new daughter assembly is then ready to act as a template to create additional replicas. The described idea has been recently realized in practice in our laboratory [32] and will be reported in the near future.
24
Chapter 2
Fig. 2.2. Examples of dynamic self-assembly found in nature across various length scales. (a) A helicase driven by ATP unwinds DNA for DNA replication. (b) Chlorophyll-containing chloroplasts transform the external energy of light into chemical energy used by the cell to power its DySA processes. (c) Flagella power autonomous motions of bacteria. (d) Dynamic cytoskeleton endows a micropatterned cell its structural integrity. In the picture, the cell is confined to a 40 µm triangle surrounded by a SAM-patterned surface of gold (staining scheme: green = microtubules, red = focal adhesions, blue = actin filaments). (e) Bacterial colony directs its growth in response to the scarcity of nutrients. (f) Fish school to minimize the chances of being attacked by a predator. [Credits: (a) T. Ha, University of Illinois, Urbana–Champaign; (b) L. Lin, SUNY–Buffalo; (c) Reprinted with permission from [33]; (d) K. Kandere-Grzybowska, Northwestern University. (e) E. Ben-Jacob, Tel Aviv University; (f) Reprinted with permission from [1].] For colour version, see Colour Plate Section.
Biomimetic Design of Dynamic Self-Assembling Systems
25
nonequilibrium structures, which are maintained far from equilibrium by a supply and subsequent dissipation (e.g., into heat) of useful energy. Free from the constraints of entropy maximization, these systems can “reside” in low entropy states often characterized by complex spatial or coherent spatio-temporal organization. Furthermore, the variety of dissipative interactions (cf. Table 2.1) and the dependence of DySA systems on an external energy supply (e.g., the angular velocity of a rotating magnetic field [15]) provide a basis for the systematic design and control of synthetic DySA systems. Despite its prevalence in nature and several demonstrations in artificial systems [14,15], relatively little is known about DySA—both in the theory and in the experimental practice. From the perspective of thermodynamics, DySA systems belong to a larger class of nonequilibrium steady-state systems [34,35] also known as dissipative structures [36]. In these systems, thermodynamic gradients feed a variety of dissipative (i.e., irreversible) processes, which produce entropy and direct the emergence of order. While these concepts are well established in linear regime of nonequilibrium thermodynamics [34,35],1 they are of little use in understanding DySA, which occurs only under far-from-equilibrium conditions. Here, one must seek alternative theoretical tools, of which the theory of dynamical systems appears most relevant [37,38]. In this context, we [39] and others [40–42] have recently suggested that concepts such as phase space compression and Liapunov exponent spectra can provide a basis for a quantitative study and formulation of DySA. Of course, validation of these theoretical conjectures [39–41] will rely heavily on the knowledge obtained from careful experimental investigation of both natural and synthetic DySA systems.
3. Advantages Even in the absence of a complete theoretical description, DySA offers exciting practical opportunities that go well beyond the capabilities of equilibrium SA. In particular, systems based on DySA can exhibit adaptive/smart behaviors, can be robust in the face of large perturbations, are capable of self-healing, and can potentially self-replicate.
3.1. Adaptability Living organisms, which are paradigmatic DySA systems, have developed a range of flexible strategies that allow them to adapt to environmental changes by adjusting their mode of assembly.2 For example, individual cells respond to 1 In the linear regime, Onsager’s reciprocal relations hold, and the assumption of local thermodynamic equilibrium is valid. 2 This form of adaptation should be distinguished from evolutionary (i.e., genetic) adaptation.
26
Chapter 2
unfavorable increases in temperature by producing various heat shock proteins, which function as molecular chaperones to guide dynamic cellular processes such as synthesis, folding, translocation, assembly, and degradation of other proteins [43]. At the population level, chemotactic bacteria (cf. Section 4.5 and Fig. 2.2) respond to a scarcity of nutrients by clustering and forming metabolicallyefficient colonies [44]. Such adaptability can also be realized in artificial DySA, where changes in the rate of energy delivered to a system can alter its mode of organization, and enable it to toggle controllably between different metastable states (cf. Section 6.2 and Fig. 2.4). The ability to respond to environmental stimuli is a direct result of the nonequilibrium nature of DySA systems and also their common trait since these systems represent stable, dissipative structures that organize in response to various nonequilibrium constraints (e.g., energy flows or thermodynamic gradients).
3.2.
Self-Healing
In addition to adaptability, DySA systems—both natural and artificial—are robust in the face of perturbations and have the ability to heal themselves when wounded. Unlike typical manmade systems (e.g., a Boeing 747), where the loss of one critical part can lead to system failure, DySA systems are capable of rebuilding and maintaining themselves despite the loss or exchange of their underlying components—e.g., on average, the cells in the human body turnover in ∼2 years. From the perspective of dynamical systems theory, DySA structures represent stable attractors in the phase space (specifically, “strange” attractors [37,38]), towards which all neighboring configurations converge. Furthermore, depending on the specific DySA system and its environment, there may exist multiple attractors, each surrounded in the phase space by a corresponding “basin” of attraction.3 Therefore, while smaller perturbations that remain in the current basin are “healed”, larger perturbations force the system to adapt by transitioning to another mode of assembly characterized by a different attractor in the phase space.
3.3.
Self-Replication
Finally, DySA systems have all the necessary ingredients for self-replication. For example, cells undergo a complex self-replication process in which various pieces of cellular machinery first self-assemble and/or migrate to appropriate locations [45,46]. Subsequently, in the processes of cell mitosis and cytokinesis, microtubules and later microfilaments do mechanical work to separate the cell into two 3 In the dynamical systems theory, a basin of attraction is defined as the set of points in the phase
space such that initial conditions chosen from this set evolve to a particular attractor.
Biomimetic Design of Dynamic Self-Assembling Systems
27
progenies [47]. Characteristic of all DySA processes, cell replication requires energy, which is delivered to the cell in the form of nutrients and is later dissipated into the environment as heat and chemical “waste” [48]. Despite the prevalence of self-replication in natural systems, there are very few examples of self-replication in artificial DySA ensembles (cf. one example from magnetohydrodynamic SA in Section 6.3).
4.
Biological Examples—Molecular to Macroscopic
The many advantages of dynamic self-assembly manifest themselves most clearly in biological systems. In this section, we illustrate how nature uses DySA across length scales from molecular to macroscopic (cf. Fig. 2.2). Through these examples we gain not only a deeper appreciation of DySA’s potential, but also abstract general characteristics that can then guide the design of artificial DySA systems.
4.1.
DNA Manipulation—Stitching Together and Ripping Apart (Fig. 2.3)
At the molecular level, the genetic code of life—persistent over eons through replication of DNA, transcription to RNA, and translation into functional proteins—represents a finely tuned symphony of DySA processes (Fig. 2.3a). For example, the replication of DNA is energetically driven by the hydrolysis of deoxyribonucleotide triphosphate precursors, coupled to the unwinding of the double helix [49]. The DNA replication requires that discrete proteins called helicase, DNA polymerase, and primase organize spontaneously in the nucleus of the cell (Fig. 2.3b). Helicase physically separates the antiparallel strands at the origin of replication [50], DNA polymerase powered by nucleoside triphosphates synthesizes new Watson–Crick base pairs [51], and ligase seals the new strands together [52] before returning the system to the final equilibrium state (Fig. 2.3c). The transcription of DNA into RNA also requires a concerted action of different self-assembling components, including RNA polymerase, transcription factors, and promoter regions. Proteins called transcription factors help RNA polymerase find promoter regions in the double-stranded DNA, and free energy liberated from a favorable conformation change is used to elongate the strand [53]. During strand elongation, localized melting forms a transcription bubble in the DNA, and RNA polymerase is allowed to base pair (A-U and G-C). At a transcription stop site, the DNA strands hybridize back together, and the RNA polymerase spontaneously releases the newly created primary transcript. In the nucleus, this precursor messenger RNA is then further processed and spliced to remove non-gene coding segments before finally being exported to the cytoplasm for translation.
28
Chapter 2
Fig. 2.3. (a) Powered by the energy “stored” in RNA polymerase, DNA is transcribed into mRNA in the nucleus of the cell. After being exported to the cytoplasm, mRNA is translated into polypeptides. With the physical aid of ribosomes, energy from GTP is used to synthesize a growing amino acid chain. (b) Using energy delivered by dNTP, parental DNA strands are physically split apart at the origin of replication by helicase proteins. After the replication process is complete, the two new daughter strands seal back together. (c) Energy from ATP hydrolysis is used to make new DNA from antiparallel, “parent” DNA strands. The assembly of nucleotides, DNA polymerase and ligase replicate the DNA strand from the 3’ to the 5’ direction. For colour version, see Colour Plate Section.
Biomimetic Design of Dynamic Self-Assembling Systems
29
Energy-dependent self-assembly also underlies the translation of DNA. Released from the hydrolysis of guanosine triphosphate, energy is harnessed to aid in the assembly of polypeptides. A ribosome molecule “clamps down” the newly created mRNA, and tRNA is then allowed to interpret the instruction manual. Transfer RNA (tRNA) is the “Rosetta Stone” of translation, because it is the key link in decoding the hieroglyphic mRNA into amino acids. Once the amino acids are sequenced into a correct polypeptide, the ribosome, tRNA, and mRNA complex is released. With the aid of molecular chaperons, the newly manufactured polypeptide chain folds and coils until it reaches a final equilibrium, functional form. We learn two things from the above examples. Firstly, biological DySA usually involves multiple agents interacting synchronously. Secondly, not all of the interactions that take place are of the same “character”—some are designed to bring components together, and some to separate them. DySA occurs as the result of a fine-tuned balance between these two types of processes—this observation provides the first heuristic rule (“competing interactions”, cf. Section 5.1) for the design of artificial DySA.
4.2. Photosynthesis—Powering DySA Biological examples above illustrate how DySA can be driven by chemical energy. In addition, it can also be powered by energy harnessed from external fields. For example, in the photosynthesis process, the energy that plants use to build and maintain themselves is derived primarily from sunlight [54]. Here, the self-assembled system of molecules in the chloroplast (Fig. 2.2b) transduces the energy of impinging photons through a series of synchronized electron transfer steps. In photosystems I and II, the energy from a photon of light excites chlorophyll to initiate an electron cascade, generating high energy ATP and NADPH [55]. The energy stored in NADPH and ATP is then used to drive the synthesis (assembly) of macromolecules, such as sugars and starches, from simple CO2 . Overall, plants power their DySA processes by harnessing and processing the energy of light. As we will see shortly, similar—albeit infinitely simpler— harnessing mechanisms can be built into artificial ensembles when responsive materials (magnetic, photoactive, etc.) are used to transduce external fields into mechanical work necessary to develop and maintain nonequilibrium order.
4.3.
Cytoskeleton—Well Balanced Tension
On the cellular scale, dynamic self-assembly endows cells structural integrity and mechanical resilience. The so-called cytoskeleton responsible for these functions is not a rigid structure but rather a highly dynamic maze of microscopic fibers that
30
Chapter 2
constantly grow and shrink by utilizing chemical energy contained in high-freeenergy molecules (e.g., GTP [56]). The two major components of cytoskeleton are microtubules and actin filaments (Fig. 2.2d). The former are made of multiple repeats of a protein called tubulin and, from a mechanical point of view, serve as compression resisting elements. In contrast, actin filaments (made of actin proteins) act as tension-bearing, rubber-like strings. The interplay between the compression and tension keeps the cells structurally compact while allowing them to adjust to external forces and environmental cues. While the intricacies of these mechanisms are not important here, we note that what makes this fabulous DySA system work is the proper balance between the magnitudes of compression and tension—had one of these “tendencies” been much stronger than the other, the cell would simply either collapse or explode. The same is true for all other “competing” effects that one might want to use to engineer DySA systems—in order to achieve DySA, these tendencies should be of comparable magnitudes. The proper balance is the key to DySA.
4.4.
Flagella—DySA in Motion
The ability to move autonomously is another consequence of DySA in animate systems. To propel itself, however, an organism must first transduce molecular scale, energy generating DySA events into a micro/macroscopic mechanical deformation of its entire body or of its part. For instance, bacteria utilize the energy from protons moving down a gradient of chemical potential to power and synchronize nine outer and two inner microtubule-associated motor proteins—these processes ultimately generate enough torque to cause periodic beating of microscopic membrane extensions called flagella (Fig. 2.2c). Interestingly, this complex machinery is very sensitive to environmental changes. Receptors on the flagella continuously monitor and respond to chemical gradients in the surrounding medium and by having a temporary “memory” of the previous chemical concentration are able to bias their movements. If the chemical response was deemed favorable, the flagella will move counterclockwise and propel the bacterium towards the stimulus; if the response was unfavorable, the flagella will move clockwise, and the motion will be reversed [57]. We make two practical observations on the possibility of autonomous motion in artificial DySA systems. First, such systems should be based on materials that respond to environmental changes (e.g., thermoresponsive hydrogels [58,59], pH responsive polymers [60,61], or light-responsive polymers [62]) and/or should be able to cause mechanical disturbances to the environment (either by moving their parts or by emitting chemical substances). In addition, if we are to achieve some level of motion control, the system should be able to communicate with the environment and possibly include feedback elements.
Biomimetic Design of Dynamic Self-Assembling Systems
4.5.
31
Cellular and Organismal Populations—Collaborating with Neighbors
When the communication “system” spans the entire DySA ensemble, new collective phenomena may arise. In bacterial colonies, communication mediated by chemicals each member secretes into the surrounding medium allows the group to adjust to changing nutrient conditions. When nutrients are abundant, bacteria form circular aggregates; when food is scarce, they organize into fractal or vortex-like structures to maximize the efficiency of food consumption [63,64] (cf. Fig. 2.2). The underlying assembly mechanism—similar to diffusion-limited aggregation (DLA) in inanimate systems [65]—relies on the coupling of the local reproduction rate to the diffusive delivery and consumption of nutrients [64]. Even more complex colonial assemblies emerge when group members are responsive to environmental stimuli that they themselves create or influence (e.g., chemical signaling in ant colonies [66] or chemotactic bacteria [44]). In this case, swarms, flocks and schools form that—depending on a particular species— improve chances of finding food (e.g., ants [67] and birds [67,68]) or minimize the risks of becoming a prey (e.g., fish schools [69]). In all cases, the collective behaviors lead to modes of dynamic organization that optimize one or more characteristics of an ensemble. For an engineer of artificial DySA systems, these examples are probably the ultimate inspiration since they illustrate how almost “intelligent” behaviors can be achieved by putting together relatively unintelligent but dynamic components. These examples have already stimulated development of widely used computational algorithms for resource allocation [70,71]. In the future, they should underlie development of actual physical systems with potential uses in sensors, smart materials, and reconfigurable devices. In the following, we outline the first steps towards these visionary but, as we argue, achievable goals.
5.
Heuristics of Rational DySA Design
Before turning to specific systems, we briefly summarize the general principles extracted from our short survey of biological DySA. We emphasize that these principles are not quantitative but only heuristic. Nevertheless, they provide a viable basis for the rational design of artificial DySA systems, which, in turn, can be used as test-beds for the development of rigorous theories. Nature provides many interactions that could potentially be used in dynamic self-assembly. To successfully engineer a prototype DySA system from the bottom–up, one must first identify a set of competitive interactions and then determine the mode of energy dissipation, appropriate medium, and length scale for these interactions. Once this prototype is understood, one can then increase its complexity and consider applications.
32
5.1.
Chapter 2
Competitive Interactions
As in the DNA or cytoskeleton examples, interactions between assembling components should not all be of the same nature (i.e., not all attractive or all repulsive) but, rather, should “compete” with one another to achieve a well-ordered balance. If, instead, all forces were purely attractive or purely repulsive, the assembly would clump together into an equilibrium structure or simply disintegrate— neither of which constitutes DySA. Furthermore, at least one of the interactions should depend on the amount of energy delivered to the system; otherwise, the system would be energetically isolated and by definition not a dynamic one.
5.2.
Energy Dissipation
In order for the system to be responsive to external stimuli, it must be displaced from equilibrium by an externally supplied energy flow, which sets up and/or modifies the interactions between the assembling components. Possible energy sources include time-varying magnetic, electrical, or optical fields, chemical reactions, or mechanical agitation. Once delivered, energy is subsequently dissipated—usually as heat—through the component’s interactions with each other and/or their environment. Energy dissipation is a necessary consequence of the nonequilibrium conditions under which DySA occurs and is essential to the emergence of order far from equilibrium.
5.3.
Medium and Length Scale
The nature of competitive interactions dictates the medium and length scale at which a DySA system can operate. To illustrate this, consider the following example, in which a collection of charged spheres is to assemble in two dimensions by balancing attractive capillary and repulsive electrostatic forces. An obvious choice of the medium/location is a liquid/air interface at which the capillary forces between the objects can be engineered [31]. In such a configuration, attractive (lateral) capillary forces “compete” against repulsive forces due to charge on the particles. Assuming the radii of the spheres, R,√and the interparticle distances, L, are smaller than the capillary length,4 κ −1 = γ /ρg, where γ is the surface tension, ρ is the density of the liquid, and g is the acceleration due to gravity, the attractive capillary force can be well approximated as FC ∼ γ R 2 /L [72]. Similarly, the repulsive electrostatic force between like-charged particles is given by FE ∼ kQ2 /L2 , where k is the Coulomb constant, and Q is the charge of an individual particle. Therefore, in order for these interactions to balance one another, we must satisfy the condition FC ∼ FE , which determines the length scale 4 Above this length gravity dominates capillarity, and an assembly via capillarity becomes prob-
lematic or impossible.
Biomimetic Design of Dynamic Self-Assembling Systems
33
at which the system should operate. Specifically, it follows that the radii of the spheres and the characteristic distance between them should obey the relation: LR 2 = kQ2 /γ . For example, if the system is composed of particles of radius R = 100 µm and charge Q ∼ 10−11 C floating on a surface of oil (γ ∼ 20 mJ/m2 and ρ ∼ 1 g/cm3 ), the characteristic distance should be of the order of 1 mm. Importantly, we note that the characteristic lengths can be modified by adjusting the properties of the particles (e.g., charge) or the properties of the fluid (e.g., density or surface tension). Furthermore, to make this system truly a dynamic one, charge could be induced in dielectric particles by UV light [73] and subsequently dissipated through the surrounding moisture, thereby necessitating constant irradiation.
5.4.
Increasing Complexity
Finally, the biomimetic design of DySA systems should follow a bottom–up approach, in which one starts with relatively simple ensembles that can be understood in quantitative detail and then gradually increases their complexity. Following the example of biological DySA systems, complexity should be increased in a “hierarchical” manner by sequential and systematic addition of new types of components or interactions. Ultimately, entire DySA systems may be used as components of even larger ones, just as individual cells contribute to the organization of the entire colony.
6.
DySA Design in Practice: Magnetohydrodynamic Systems
In this section we illustrate how the proposed principles were applied to develop a class of DySA systems—the first rationally designed ones—based on competitive magnetic and hydrodynamic interactions. We begin by describing a basic configuration in which identical components are confined by a centrosymmetric magnetic potential, repel one another by vortex–vortex interactions, and organize into two-dimensional, metastable lattices. We then discuss how the forces acting within the system can be tailored in two and three dimensions, and how these modifications lead to unexpected behaviors such as symmetry breaking, chiral recognition, and pattern replication. We conclude by describing two real-world applications originating from our model systems: a microfluidic mixer and a microfluidic machine.
6.1.
The Origin of Competitive Interactions (Fig. 2.4)
Consider a collection of small (tens of microns to millimeters) magneticallydoped particles (usually, polymeric disks containing magnetite powder) floating
34
Chapter 2
at a liquid–air interface and subject to a field produced by a permanent magnet rotating below this interface. Under the influence of the rotating magnetic field, all disks experience a centrosymmetric force, Fm , directed towards the axis of the magnet’s rotation [74]. At the same time, their induced magnetic moments interact with the magnetic moment of the external magnet, and the disks spin around their axes at an angular velocity ω equal to that of the magnet. The fluid motion associated with spinning results in repulsive hydrodynamic interactions Fh between the disks (cf. Fig. 2.4a). The origin of these repulsions can be explained using ideas from low (but not zero) Reynolds number hydrodynamics [75], and their magnitude is proportional to ω2 and inversely proportional to the cube of the distance between the particles, d 3 .
6.2.
Two-Dimensional Assemblies Exhibit the Principles and Advantages of DySA
The balance between attractive magnetic and repulsive hydrodynamic forces evolves collections of randomly distributed spinners into ordered open-lattice assemblies capable of adaptive and self-healing behaviors (cf. Fig. 2.4b). Because the magnitude of the vortex–vortex interaction increases with ω, one can control the assembly by tuning the rate of energy supplied to the system. This control parameter enables one to modify the interparticle spacing, effectively expanding or contracting the lattice, or even to toggle the system between different stable configurations or “modes” of the assembly (Fig. 2.4b). In addition to this primitive adaptability, the system is capable of rebuilding itself when perturbed, provided that energy is continuously supplied by the rotating magnetic field. Characteristic of DySA, the assembly “dies”, when the flow of energy ceases, and the disks collapse into a disordered cluster. Building on this basic arrangement, more complex systems were constructed using differently shaped particles or mixtures of component types. For example, when circular particles are replaced by chiral, comma-shaped components, the magnitude and nature of the interparticle interactions change dramatically [16]. While they repel each other at low and high values of ω, particles of a specific chirality combine selectively to form dimers at intermediate speeds (cf. Fig. 2.4c). Interestingly, dimerization only proceeds in the presence of a third particle, which “catalyzes” the interaction. Further complexity can be built into the system if one allows different types of particles to co-assemble simultaneously. For example, collections of large and small particles create assembles that mimic classical “atoms”, which can “react” to form macroscopic DySA “molecules” (Fig. 2.4d) and can break system’s symmetry [76].
Biomimetic Design of Dynamic Self-Assembling Systems
35
Fig. 2.4. Artificial DySA systems engineered from magnetic and vortex–vortex interactions. (a) The simplest experimental arrangement uses circular, polymer discs (0.02–2 mm in diameter) doped with magnetite. The discs are placed at a liquid–air interface, below which a permanent bar magnet rotates with angular velocity ω (200–1100 rpm). A magnetic force, Fm , attracts all discs towards the axis of the magnet’s rotation, while the spinning discs repel one another via pairwise hydrodynamic forces, Fh . (b) Dynamic patterns formed by 5 (top left), 37 (top right), and 10 disks (bottom). The assembly of 10 disks can be toggled between two different configurations by changing the rotational speed. (c) Comma-shaped spinners with in-plane chirality aggregate into dimers. Once formed, the dimers repel one another and organize into extended dynamic arrays. Disks of opposite chiralities (not shown) do not dimerize. (d) Fusion of two macroscopic “artificial atoms” into an “artificial molecule”; the analogy is based on the quantitative similarity of potentials acting in this system and in the so-called classical artificial atoms [74]. (e) Illustration of pattern replication using vortex–vortex interactions. Here, an assembly of magnetically doped squares (black) spinning at a PFD/EG-H2 O interface was used as template to assemble nonmagnetic PDMS rectangles (white) on the EG-H2 O/air interface above [77]. Objects rotating on different interfaces interact and assemble via Taylor vortices (right). [Reprinted with permission from (a) [78], (b) [15], (c) [16], (d) [76], (e) [79].] For colour version, see Colour Plate Section.
36
6.3.
Chapter 2
Pattern Replication via Three-Dimensional Magnetohydrodynamic DySA
Having explored the possibilities of magnetohydrodynamic DySA in 2D, the system was extended to three dimensions by assembling particles at multiple interfaces prepared by layering immiscible fluids of different densities [79]. In addition to “communicating” with their neighbors on the same 2D interface, particles on different interfaces influence one another through Taylor vortices [80] extending in the vertical direction. While this 3D system exhibits a variety of interesting new phenomena, most notable is its ability to spontaneously replicate dynamic assemblies onto neighboring interfaces (Fig. 2.4e). In one example [77], a set of square, magnetic particles makes a copy of itself by pairing up paramagnetic half-squares floating above them. The paramagnetic particles are first attracted towards the Taylor vortices created by the magnetic squares, and then pair-up to produce an exact replica of the magnetic pattern below. Through careful investigation of the basic magnetohydrodynamic DySA system and its more complex derivatives, one realizes the potential advantages of DySA—adaptability, self-healing, and self-replication—and gains the understanding necessary to apply these advantages to functional DySA applications. Here, we illustrate two such applications in the fields of microfluidics and micromechanical systems.
6.4.
Microfluidic Mixer (Fig. 2.5a)
Efficient mixing [81,82] in microfluidic devices [83,84] is a fundamental technical problem that can be overcome using the tools of magnetohydrodynamic DySA [78]. While both passive (i.e., no moving parts) [85,86] and active mixers [87–90] have been developed to address the challenge of microscale mixing, these methods often involve complicated microfabrication processes and/or have limited control. In contrast, we have developed an effective active micromixer [78] that builds itself spontaneously through dynamic self-assembly and can be carefully controlled through an external energy supply. Briefly, the device consists of a sealed microfluidic channel, whose floor is patterned with magnetic islands (25–100 µm in diameter). In the presence of an external, rotating magnetic field, these islands act as field concentrators, onto which small magnetic particles assemble to form needle like structures. Importantly, as the needles build themselves, they repel one another by vortex–vortex (cf. above) forces and redistribute their components such that ultimately all needles are of similar sizes and rotate in synchrony. Rotation of an array of such microscopic mixing arms, creates turbulent flows that mix fluids flowing laminarly above them. As in previous examples of DySA, this system is responsive to external control and heals itself spontaneously when damaged.
Biomimetic Design of Dynamic Self-Assembling Systems
37
Fig. 2.5. Applications of magnetohydrodynamic self-assembly, (a) self-assembling microfluidic mixers and (b) self-assembling fluidic machines. (a) The mixers are formed when magnetic particles aggregate from an initially uniform dispersion in the fluid into needle-like aggregates above micropatterned field concentrators. Each needle rotates with angular velocity ω equal to that of the external rotating magnet. The top-right picture shows an inefficient oval-shaped micromixer operating at 100 rpm and at a flow rate of 50 µL h−1 . A more efficient pear-shaped design (lower right) operating at 700 rpm at the same flow rate achieves complete mixing of laminarly flowing streams. (b) Self-assembled carousel system. Seven gears (pink) are powered by magnetic spinners (black) interacting with external, rotating magnetic field (cf. Fig. 2.4). When the field profile is modified by electromagnetic field concentrators (i), the gears organize above “activated” electromagnets and can be used to manipulate nonmagnetic containers floating at the interface. Here, the carousel first incorporates an empty container (ii), turns it around (iii) until the filling point (iv), completes the revolution (v), expels the filled container (vi), and finally returns to its initial state. The motions of the carousel are caused by synchronous activation of the electromagnets. When the carousel opens or closes, three electromagnets are simultaneously turned on; when the carousel rotates, six electromagnets are activated at a time. [Reprinted with permission from (a) [78] and (b) [6].] For colour version, see Colour Plate Section.
38
6.5.
Chapter 2
Fluidic Machines (Fig. 2.5b)
Vortex–vortex interactions from magnetohydrodynamic self-assembly provide a basis for creating unconventional mechanical machines operating at fluidic interfaces [6,91]. The most illustrative system here consists of two-component rotors with a magnetic core and a non-magnetic, gear-shaped ring around it. When an external rotating magnetic field is applied, the cores begin to rotate and center inside the gears, generating a hydrodynamic flow that sets the gears into motion. Rotors can be manipulated at the interface by localized magnetic fields generated by electromagnetic actuators placed below the liquid’s surface. Importantly, because of vortex–vortex repulsions between any two rotors, only one rotor resides in one local minimum of magnetic field intensity thereby creating a unique configuration for a given “pattern” of magnetic field. In other words, configuration and function of these fluidic machines are directed by the self-assembly “template” of magnetic field concentrators. Figure 2.5b demonstrates how the rotors can act as a carousel system to move floating containers, fill them with analyte solutions, and deliver them to a specific end location.
7.
Examples of Bioinspired DySA
While they allow for many versatile designs, the magnetic and vortex–vortex forces are certainly not the only ones from which artificial DySA can be engineered. Within our heuristic engineering approach, one can flexibly use a variety of existing dynamic (i.e., energy driven and/or dissipative) interactions (cf. Table 2.1) and even discover new ones. To illustrate this, we describe two more artificial DySA systems whose components interact by, respectively, dynamic surface tension and by electrostatic forces mediated by contact electrification. In addition to reinforcing the rational design approach, these examples illustrate how inspiration gained from various biological systems can be translated into working DySA prototypes.
7.1.
DySA via Dynamic Surface Tension (Figs. 2.6a–c)
Inspired by chemotactic bacteria that move in response to chemical gradients which they, themselves, create, we developed a macroscopic DySA system designed to mimic basic communication and response behaviors observed in biology. In this artificial system (Figs. 2.6a–c) a collection of millimeter-sized, hydrogel particles of a specified geometry are doped with a surface-active agent (e.g., solid camphor) and are placed at a liquid–air interface. As the camphor diffuses from the particles, it creates dynamic gradients in the surface tension, which cause the particles to move about autonomously, further modifying the
Biomimetic Design of Dynamic Self-Assembling Systems
39
Table 2.1. Examples of dynamic interactions suitable for designing artificial DySA systems Interaction
Particle size/type
Applications and references
Induced magnetic Colloidal SA microfluidic mixers [78]; Applications of dipole–dipole [92] 0.1–100 µm magnetorheological fluids: automotive clutches [93], polishing ferromagnetic fluids [94], smart knee prosthetics [95], anti-lock brakes [96], vibration control of washing machines [97]; 2D and 3D arrays of electro-magnetorheological colloids [98,99] Optical binding
Colloidal 0.1–100 µm
Formation of ordered 2D crystalline arrays of colloidal particles which are held together by light [100,101]
2D vortex–vortex µm–mm sized DySA of magnetized disks at a liquid–air interface objects [15,16,74–76]; Self-assembled gear systems and fluidic machines [6,91]; Cell membranes with SA arrays of rotating bio-motors [102]; Vortex crystals in magnetized electron columns [103,104] Flow-induced µm–mm sized Flow-induced structures in sheared colloidal suspensions [105] viscous interaction objects 3D vortex columns µm–mm sized DySA of 3D vortex crystals [77,79] objects Dynamic capillary µm–mm sized Dynamic self-assembly of camphor-doped polymeric particles objects at the fluid–air interface [106]; Dynamic behavior of camphor particles at the fluid–air interface: spontaneous movement [107], oscillations and symmetry-breaking [108], and mode selection [109] Induced electric dipole–dipole [110]
0.1–100 µm Applications of electrorheological fluids: Ordered arrays of semiconductor colloidal particles [111]; Smart inks [112–114]; Mechanical particles polishing [115,116]; Tactile displays [117]; Actuators [118]; Dynamic self-assembly in electrostatically driven granular media: crystals, rotating vortices, and pulsating rings [119,120]
Charge–charge via contact electrification
Sub-micron to millimeter; polymeric or metal
Scattered light
Electrostatic self-assembly of macroscopic crystals using contact electrification [8]; Control of contact charging by adjusting humidity [121]; DySA of rings of charged metal spheres [14]; Swarm dynamics of charged particles in air [122] 3T3x cell aggregation—lysosome-rich cells attract others by their enhanced ability to scatter near-IR light; The cells “feel” each other at distances as large as 200 µm [123]
Light-switchable 10 nm parti- Fundamental understanding of nanoparticle interactions aggregation of cles aggregate [124,125] magnetic colloids in clusters up to 100 µm
40
Chapter 2
Fig. 2.6. (a) Schematic explanation of the origin of autonomous propulsion caused by dynamic surface tension. A surface-active agent (e.g., camphor) diffuses from a gel particle onto a fluid interface lowering its surface tension. Because the stationary state is unstable, small fluctuations cause the particle to break its cylindrical symmetry and accelerate up the local surface tension gradient. (b) At low particle densities, particles move about autonomously and interact through repulsive surface tension interactions. (c) At high densities, the particles assemble into an open lattice, which is strongly influenced by the geometry of the boundary. (d) Schematic representation of DySA via contact electrification. (e) Time evolution of the system as it organizes from a random initial configuration into well-defined “trails”. For colour version, see Colour Plate Section.
Biomimetic Design of Dynamic Self-Assembling Systems
41
interface. Importantly, the camphor is removed from the interface via sublimation/dissolution into the surrounding environment, thereby maintaining the nonequilibrium conditions. The dynamic feedback between the particles and their environment (here, interface on which they “live”) is analogous—although certainly not identical—to that of the biological system described in Section 4.5. Although the behavior of isolated camphor particles is relatively well understood [107,126], far more interesting dynamics arise when multiple particles begin to interact at an interface. At low densities (<0.3 particles/cm2 ), particles continue to move about autonomously but influence each other through a repulsive, surface-tension-driven interaction, which can be approximated by a pairwise potential. This previously unreported interaction can be understood by considering the particles’ “desire” to move toward regions of higher surface tension (i.e., lower camphor concentration). When two particles approach one another, the camphor concentration is highest in between the particles, creating a region of low surface tension from which the particles are “pulled” by surrounding areas of higher surface tension (cf. Fig. 2.6b). At higher densities, however, particles slow down as the interface becomes saturated with camphor and ultimately evolve into steady DySA structures (Fig. 2.6c). These steady, non-equilibrium formations are characterized by roughly hexagonal packing that minimizes the total free energy of the interface— similar to bacteria colonies that organize to optimize food consumption. Like all DySA systems, the resulting structures are stable against small fluctuations and respond/adapt to perturbations in the environment (e.g., a change in the shape of the interface).
7.2.
DySA via Contact Electrification (Figs. 2.6d, e)
The second example of biomimetic DySA draws inspiration from the collective behavior of foraging ants, which create well-organized trails between their nest and a food source via indirect chemical communication through their environment [66]. Not uncommon to natural DySA, the seemingly “intelligent” behavior is actually the result of relatively simple interactions, such as trail laying and trail following, and can therefore be reproduced in artificial systems. To mimic these basic interactions, one of the authors developed a DySA system [14] in which triboelectric charge separation between a particle and its environment plays the role of the chemical pheromone used by ants. In this system, small, stainless steel spheres are driven by a rotating magnetic field and roll in circular paths on a dielectric surface (e.g., polystyrene). As they roll, a positive electrostatic charge develops on the spheres while a negative charge builds with time on the regions of the surface visited by the spheres (cf. Fig. 2.6d). Thus charge separation enables a “trail laying” mechanism, in which each particle leaves a negatively charged path behind it. At the same time,
42
Chapter 2
it also creates a “trail following” interaction since incoming positively charged spheres roll preferentially toward negatively charged trails that others particles had previously produced. Furthermore, since trail laying and following are coupled, feedback (due to circular motions) between the two processes leads to the selection and reinforcement of optimal/strongest trails, which arise spontaneously based on the history of the system. In addition to indirect communication mediated through the environment (here, the dielectric surface), there is also a direct communication channel by which positively charged particles repel one another due to electrostatic effects. This secondary interaction prevents particles from aggregating and enables random collections of rolling spheres to evolve into well-ordered, concentric rings (“swarms”, cf. Fig. 2.6e), in qualitative analogy to foraging ants. We again note that the conception and realization of this biomimetic system was made possible by careful examination of its biological counterpart and by abstraction of minimal ingredients necessary for the emergence of DySA.
8.
Conclusion
Learning from and mimicking biology extends the horizons of self-assembly to systems ordering and functioning away from thermodynamic equilibrium. The advantages of adaptability, self-healing and self-replication that such dynamically self-assembling systems offer, create exciting opportunities for the synthesis of new, “smart” materials and structures. Although these goals have not yet been realized—largely due to our lack of fundamental understanding of DySA processes—artificial DySA systems are no longer a purely hypothetical proposition, and their first prototypes already do exist. Progression from these prototypes to more complex and practical assemblies will require close collaboration between the fields of chemistry, materials science, engineering and physics, and will depend on constant feedback between the theory and the practice of DySA. The main message of our present contribution is that a bioinspired, bottom–up design strategy will help to foster such progress. Although we do not yet know enough about complex DySA systems—such as those found in nature—we can gain the required knowledge from dissecting and studying model systems and then gradually complexifying them. The repertoire of plausible physical phenomena and interactions is there; the heuristic engineering design rules are available. It is now time to quantify, codify and ultimately apply DySA.
References [1] G.M. Whitesides, B. Grzybowski, Self-assembly at all scales, Science 295 (5564) (2002) 2418–2421.
Biomimetic Design of Dynamic Self-Assembling Systems
43
[2] T.D. Clark, R. Ferrigno, J. Tien, K.E. Paul, G.M. Whitesides, Template-directed self-assembly of 10 µm sized hexagonal plates, Journal of the American Chemical Society 123 (19) (2002) 5419–5426. [3] T.D. Clark, J. Tien, D.C. Duffy, K.E. Paul, G.M. Whitesides, Self-assembly of 10 µm sized objects into ordered three-dimensional arrays, Journal of the American Chemical Society 123 (31) (2001) 7677–7682. [4] E. Braun, Y. Eichen, U. Sivan, G. Ben-Yoseph, DNA-templated assembly and electrode attachment of a conducting silver wire, Nature 391 (1998) 775–778. [5] E. Winfree, F.R. Liu, L.A. Wenzler, N.C. Seeman, Design and self-assembly of twodimensional DNA crystals, Nature 394 (6693) (1998) 539–544. [6] B.A. Grzybowski, M. Radkowski, C.J. Campbell, J.N. Lee, G.M. Whitesides, Self-assembling fluidic machines, Applied Physics Letters 84 (10) (2004) 1798–1800. [7] M. Fialkowski, A. Bitner, B.A. Grzybowski, Self-assembly of polymeric microspheres of complex internal structures, Nature Materials 4 (1) (2005) 93–97. [8] B.A. Grzybowski, A. Winkleman, J.A. Wiles, Y. Brumer, G.M. Whitesides, Electrostatic self-assembly of macroscopic crystals using contact electrification, Nature Materials 2 (4) (2003) 241–245. [9] A. Winkleman, B.D. Gates, L.S. McCarty, G.M. Whitesides, Directed self-assembly of spherical particles on patterned electrodes by an applied electric field, Advanced Materials 17 (12) (2005) 1507–1511. [10] J.M. Lehn, Perspectives in supramolecular chemistry—From recognition towards molecular information-processing and self-organization, Angewandte Chemie—International Edition 29 (11) (1990) 1304–1319. [11] D. Philp, J.F. Stoddart, Self-assembly in natural and unnatural systems, Angewandte Chemie—International Edition in English 35 (11) (1996) 1155–1196. [12] B.J. Holliday, C.A. Mirkin, Strategies for the construction of supramolecular compounds through coordination chemistry, Angewandte Chemie—International Edition 40 (11) (2001) 2022–2043. [13] R. Greenberg, A. Brahic (Eds.), Planetary Rings, Arizona University Press, Tucson, AZ, 1984. [14] B.A. Grzybowski, J.A. Wiles, G.M. Whitesides, Dynamic self-assembly of rings of charged metallic spheres, Physical Review Letters 90 (8) (2003) 083903. [15] B.A. Grzybowski, H.A. Stone, G.M. Whitesides, Dynamic self-assembly of magnetized, millimeter-sized objects rotating at a liquid–air interface, Nature 405 (6790) (2000) 1033– 1036. [16] B.A. Grzybowski, G.M. Whitesides, Dynamic aggregation of chiral spinners, Science 296 (5568) (2002) 718–721. [17] John William Hill, Ralph H. Petrucci, General Chemistry: An Integrated Approach, third edition, Prentice Hall, Upper Saddle River, NJ, 2002. [18] P. Meakin, P. Ramanlal, L.M. Sander, R.C. Ball, Ballistic deposition on surfaces, Physical Review A 34 (6) (1986) 5091–5103. [19] M.C. Cross, P.C. Hohenberg, Pattern-formation outside of equilibrium, Reviews of Modern Physics 65 (3) (1993) 851–1112. [20] A.V. Getling, Rayleigh–Benard Convection: Structures and Dynamics, World Scientific, River Edge, NJ, 1998. [21] Richard J. Field, Maria Burger (Eds.), Oscillations and Traveling Waves in Chemical Systems, John Wiley and Sons, New York, 1985. [22] J. Ross, S.C. Muller, C. Vidal, Chemical waves, Science 240 (4851) (1988) 460–465. [23] Irving R. Epstein, John A. Pojman, An Introduction to Nonlinear Chemical Dynamics: Oscillations, Waves, Patterns, and Chaos, Oxford University Press, New York, 1998.
44
Chapter 2
[24] A.M. Turing, The chemical basis of morphogenesis, Philosophical Transactions of the Royal Society, Series B 237 (641) (1952) 37–72. [25] I. Lengyel, S. Kadar, I.R. Epstein, Transient Turing structures in a gradient-free closed system, Science 259 (5094) (1993) 493–495. [26] R.D. Groot, P.B. Warren, Dissipative particle dynamics: Bridging the gap between atomistic and mesoscopic simulation, Journal of Chemical Physics 107 (11) (1997) 4423–4435. [27] U. Wilensky, ccl.northwestern.edu/netlogo, 1999. [28] H.A. Klok, S. Lecommandoux, Supramolecular materials via block copolymer self-assembly, Advanced Materials 13 (16) (2001) 1217–1229. [29] C. Park, J. Yoon, E.L. Thomas, Enabling nanotechnology with self assembled block copolymer patterns, Polymer 44 (22) (2003) 6725–6760. [30] N. Bowden, I.S. Choi, B.A. Grzybowski, G.M. Whitesides, Mesoscale self-assembly of hexagonal plates using lateral capillary forces: Synthesis using the “capillary bond”, Journal of the American Chemical Society 121 (23) (1999) 5373–5391. [31] B.A. Grzybowski, N. Bowden, F. Arias, H. Yang, G.M. Whitesides, Modeling of menisci and capillary forces from the millimeter to the micrometer size range, Journal of Physical Chemistry B 105 (2) (2001) 404–412. [32] B.A. Grzybowski, unpublished results, 2005. [33] S.L. Bardy, S.Y.M. Ng, K.F. Jarrell, Prokaryotic motility structures, Microbiology—SGM 149 (2003) 295–304. [34] S.R. de Groot, P. Mazur, Nonequilibrium Thermodynamics, Dover edition, Dover Publications, New York, 1984. [35] H.J. Kreuzer, Nonequilibrium Thermodynamics and Its Statistical Foundations, Oxford University Press, New York, 1981. [36] G. Nicolis, I. Prigogine, Self-Organization in Nonequilibrium Systems: From Dissipative Structures to Order through Fluctuations, Wiley, New York, 1977. [37] Heinz Georg Schuster, Deterministic Chaos: An Introduction, VCH Publishers, Deerfield Beach, FL, 1984. [38] J. Robert Dorfman, An Introduction to Chaos in Nonequilibrium Statistical Mechanics, Cambridge Lecture Notes in Physics, vol. 14, Cambridge University Press, New York, 1999. [39] Marcin Fialkowski, Kyle J.M. Bishop, Rafal Klajn, Stoyan K. Smoukov, Christopher J. Campbell, Bartosz A. Grzybowski, Principles and implementations of dissipative (dynamic) self-assembly, Journal of Physical Chemistry B 110 (6) (2006) 2482–2496. [40] D.J. Evans, A. Baranyai, Possible variational principle for steady-states far from equilibrium, Physical Review Letters 67 (19) (1991) 2597–2600. [41] W.G. Hoover, H.A. Posch, 2nd-law irreversibility and phase-space dimensionality loss from time-reversible nonequilibrium steady-state Lyapunov spectra, Physical Review E 49 (3) (1994) 1913–1920. [42] M.E. Tuckerman, C.J. Mundy, M.L. Klein, Toward a statistical thermodynamics of steady states, Physical Review Letters 78 (11) (1997) 2042–2045. [43] B. Bukau, A.L. Horwich, The Hsp70 and Hsp60 chaperone machines, Cell 92 (3) (1998) 351–366. [44] E.O. Budrene, H.C. Berg, Complex patterns formed by motile cells of Escherichia-Coli, Nature 349 (6310) (1991) 630–633. [45] S.R. White, N.R. Sottos, P.H. Geubelle, J.S. Moore, M.R. Kessler, S.R. Sriram, E.N. Brown, S. Viswanathan, Autonomic healing of polymer composites, Nature 409 (6822) (2001) 794– 797. [46] S.C. Schuyler, D. Pellman, Search, capture and signal: Games microtubules and centrosomes play, Journal of Cell Science 114 (2) (2001) 247–255.
Biomimetic Design of Dynamic Self-Assembling Systems
45
[47] W. Zachariae, K. Nasmyth, Whose end is destruction: Cell division and the anaphasepromoting complex, Genes and Development 13 (16) (1999) 2039–2058. [48] Erwin Schrödinger, What is Life?: The Physical Aspect of the Living Cell, Canto, Cambridge University Press, Cambridge, 1995. [49] M.R. Sawaya, S.Y. Guo, S. Tabor, C.C. Richardson, T. Ellenberger, Crystal structure of the helicase domain from the replicative helicase-primase of bacteriophage T7, Cell 99 (2) (1999) 167–177. [50] T.M. Lohman, K.P. Bjornson, Mechanisms of helicase-catalyzed DNA unwinding, Annual Review of Biochemistry 65 (1996) 169–214. [51] P.H. Patel, A. Jacobomolina, J.P. Ding, C. Tantillo, A.D. Clark, R. Raag, R.G. Nanni, S.H. Hughes, E. Arnold, Insights into DNA polymerization mechanisms from structure and function-analysis of HIV-1 reverse-transcriptase, Biochemistry 34 (16) (1995) 5351–5363. [52] D.J. Timson, M.R. Singleton, D.B. Wigley, DNA ligases in the repair and replication of DNA, Mutation Research—DNA Repair 460 (3–4) (2000) 301–318. [53] T.D. Yager, P.H. Vonhippel, A thermodynamic analysis of RNA transcript elongation and termination in escherichia-coli, Biochemistry 30 (4) (1991) 1097–1118. [54] P. Horton, A.V. Ruban, R.G. Walters, Regulation of light harvesting in green plants, Annual Review of Plant Physiology and Plant Molecular Biology 47 (1996) 655–684. [55] C.H. Foyer, G. Noctor, Oxygen processing in photosynthesis: Regulation and signalling, New Phytologist 146 (3) (2000) 359–388. [56] A. Desai, T.J. Mitchison, Microtubule polymerization dynamics, Annual Review of Cell and Developmental Biology 13 (1997) 83–117. [57] H.C. Berg, The rotary motor of bacterial flagella, Annual Review of Biochemistry 72 (2003) 19–54. [58] M.E. Harmon, D. Kuckling, C.W. Frank, Photo-cross-linkable PNIPAAm copolymers 2: Effects of constraint on temperature and pH-responsive hydrogel layers, Macromolecules 36 (1) (2003) 162–172. [59] A. Suzuki, Phase-transition in gels of submillimeter size induced by interaction with stimuli, Advances in Polymer Science 110 (1993) 199–240. [60] C.J. Crook, A. Smith, R.A.L. Jones, A.J. Ryan, Chemically induced oscillations in a pHresponsive hydrogel, Physical Chemistry Chemical Physics 4 (8) (2002) 1367–1369. [61] N.F. Sheppard, M.J. Lesho, P. McNally, Microfabricated conductimetric pH sensor, Sensors and Actuators B—Chemical 28 (2) (1995) 95–102. [62] K.S. Narayan, A.G. Manoj, T.B. Singh, A.A. Alagiriswamy, Novel strategies for polymer based light sensors, Thin Solid Films 417 (1–2) (2002) 75–77. [63] E. Ben-Jacob, From snowflake formation to growth of bacterial colonies II: Cooperative formation of complex colonial patterns, Contemporary Physics 38 (3) (1997) 205–241. [64] E. Ben-Jacob, I. Cohen, H. Levine, Cooperative self-organization of microorganisms, Advances in Physics 49 (4) (2000) 395–554. [65] T.A. Witten, L.M. Sander, Diffusion-limited aggregation, a kinetic critical phenomenon, Physical Review Letters 47 (19) (1981) 1400–1403. [66] J.F.A. Traniello, Foraging strategies of ants, Annual Review of Entomology 34 (1989) 191– 210. [67] M. Moglich, U. Maschwit, B. Holldobl, Tandem calling—New kind of signal in ant communication, Science 186 (4168) (1974) 1046–1047. [68] F. Gotmark, D.W. Winkler, M. Andersson, Flock-feeding on fish schools increases individual success in gulls, Nature 319 (6054) (1986) 589–591. [69] D.H. Cushing, F.R.H. Jones, Why do fish school, Nature 218 (5145) (1968) 918–922. [70] E. Bonabeau, M. Dorigo, G. Theraulaz, Inspiration for optimization from social insect behaviour, Nature 406 (6791) (2000) 39–42.
46
Chapter 2
[71] M.J.B. Krieger, J.B. Billeter, L. Keller, Ant-like task allocation and recruitment in cooperative robots, Nature 406 (6799) (2000) 992–995. [72] P.A. Kralchevsky, K. Nagayama, Capillary interactions between particles bound to interfaces, liquid films and biomembranes, Advances in Colloid and Interface Science 85 (2–3) (2000) 145–192. [73] Evaristo Riande, Ricardo Díaz-Calleja, Electrical Properties of Polymers, Marcel Dekker, New York, 2004. [74] B.A. Grzybowski, X.Y. Jiang, H.A. Stone, G.M. Whitesides, Dynamic, self-assembled aggregates of magnetized, millimeter-sized objects rotating at the liquid–air interface: Macroscopic, two-dimensional classical artificial atoms and molecules, Physical Review E 64 (1) (2001) 011603. [75] B.A. Grzybowski, H.A. Stone, G.M. Whitesides, Dynamics of self-assembly of magnetized disks rotating at the liquid–air interface, Proceedings of the National Academy of Sciences USA 99 (7) (2002) 4147–4151. [76] B.A. Grzybowski, G.M. Whitesides, Macroscopic synthesis of self-assembled dissipative structures, Journal of Physical Chemistry B 105 (37) (2001) 8770–8775. [77] B.A. Grzybowski, G.M. Whitesides, Directed self-assembly of objects rotating on two parallel fluid interfaces, Journal of Chemical Physics 115 (19) (2002) 8571–8577. [78] C.J. Campbell, B.A. Grzybowski, Microfluidic mixers: From microfabricated to selfassembling devices, Philosophical Transactions of the Royal Society of London: Series A 362 (1818) (2004) 1069–1086. [79] B.A. Grzybowski, G.M. Whitesides, Three-dimensional dynamic self-assembly of spinning magnetic disks: Vortex crystals, Journal of Physical Chemistry B 106 (6) (2002) 1188–1194. [80] E.L. Koschmieder, Benard Cells and Taylor Vortices, Cambridge University Press, Cambridge, 1993. [81] H. Aref, Stirring by chaotic advection, Journal of Fluid Mechanics 143 (JUN) (1984) 1–21. [82] J.M. Ottino, The Kinematics of Mixing: Stretching, Chaos and Transport, Cambridge Texts in Appl. Math., Cambridge University Press, Cambridge, 1988. [83] T.M. Squires, S.R. Quake, Microfluidics: Fluid physics at the nanoliter scale, Reviews of Modern Physics 77 (3) (2005) 977–1026. [84] H.A. Stone, A.D. Stroock, A. Ajdari, Engineering flows in small devices: Microfluidics toward a lab-on-a-chip, Annual Review of Fluid Mechanics 36 (2004) 381–411. [85] C.J. Campbell, R. Klajn, M. Fialkowski, B.A. Grzybowski, One-step multilevel microfabrication by reaction–diffusion, Langmuir 21 (1) (2005) 418–423. [86] A.D. Stroock, S.K.W. Dertinger, A. Ajdari, I. Mezic, H.A. Stone, G.M. Whitesides, Chaotic mixer for microchannels, Science 295 (5555) (2002) 647–651. [87] H.H. Bau, J.H. Zhong, M.Q. Yi, A minute magneto hydrodynamic (MHD) mixer, Sensors and Actuators B—Chemical 79 (2–3) (2001) 207–215. [88] L.H. Lu, K.S. Ryu, C. Liu, A magnetic microstirrer and array for microfluidic mixing, Journal of Microelectromechanical Systems 11 (5) (2002) 462–469. [89] M.Q. Yi, S.Z. Qian, H.H. Bau, A magnetohydrodynamic chaotic stirrer, Journal of Fluid Mechanics 468 (2002) 153–177. [90] X. Zhu, E.S. Kim, Microfluidic motion generation with acoustic waves, Sensors and Actuators A—Physical 66 (1–3) (1998) 355–360. [91] J.M.K. Ng, M.J. Fuerstman, B.A. Grzybowski, H.A. Stone, G.M. Whitesides, Self-assembly of gears at a fluid/air interface, Journal of the American Chemical Society 125 (2003) 7948– 7958. [92] D.J. Klingenberg, J.C. Ulicny, A. Smith, Effects of body forces on electro- and magnetorheological fluids, Applied Physics Letters 86 (10) (2005) 104101.
Biomimetic Design of Dynamic Self-Assembling Systems
47
[93] Y. Kasai, Y. Morimoto, Electronically controlled continuously variable transmission (ECVT-II), in: International Congress on Transportation Electronics, Dearborn, MI, USA, IEEE, New York, NY, USA, 1988, pp. 33–42. [94] W.I. Kordonski, D. Golini, Fundamentals of magnetorheological fluid utilization in high precision finishing, Journal of Intelligent Material Systems and Structures 10 (9) (2000) 683– 689. [95] J.D. Carlson, W. Matthis, J.R. Toscano, Smart prosthetics based on magnetorheological fluids, in: Smart Structures and Materials 2001. Industrial and Commercial Applications of Smart Structures Technologies, in: Proceedings of SPIE—The International Society for Optical Engineering, SPIE, Bellingham, Washington, 2001. [96] M.S. Cho, S.B. Choi, N.M. Wereley, Control performance of vehicle ABS featuring ER valve pressure modulator, International Journal of Modern Physics B 19 (7–9) (2005) 1696–1702. [97] M.J. Chrzan, J.D. Carlson, MR fluid sponge devices and their use in vibration control of washing machines, in: Smart Structures and Materials 2001. Damping and Isolation, in: Proceedings of SPIE—The International Society for Optical Engineering, SPIE, Bellingham, Washington, 2001. [98] W.J. Wen, L.Y. Zhang, P. Sheng, Planar magnetic colloidal crystals, Physical Review Letters 85 (25) (2000) 5464–5467. [99] D. Whang, S. Jin, Y. Wu, C.M. Lieber, Large-scale hierarchical organization of nanowire arrays for integrated nanosystems, Nano Letters 3 (9) (2003) 1255–1259. [100] M.M. Burns, J.M. Fournier, J.A. Golovchenko, Optical binding, Physical Review Letters 63 (12) (1989) 1233–1236. [101] M.M. Burns, J.M. Fournier, J.A. Golovchenko, Optical matter—Crystallization and binding in intense optical-fields, Science 249 (4970) (1990) 749–754. [102] P. Lenz, J.F. Joanny, F. Julicher, J. Prost, Membranes with rotating motors, Physical Review Letters 91 (10) (2003) 108104. [103] K.S. Fine, A.C. Cass, W.G. Flynn, C.F. Driscoll, Relaxation of 2D turbulence to vortex crystals, Physical Review Letters 75 (18) (1995) 3277–3280. [104] D.A. Schecter, D.H.E. Dubin, K.S. Fine, C.F. Driscoll, Vortex crystals from 2D Euler flow: Experiment and simulation, Physics of Fluids 11 (4) (1999) 905–914. [105] J. Vermant, M.J. Solomon, Flow-induced structure in colloidal suspensions, Journal of Physics—Condensed Matter 17 (4) (2005) 187–216. [106] K.J.M. Bishop, B.A. Grzybowski, Unpublished results, 2005. [107] S. Nakata, Y. Hayashima, Spontaneous dancing of a camphor scraping, Journal of the Chemical Society—Faraday Transactions 94 (24) (1998) 3655–3658. [108] Y. Hayashima, M. Nagayama, S. Nakata, A camphor grain oscillates while breaking symmetry, Journal of Physical Chemistry B 105 (22) (2001) 5353–5357. [109] S. Nakata, M.I. Kohira, Y. Hayashima, Mode selection of a camphor boat in a dual-circle canal, Chemical Physics Letters 322 (5) (2000) 419–423. [110] M. Parthasarathy, D.J. Klingenberg, Electrorheology: Mechanisms and models, Materials Science and Engineering R—Reports 17 (2) (1996) 57–103. [111] W.D. Ristenpart, I.A. Aksay, D.A. Saville, Electrically guided assembly of planar superlattices in binary colloidal suspensions, Physical Review Letters 90 (12) (2003) 128303. [112] S. Sohn, Writing method for ink jet printer using electro-rheological fluid and apparatus thereof, Samsung Electronics Co, Ltd. (Kyungki-do, KR), 1996, US Patent 5510817. [113] R.W. Gundlach, E.G. Rawson, Electrorheological based droplet ejecting printer, Xerox Corporation, 2000, US Patent 6048050. [114] X. Wen, Ink jet printing apparatus and method using timing control of electronic waveforms for variable gray scale printing without artifacts, Eastman Kodak Company (Rochester, NY), 2000, US Patent 928003.
48
Chapter 2
[115] Yoichi Akagami, Koichi Asari, Balachandaran Jeyadevan, Toyohisa Fujita, Characterization of particle motion for polishing and texturing under AC field by using particle dispersion type ER fluid, Journal of Intelligent Material Systems and Structures 9 (8) (1999) 672–675. [116] Y. Akagami, K. Asari, B. Jeyadevan, T. Fujita, N. Umehara, ER fluid finishing using rotating electrode, Journal of Intelligent Material Systems and Structures 10 (9) (2000) 753–756. [117] P.M. Taylor, D.M. Pollet, A. Hosseini-Sianaki, C.J. Varley, Advances in an electrorheological fluid based tactile array, Displays 18 (3) (1998) 135–141. [118] C. Mavroidis, Development of advanced actuators using shape memory alloys and electrorheological fluids, Research in Nondestructive Evaluation 14 (1) (2002) 1–32. [119] M.V. Sapozhnikov, Y.V. Tolmachev, I.S. Aranson, W.K. Kwok, Dynamic self-assembly and patterns in electrostatically driven granular media, Physical Review Letters 90 (11) (2003) 114301. [120] I.S. Aranson, M.V. Sapozhnikov, Theory of pattern formation of metallic microparticles in poorly conducting liquids, Physical Review Letters 92 (23) (2004) 234301. [121] J.A. Wiles, M. Fialkowski, M.R. Radowski, G.M. Whitesides, B.A. Grzybowski, Effects of surface modification and moisture on the rates of charge transfer between metals and organic materials, Journal of Physical Chemistry B 108 (52) (2004) 20296–20302. [122] S.J. Vinay, M.S. Jhon, Particle “swarm” dynamics in triboelectric systems, Journal of Applied Physics 89 (2) (2001) 1436–1440. [123] G. Albrecht-Buehler, A long-range attraction between aggregating 3T3 cells mediated by near-infrared light scattering, Proceedings of the National Academy of Sciences USA 102 (14) (2005) 5050–5055. [124] B. Hoffmann, W. Kohler, Reversible light-induced cluster formation of magnetic colloids, Journal of Magnetism and Magnetic Materials 262 (2) (2003) 289–293. [125] R.R. Kellner, W. Kohler, Short-time aggregation dynamics of reversible light-induced cluster formation in ferrofluids, Journal of Applied Physics 97 (3) (2005) 034910. [126] L. Rayleigh, Measurements of the amount of oil necessary in order to check the motions of camphor upon water, Proceedings of the Royal Society of London 47 (1890) 364–367.
49
Chapter 3
Computing by Self-Assembly: DNA Molecules, Polyominoes, Cells Marian Gheorghea,* , Gheorghe P˘aun b,c,** a Department of Computer Science, The University of Sheffield,
Regent Court, Portobello Street, Sheffield S1 4DP, UK b Institute of Mathematics of the Romanian Academy, PO Box 1-764, 014700 Bucharest, Romania c Department of Computer Science and Artificial Intelligence, University of Sevilla, Avda Reina Mercedes s/n, 41012 Sevilla, Spain Abstract. We present three examples of computing processes where self-assembly (of parts into a complex structure) plays an essential role. The three examples have two things in common: all are based on the same old language-theoretical result (a characterization of recursively enumerable languages in terms of equality sets of morphisms), and all three provide characterizations of Turing computability. The first two cases are already known; one is based on DNA computing in terms of sticker systems, and one deals with a purely pictorial computing (computing with shapes). The third case deals with so-called population P systems: a few types of cells of small size are left to self-assembly (to spontaneously establish bonds among them), then the correct assemblages are checked (actually, they self-check), and if the process is successful (it halts), then a result is obtained in the form of the string of symbols sent into the environment.
1. Introduction Self-assembly is usually defined as a reversible process in which pre-existing parts or disordered components of a pre-existing system form structures of patterns (Wikipedia, [27]) or spontaneously create hierarchical and ordered aggregates [24]. In addition to these characteristics, self-assembly is a distributed, not necessarily synchronous, control mechanism for the bottom–up manufacture of complex systems [13]. The components that are self-assembled have a very limited behavioral repertoire performing simple actions under a reduced set of well-defined conditions. Self-assembly covers a broad range of phenomena from molecules to galaxies being wide spread in nature (DNA self-assembly, protein folding, wound healing) as well as in engineering (robotics, tissue engineering). * E-mail: M.Gheorghe@dcs.shef.ac.uk. ** E-mail: george.paun@imar.ro.
STUDIES IN MULTIDISCIPLINARITY VOLUME 5 ISSN 1571-0831/DOI: 10.1016/S1571-0831(07)00003-2
© 2008 Elsevier B.V. All rights reserved.
50
Chapter 3
The most well-studied subfield of self-assembly is molecular self-assembly (between 1991 and 2001 there were published 5462 papers on this subject—see http://www.esi-topics.com/msa/). The study of self-assembly processes led to various theories and models, the most advanced of which regards the field of tile self-assembly [3]. A very comprehensive survey of biomolecular self-assembly processes and their associated models is provided by J. Reif [17]. Reif considers splicing, and implicitly DNA sticker systems, as being the “first theoretical studies of biomolecular computing” which relies heavily on DNA self-assembly and “DNA nano-assembly techniques, and some previously known tiling results” as providing “the intellectual foundations of local assembly” [17]. Recently, Krasnogor et al. [12] have studied quorum sensing processes in bacteria as selfassembly phenomena. These three aspects of self-assembly are also addressed in this paper, in some specific forms, from a theoretical perspective, by studying the computational power of the models associated. The framework where we place ourselves here is the following. We assume a small variety of bricks is given, with some of these bricks being present in arbitrarily many copies. One gives a special seed brick, present in only one copy. Starting from it, the bricks self-assemble, according to some correctness rules, thus building a complex. A predicate selects acceptable complexes from “wrong” self-assemblages (this is an important point, which we will discuss further below). With correct complexes we associate a result, in the form of a “code” (hence a string, but it can be also a number, a vector, a Boolean value, etc.) of the complex. In this way, we get a computational process, based on self-assembly. This scenario is not at all new. Most of the DNA computing procedures, starting with Adleman pioneering experiment [2], follow a similar protocol, with the selfassembly phase essentially based on the massive parallelism made possible by the DNA nanoscale bio-chemistry. Perfect illustrations of this approach can be found in [25] (see a short presentation also in [8]). We show how this strategy can be used for (ensuring universal) computing in three rather different frameworks: DNA computing by sticking together (pairs of) DNA molecules, computing with polyominoes, and computing with cells placed in a common environment. The rules of correct self-assembly of bricks and the selection of the acceptable complexes differ from a framework to another one. In general, in DNA computing, the matching of bricks is based on Watson–Crick complementarity, and one of the success conditions is to form complete double stranded molecules. Further conditions are then checked, depending on the problem at hand (e.g., Adleman has checked the length of molecules, as well as the appearance of each node of the graph in the molecules selected as candidate solutions to the Hamiltonian path problem he dealt with). In the case of polyominoes, they are simply adjoined, without overlapping, and the success criterion is to form a rectangle perfectly covered. As we will see immediately, the squeezing of the result is done in both cases by selecting labels of the bricks used, in a specified order.
Computing by Self-Assembly
51
Both these cases lead to characterizations of Turing computability—see [11] and [7], respectively, and the proofs are based on the same theoretical tool, a theorem which we call the self-assembly universality lemma (in short, SAU Lemma): each recursively enumerable language can be written as the projection of the intersection of the equality set of two morphisms with a regular set. This is an old result in language theory, [9,20]. A small—but important for all applications we discuss here—modification of this result was proved in [11]: instead of the equality set of the two morphisms, one can use the image of this set through any of the two morphisms. The same theoretical background leads to computational universality also in the new case, the third one considered here, where we start from a “soup” of cells (of only a few types, containing only a few objects inside, and able of establishing only one or two bonds with other cells). After self-assembling, these cells can start sending signals (objects, in the membrane computing terminology) among them, through the just created bonds—and this is both the way to define the acceptable assemblages and the result of the computation: the complex created is acceptable if the passage of objects among cells halts (after a number of steps which depends on the number of cells in the complex), while the result of the computation consists of (the sequence of) objects from a specified set which are sent into the environment during the assemblage evolution. That is, checking the correctness of the complex is not as simple as in the first two cases, but is done in a way which can be called behavioral self-assembly: the process is autonomously proceeding, on the basis of a pool of instructions whose sequencing is data-controlled, without any prescribed behavior. Actually, this behavioral self-assembly, acting not in terms of bricks and complexes, but in terms of unstructured sets of simple instructions, “swimming” themselves in a “soup” and waiting for data to apply on, is typical to membrane computing and to other natural computing areas, amorphous computing included [1], which aim at escaping the von Neumann paradigm—“the static program: the program stays put and the data comes to it”—, passing to “the data could stay put and the processing rove over it” (page 7 of [22]).
2. Language-Theory Prerequisites The aim of this section is mainly to introduce the SAU (self-assembly universality) Lemma and a few other notions we will need below. Further language theory details can be found, e.g., in [19]. An alphabet is a finite non-empty set of abstract symbols. For an alphabet V , we denote by V ∗ the free monoid generated by V ; λ is the empty string, and |x| is the length of x ∈ V ∗ . The language of all non-empty strings over V , that is V ∗ − {λ}, is denoted by V + . A morphism is a mapping h : V → U ∗ extended to h : V ∗ → U ∗ by h(λ) = λ, and h(xy) = h(x)h(y) for all x, y ∈ V ∗ . A morphism
52
Chapter 3
as above is λ-free if h(a) = λ for all a ∈ V . If h(a) ∈ U ∪ {λ} for all a ∈ V , then the morphism is called a weak coding. It is called a coding when h(a) ∈ U for all a ∈ V and a projection when h(a) ∈ {a, λ} for all a ∈ V ; we also say projection on T , for T = {a ∈ V | h(a) = a}, and we denote it by prT . We denote by REG, CF, CS, RE the families of regular, context-free, contextsensitive, and recursively enumerable languages, respectively. By NRE we denote the family of Turing computable sets of numbers (the length sets of languages in RE, hence the notation). A finite automaton is a construct M = (K, V , s0 , F, δ), where K, V are disjoint alphabets (the set of states and the input alphabet), s0 ∈ K (the initial state), F ⊆ K (final states), and δ : K × V → 2K (the transition mapping). We denote by L(M) the language recognized by M. One knows that finite automata (in the form above or even deterministic, that is, with δ(s, a) ∈ K for each s ∈ K, a ∈ V ) characterize the family of regular languages. For two morphisms h1 , h2 : V ∗ → U ∗ we denote EQ(h1 , h2 ) = w ∈ V ∗ | h1 (w) = h2 (w) . This is the equality set of the two morphisms. Equality sets are directly related to Turing computability, and this was observed already in the seventies (see [9,20,21]): Theorem 1. For every language L ∈ RE, L ⊆ V ∗ , there are two alphabets V1 , V2 such that V ⊆ V1 , two λ-free morphisms h1 , h2 : V1∗ → V2∗ , and a regular set R ⊆ V1∗ , such that L = prV (EQ(h1 , h2 ) ∩ R). The following version of this result was proven in [11] (see also [18]): Theorem 2. For every language L ∈ RE, L ⊆ V ∗ , there are two alphabets V1 , V2 such that V ⊆ V2 , two λ-free morphisms h1 , h2 : V1∗ → V2∗ , and a regular set R ⊆ V2∗ , such that L = prV (h1 (EQ(h1 , h2 )) ∩ R). Note the difference between the two results: in the second case we use the image of the equality set of h1 , h2 through one of the two morphisms (which, and this is worth noting, are λ-free). Convention. When comparing two language generating devices, the empty string is ignored, that is, the two devices are considered equivalent if their languages differ at most in the string λ. In the next two sections we recall the main results from [7,10,11], respectively, without entering into technical details, but remaining at a descriptive (even pictorial) level, that is why we do not need other definitions or notations than those which we will use for the case of population P systems—which will be introduced in Section 5.
Computing by Self-Assembly
53
3. Sticker Systems The idea is rooted in the DNA biochemistry and directly related to the basic operation used by Adleman in his experiment, the annealing of complementary DNA strands. We omit all specific details and we only mention that single DNA strands, which are Watson–Crick complementary (and of opposite directionality), stick together, forming double stranded molecules (that is why the overhanging single strands of molecules are also called “sticky ends”). In this way, a nice “domino game” can be played with incomplete DNA molecules. Actually, in the sticker systems one uses “dominoes” of the forms indicated in Fig. 3.1, where x, y, z indicate single or double stranded parts of the dominoes which can also be empty, with the exception of x in the lower right-hand corner of the figure, which should be non-empty (otherwise the single stranded portions y and z are not connected). In particular, we have here also the single stranded sequences: consider, e.g., x empty in the first row. One works with an arbitrary alphabet V of DNA-like symbols, not necessarily with the four nucleotides A, C, G, T, considering a symmetric relation ρ ⊆ V × V as a general complementarity relation. Two symbols a, b ∈ V from two opposite strands anneal—hence can stay one in front of the other in the two strands—only if (a, b) ∈ ρ (we say that they are ρ-complementary). The dominoes from the first row of Fig. 3.1 form the set Lρ (V ), those from the second row form the set Rρ (V ) and those from the last two rows form the set LRρ (V ) (with L, R coming from “left” and “right”). The union of the three sets is denoted by Wρ (V ). We also denote by WK ρ (V ) the set of all complete double stranded strings over V , with the symbols placed on the same position in the two strands being complementary in the sense of the relation ρ.
Fig. 3.1. Dominoes for sticker systems.
54
Chapter 3
Fig. 3.2. The sticking operation.
The way of using such dominoes in order to build bigger structures should be obvious: we anneal sticky ends in the aim of obtaining a complete double stranded “string” (we call it “molecule”). Again, we do not give formal definitions, but we recall Fig. 3.2 from [18]; as one can see, we adjoin dominoes in such a way that holes are not allowed between neighboring symbols (“nucleotides”) on any of the two strands involved. We denote by μ this operation. With these ingredients, one defines a computing device called a sticker system as a construct γ = (V , ρ, A, D), where V is an alphabet, ρ ⊆ V × V is a symmetric relation, A is a finite subset of LRρ (V ) (hence each element of A contains a position with symbols in both strands), and D is a finite subset of Wρ (V ) × Wρ (V ). The elements of A are called axioms; in what follows we assume that A is a singleton. Starting from the axiom and using the pairs (u, v) of dominoes in D, we can obtain a set of double stranded sequences in WK ρ (V ), hence complete molecules, by using the operation μ of sticking. Formally, for a given sticker system γ = (V , ρ, A, D) and two sequences x, y ∈ LRρ (V ), we write x ⇒ y iff y = μ u, μ(x, v) , for some (u, v) ∈ D. A sequence x1 ⇒ x2 ⇒ · · · ⇒ xk , with x1 ∈ A, is called a computation in γ . A computation σ : x1 ⇒∗ xk is complete when xk is a complete molecule, it contains no gap and no sticky end. The set of all molecules over V produced at the end of all complete computations in γ is denoted by LM(γ ) (LM stands for “language of molecules”). If we keep only the string of symbols from the upper strand of molecules in LM(γ ), then we obtain a usual string language, which is denoted by L(γ ). We say that
Computing by Self-Assembly
55
Fig. 3.3. The idea of the proof of Theorem 3.
L(γ ) is the language generated by γ (at the end of non-restricted complete computations). There are several types of sticker systems and several types of restricted computations, but we do mention here only one, the simple systems, those with pairs (u, v) ∈ D with both u, v having symbols either only in the upper strands or only in the lower strands. The following theorem is from [10]: Theorem 3. Every language L ∈ RE, L ⊆ T ∗ , can be written in the form L = prT (L(γ )), where γ is a simple sticker system. Thus, by self-assembling pairs of dominoes, starting from an axiom, accepting only complexes which are complete double stranded molecules, then discarding the lower strand as well as part of the symbols from the upper strand, we can compute all Turing computable strings. As mentioned above, the proof is based on the SAU Lemma; the details are rather technical, but the idea is suggested in Fig. 3.3. Take a language L = prT (h1 (EQ(h1 , h2 )) ∩ R) as given by Theorem 2. We construct a sticker system γ which works as follows. One starts from an axiom which contains the special symbol $ at both strands. In the upper strand we grow, synchronously to the right and to the left because we have pairs of dominoes, strings h1 (w) and mi(h2 (w)), where w is an arbitrary string from V1 and mi is the mirror image operation. The symbols of h1 (w), h2 (w) are intercalated with certain control symbols, used in checking that h1 (w) ∈ R; this can be done during the assembly, using the dominoes from the two strands and the fact that the complementarity relation is taken as being the identity. In the lower strand we construct the strings z1 , z2 such that z1 = mi(z2 ). Together with the identity taken as complementarity relation, this ensures the equality h1 (w) = h2 (w), hence the fact that w ∈ EQ(h1 , h2 ). What remains to do is only to discard the lower strand, then all symbols from the right of $ and all auxiliary symbols, and this can be done by a projection. Details can be found in [10] as well as in [18].
56
Chapter 3
It is clear that the self-assembly is crucial in this construction/computation, and it is also visible that there are several controls on the correct construction of the accepted complexes: we add at the same time two bricks, one to the left and one to the right of the central seed, marked with $, the constructed molecule should be complete, the two strands should be identical (this is ensured by the complementarity relation). In some respect, some of these controls will be much weaker in the next case we discuss here, that of using polyominoes for computing by self-assembly.
4.
Computing with Shapes
We pass now from double strands to arbitrary 2D pictures, consisting of “pixels”, unit squares of the two-dimensional grid of integer coordinates. The bricks we use are polyominoes, i.e., connected sets of pixels (two unit squares of the plane are connected if they are adjacent on one edge); holes are admitted. Two such bricks can be adjoined if in this way at least one edge of a pixel in one brick becomes adjacent with one edge of a pixel from the other brick, but no pixels are superposed. These are the only rules for correct assemblage. The rule for selecting the admitted complexes is also simple: we accept only complete rectangles (hence without holes, with the surface completely covered—without overlapping). The result of such a “computation” is the string of labels of some of the used bricks (the labels are strings over a given alphabet; also the empty string is allowed as label), arranged in the sequence of using the bricks. There is no markings of edges, in the form of symbols, color, etc., e.g., as in the case of Wang Hao dominoes, whose self-assembly is known since the early sixties to be universal [23] (this is the background of the DNA computations by self-assembling tiles presented in [25]). All information we use for developing the computing process is encoded in the shape of the polyominoes we use. Just to have an idea of the power of this computing framework, let us recall an example from [7]: using the polyominoes from Fig. 3.4, with p0 taken as seed (this can also be p5 ) and having arbitrarily many copies of p1 , p2 , p3 , p4 , the only rectangles which can be completed are squares; then, taking label a for each brick, the language computed in this way is 5n(n + 1) m , n1 . L(γ ) = a m = 2 The number of polyominoes, hence of symbols a in a string, is computed according to the unique way of completing the square, the one indicated in Fig. 3.5—see details in [7]. Actually, as it was proven in [7], in the previous framework we cannot compute at the level of Turing machines, hence we have either to add some further control on the assembly process or to impose further conditions on the accepted
Computing by Self-Assembly
Fig. 3.4. Polyominoes used for self-assembling squares.
Fig. 3.5. An example of a square built with the polyominoes from Fig. 3.4.
57
58
Chapter 3
complexes. Only the first possibility was explored in [7], and the idea is rather simple: to consider a next mapping, telling which polyomino should be added after any used polyomino. More formally, the computing device one considers (we call it here shape grammar) is of the form γ = (V , P , p0 , next, lab), where V is an alphabet, P is a finite set of polyominoes, p0 ∈ P , next : P → 2P , and lab : P → V ∗ . The polyomino p0 is the initial one, next is the mapping controlling the sequence of using the polyominoes in P , and lab is the labeling mapping. A computation in γ is a sequence σ = p0 p1 p2 . . . pn ,
n 1,
of polyominoes in P such that the following conditions are fulfilled: (1) there is a rectangle which can be covered by p0 , p1 , . . . , pn , completely (i.e., without leaving holes) and without overlapping, and there is no rectangle covered by a subsequence p0 , p1 , . . . , pk , k < n; (2) the polyominoes are used in the order p0 , p1 , . . . , pn by adjoining p1 to p0 , p2 to the complex formed by p0 and p1 and so on (thus, at every step the current picture is a polyomino, that is, it is connected); p0 is used only once, in the first step; (3) pi ∈ next(pi−1 ), 1 i n. With each computation σ as above we associate the string lab(σ ) = lab(p0 )lab(p1 ) . . . lab(pn ) over V , and the language of all such strings associated with computations in γ is denoted by L(γ ). We denote by SL the family of all languages of this form. A shape grammar γ = (V , P , p0 , next, lab) such that next(p) = P for all p ∈ P is said to be simple. Because the mapping next imposes no restriction in such a case, we omit it and we write γ in the form (V , P , p0 , lab). We denote by SSL the family of languages generated in this way by simple shape grammars. If the labeling mapping lab takes values in V ∪ {λ}, then we say that γ = (V , P , p0 , next, lab) is reduced. We denote by RSL, RSSL the families of languages generated by reduced and by reduced simple shape grammars. The following results are proved in [7]: Theorem 4. (i) REG ⊂ RSSL ⊂ SSL ⊂ SL = RSL = RE. (ii) CF − SSL = ∅. The proof of the equalities SL = RSL = RE is based on the SAU Lemma, and in this proof the next-polyomino mapping plays an essential role. One considers polyominoes associated with each symbol from V2 , for h1 , h2 : V1∗ → V2∗ , of
Computing by Self-Assembly
59
shapes which make possible the correct adjoining only if the polyominoes can be arranged in two layers such that the bricks in the upper layer correspond to the bricks from the lower layer associated with the same symbol of V2 ; the next mapping ensures that we grow the rectangle in steps, alternatively in the two layers; the shapes also control that the string in the lower layer is from the regular language R. We refer to [7] for the technical details. Relevant in this case is the central role of the condition about the correct assembly of bricks, based on the next mapping, with (at the first sight) a rather loose condition about the acceptable complexes—to be rectangles. This is in a sharp contrast with the case presented in the next section, where the self-assembly is almost “free”, but the selection of the correct complexes is the main part of the computation. Otherwise stated, in the next example the “mechanical selfassembly” becomes less important than the “behavioral self-assembly”.
5. Self-Assembly P Systems We pass now to a completely different framework, that of membrane computing (see [15,16,26]); specifically, we deal with population P systems, as introduced in [5]. The basic element of such a system is a cell, a container of a multiset of objects together with some operations, in general defined as transformation and/or communication rules. These cells, sometimes called bio-units or bio-entities, are contained in an environment. They may exist either free or linked, by so-called bonds, in which case they can communicate directly, otherwise the communication is only with the environment. When bonds occur then a graph-like structure is obtained: the cells are nodes and the bonds are edges of this structure. Such a model is not new, it has been previously introduced and studied, being called a tissue P system [16]. In the case of population P systems the structure of the graph is dynamic and consequently the communication between cells may change as well. So, a population P system is regarded as a finite collection of different cells that are able of forming/removing bonds according to a finite set of bond making rules. Bond making rules represent the basic engine of assembling different graphs by local interactions between cells. Initially (this was also historically the case) our aim is not to study the process of self-assembling these shapes (graphlike structures), but rather to investigate the power of the associated mechanisms. In the last part of this section we will investigate the process of forming various shapes by using a restricted variant of population P systems called self-assembly P systems. A population P system is a construct Π = (V , γ , α, we , C1 , C2 , . . . , Cn , io ), where:
60
Chapter 3
(1) V is a finite alphabet of symbols called objects; (2) γ = ({1, 2, . . . , n}, E), with E ⊆ {{i, j } | 1 i = j n}, is a finite undirected graph which describes the initial structure of the system; (3) α is a finite set of bond making rules (i, x1 ; x2 , j ), with x1 , x2 ∈ V ∗ , and 1 i = j n; the rule (i, x1 ; x2 , j ) creates a bond between cells i and j if they contain x1 and x2 , respectively; (4) we ∈ V ∗ is a finite multiset of objects initially assigned to the environment; (5) Ci = (wi , Si , Ri ), for 1 i n, are cells, with: (a) wi ∈ V ∗ is a finite multiset of objects initially assigned to cell i, (b) Si is a finite set of communication rules; each rule has one of the following forms: (a; b, in), (a; b, enter), (b, exit), for a ∈ V ∪ {λ}, b ∈ V ; the rule (a; b, in) means that when a is present in i, b is brought in from one of the cells connected to i (if more than one bond exists, then one is chosen non-deterministically); the rule (a; b, enter) brings b in from the environment when a is present in i, and the last rule sends b out of the cell, (c) Ri is a finite set of transformation rules of the form a → y, for a ∈ V , and y ∈ V + , with the usual meaning that a is replaced by y; (6) io ∈ {1, 2, . . . , n} is the output cell. A step of a computation in a population P system Π is defined as being performed in two separate stages: the content of the cells is firstly modified by applying the communication rules in Si , and the transformation rules in Ri , for all 1 i n in a maximal parallel manner. The structure of the system is then modified by using the bond making rules in α. A successful computation is a sequence of computation steps that halt in a configuration where, after the last bond making stage, the content of the cells cannot be modified anymore by means of communication or transformation rules. The result of a successful computation is given by the number of objects that are placed inside the output cell io in the final configuration. The following families of sets of natural numbers NOPPn,k (c, b), with n k 1, c ∈ {nR, R}, and b ∈ {nα, αt | t 0}, are defined. They are generated by population P systems where: – the number of cells in the system is less than or equal to n; – in each step of a computation, the number of cells in each connected component of the graph defining the structure of the system is always less than or equal to k; – c = R specifies that all the communication rules that are associated with the cells in the system are of the form (λ; b, in), (λ; b, enter), (b, exit) (restricted communication rules); c = nR means arbitrary, non-restricted, communication;
Computing by Self-Assembly
61
– b = nα specifies that bond making rules are not considered and the structure of the system is given by the initial graph, which is never modified during a computation; – b = αt , for some t 0, specifies that all the bond making rules in the system are of the form (i, x1 ; x2 , j ), with |x1 | t and |x2 | t; as well as this, we say that a bond making rule (i, x1 ; x2 , j ) is of size h = max{|x1 |, |x2 |}. Finally, if the value of n, k, or t is not specified, then it is replaced by the symbol ∗. The following results establish the computational power of various variants of population P systems. The proofs are based on simulating a register machine as it is done in the proof of Theorem 9. The proofs of all these results may be found in [5]. The next result shows that, when communication rules of any form are allowed to be used inside the cells, population P systems with at most two cells linked together, but without bond making rules, are computationally complete (generate exactly NRE, all the sets of numbers which are Turing computable). Theorem 5. NOPP2,2 (nR, nα) = NRE. When the direct communication between cells is disallowed, population P systems with at most four cells are universal. Theorem 6. NOPP4,1 (nR, nα) = NRE. The power of bond making rules is established for systems with restricted communication. The following theorem states the power of population P systems when the size of the bond making rules is at most two. Theorem 7. NOPP6,2 (R, α2 ) = NRE. In [5] further investigations are made on population P systems with active cells. In this case the components self-assemble by using two more features: cell division and cell differentiation. As usual now in membrane computing, in most of the cases, universality results are obtained. We will focus now on self-assembly P systems, a family of population P systems (introduced in [6]) describing cells that self-assemble together to form a graph structure. Such a configuration consisting in a population of cells linked to form a graph structure is called an assembly of cells. Each cell in a given assembly contains a finite multiset of objects which is continuously updated by means of a finite set of transformation and communication rules. Initially the assembly consists of a single cell called the seed cell. The cells in a given assembly can form bonds with some new cells that, step by step, are brought into the system in
62
Chapter 3
order to enlarge the current population of cells and form a new graph structure. These bonds are created by some bond-making rules. More precisely, in each step of a self-assembly process, by starting from a given assembly of cells, we first update the content of each cell by using their respective sets of transformation and communication rules, then we introduce into the system some new cells by using bond-making rules to connect themselves to the existing structure according to a chosen self-assembly model. Formally, a self-assembly P system is a construct Π = (O, Lab, Γ, σ, R, B), where: – O is a finite alphabet of symbols called objects; – Lab is a finite alphabet of symbols called labels; – Γ is a finite set containing t distinct cell templates of the form Ci = (xi , li , mi ) with 1 i t, xi ∈ O ∗ , li ∈ Lab, and mi 1 is the number of bonds that can be formed by that cell; – σ = (w, q, b), is the seed cell with w ∈ O ∗ , q ∈ Lab, and b 1 is the number of bonds that can be formed by the seed cell; – R is a finite set of rules of the forms: (1) [x → y]l , with x ∈ O + , y ∈ O ∗ , l ∈ Lab (transformation rules), (2) [x; y, in]l , with x, y ∈ O ∗ , l ∈ Lab (communication rules); – B is a finite set of bond-making rules of the form (l, x; y, l ), with l, l ∈ Lab, x, y ∈ O ∗ and, for some 1 i t and z ∈ O ∗ , Ci = (xi , li , mi ) ∈ Γ , xi = yz, li = l . The symbols in O are used for the objects that can be contained inside the cells, whereas the symbols in Lab are instead used for labeling the cells; these latter symbols are necessary to retrieve the subset of rules from R to be used inside a specific cell. The set Γ contains a finite number of distinct cell templates C1 , C2 , . . . , Ct , with t 1; the templates in Γ can be instantiated by cloning an arbitrary number of copies, which can then be added to a given assembly of cells as to enlarge the current structure of the assembly. At the beginning, the initial assembly of cells is given by the seed cell σ and the graph containing only the node associated with this cell and no edges. Each cell in a self-assembly P system, as well as each cell template, is characterized by a finite multiset of objects defining its content, by a label from Lab identifying the rules which can be used inside that cell, and by a positive integer providing a boundary for the total number of bonds which can be formed by that cell. The value of this boundary is decreased by one every time a cell form a new
Computing by Self-Assembly
63
bond and this makes sure that, at any moment, the current value of such a boundary corresponds to the number of bonds which can still be formed by that cell. A clone of a cell template is a cell that inherits from a template in Γ the initial information about its content, its label, and its boundary on the number of bonds. A transformation rule [x → y]l in R is an usual multiset rewriting rule associated to a cell with label l. A communication rule [x; y, in]l in R instead specifies that, in the presence of a multiset x, a cell with label l can receive an occurrence of the multiset y from one of its neighboring cells; communication rules are executed non-deterministically; a neighboring cell is a cell that is directly linked to the cell where the communication rule is applied. Finally, we have a finite set of bond-making rules in B containing rules of the form (l, x; y, l ), with x, y ∈ O ∗ , l, l ∈ Lab. A bond making rule (l, x; y, l ) must be read from left to right and it specifies that a cell with label l, containing an occurrence of the multiset x and already present in the current assembly of cells, can form a bond with a new cell which is being added to the current assembly in order to enlarge the existing graph structure if and only if this cell is a clone of a cell template in Γ containing an occurrence of the multiset y and having label l . Objects are not consumed by bond-making rules but they are rather used as “resources” to be allocated to the bond-making rules in order to determine the number of bonds that can be effectively formed between each cell in the current assembly and the new cells that are being added in order to enlarge the existing graph structure. In particular, the same occurrence of a given multiset of objects can be used only by one bond making rule at a time. We now define an assembly of cells, in a self-assembly P system Π, and clarify the notion of a derivation in such a system. Let Π = (O, Lab, Γ, σ, R, B) be a self-assembly P system as specified above. An assembly of cells in Π is a tuple A = (σ1 , σ2 , . . . , σn , γ ), where: – σi = (wi , qi , bi ), for each 1 i n, is a cell with wi ∈ O ∗ , qi ∈ Lab, and bi 0 is the number of bonds that can be formed by that cell; – γ = ({1, 2, . . . , n}, E), with E ⊆ {{i, j } | 1 i = j n}, is a connected graph defining the structure of the assembly. We also say that the assembly S = (σ1 , ({1}, ∅)), with σ1 = σ , is the seed assembly of Π. A step of a computation is defined as above as a communication-evolution stage followed by making suitable bonds. Here the difference with respect to the general case of population P systems is that we do not destroy any existing bond but we rather increase the structure by adding new bonds and new cells. Specifically, in our model, a bond, as well as a cell, once introduced in an assembly of cells, can never be removed in any further step of derivation. We consider here a self-assembly model where, at each stage of self-assembly process, to each cell in the current assembly new cells cloned from the template
64
Chapter 3
set can be attached if its boundary is not reached. This process occurs simultaneously for each of the cells already assembled. More specifically, for each already assembled cell we non-deterministically select a maximal set of new clones to be connected to that cell forming a bond between the later and each clone in the selected set; this set of new cells must be maximal with respect to both the particular choice of bond-making rules, the current distribution of objects inside the cell, and the number of bonds that can be effectively formed by that cell which, by definition, is bounded by a fixed constant. If we denote by ⇒Π a computation step in a P system Π, and by ⇒+ Π its transitive closure, then it is easy to see that the following lemma holds. Lemma 1. Let Π = (O, Lab, Γ, σ, R, B) be a self-assembly P system. Let S = (σ1 , ({1}, ∅)), with σ1 = σ , be the initial assembly of cells in Π. For each assembly of cell A such that S ⇒+ A, the graph γ defining the structure of the assembly A is a tree. The next problem we address is that of producing a given graph. This graph is supposed to be connected and with no loop edges (i.e., edges linking a node with itself). In particular, we want this graph to be uniquely generated by the defined P system, i.e., all the possible computations must always produce, after a finite number of steps, a similar assembly of cells where the corresponding graph is isomorphic to the given target graph. As well as this, all these computations must “halt” immediately after having produced this particular assembly of cells; halting, in this context, means the self-assembly P system produces an assembly of cells where no more transformation or communication rules can be applied to the objects placed inside the cells and no more bond-making rules can be applied to the current graph structure. The following lemma states that a complete binary tree with depth d 0 can be uniquely generated by a self-assembly P system. More precisely, we have: Lemma 2. Let T be a complete binary tree with depth d 0. We can always construct a self-assembly P system that uniquely generate T by using 2d + 2 different objects, 2 different labels, 2 different cell templates, 2(d − 1) different bond-making rules, and at most d + 1 transformation and communication rules per cell.
6.
Universality of a Restricted Class of Self-Assembly P Systems
Let us now consider a particular version of the self-assembly P systems: each cell has at most two possible bonds, marked with in or out, and two cells can establish a bond only from the out to the in of the other; there are no explicit bond making rules; moreover, no internal transformation rule is allowed, but only antiport rules
Computing by Self-Assembly
65
for communicating among cells along existing bonds, or with the environment. In exchange, a terminal alphabet of objects is considered. We call such systems restricted self-assembly P systems. Specifically, we consider self-assembly P systems of the form Π = (O, T , E, Lab, Ct , Cf , σ0 , R), where: – O is the total alphabet of objects; – T ⊆ O is the alphabet of terminal objects; – E ⊆ O is the set of objects appearing in the environment, in arbitrarily many copies each; – Lab is the alphabet of labels for the template cells; – Ct is the finite set of template cells, of the form σl = (x, β1 , β2 ), where l ∈ Lab, x ∈ O ∗ (the objects of the cell), and β1 , β2 ∈ {in, out} (the possible bonds the cell can make); these template cells are assumed to be available in arbitrarily many copies each; – Cf is the finite set of template cells σl = (x, β1 , β2 , q), with l ∈ Lab, the components x, β1 , β2 as above, and with q a natural number indicating the number of copies of the cell available; – σ0 ∈ Cf is the seed cell and it appears in only one copy; – R is a finite set of antiport rules of the forms (∗, x; y, ∗ + 1) and (∗, x; y, env), where x, y ∈ O ∗ are multisets of objects (one of them can be empty, a case which corresponds to a symport rule); using such a rule means to move the multiset x from a cell to any cell to which it has a bond or from any cell to the environment, respectively, in exchange of multiset y; the only necessary condition to apply such a rule is the existence of multisets x, y in the respective places, and, in the case of cell to cell communication, the existence of a bond, in the direction “from x to y”. Note that the rules are applied equally to all cells, irrespective of their labels (the labels play no other role than to identify the cells when specifying them), but we have two types of communication rules: (i) rules for communicating among cells and (ii) rules for communicating between cells and the environment. The fact that the rules are not associated with cells gives a total freedom in using them, and this aspect is one of the features behind what we have called above behavioral self-assembly. The system evolves as follows. Because there are no bond making rules, immediately after starting the computation, all bonds which can be made are made. Specifically, let us imagine the in and out markings of cells as represented by arrows, as in Fig. 3.6, where we have one cell with both in and out, one with two out, one with only in, and one with only out.
66
Chapter 3
Fig. 3.6. Examples of cell templates.
Fig. 3.7. Examples of complexes formed with the cells from Fig. 3.6.
The bonds are always formed from out to in, hence along the arrows. Each out arrow can be prolonged with only one in arrow, but, under this restriction, any construction is allowed. A complex of cells is complete if it uses the seed cell σ0 and no free arrow exists in it, all out arrows were paired with in arrows. Figure 3.7 indicates three possible constructions (assemblages) which can be formed with the cells from Fig. 3.6; none of them has hanging arrows, but they can be considered complete only depending on which is the seed cell (irrespective which one is this in our example, not all three complexes are complete, because there is no cell which appears in all three complexes). Because all bonds are formed independently of the contents of the cells, all possible bonds are made in the first step, after that no bond is possible. Because we have only one copy of the seed cell, only one complex at a time can be complete (but, because of the non-determinism in self-assembling, various complete complexes are possible for a given system). In the first step, that of making bonds, no rule from R can be used, but after that we start using these rules in the non-deterministic maximally parallel manner usual in the membrane computing area. We call this process, a computation. A complete complex is accepted if and only if one of its computations eventually halts (because of the non-determinism in using the rules of R, there can be several computations starting from the same complete complex; at least one which halts is sufficient in order to declare the complex as accepted).
Computing by Self-Assembly
67
The result of a halting computation (performed by a complete complex) is the string of the symbols from T expelled in the environment during the computation; when several symbols exit the system at the same time, then any permutation of them is accepted. The set of all strings computed in this way by a system Π is denoted by L(Π). We denote by LOP(typesn , objm , antiq ) the family of languages L(Π) computed as above by restricted self-assembly P systems with at most n types of template cells (counting together both the cells which are available in arbitrarily many copies and those available in a bounded number of copies), with at most m objects present in any cell at the beginning of a computation, and using rules (α, x; y, α ) with |x| q, |y| q. When one of the parameters n, m, q is not bounded, we replace it with ∗. Theorem 8. LOP(types∗ , obj14 , anti4 ) = RE. Proof. We prove only the inclusion ⊇. (The reverse inclusion can either be proved by a straightforward—but rather long and cumbersome—construction of a Turing machine simulating a given restricted self-assembly P system, or we can invoke for it the Turing–Church thesis.) To this aim, let us consider a language L ∈ RE, L ⊆ T ∗ . According to the SAU Lemma, we can write L = prT (h1 (EQ(h1 , h2 )) ∩ L0 ), for some λ-free morphisms h1 , h2 : V1∗ → V2∗ with T ⊆ V2 , and L0 ⊆ V2∗ a regular language. Without loss of the generality we may assume that V1 ∩ V2 = ∅. Let us consider a finite automaton M = (K, V2 , s0 , F, δ) recognizing the language L0 . Then, let us associate with h1 , h2 the following regular languages L(hi ) = bhi (b) | b ∈ V1 , and consider the finite automata Mi = (Ki , V1 ∪ V2 , si,0 , Fi , δi ) such that L(Mi ) = L(hi ), i = 1, 2. Without loss of the generality, we may assume that all three sets K, K1 , K2 are mutually disjoint. We construct a restricted self-assembly P system Π = (O, T , E, Lab, Ct , Cf , σfirst , R) with the following components O = V1 ∪ {a, a , a , a | a ∈ V2 } ∪ K ∪ K1 ∪ K2 ∪ c, c , c , c , civ , d, d , d , d , d iv , e, e , e , e , eiv , f, g, t, v, , E = K ∪ K1 ∪ K2 ∪ c , c , c , civ , d , d , d , d iv , e , e , e , eiv , g , Lab = ba | b ∈ V1 , a ∈ V2 ∪ a | a ∈ V2 ∪ {first, last}, Ct = σba = (baa a a f t, in, out) | b ∈ V1 , a ∈ V2 ∪ σa = (aa a a f t, in, out) | a ∈ V2 ,
68
Chapter 3
Fig. 3.8. Complete complexes formed with the cells in the proof of Theorem 8.
Cf = σfirst = ccdeeq0 q1,0 q2,0 tv 5 , out, out, 1 , σlast = (gt 6 , in, in, 1) , and the set of rules is constructed as described below. Let us examine first the possible shapes of complete complexes. Because the seed cell has two out arrows, while all template cells appearing in arbitrarily many copies have one in and one out arrow, the only possibility to pair all arrows is to build a complex as that in Fig. 3.8. That is, in between the two special cells, with labels first (the seed cell) and last, we have to build chains of template cells from Ct , using randomly an arbitrary number of cells. All these cells are similar, but we can split them into two categories: containing a symbol b ∈ V1 and containing the symbol (the role of these symbols will be explained immediately). The two chains can be of different lengths. Having in mind the figure, we speak sometimes about the upper chain and the lower chain of cells, as well as about the left and right parts of the complex. What we have/intend to check are the following three conditions: C1. The string of symbols a ∈ V2 from the upper chain is equal to the string of symbols a ∈ V2 from the lower chain. C2. The string of symbols a ∈ V2 from one of the chains is of the form h1 (w1 ), for some w1 ∈ V1∗ , and the string of symbols a ∈ V2 from the other chain is of the form h2 (w2 ), for some w2 ∈ V1∗ ; moreover, we have to check that w1 = w2 . C3. The string of symbols a ∈ V2 from one of the chains belongs to the regular language L0 . After having condition C1 checked, we know that the strings of symbols a ∈ V2 which mark the two chains are equal, hence after having also C2 checked we know that w1 = w2 and h1 (w1 ) = h2 (w2 ), hence w1 = w2 ∈ EQ(h1 , h2 ). After
Computing by Self-Assembly
69
having also condition C3 checked, we know that the strings of symbols a ∈ V2 which mark the two chains belong to h1 (EQ(h1 , h2 )) ∩ L0 . What remains to do is to “extract” the projection on T of a string h1 (w1 ) = h2 (w2 ) from one of the chains. As we will see below, this operation will be done at the same time with checking condition C3. The symbols from the initial cell have precise tasks in what concerns the checking of the above conditions: the two symbols c will go along the two chains and will check condition C1; symbol d takes care of checking condition C3, going along one of the two chains, non-deterministically chosen; the two symbols e will go along the two chains and will check condition C2. In order to exit cell first, these five symbols make use of the five copies of the symbol v. We give now the communication rules which perform the three tasks, with indications about their use. C1. The move of a symbol c from cell first to its neighbor is performed by using the following rules:
Step 3:
(∗, cv; c c , env), (∗, c ; λ, ∗ + 1), (∗, c ; c , env), iv ∗, c ; c , env ,
Step 4:
(∗, c ; c, env), ∗, c; civ , ∗ + 1 .
Step 1: Step 2:
Let us call this group of rules Move(c). We also add to R the following “control rules”: (∗, ct; λ, env),
(∗, t; t, env).
Understanding the use of these rules will be important also for the next phases of the construction, so that we explain them in some detail. The only way to move a symbol c to the right, along any of the two chains, is in exchange with civ , which, however, is not present in the cells. To bring civ inside, we pass through c , introduced by the rule (∗, cv; c c , env) in the first step. In the next step, this symbol goes to the right one step, and simultaneously c is exchanged with c in the first cell. Now, c is exchanged with civ and c with c. In the fourth step, c and civ are interchanged, which accomplishes the move of c one step to right; civ will remain idle for the rest of the computation. It is important to note that if in Step 3 c goes again to right instead of using the rule (∗, c ; civ , env), then in Step 4 c cannot go to right, hence the rule (∗, ct; λ, env) should be used. Sending the symbol t into environment, at any step of the computation and from any cell, will make the computation to last forever, because of the rule (∗, t; t, env): each cell contains one t, while last contains 6 copies of t, one for
70
Chapter 3
every symbol c, c, d, e, e, and still an additional one. Even if some of these six symbols are sent out, at least one remains in a cell, and the rule above can be used indefinitely. Assume now that c has arrived in a cell from one of the chains; we have seen above how this can be done from first to its neighbor. Using the rule (∗, cf a ; c c , env) we throw out the unique symbol f (hence such a rule cannot be used once again for the same cell), as well as the symbol a present in that cell, for a ∈ V2 . We bring inside the symbols c c , which correspond to the first step in Move(c). In the next three steps we use the rules for Steps 2–4 of Move(c), and in this way, c is moved one cell to the right. The process is again controlled by the rules (∗, ct; λ, env), (∗, t; t, env). It is important to note that these last rules also ensure the fact that we do not have both copies of c in the same chain: in such a case only one of them can exit together with f , hence the other one has to exit together with t and the computation will never end. Therefore, from each cell of each chain, always in the same steps (namely, 1 + 4i, i 1) we throw out two symbols a1 , a2 , for some a1 , a2 ∈ V2 . We add to R the following rules: (∗, g; a a g, env),
(∗, gt; a , env),
for all a ∈ V2 .
Therefore, if the two symbols are equal, then they enter cell last and remain there forever. If the two symbols are not equal, then one of them will enter cell last (only this one contains the symbol g) and release the trap-symbol t, hence the computation will never stop. This also happens if the two chains are of different lengths: after exhausting the shorter chain, only one symbol a is released from the longer chain, and the trap symbol exits cell last. When arriving in cell last, the two symbols c remain forever there: note that c can exit a cell together with a symbol a only in the presence of f and this symbol is not present in cell last. From these explanations, it is clear that in this way we ensure the checking of condition C1, and the process can halt only if the two chains are marked with the same strings of symbols a ∈ V2 . C2. We have to use the pairs of symbols eqi,0 , for i = 1, 2, in order to check the membership to the regular languages L(hi ), i = 1, 2. First, we move eqi,0 from the seed cell to its neighbor, and to this aim we use the following rules, similar to those from Move(c): Step 1: Step 2:
(∗, ev; e e , env), (∗, e ; λ, ∗ + 1), (∗, e ; e , env),
Computing by Self-Assembly
Step 3: Step 4:
71
∗, e ; eiv , env ,
(∗, e ; e, env), ∗, eqi,0 ; eiv , ∗ + 1 .
We call this group of rules Move(e). We also add to R the “control rule” (∗, et; λ, env). Like in the case of moving c, we move in this way eqi,0 , i = 1, 2, in the first cell of a chain. We add the rules: (∗, eqi ba ; e e qi , env), (∗, eqi a ; e e qi , env), ∗, eqi ; eiv , ∗ + 1 ,
for qi ∈ δi (qi , ba), for qi ∈ δi (qi , a),
for all qi ∈ Ki .
Depending on the existence of b ∈ V1 or in the current cell (the one where qi is present), the first rules both check the correct continuation of the computation in the automaton Mi and, in the first case, one also throws in the environment the symbol b. Remember that b is immediately followed by h1 (b) or by h2 (b). The continuation is correct only if the two chains contain blocks bhi (b) for a unique i per strand. Using also the rules from Steps 2, 3 of Move(e), we prepare the possibility of using the last rule given above, in Step 4. In this way, we go along the chain, continuing the computation of the respective automaton. Note that if both symbols e have moved together with q1,0 and q2,0 to the same chain, then only one of symbols e can exit together with a , hence the other one has to enter the rule (∗, et; λ, env), hence this rule also ensures that we explore at the same time both chains. The symbols b sent out are checked whether they are equal or not, by means of the rules (∗, g; gbb, env),
(∗, gt; b, env),
for all b ∈ V1 .
Therefore, only if the two symbols are equal we can hope that the computation eventually halts. However, it appears here a delicate point: the strings h1 (b), h2 (b), b ∈ V1 , are of different lengths, hence we have to make sure that we do not throw out symbols in different moments if they are on the same position in the string w ∈ V1∗ whose morphic images appear in the two chains. To this aim, we also introduce the following “waiting” rules: (∗, eq; eq, env),
for all q ∈ K1 ∪ K2 .
72
Chapter 3
Using these rules, at any moment during the parsing of a block bhi (b), i = 1, 2, we can wait any number of times, so that the other chain will “catch up” with ending the parsing of a similar block. Of course, by using only such rules we change nothing, hence the computation will not end without resuming the correct simulation of the work of the finite automata M1 and M2 . We also add the “control rule” (∗, eqt; λ, env),
for all q ∈ K1 ∪ K1
(if the parsing is blocked, hence M1 or M2 aborts, the computation will continue forever), as well as the rules (∗, eqgt; λ, env),
for all q ∈ (K1 − F1 ) ∪ (K2 − F2 ).
By means of these rules we can make sure that the parsings in the two automata end correctly by reaching a final state. Note that this is checked only in the end of the parsing, in cell last, because only here we have the necessary object g present. Consequently, in this way we both check that the two chains contain strings of the form h1 (w1 ), h2 (w2 ) and that w1 = w2 , hence condition C2 is checked. C3. Checking whether or not one chain contains a string from L0 is now clear, but, for the sake of completeness, we give the rules used: Step 1:
(∗, dv; d d , env),
Step 2:
(∗, d ; λ, ∗ + 1),
Step 3:
(∗, d ; d , env), ∗, d ; d iv , env ,
Step 4:
(∗, d ; d, env), ∗, dq0 ; d iv , ∗ + 1 .
In this way, dq0 are moved into the first cell of a chain. We also add to R the “control rule” (∗, dt; λ, env) to check the correctness of this process, and then we consider the rules: (∗, dqaa ; d d q , env), for q ∈ δ(q, a), a ∈ T , (∗, dqa ; d d q , env), ∗, dq; d iv , ∗ + 1 ,
for q ∈ δ(q, a), a ∈ V2 − T , for all q ∈ K.
We also add the “control rule” (∗, dqt; λ, env),
for all q ∈ K
Computing by Self-Assembly
73
(if the parsing is blocked, the computation will continue forever), as well as the rules (∗, dqgt; λ, env),
for all q ∈ K − F,
to check that the automaton M ends in a final state. Clearly, in this phase we also simulate the effect of the projection on T by throwing out the symbols a ∈ T . The above three processes have been described separately, but they develop in parallel, simultaneously checking all three conditions. Because they use different symbols (“control” symbols, as c, d, e, primed versions of a ∈ V2 , disjoint sets of states K, K1 , K2 ), these processes does not interfere. If at least one of them fails, that is, releases the symbol t from one cell, then the computation will never finish. This completes the proof of the fact that L(Π) = L. The observation that cell first starts with 14 symbols inside and that we have rules which move 4 symbols at a time in the same direction concludes the proof of the inclusion RE ⊆ LOP(types∗ , obj14 , anti4 ). At the expense of making more complex the communication rules and the explanations of their functioning, the three checks described in the previous proof can be performed at the same time: “intersect” M with one of M1 , M2 , thus checking at the same time two conditions, and, as we have done above with sending out elements of V1 and of T , send out also the symbols a for checking condition C1. In this way, we pass only once through the two chains, and this means that in cell first we need only two symbols e, together with q1,0 , q2,0 for parsing the two chains, two auxiliary symbols v (one for each e), and the trap-symbol t; in total, 7 symbols. Note that all other cells contain 7 symbols, too. However, this is not the right way to decrease the complexity of the system, as a much more direct and more efficient solution exists, leading to the following result (note that also the number of types of cells is now bounded): Corollary 1. LOP(types3 , obj1 , anti4 ) = RE. Proof. The idea is to start with three types of cells, a unique template cell σ1 = (X1 , in, out), the seed cell σ0 = (Y1 , out, out, 1), and the cell σlast = (Z1 , in, in, 1), and to bring the necessary objects inside by means of antiport rules (of weight at most 4). This can be easily done; here are the rules to be used in the case of the seed cell: (∗, X1 ; X2 X3 , env), (∗, X2 ; X4 X5 , env), (∗, X3 ; X6 X7 , env), (∗, X4 ; ccvv, env),
74
Chapter 3
(∗, X5 ; eevv, env), (∗, X6 ; dvtq0 , env), (∗, X7 ; q1,0 q2,0 , env). Three steps are performed; for the other cells we need only two steps, but this does not produce any problem (de-synchronization), because the checking of conditions C1–C3 starts always from the seed cell.
7.
One Further Universality Result
The weight of antiport rules used in Theorem 8 is rather large, four; one knows that symport/antiport systems with minimal rules (symport of weight 2, antiport of weight 2, or both symport and antiport of weight 1) are already universal (see details in [4])—with an important observation: one computes then sets of numbers, not languages, and this is a significant difference (the strings of a language contain a syntax, positional information, which is not the case with numbers). If we only want to compute numbers, then a simpler universality proof can be obtained for restricted self-assembly P systems. The proof uses the notion of a register machine, hence we introduce here this notion (in the non-deterministic, generative form): A register machine is a construct M = (m, H, l0 , lh , I ), where m is the number of registers, H is the set of instruction labels, l0 is the start label, lh is the halt label (assigned to instruction HALT), and I is the set of instructions; each label from H labels only one instruction from I , thus precisely identifying it. The instructions are of the following forms: – l1 : (ADD(r), l2 , l3 ) (add 1 to register r and then go to one of the instructions with labels l2 , l3 ), – l1 : (SUB(r), l2 , l3 ) (if counter r is non-empty, then subtract 1 from it and go to the instruction with label l2 , otherwise go to the instruction with label l3 ), – lh : HALT (the halt instruction). A register machine M generates a number n in the following way: we start with all registers empty (i.e., storing the number zero), we apply the instruction with label l0 and we proceed to apply instructions as indicated by the labels (and made possible by the contents of registers); if we reach the halt instruction, then the number n stored at that time in the first register is said to be generated by M. The set of all numbers generated by M is denoted by N(M). It is known (see, e.g., [14]) that register machines (even with a small number of registers, but this detail is not relevant here) characterize NRE, the sets of numbers which are Turing computable. Without loss of generality, we may assume that in the halting configuration, all registers different from the first one are empty.
Computing by Self-Assembly
75
Let us now consider a restricted self-assembly P system as a number generating device, in the following way: we start with the environment empty, with a seed cell, and a series of template cells (as above, some of them present in arbitrarily many copies and some of them present in a bounded number of copies); after self-assembly, we start communicating; if the process stops, we take as the result of the computation the number of objects present in the environment. We denote by N(Π) the set of numbers computed in this way by a system Π, and by NOP(typesn , objm , antiq ) the family of sets N(Π) computed as above by restricted self-assembly P systems with at most n types of template cells, with at most m objects present in any cell at the beginning of a computation, and using rules of weight at most q. When one of the parameters n, m, q is not bounded, we replace it with ∗. Theorem 9. NOP(types∗ , obj2 , anti2 ) = NRE. Proof. Let us consider a register machine M = (m, H, l0 , lh , I ) and construct the restricted self-assembly P system Π = (O, O, ∅, Lab, Ct , Cf , σfirst , R), O = {ar | 1 r m} ∪ l, l , l , l , l iv | l ∈ H ∪ {c, c },
Lab = lar | l ∈ H, 1 r m ∪ l, l , l iv , l l | l ∈ H ∪ {first, last}, Ct = σlar = (lar , in, out) | l ∈ H, 1 r m ∪ σα = (α, in, out) | α ∈ l, l , l iv , l l | l ∈ H , Cf = σfirst = (cl0 , out, 1), σlast = (c , in, 1) , R = (∗, cl0 ; λ, env), (∗, c ; c, env), (∗, λ; c , env) ∪ (∗, l2 ar ; l1 , env), (∗, l3 ar ; l1 , env) | l1 : ADD(r), l2 , l3 ∈ I ∪ (∗, l1 l1 ; l1 , env), (∗, l1 ; l1 ar , env), ∗, l1iv ; l1 , env , ∗, l2 ; l1iv l1 , env , ∗, l3 ; l1iv l1 , env | l1 : SUB(r), l2 , l3 ∈ I ∪ (∗, λ; lh , env) . In the first step, c and l0 exit the seed cell; the presence of l0 starts the simulation of a computation in M. In the next step, both these symbols enter some cells, but not the same, because c can enter only cell last, that is, l0 can exit again only if this is requested by the computation in M, not with the help of c. The simulation of instructions of M is performed in a way used many times in membrane computing, hence we skip the details. The reader can easily check that the work of the register machine is correctly simulated in the environment, making use of the “resources” provided by the cells. The computation in Π halts
76
Chapter 3
if and only if the computation in M halts, and the number of symbols a1 in the environment in the end of a halting computation is exactly the contents of the first register of M. It is worth noticing that in the previous proof the self-assembly plays no role, the cells are used only as a source of symbols. However, at any moment during a computation, all cells contain only at most three symbols (at most two initially, and possibly the symbol c , which enters non-deterministically one cell). The universality results from literature usually use an arbitrary supply of symbols in the environment and cells—actually, one suffices in the case of using antiport rules as above, of weight 2—which can contain arbitrarily many symbols.
8.
Final Remarks
We have presented in this paper three examples of computing processes where self-assembly is a key element of each paradigm. Although they are conceptually different, involving distinct processing elements (computing with DNA incomplete molecules, with shapes, and cells, in the framework of sticker systems, shape grammars, and self-assembly P systems, respectively), they exhibit some common properties, being based on the same language-theoretic result (formulated as the SAU—self-assembly universality—Lemma) and providing characterizations of Turing computability. This study reveals theoretical aspects of self-assembly by characterizing the power of the models defined and establishing some complexity results with respect to parameters defining the models—with the mentioning that it is possible that these parameters (e.g., those from Corollary 1) could be decreased, thus improving the results above from this point of view. Similarly, it remains as a research topic to find other circumstances where the SAU Lemma can be the theoretical background of universality results based on self-assembly. We also believe that a more detailed examination is worth carrying about the interplay between what we have called above “mechanical self-assembly” and “behavioral self-assembly” (maybe, we can also call them “hardware self-assembly” and “software self-assembly”).
Acknowledgement MG’s research was supported by the Engineering and Physical Science Research Council (EPSRC) of United Kingdom, Grant GR/R84221/01.
References [1] H. Abelson, D. Allen, D. Coore, C. Hanson, G. Homsy, F.T. Knight, R. Nagpal, E. Rauch, J.G. Sussman, R. Weiss, Amorphous computing, Comm. of the ACM 43 (2000) 74–82.
Computing by Self-Assembly
77
[2] L.M. Adleman, Molecular computation of solutions to combinatorial problems, Science 226 (1994) 1021–1024. [3] L.M. Adleman, Q. Cheng, A. Goel, M. Huang, D. Kempe, P. Moisset de Espanes, P.W.K. Rothemund, Combinatorial optimization problems in self-assembly, in: Proceedings of the Annual ACM Symposium on Theory of Computing (STOC), ACM Press, 2002, pp. 23–32. [4] A. Alhazov, R. Freund, Y. Rogozhin, Computational power of symport/antiport: History, advances and open problems, in: Proceedings of Workshop on Membrane Computing, WMC6, Vienna, Austria, July 2005, pp. 44–78. [5] F. Bernardini, M. Gheorghe, Population P systems, J. Universal Computer Sci. 10 (2004) 509– 539. [6] F. Bernardini, M. Gheorghe, N. Krasnogor, J.-L. Giavitto, On self-assembly in population P systems, in: Proc. Unconventional Computing, UC05, Sevilla, in: LNCS, vol. 3699, Springer, Berlin, 2005, pp. 46–57. [7] P. Bottoni, G. Mauri, P. Mussio, Gh. P˘aun, Computing with shapes, J. Visual Languages and Computing 12 (2001) 601–626. [8] C. Calude, Gh. P˘aun, Computing with Cells and Atoms. An Introduction to Quantum, DNA and Membrane Computing, Francis and Taylor, London, 2000. [9] K. Culik II, A purely homomorphic characterization of recursively enumerable sets, Journal of the ACM 26 (1979) 345–350. [10] R. Freund, Gh. P˘aun, G. Rozenberg, A. Salomaa, Bidirectional sticker systems, in: R.B. Altman, K. Dunker, L. Hunter, T.E. Klein (Eds.), Third Annual Pacific Conf. on Biocomputing, Hawaii, 1998, World Scientific, Singapore, 1998, pp. 535–546. [11] L. Kari, Gh. P˘aun, G. Rozenberg, A. Salomaa, S. Yu, DNA computing, sticker systems, and universality, Acta Informatica 35 (1998) 401–420. [12] N. Krasnogor, M. Gheorghe, G. Terrazas, S. Diggle, P. Williams, M. Camara, An appealing computational mechanism drawn from bacterial quorum sensing, Bulletin of the EATCS 85 (2005) 135–148. [13] N. Krasnogor, S. Gustafson, A family of conceptual problems in the automated design of systems self-assembly, in: Proc. Second Intern. Conf. on the Foundations of Nanoscience: Self-Assembled Architectures and Devices, 2005, pp. 31–35. [14] M. Minsky, Computation—Finite and Infinite Machines, Prentice Hall, Englewood Cliffs, NJ, 1967. [15] Gh. P˘aun, Computing with membranes, Journal of Computer and System Sciences 61 (2000) 108–143, see also TUCS Report 208, November 1998, www.tucs.fi. [16] Gh. P˘aun, Membrane Computing. An Introduction, Springer-Verlag, Berlin, 2002. [17] J. Reif, Alternative computational models. A comparison of biomolecular and quantum computation, in: 18th International Conference on Foundations of Software Technology and Theoretical Computer Science (FST&TCS98), 1998, pp. 102–121. [18] Gh. P˘aun, G. Rozenberg, A. Salomaa, DNA Computing. New Computing Paradigms, SpringerVerlag, Berlin, 1998. [19] G. Rozenberg, A. Salomaa (Eds.), Handbook of Formal Languages, vol. 3, Springer-Verlag, Berlin, 1997. [20] A. Salomaa, Equality sets for homomorphisms of free monoids, Acta Cybernetica 4 (1978) 127–139. [21] A. Salomaa, Jewels of Formal Language Theory, Computer Science Press, Rockville, Maryland, 1981. [22] S. Stepney, S.L. Braunstein, J.A. Clark, A. Tirrell, A. Adamatzky, R.E. Smith, T. Aldis, C. Johnson, J. Timmis, P. Welch, R. Milner, D. Partridge, Journeys in non-classic computation. A grand challenge for computing research, The Intern. J. of Parallel, Emergent, and Distributed Systems 20 (1) (2005) 5–19.
78
Chapter 3
[23] H. Wang, Proving theorems by pattern recognition, Bell System Technical Journal 40 (1961) 1–141. [24] G.M. Whitesides, B. Grzyboski, Supramolecular chemistry and self-assembly of mesoscopic and macroscopic components, Science 295 (2002) 2418–2421. [25] E. Winfree, Algorithmic self-assembly of DNA, PhD Thesis, California Institute of Technology, 1998. [26] The P Systems Web Page, http://psystems.disco.unimib.it. [27] The Wikipedia Web Page, http://en.wikipedia.org/wiki/Self-assembly.
79
Chapter 4
Evolutionary Design of a Model of Self-Assembling Chemical Structures Andrew Buchanana,b , Gianluca Gazzolaa,b , Mark A. Bedaua,b,c,* a ProtoLife Srl, Via della Libertà 12, 30175 Marghera, Venice, Italy b European Center for Living Technology, Ca’ Minich, Calle del Clero, San Marco 2940,
30124 Venice, Italy c Reed College, 3203 SE Woodstock Blvd., Portland, OR 97202, USA Abstract. We introduce a new variant of dissipative particle dynamics (DPD) models that include the possibility of dynamically forming and breaking strong bonds. This model exhibits different forms of self-assembly processes; some like micelle formation involve only weak bonds, and others like the ligation of oligomers involve both weak and strong bonds. Complex self-assembly processes are notoriously difficult to design and program. We empirically demonstrate an evolutionary algorithm that optimizes self-assembly processes like micelle formation and template-directed ligation.
1. Design of Self-Assembling Chemical Systems Self-assembly processes involve a population of independently acting components that are each governed only by simple, usually local, rules. The systems exhibit emergent collective behavior that produces characteristic kinds of stable aggregate structures. These structures include “soft” materials like micelles and vesicles formed by weak associative forces such as hydrogen bonds, but also structures like polymers produced with “hard” covalent bonds. This chapter illustrates an evolutionary approach to designing self-assembling structures formed through the operation of both weak associative forces and covalent bonds. Life forms exhibit particularly rich examples of such self-assembled chemical systems. The emergence of life from pre-biotic chemical systems involved harnessing chemical self-assembly processes for specific functions. Examples include the chemical coupling of amphiphile systems that self-assemble into cellular containers, and chemical self-replicating systems of genetic polymers that self-assemble through templating. According to some scenarios, early amphiphiles self-assembled into vesicles, which eventually encapsulated replicating chemical microsystems [38]. Such cooperating self-assembling chemical systems * E-mail: mark@protolife.net.
STUDIES IN MULTIDISCIPLINARITY VOLUME 5 ISSN 1571-0831/DOI: 10.1016/S1571-0831(07)00004-4
© 2008 Elsevier B.V. All rights reserved.
80
Chapter 4
were then filtered by a selection process, in which those that prolonged vesicle lifetime or caused it to quickly grow and divide, would eventually dominate the population. Achieving this complementary reproduction of amphiphilic containers and genetic polymers is also a key milestone in the development of artificial cells [32]. The traditional method of designing self-assembling chemical systems relies on rational design by chemical experts on the basis of chemical first principles, applied to the simplest and purest compounds. But this method breaks down for inherently complicated chemical systems, including many of those involving self-assembly. Design of self-assembling systems is inherently difficult because their behavior is emergent. Desired emergent properties cannot be directly programmed into the system but must arise indirectly, as a result of directly programming lower level interactions. There is no method to deduce the resulting emergent behaviors short of actually examining the system’s behavior. So, a general ability to program self-assembling chemical systems would have immense practical significance. Evolutionary design with an evolutionary algorithm has been shown to provide greater flexibility, lower cost and feasibility in areas in which traditional rational design is ineffective [28,37,45,46]. Hence, we here employ an evolutionary algorithm to design self-assembling chemical systems. Earlier we empirically demonstrated evolutionary design of self-assembling structures in a computer simulation of amphiphiles in water [3]. Here we present evolutionary design of simulations of two kinds of chemical self-assembly: micelle formation and template-directed ligation. The simulation framework we employ is notable for its realistic portrayal of certain self-assembly processes. The evolutionary algorithm that here optimizes computer simulations of chemical structures has also optimized real self-assembling chemical structures in a wet lab [39]. Together these results illustrate the broad applicability of our evolutionary design method. Evolutionary design of a self-assembling system is somewhat similar to certain other design processes, specifically combinatorial chemistry, in vitro or directed evolution, and evolutionary design of physical systems through a proxy model. But the similarities are only superficial. Combinatorial chemistry [8,12,34] does not employ true evolutionary search. Vast libraries of chemicals are synthesized and then screened for matching some target, but the chemical possibilities are determined beforehand by the size and composition of the library which is determined in advance. If the library does not contain a match, then combinatorial chemistry will fail. Combinatorial chemistry is useful for mining existing chemical databases for new uses. However, it breaks down in the face of larger polynomial search spaces or spaces for complex chemical interactions. By contrast, an evolutionary algorithm can find good solutions in a range of possibilities after testing only a small fraction of the possibilities.
Evolutionary Design
81
In vitro or directed evolution [9,11,22,23,35,42,47] searches for desired functionality in combinatorial libraries of DNA or RNA. The target functionality is often the production of desired enzymes. These DNA or RNA libraries continually evolve, through random mutations of selected molecules. This truly evolutionary search is more creative than combinatorial chemistry screening. However, in vitro evolution can be applied only to chemical functionality encoded in nucleic acids. The method we demonstrate here can be used to design any sort of desired chemical functionality, in principle. Indirect design of target systems via explicit evolutionary design of a simulation of the target system is often used to design physical objects such as robots [10,13,28,31]. This method suffers from an inherent “reality gap” because the simulation will typically lack some relevant characteristics of the target system. In contrast, our method always measures fitness directly in the target system (here, the target is itself a computer model). So no “reality gap” can afflict our method.
2.
Dynamic-Bonding Dissipative Particle Dynamics (dbDPD)
For our investigation we used a model of chemical reaction systems based on the well-studied dissipative particle dynamics (DPD) framework [18,21,30,36, 41,43]. The DPD framework is a mesoscopic system simulator meant to bridge the gap between molecular dynamics (MD) models and continuous substance models. The extreme computational demands of MD models make them appropriate only for simulating small systems for brief intervals—orders of magnitude smaller than the time and length scales of interest here. Continuous substance models are inappropriate as models of molecular scale systems in which the discrete nature of particles impacts the dynamics of the system. In DPD, the equations of motion are second order, with explicit conservation of momentum, in contrast to Langevin or Brownian dynamics. Solvent molecules may be represented explicitly, but random and dissipative forces are included in the dynamics to compensate for the dynamical effects of replacing the hard shortrange potentials of MD by softer potentials in DPD simulations. This procedure allows a major acceleration of the simulation compared with MD. In traditional DPD models, all strong bonds are specified initially, and subsequently cannot form or break. One limitation imposed on the DPD simulations discussed here is that each element can have at most two strong bonds at a given time. The particles also interact in a manner corresponding to weak forces such as van der Waals forces or hydrogen bonds. In contrast to real systems, weak forces are not limited to a pair of elements, but may simultaneously occur between a single element and many others. Orientation of individual elements also plays no role, as DPD elements are radially symmetrical.
82
Chapter 4
All the elements move in a two- or three-dimensional continuous space, according to the influences of four pairwise forces: the conservative “weak” forces between pairs of particles, a dissipative force between nearby particles, a springlike “strong” bond force if bonded and a random force: FijC + FijD + FijB + FijR . fi = j
All of these forces are considered to operate only within a certain local cutoff radius, r0 . The cutoff radius is a main mechanism for improving model feasibility. Our simulation follows the standard of setting r0 = 1 for convenience, and as such it is omitted from the formulas below. The conservative forces between particles i and j are given by a linear approximation of the Lennard-Jones potential following Besold et al. [6]: FijC = αI J (1 − βI J rij ) where αI J and βI J are specific to the types of i and j and rij is the Euclidean distance between the particles. The dissipative force, FijD , causes the kinetic energy of elements to move toward equilibrium with other nearby elements: FijD = (vi − vj )(1 − rij )2 γ where vi is the velocity vector of i, γ is a weighting factor given by γ = σ 2 /2, and σ is a balancing factor between dissipative and random forces which serves to maintain the temperature of the system around a more or less fixed point. The bonds are represented as Hookean springs: FijB = k(rij − l) where k is the bond strength and l the relaxed bond length. The random force is given by: FijR = σ wR (1 − rij )u where wR is an independent random factor and u is a uniform random number √ chosen from the interval (−1, 1). For all our experiments, σ = 3, wR = 3, with a density of 10 DPD particles per unit volume. The work reported here uses a DPD implementation of a model of monomers and oligomers in water. Some elements in the model represent bulk water, with one model element representing many water molecules. Other elements could represent hydrophilic or hydrophobic monomers. In some cases those elements are connected by explicit bonds, which are represented as springs that rotate freely about their ends. These complexes explicitly but very abstractly represent the three-dimensional structure of oligomers. For example, amphiphilic molecules can be created by explicitly bonding a hydrophilic monomer “head” onto a hydrophobic “tail” (chain of hydrophobic monomers).
Evolutionary Design
83
DPD thermodynamic forces can create self-assembled structures held together by the weak associative forces. For example, a DPD system with amphiphiles in water can exhibit a wide variety of known supramolecular amphiphilic phases, including monolayers, bilayers, micelles, rods, vesicles, and bicontinuous cubic structures [26,27,36,48,49]. But since strong bonds never form or break in the traditional DPD framework, that framework is unable to represent self-assembled structures that involve the dynamics of covalent bonds. To achieve self-assembly processes that involve forming and breaking strong bonds, the DPD framework must be extended by making strong bonds dynamic. To this end, we created dynamic-bonding DPD (or dbDPD), which is a DPD that is augmented with the following two rules: – Bonds form if rij < rIf J , where rIf J is the bond-forming radius for types I and J . – Bonds break if either rij > r0 or rij > rIbJ , where rIbJ is the bond-breaking radius for types I and J . The strong bond strength parameter, k, governs the strength of all strong bonds, whether or not they were present in the initial conditions. These bonding rules allow emergent chemical reaction networks, including emergent side-reactions, to interact with self-assembly processes [15]. Note that the temperature of the system changes when bonds form and break. However, the momentum in the system is constant, since the changes in the momentum of individual elements due to bonding events are always symmetrical with respect to the bonded particles.
3.
Genetic Algorithm for Chemical Structures
We now describe an evolutionary algorithm (EA) for designing chemical systems. We use the EA to optimize the parameters of dbDPD models, where the parameters are given a wide range of possible values. Specifically, a genome, g, is a vector of chemical systems parameters: g = (g1 , . . . , gN ). The evolutionary algorithm we use is simple, but differs from a standard genetic algorithm in important respects. In deference to the expense of testing fitness, all previously tested genomes are candidate parents, rather than only those of the last generation, and children are not allowed to repeat previously tested genomes. In an attempt to better mimic real evolutionary processes, mutation, the sole genetic operator, is limited to a subset of the space near the parent’s value, rather than the whole range of the gene. Obvious possibilities for future work include extending our results with various more complicated evolutionary algorithms [14,17,20], such as those using crossover, and comparison with a standard genetic algorithm. The EA proceeds with discrete generations of size Pg . Parents are selected from the entire population of genomes tested in any previous generation, not
84
Chapter 4
just those tested in the immediately preceding generation. Selection is done via truncation: at the end of each generation the least fit members of the population are culled until the group of new parents reaches a pre-determined size, Pt . For all experiments discussed below, Pt = Pg = 10. Each parent produces one child genome gc by mutation, with the limitation that gc not duplicate a previous g tested by the EA. The mutation rate per locus is governed by a global parameter, μ (set to 0.5 for all experiments reported here). The mutation operator is given by: p p g gi p c + i gi = u 2gi − 2 2 where u is a uniform random number chosen from the interval (0, 1), and gic p and gi are the ith child and parent gene. Mutation thus has an asymmetric Hamp p ming distance around gp such that gi /2 < gic < 2gi . The mutation rate is relatively high to balance other differences between ours and a standard EA. Because mutations are limited to the range defined by the Hamming distance, even high mutation rates do not lead to mutant children being overly distant in genomic space from their parents. Additionally, because children may not duplicate earlier genomes, much of the genome may be effectively immune to mutation due to previous sampling, particularly in combination with the limit imposed by the Hamming distance.
4.
Results
We optimized dbDPD parameters for a handful of different kinds of selfassembled structures. Some involve only weak associative forces, while others also involve strong bonds. This section reports the typical and notable results from a large sample of optimizations of these structures by evolutionary algorithms.
4.1.
Optimization of Micelle Size
One set of experiments focussed on systems consisting of amphiphile aggregations in water. Amphiphiles in aqueous solution spontaneously assemble into a number of structures, depending on the type of amphiphile and the pH and temperature of the solution. Amphiphilic self-assembled structures typically arise solely because of weak associative forces. The smallest amphiphile self-assembled structures are micelles. In micelles, amphiphiles aggregate with their hydrophobic tails at the center and the hydrophilic heads around the outside (see Fig. 4.1, right). The size of a micelle is affected by a number of factors, but can be considered in the abstract to depend
Evolutionary Design
85
Fig. 4.1. The equilibrium state of the dbDPD system before (left) and after (right) evolutionary design of dbDPD parameters for the micelle size. Amphiphile heads are shown as light-colored spheres, tails as darker columns; water is present but not shown. The system on the left includes amphiphile tails, but most are too short to be seen. In the system on the right, note the self-assembly of ten different micelles of a certain characteristic size. Two micelles wrap around the toroidal edge of the space. For colour version, see Colour Plate Section.
primarily on the length of tail and the “width,” in terms of inter-molecular forces, of the head. If the tail is short and the head wide, small micelles composed of low numbers of amphiphiles will be formed. The EA tested dbDPD parameters in systems consisting of 1000 particles: half water (W) and half tail–head (T–H) dimers. The initial system parameters were such that T–H pairs were strongly bonded and attracted each other, T–H bonds could break but could not reform, Hs repelled each other, and Ts repelled each other. The genome in this EA consists of genes for the bond strength, k, and for the repulsion forces, αI J : g = (k, αWT , αWH , αHH , αTH , αTT ) where all are integers in [1, 400]. In this experiment, we use an EA to tune dbDPD parameters so that micelles spontaneously self-assemble and their size is maximized. The existence and size of micelles is determined by the spatial distribution of amphiphiles. So, the fitness function needs to detect micelles and to measure their size. In the fitness function used here, a micelle-detecting algorithm locates all the amphiphile structures made up of a core of tails surrounded by heads. The algorithm proceeds by (1) listing all the tail particles in the system, (2) choosing a tail particle from the list at random, (3) drawing a circle whose radius is the distance between that tail particle and the nearest head or water particle, (4) removing from the list all the tail particles located inside that circle, and then repeating steps (2)–(4) until the list of tail particles is empty. The algorithm then groups any overlapping circles (where overlap is transitive), and considers each group of overlapping circles as
86
Chapter 4
a single micelle. A micelle’s radius is considered to be the radius of the largest circle in the group corresponding to that micelle. The fitness of a given genome (vector of dbDPD parameters) is dependent on the size of the micelles (if any) that form after a set number of model updates when the dbDPD system is started from those dbDPD parameters. More precisely, the fitness, F , of a given genome, g, is the mean size of the n micelles it generates, F =
n
fi
i=1
where fi is the size of the ith micelle. An individual micelle’s size is given by ri si fi = ri where si is the number of tails in the micelle core and ri is the micelle’s radius. The fitness function thus increases with both the number of particles in the micelle and its radius. The evolutionary algorithm typically had no difficulty creating large micelles. Different runs of the EA would often take different routes to similar final solutions. In some cases, a good solution is found in less than 20 generations; see Fig. 4.2. But other times the process is more gradual, as in Fig. 4.3, which illustrates a series of discrete adaptations. The fixed dbDPD parameters in these two contexts were similar but not exactly the same. In both cases, αWW = 1, βTT = 3 and β = 1 for all other particle pairs, and for all particle pairs r f = 0 (no bonds form). In the EA shown in Fig. 4.2, k = 250, l = 0.05, and r b = 0.7. In the EA shown in Fig. 4.3, l = 0.01, r b = 0.9, k was added as a gene and allowed to evolve. These separate adaptations can be identified in the corresponding evolutionary activity plot. Evolutionary activity statistics are a method for visualizing and quantifying the dynamics of evolutionary adaptations [2,4,5,33]. Here, we focus on the activity of only the parents, for those genotypes will contain the significant adaptations. In the present context, the evolutionary activity A(a, t) at time t of a given allele a of a given parental gene gi is the sum of a’s concentration in past parental generations: A(a, t) =
n
c(a, t)
t=1
where n is the total number of generations and c(a, t) is the concentration of the a allele in the parental population at generation t if the allele is present, and 0 otherwise. A discrete number of different allele types are formed from continuous
Evolutionary Design
87
Fig. 4.2. Time series of fitness scatter plot of a micelle size EA, in which a good solution is found in less than 20 generations. Each point represents the fitness of a genome in the EA with all the genomes in a single generation at the same point on the x-axis.
Fig. 4.3. Time series of fitness scatter plot for a micelle size EA, illustrating successive adaptations.
88
Chapter 4
Fig. 4.4. Evolutionary activity waves of all parental loci in the EA shown in Fig. 4.3. Note the rise of a number of adaptations such as the dominant gene in k, αTT and αWT . Also notable is the quiescence of one αWT gene only to see a revival towards the end of the study. A gene at locus αTH can be seen dying out around generation 60 to be replaced by a number of dominant neutral variants. For colour version, see Colour Plate Section.
parameters by dividing the range of legal allele values into some finite number of bins (40 bins, in the present study). We can see the effects of two main adaptations in the evolutionary activity waves in Fig. 4.4. The first adaptation around generation 20 is lower amphiphile tail repulsion. This allows amphiphiles to become packed into micelles. One can see the creation of new types of αTT genes, one of which quickly dominates the population (the big αTT wave in the middle of the diagram). This first adaptation also involves increasing the repulsion between heads, but the activity waves for these innovations appear among those in the lower half of the wave diagram. The second main adaptation around generation 50 is increased repulsion between heads and tails. This increases the amphiphile’s length, and so increases the size of the micelles. One can see the creation of new activity waves for αTH genes at around this time. (The persisting allele waves involving αWH and k illustrate that these genes are not undergoing significant innovations.) If we compare the micelles produced by the parents at successive stages in the evolutionary algorithm in Fig. 4.2, we observe a clear directional change. Figure 4.5 compares the distribution of mean core size and mean radius of the micelles made by the parents in generation 10, 15, and 30. One can see that the values of both variables increase over the course of the EA.
Evolutionary Design
89
Fig. 4.5. Box plots of the mean values of core size (left) and radius (right) of micelles formed by parents of generation 10, 15, and 30, in the EA shown in Fig. 4.2. A clear directional change is evident. The bottom of the box marks the first quartile (x0.25 ), the top, the third (x0.75 ) and the thicker line, the median. The height of the box defines the interquartile range (IQR). A data point is considered an outlier, and shown as an empty dot, if it is smaller than the lower fence (LF = x0.25 − 1.5IQR) or bigger than the upper fence (UF = x0.75 + 1.5IQR). The bottom line marks the smallest data point bigger than LF, and the top line the biggest data point smaller than UF.
Figure 4.6 compares the most fit genomes in the EAs shown in Figs. 4.2 and 4.3. It is evident that both EAs produce roughly similar genomes, though they differ in some details. The fittest genomes from the EA shown in Fig. 4.2 produce micelles with a more regular shape than those from the EA shown in Fig. 4.3.
Fig. 4.6. Logarithmically scaled distribution of the most fit genomes in the EAs shown in Figs. 4.2 and 4.3. The bond strength, k, was a gene in the EA shown on the right, but not in the EA shown on the left. Note that the two sets of evolved genomes are similar, though not the same.
90
Chapter 4
Fig. 4.7. Three slices of the fitness landscape for the micelle size EA. Each slice is a series of scatter plots of twenty fitness measurements in dbDPD parameter space, showing how fitness varies as a single parameter is varied over its whole range of possible values, while all other parameters are held constant. The parameters varied are αTT (left), αTH (middle), and αHH (right). Some significant topographical variation is evident in each slice.
We also investigated the structure of the fitness landscape in the micelle size task by making a number of “fitness slices.” In these fitness slices, all parameters were kept constant except for one parameter which was smoothly varied between its minimum and maximum values, and we measured fitness of a number (typically 20) of replicate dbDPD systems. The fitness slices (Fig. 4.7) reveal that the fitness landscape has an interesting, sometimes multi-modal, structure in at least three of its dimensions (αTT , αTH and αHH ). The presence of outliers which we observe on the fitness slices for αTH is due to a chaotic point in the parameter space which yielded large but extremely unstable micelles that produced widely differing fitness measurements depending on the momentary state of the system in which the measurement was made. These fitness slices corroborate our explanation above of the adaptations seen in the activity wave diagram (Fig. 4.4). The first significant adaptation involves lowering the TT repulsion and increasing the HH repulsion, and Fig. 4.7 reveals that for at least one slice through parameter space fitness increases as TT repulsion is lowered (left) and increases as HH repulsion increases (right). The second significant adaptation involves increasing the TH repulsion, and we see that fitness increases as TH repulsion increases from its minimal value (Fig. 4.7, middle).
4.2.
Template-Directed Ligation of Uniform Oligomers
Chemical amplification via templating is the basic mechanism of DNA replication, and also of simpler replicator systems such as von Kiedrowski’s autocatalytic replicator system [44] and peptide replicators [40]. Monomers of a given type may participate in a weak interaction with monomers of a complementary type, and each may form strong bonds with a monomer of any type if the two
Evolutionary Design
91
are in the correct proximity and orientation. Given a template oligomer made up of different types of monomers and a reservoir of free floating monomers, each monomer of the template oligomer can associate weakly with a complementary free monomer. If the weak forces of the template oligomer bring the free monomers into the correct orientation and proximity, strong bonds form between the monomers producing a complementary oligomer through the process of ligation. In this way, the self-assembly process of template-directed ligation involves both weak and strong chemical bonds. If the paired complementary oligomers are separated by a mechanism such as duplex melting due to temperature change or protein action, then each oligomer may repeat the process, creating more templates and complements. By this means, the overall number of oligomers in the population increases. Although this process results in the chemical amplification of oligomers, the focus of the present work is simply ligation, and the optimization of parameters that result in the organization and ligation of monomers into oligomers. Unlike a DNA system we attempt to simulate a system in which template oligomers directly catalyze the formation of their complements without any facilitating proteins consistent with RNA world theories of the origin of life. The ligation systems we subject to evolutionary design are analogous to the chemical system of non-enzymatic template-directed synthesis [1,7,19,24,25,29, 50]. Like template-directed systems of ligation in vivo and in vitro, our system is supplied with a template molecule and an excess of monomers. It then evolves so as to optimize the assembly of monomers on the template to produce a ligated copy of the template. The simplest form of template-directed ligation involves only uniform oligomers, i.e., oligomers composed of a single species of monomer. The template for a uniform oligomer is another uniform oligomer composed of the complementary monomer. Pairs of opposite type units attract each other, while like type units are unlikely to become associated by weak forces. This is roughly analogous to complementary base pairing in the context of nucleotides. In this section we present results of evolutionary design of ligation of uniform oligomers. Results on evolutionary design of the more general form of ligation involving non-uniform oligomers are reported in Section 4.3. It is possible to measure the catalytic efficiency of the templating process by fitting rate constants and comparing with background rates, but this is not done here. When designing ligation of uniform oligomers, we augmented dbDPD with angular stiffness of covalent bonds, following Shillcock and Lipowsky [36]. The preferred angle was 0, tending towards parallel bonds, and the bending constant was 200. Our genes in this EA are three dbDPD parameters: the bond strength, the relaxed length of the bond, and the strength of the attractive conservative force between A and B particles: g = (k, l, βAB )
92
Chapter 4
Fig. 4.8. The dbDPD system before (left) and after (right) evolutionary design of uniform oligomer ligation. Template oligomers are dark, monomers and target oligomers lighter. Water is present but not shown. After evolutionary design, it is evident that the template successfully catalyzes the production of complementary oligomers. For colour version, see Colour Plate Section.
where k is an integer in [1, 1000], l is a real number in [0.01, 0.75], and βAB is a real number in [1, 2]. The other dbDPD parameters were fixed as follows: αWW = αWT = αWH = 3 and all other α values were set to 30, β values for all f f = 0.25 and r f values for all particle pairs except AB were set to 1, rAA = rBB other particle pairs were set to 0, and r b = −1 for all particle pairs (bonds do not break). A genome’s fitness is measured by starting the dbDPD with the genome’s parameters and seeding the system with one kind of free monomers and a template that is a uniform oligomer formed from the complementary monomer. The fitness of a genome is given by: F =
lmax
nl × k l
l=lmin
where l is the length of the oligomer, lmin is the length of the shortest oligomer which counts towards fitness, lmax is the length of the longest oligomers allowed in the system, nl is the number of oligomers of a given length l, and k is a scaling factor that governs the relative importance of forming longer oligomers. For all our experiments k = 1.5. Many generalizations and modifications of our search algorithm and fitness function could be explored. As can be seen in Fig. 4.8 the EA was successful at templating oligomers in the uniform case. Fitness improved from zero to over eighty percent of the maximum possible. The twenty percent shortfall from perfect performance is from incomplete ligation due in large part to insufficient diffusion of monomers in the time allotted for evaluating the system.
Evolutionary Design
93
4.3. Template-Directed Ligation of Non-Uniform Trimers Ligation of uniform oligomers is a limiting case of ligation of non-uniform oligomers. In this section, we report results on evolutionary design of the more general form of ligation. To simplify the chemistry as much as possible, we focus solely on the ligation of trimers composed of two types of monomers. Our genes are eight chemical system parameters: the bond strength, the relaxed length of the bond, the strength of the repulsive conservative force between A particles, the strength of the repulsive conservative force between B particles, the strength of the attractive conservative force between A and B particles, the bondforming radius for two A particles, the bond-forming radius for two B particles, and the bond-forming radius for A and B particles: f f f g = k, l, αAA , αBB , βAB , rAA , rBB , rAB f , where k, αAA and αBB are integers in [5, 200], βAB is an integer in [5, 100], rAA f and r f are real numbers in [0.05, 0.75] and l is a real number in [0.01, 0.75]. rBB AB The other dbDPD parameters were fixed as follows: α and β values for all particle pairs not controlled by genes were set to 1, and r b for all particle pairs were set to 0.8. Here, a genome’s fitness has three components, corresponding to the ability to ligate three different classes of trimers. Each fitness component is measured by starting the dbDPD with the genome’s parameters and seeding the system solely with free monomers and one of three kinds of template trimers—AAA, AAB, and ABA—and letting dbDPD run for a fixed number of model updates. These templates and their complements cover all possible trimers that can be formed from the monomers A and B. The components of a genome’s fitness are the number of correct template and complementary trimers formed when seeded with each kind of trimer template. Formally, a genome’s fitness is:
F = nAAA × nAAB × nABA where nX is the number of X trimers and their complements produced after seeding the system with templates of type X. Figure 4.9 shows a scatterplot of the fitness of each genome over a typical EA run. In addition to the fitness of the genomes in each generation, the fitness of the parents of each generation is also plotted. This makes more apparent the mechanism of the EA as well as allowing more detailed investigation of performance in terms of the component fitnesses. We observed a steady increase in fitness over the course of one hundred generations. Figure 4.10 shows the evolutionary activity of the parents in the EA shown in Fig. 4.9. (Recall definitions from Section 4.1.) We can see significant adaptations f and in the genes for different types of bonding rules: βAB first adapts, then rAA
94
Chapter 4
Fig. 4.9. Measured fitness of each parent system (small closed circles) used by a typical EA designing template-directed ligation systems, and of child systems (open circles) produced by the EA.
Fig. 4.10. Evolutionary activity waves of types of alleles at all parental loci in the EA shown in Fig. 4.9. One βAB activity wave ends around generation 50 when βAB waves for alleles with higher values originate; these new waves are mixed with others in the bottom of the diagram. For colour version, see Colour Plate Section.
Evolutionary Design
95
Fig. 4.11. Time series of scatter plots of the three components of fitness—nABA above, nAAA in the middle, and nAAB below—in conditions started with the three corresponding kinds of templates in the EA shown in Figs. 4.9 and 4.10. As in Fig. 4.9, the parents at each generation are shown with small closed circles and those of the children with open circles. Note the initial rise in nABA , followed by rises in nAAA and finally nAAB . f . (We also see nearly constant domination of the parent population by allerBB les for genes k and l, presumably because they are not undergoing significant change.) Examining the changes in each component of the fitness function underlines the implications of the activity wave data. Figure 4.11 shows a scatterplot of
96
Chapter 4
each component of fitness of the genomes in the EA in Fig. 4.9. The EA first increases nABA ; this is the simplest fitness component to optimize because it involves only the AB bond. This is followed by increasing nAAA ; this is somewhat more complex because it requires forming both AA and BB bonds for the template and target respectively, but always in isolation from each other. The fitness component that increases the slowest is nAAB . This involves correctly forming each possible type of bond. Forming both like-type and complement-type bonds within the same oligomer proves very difficult in dbDPD. Note also that the parents shift somewhat in their rank in nAAA and nABA , but are always near the top of nAAB —more evidence of the latter’s key importance.
5.
Discussion
The behavior of probabilistic models like dbDPD is stochastic. This makes measurement of their expected behavior noisy, presenting an extra hurdle for our EA. One simple solution is to do enough replicates to average away the noise [3], but this is expensive in terms of fitness measurements. EAs can compensate for this by rewarding high measured fitness and punishing low measured fitness more gently. But this lessens the EA’s ability to quickly abandon dead ends and capitalize on new breakthroughs. The stochasticity of the dbDPD simulations also explains in part why different EAs sometimes find different solutions to the same optimization problem, the remaining variation due to stochasticity within the EA. We ran many EAs identical in all but the initial seed for the random number generator and saw significant differences in the time it takes to reach optimal solutions, as well the variance in the fitness of the child genomes produced. The differences are analogous to the differences between the EAs shown in Figs. 4.2 and 4.3, though those EAs dealt with slightly different problems. The first finds an optimal solution faster than the second, but the greater variance of children fitness reveals that the solution is less robust. The heart of a EA is its fitness function. Our non-uniform ligation fitness function multiplies three components. The fitness component graphs (Fig. 4.11) reveal a significant gap between desired and observed dbDPD behavior. The EA achieves high values for one fitness component (ligating ABA trimers, nABA ), but the resulting systems are poor at ligating other kinds of trimers. A better fitness function might improve results. For example, our fitness functions for ligation merely counts the oligomers of the right types, but it ignored the actual process that produced the oligomers. One could use a fitness function that explicitly assays to what extent the process of template-directed ligation is actually happening. This would appropriately devalue systems that produce the right oligomers by some other process than ligation. This fitness function should produce general, non-uniform template-directed ligation, providing it is possible to realize this process in the dbDPD framework.
Evolutionary Design
97
But evolutionary design methods can succeed only if an adequate solution exists somewhere in the search space. We concluded from the present study that the dbDPD framework can produce only limited forms of templated ligation. Certain simple oligomers, such as the ABA case, were readily produced, but the mechanism for this was not solely template-directed ligation. Furthermore, the yield of ligation with more complex non-uniform oligomers, such as AAB, was poor. This limitation appears to stem from the radial symmetry and specific bond rules in the dbDPD framework. In real templated ligation, a free monomer is held in a specific spatial orientation by weak bonds with another monomer in the template. If this happens at two adjacent locations in the template, then the template can hold two free monomers in the correct spatial orientation long enough that a strong bond forms between them. Without the template, free monomers are unlikely to bond because of the low probability of them coming into contact in the correct spatial orientation and remaining there long enough for a bond to form. In dbDPD, on the other hand, weak associative forces attract any free monomers within r0 so a cluster of free monomers can be attracted to a given location in the template. But strong bonds may form between any two monomers which are within r f for their respective types. So in dbDPD, while strong bonds will form between two free monomers attracted to adjacent locations in the template (as in real templated ligation), strong bonds are just as likely to form between two free monomers attracted to the same location in the template. Thus, the sequence of strong bonds that form is not controlled specifically by the sequence of monomers in the template. For these reasons, it appears that the present dbDPD framework is insufficient to achieve templated ligation of non-uniform oligomers. Appropriate changes to dbDPD may resolve this problem, but the consequent increase in computational costs is presently unknown.
6. Conclusion We here achieve evolutionary design of a model chemistry involving selfassembling amphiphiles in water. This demonstrates how evolutionary algorithms and similar indirect design methods can be used to “program” or optimize selfassembling chemical structures. This method works in a number of contexts, including those illustrated by micelle size and templated ligation of uniform oligomers. The majority of dbDPD simulation parameters optimized here can be effectively varied in actual chemical systems. However, in some cases they cannot be varied independently—i.e., there may not exist an amphiphile which has a particular repulsion with other head groups as well as a particular length tail—but otherwise they are analogous to real chemical variables. Thus, it is possible that
98
Chapter 4
optimal dbDPD systems correspond to real chemical systems with the same desired characteristics. The evolutionary algorithm used here was intentionally kept very simple. EA performance can typically be boosted by a variety of methods [16]. So we expect that the performance shown here can be significantly improved. The evolutionary design method shown here can be used to optimize other chemical functionalities in other kinds of chemical systems, both real and simulated. It has already been applied with high-throughput screening to optimize real amphiphile systems in the wet lab [39]. The resulting marriage of machine learning with chemical screening yields an automated, intelligent screening method for finding solutions in very sparse samples of huge and high-dimensional search spaces.
Acknowledgements Thanks to the European Center for Living Technology (ECLT) for hospitality during some of the work reported here. Thanks to Rüdi Fuchslin and Anders Eriksson for helpful discussion of DPD, and to Thomas Maeke and John McCaskill for the DPD code from which the present model was developed. Thanks for helpful discussion to Norman Packard, Martin Hanczyc, and Morgan Theis. Thanks also to audiences at Dublin City University, the University of Nottingham, and EA’05 where some of this work was reported. This work was funded in part by PACE (Programmable Artificial Cell Evolution), a European Integrated Project in the EU FP6 IST FET Complex Systems Initiative.
References [1] O.L. Acevedo, L.E. Orgel, Nonenzymatic transcription of an oligodeoxynucleotide 14 residues long, Journal of Molecular Biology 197 (1987) 187–193. [2] M.A. Bedau, C.T. Brown, Visualizing evolutionary activity of genotypes, Artificial Life 5 (1999) 17–35. [3] M.A. Bedau, A.J. Buchanan, G. Gazzola, M. Hanczyc, T. Maeke, J.S. McCaskill, I. Poli, N.H. Packard, Evolutionary design of a DDPD model of ligation, in: Lecture Notes in Computer Science, vol. 3871, 2005, pp. 201–212. [4] M.A. Bedau, N.H. Packard, Measurement of evolutionary activity, teleology, and life, in: C. Langton, C. Taylor, D. Farmer, S. Rasmussen (Eds.), Artificial Life II, Addison–Wesley, Redwood City, 1991, pp. 431–461. [5] M.A. Bedau, E. Snyder, N.H. Packard, A classification of long-term evolutionary dynamics, in: C. Adami, R. Belew, H. Kitano, C. Taylor (Eds.), Artificial Life VI, MIT Press, Cambridge, 1998, pp. 228–237. [6] G. Besold, I. Vattulainen, M. Karttunen, J.M. Polson, Towards better integrators for dissipative particle dynamics simulations, Phys. Rev. E Rapid Comm. 62 (2000) 7611–7614. [7] C. Bohler, P.E. Nielsen, L.E. Orgel, Template switching between PNA and RNA oligonucleotides, Nature 376 (1995) 578–581.
Evolutionary Design
99
[8] S. Brenner, R.A. Lerner, Encoded combinatorial chemistry, Proceedings of the National Academy of Science USA 89 (1992) 5381–5383. [9] K.B. Chapman, J.W. Szostak, In vitro selection of catalytic RNAs, Current Opinions in Structural Biology 4 (1994) 618–622. [10] D. Cliff, I. Harvey, P. Husbands, Explorations in evolutionary robotics, Adaptive Behavior 2 (1993) 71–104. [11] A.D. Ellington, J.W. Szostak, In vitro selection of RNA molecules that bind specific ligands, Nature 346 (1990) 818–822. [12] J. Ellman, B. Stoddard, J. Wells, Combinatorial thinking in chemistry and biology, Proceedings of the National Academy of Science USA 94 (1997) 2779–2782. [13] S. Nolfi, D. Floreano, Evolutionary Robotics: The Biology, Intelligence, and Technology of Self-Organizing Machines, MIT Press, Cambridge, 2004. [14] S. Forrest, Genetic algorithms: Principles of natural selection applied to computation, Science 261 (1993) 872–878. [15] G. Gazzola, A.J. Buchanan, N.H. Packard, M.A. Bedau, Catalysis by self-assembled structures in emergent reaction networks, in: F. Almeida e Costa, L. Mateus Rocha, I. Harvey, A. Coutinho (Eds.), Advances in Artificial Life, 9th European Conference ECAL 2007, in: Lecture Notes in Artificial Intelligence, vol. 4648, Springer, Berlin, 2007. [16] D.E. Goldberg, The Design of Innovation: Lessons from and for Competent Genetic Algorithms, Kluwer Academic Publishers, Boston, MA, 2002. [17] D.E. Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning, Addison– Wesley, Reading, MA, 1989. [18] R. Groot, P. Warren, Dissipative particle dynamics: Bridging the gap between atomistic and mesoscopic simulations, Journal of Chemical Physics 107 (1997) 4423–4435. [19] A.R. Hill Jr, L.E. Orgel, T. Wu, The limits of template-directed synthesis with nucleoside-5’phosphoro(2-methyl)imidazolides, Origins of Life and Evolution of the Biosphere 23 (1993) 285–290. [20] J.H. Holland, Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, 1975. Reprinted by MIT Press, Cambridge, MA, 1992. [21] P. Hoogerbrugge, J. Koelman, Simulating microscopic hydrodynamic phenomena with dissipative particle dynamics, Europhysics Letters 19 (1992) 155–160. [22] D. Irvine, C. Tuerk, L. Gold, SELEXION. Systematic evolution of ligands by exponential enrichment with integrated optimization by non-linear analysis, Journal of Molecular Biology 222 (1991) 739–761. [23] G. Joyce, Directed evolution of nucleic acid enzymes, Annual Review of Biochemistry 73 (2004) 791–836. [24] G.F. Joyce, T. Inoue, L.E. Orgel, Non-enzymatic template-directed synthesis on RNA random copolymers. Poly(C, U) templates, Journal of Molecular Biology 176 (1984) 279–306. [25] G.F. Joyce, L.E. Orgel, Non-enzymatic template-directed synthesis on RNA random copolymers. Poly(C, A) templates, Journal of Molecular Biology 202 (1988) 677–681. [26] S. Jury, P. Bladon, M. Cates, S. Krishna, M. Hagen, N. Ruddock, P. Warren, Simulation of amphiphilic mesophases using dissipative particle dynamics, Physical Chemistry and Chemical Physics 1 (1999) 2051–2056. [27] M. Kranenburg, M. Venturoli, B. Smit, Phase behavior and induced interdigitation in bilayers studied with dissipative particle dynamics, Journal of Physical Chemistry 107 (2003) 11491– 11501. [28] H. Lipson, J.B. Pollack, Automatic design and manufacture of robotic lifeforms, Nature 406 (2000) 974–978. [29] R. Liu, L.E. Orgel, Enzymatic synthesis of polymers containing nicotinamide mononucleotide, Nucleic Acids Research 23 (1995) 3742–3749.
100
Chapter 4
[30] C. Marsh, Theoretical aspects of dissipative particle dynamics, PhD Thesis, University of Oxford, 1998. [31] J.B. Pollack, H. Lipson, G. Hornby, P. Funes, Three generations of automatically designed robots, Artificial Life 7 (2001) 215–223. [32] S. Rasmussen, L. Chen, D. Deamer, D. Krakauer, N. Packard, P. Stadler, M. Bedau, Transitions from nonliving to living matter, Science 303 (2004) 963–965. [33] M.J. Raven, M.A. Bedau, General framework for evolutionary activity, in: Lecture Notes in Artificial Intelligence, vol. 2801, 2003, pp. 676–685. [34] E. Reddington, A. Sapienza, B. Gurau, R. Viswanathan, S. Sarangapani, E.S. Smotkin, T.E. Mallouk, Combinatorial electrochemistry: A highly parallel, optical screening method for discovery of better electrocatalysts, Science 280 (1998) 1735–1737. [35] R. Rohatgi, D.P. Bartel, J.W. Szostak, Nonenzymatic, template-directed ligation of oligoribonucleotides is highly regioselective for the formation of 3’-5’ phosphodiester bonds, Journal of the American Chemical Society 118 (1996) 3340–3344. [36] J. Shillcock, R. Lipowsky, Equilibrium structure and lateral stress distribution from dissipative particle dynamics simulations, Journal of Chemical Physics 117 (2002) 5048–5061. [37] J. Singh, M.A. Ator, E.P. Jaeger, M.P. Allen, D.A. Whipple, J.E. Soloweij, S. Chowdhary, A.M. Treasurywala, Application of genetic algorithms to combinatorial synthesis: A computational approach to lead compound identification and lead optimization, Journal of the American Chemical Society 118 (1996) 1669–1676. [38] J.W. Szostak, D.P. Bartel, P.L. Luisi, Synthesizing life, Nature 409 (2001) 387–390. [39] M. Theis, G. Gazzola, M. Forlin, I. Poli, M.M. Hanczyc, M.A. Bedau, Optimal formulation of complex chemical systems with a genetic algorithm, ComPlexUs (2006), in press. [40] T. Tjivikua, P. Ballester, J. Rebek Jr, A self-replicating system, Journal of the American Chemical Society 112 (1990) 1249–1250. [41] S. Trofimov, E. Nies, M. Michels, Thermodynamic consistency in dissipative particle dynamics simulations of strongly nonideal liquids and liquid mixtures, Journal of Chemical Physics 117 (2002) 9383–9394. [42] C. Tuerk, L. Gold, Systematic evolution of ligands by exponential enrichment: RNA ligands to bacteriophage T4 DNA polymerase, Science 249 (1990) 505–510. [43] I. Vattulainen, M. Karttunen, G. Besold, J. Polson, Integration schemes for dissipative particle dynamics simulations: From softly interacting systems towards hybrid models, Journal of Chemical Physics 116 (2002) 3967–3979. [44] G. von Kiedrowski, A self-replicating hexadeoxynucleotide, Angewandte Chemie International Edition in English 25 (1986) 932–935. [45] R.A. Watson, S.G. Ficici, J.B. Pollack, Embodied evolution: Distributing an evolutionary algorithm in a population of robots, Robotics and Autonomous Systems 39 (2002) 1–18. [46] L. Weber, S. Wallbaum, C. Broger, K. Gubernator, Optimization of the biological activity of combinatorial compound libraries by a genetic algorithm, Angewandte Chemie International Edition in English 34 (20) (1995) 2280–2282. [47] M. Wright, G. Joyce, Continuous in vitro evolution of catalytic function, Science 276 (1997) 614–617. [48] S. Yamamoto, S. Hyodo, Budding and fission dynamics of two-component vesicles, Journal of Chemical Physics 118 (2003) 7937–7943. [49] S. Yamamoto, Y. Maruyama, S. Hyodo, Dissipative particle dynamics study of spontaneous vesicle formation of amphiphilic molecules, Journal of Chemical Physics 116 (2002) 5842– 5849. [50] W.S. Zielinski, L.E. Orgel, Oligoaminonucleoside phosphoramidates. Oligomerization of dimers of 3’-amino-3’-deoxy-nucleotides (GC and CG) in aqueous solution, Nucleic Acids Research 15 (1987) 1699–1715.
101
Chapter 5
Self-Assembly as an Engineering Concept across Size Scales Sean Stauth, Christopher J. Morris, Babak Parviz* University of Washington, Electrical Engineering, Campus Box 352500, Seattle, WA 98195, USA Abstract. In this chapter we focus on systems made via self-assembly in the micrometer range or larger. Self-assembly at these size scales is important because although technological advances in the electronics industry continue to enable smaller, faster, cheaper, and more integrated systems, efforts in the area of integration have faced significant challenges in constructing 3D structures or building heterogeneous systems made of parts from incompatible microfabrication processes. Robotic “pick-and-place” techniques are currently used to integrate devices from many types of processes, but the ability to efficiently handle individual parts diminishes as the size scale of the components decreases below about 300 µm. Self-assembly is an attractive solution to overcome current integration limitations. Two micrometer-scale self-assembly systems are reviewed here: the first investigates the incorporation of single crystal silicon components, including single crystal silicon field effect transistors (FETs), on flexible plastic substrates for the construction of large area electronic systems, and the second system explores an avenue for future construction of threedimensional silicon computing structures. The results from the first system include the electrical characterization of a self-assembled logic inverter, and the self-assembly of approximately 10,000 single crystal silicon elements in 25 minutes, each element measuring 100 µm in diameter.
1. Introduction The aggressive progress of the semiconductor industry during the past four decades has enabled many new technologies. Currently, microfabrication lines routinely produce chips that incorporate billions of sub-100 nm devices that are interconnected in a pre-determined way. If progress in the area is to maintain its pace, the next generation of manufacturing methods must: (a) yield devices with nm-scale precision, (b) produce large numbers (109 ) of these devices in a parallel and cost-effective fashion, (c) enable interconnection of the devices to create systems and finally (d) enable the integration of devices that are made in different and potentially incompatible fabrication technologies. The latter item is increasingly important in modern systems that perform multiple functions. These systems use not only electronic interfaces with the outside world for data manipulation, but also photonic, chemical, and mechanical interfaces. * E-mail: parviz@u.washington.edu.
STUDIES IN MULTIDISCIPLINARITY VOLUME 5 ISSN 1571-0831/DOI: 10.1016/S1571-0831(07)00005-6
© 2008 Elsevier B.V. All rights reserved.
102
Chapter 5
Fig. 5.1. Approximate speed (parts per hour) vs. approximate range of part size for a variety of serial assembly methods. The enclosed zone identifies the area in which self-assembly can have significant contributions. Sources are: (a) individual atom placement by STM [1]; (b) polymer memory storage device [2]; (c) optical tweezers assembly [3–5]; (d) 3-D microassembly [6]; (e) robotic pick-and-place printed wiring board assembly (model HLX8100, Essemtec, Switzerland); (f) robotic assembly of a grease gun coupler (Innovation, Inc., Birmingham, AL); (g) robotic assembly of automobile wheel bearings (Capitol Technologies, Inc., Niles, MI); (h) robotic assembly of an automobile body and chassis (Profibus International Case Study: OPEL, Germany). For colour version, see Colour Plate Section.
The extension of current microfabrication technologies to sub-100 nm size scales for device fabrication is likely to yield devices and interconnected systems in the 20 nm size range; however, the successful extension of these technologies to yet smaller size scales is in doubt. A greater challenge for the extension of conventional techniques is system integration. These technologies have been markedly less successful in the integration of multi-functional systems with many parts and three-dimensional architectures. Figure 5.1 summarizes the state of the art for serial, robotic assembly techniques, by plotting assembly throughput vs. characteristic size of the parts being assembled. At larger scales, for example in an automotive robotic assembly plant, the assembly speed of meter-sized components is limited by the difficulty in applying large forces to overcome inertia. As component sizes shrink, the assembly speed increases, peaking for robotic pick-and-place systems that are used for electronic circuit board manufacturing. A state-of-the-art robot can assemble more than 26,000 parts/hour, each measuring 300 µm. Serial robotic assembly can be employed down to the atomic scale. However, as shown in Fig. 5.1 these techniques rapidly lose their efficiency and throughput when handling smaller components. It is unlikely that these techniques can meet the future challenges
Self-Assembly as an Engineering Concept across Size Scales
103
of producing and integrating components with nano-scale futures into larger systems. New manufacturing technologies must be explored. An excellent example of a manufacturing technology that can meet all requirements outlined above, both in terms of producing large numbers of parts with nano-scale precision, and integrating them to form larger systems, is provided by biology. A cursory look at an insect such as a fruit fly (Drosophila) reveals that biology has already met the challenges that are forthcoming for the semiconductor industry. From an engineering standpoint, a Drosophila is a multifunctional system with numerous parts each having nano-scale structural precision, each part being interconnected to provide system functionality. It also becomes clear that nature constructs this system via self-assembly—a process that is fundamentally different from what is used today to manufacture engineered products. The immediate lesson from observation of nature is that it is possible to construct systems via self-assembly and fundamental laws of physics are not violated during the process. It is also important to note that self-assembly processes in nature are not limited to producing small scale systems. Through examples such as trees and large mammals, nature offers an inspiration to use self-assembly as a manufacturing process for systems that span many meters in size or more. In order to realize the true potential of self-assembly as a method of manufacturing, one needs to design self-assembled structures not only in the nano-scale but also in the micron, millimeter, or even larger size scales. Nature constructs large scale structures through a hierarchical self-assembly scheme in which molecules with increasing levels of complexity form the final structure. Rarely, if ever, does nature use micron-scale parts to construct a millimeter-scale or larger structure. Although following nature’s approach may yield a methodology that will eventually enable the construction of large scale structures, current technological challenges call for nearer-term solutions. Nearer-term solutions are needed because the methodology to construct electronically functional, micron-scale components (possibly with many interconnected transistors) via self-assembly starting at the atomic scale does not exist. It is possible to produce such micron-scale parts without self-assembly, effectively bypassing some of hierarchical steps that normally would occur in a biological self-assembly process. By skipping to the step of having functional micron-scale components, one may design and experiment with self-assembly processes to construct interconnected systems from the functional parts. This self-assembly procedure, albeit different from the biological one, allows investigation of selfassembly processes in the micron-scale and identification of suitable programming methods, agitation mechanisms, and binding forces. Other chapters of this book discuss issues regarding the construction and design of nano-scale self-assembling systems. Here, we focus exclusively on systems that are made via self-assembly in the millimeter-range or larger. It should also be noted that current approaches to the construction of larger scale systems
104
Chapter 5
via engineered self-assembly are different from the path taken by nature in another important aspect. All naturally self-assembling biological systems involve self-replication. Self-replication, a process through which the parts produce new parts for the continuation of the assembly process, possesses a level of complexity that is beyond the state of the art in engineering. In the engineered selfassembly processes considered here, a collection of parts are induced to bind and constitute a new system with all parts either being present at the start or gradually introduced from outside the system, because construction of self-replicating components is not currently possible. The absence of the exponential efficiency of self-replication poses the question of how large can the number of parts be? There are technologies available that can generate large numbers of micron-scale (or larger) parts including the printing industry, the solid-state microfabrication industry, and agriculture. To create truly functional systems, the components need to perform tasks with a complexity beyond that of passive, structural materials. Therefore the technology used to generate the components must be able to incorporate basic functionality in their structure. The most mature technology today for generating large numbers of micron-scale parts that incorporate some function is solid-state microfabrication. Given the preceeding observations and constraints, the task of self-assembling a large scale system converts to answering the questions of how can one (a) generate a large number of micron-scale parts that carry basic functionality, and (b) induce the parts to self-assemble and form a large interconnected structure. In a typical micron-scale self-assembly procedure, parts that participate in the process are fabricated separately and then introduced in a common medium. The parts should have the ability to recognize (the self-assembly programming mechanism) and connect (self-assembly binding/driving force) to the proper adjacent part or template. Binding events between the components drive the system toward a lower energy state, and occur with a finite error rate due to the statistical nature of the process. In order to drive the system from local energy minima to a global minimum that corresponds to the correct self-assembly, an external agitation mechanism is needed. The design and implementation of such a self-assembly procedure involves not only the construction of parts incorporating recognition and binding mechanisms, but also the proper design of external agitation to arrive at a high yield process. In the next two sections, we consider two examples of simple self-assembly procedures that use micron-scale parts. The first example investigates the incorporation of single-crystal silicon components on flexible plastic substrates for the construction of large area electronic systems. The second one explores an avenue for future construction of three-dimensional silicon computing structures. The motivating factor for both of these examples has been an immediate engineering need. Our current approach for advancing self-assembly is the pursuit of a series of individually justifiable steps that bring us closer to the final goal of designing and engineering an arbitrary large scale functional system.
Self-Assembly as an Engineering Concept across Size Scales
105
2. Two-Dimensional Templated Self-Assembly The incorporation of single crystal silicon electronic devices onto flexible plastic is an avenue to greatly increase the power and speed of plastic electronics. With electronics embedded onto flexible substrates, previously rigid electronic devices such as computers, intelligent notebooks and e-books may become as flexible as a sheet of paper [7]. In addition, the ability to incorporate active circuitry into large area and non-conventional substrates can extend the application and range of computing into new domains. Applications currently utilizing flexible substrates include liquid crystal displays, smart cards, price and inventory tags, and large area sensor arrays [8,9]. However, these technologies are limited by the relatively low performance of the organic or amorphous silicon electronics employed. Low electron mobility in organic semiconductors (charge carrier mobility < 1 cm2 /Volt-second in organic field effect transistors) and amorphous silicon (electron mobility ∼ 1 cm2 /Volt-second in an amorphous silicon thin film transistor) leads to higher power consumption and lower switching speeds than their equivalent single crystal silicon counterparts (electron mobility ∼ 1000 cm2 /Volt-second) [10]. The low performance of these semiconductors have prevented the direct manufacturing of computing or radio frequency devices on large area plastic substrates. Standard semiconductor process requirements such as high temperatures and the use of chemicals that readily degrade organic materials do not allow for direct fabrication of single crystal silicon devices on plastic substrates. The silicon devices must be microfabricated prior to integration; therefore an integration technique that is both fast and accurate is needed to embed silicon devices into plastic substrates, while providing both mechanical and electrical connectivity. A promising candidate to meet these requirements is fluidic self-assembly. Fluidic self-assembly is the process whereby freestanding microcomponents spontaneously assemble at prescribed locations on a substrate, without utilizing external control mechanisms such as a robotic arm. Massively parallel by nature, selfassembly processes have demonstrated the ability to accurately assemble large numbers of microcomponents with minimal time and effort. In other self-assembly schemes, gravitational [11] and capillary [12–14] forces have been used to drive assembly processes. In [11], components slide over a template and fall into wells at assembly sites. In [12–14], components assemble after making contact with an adhesive or solder. Solder-based assembly methods offer an additional advantage, in that the solder can provide both binding forces for assembly as well as electrical connections between the assembled part and substrate. Jacobs et al. [12] assembled Light Emitting Diodes (LEDs) onto a flexible substrate to create a cylindrical display. In all these examples, effective part-to-substrate self-assembly was achieved, although post-possessing was required to complete electrical connections between the parts and substrate.
106
Chapter 5
Fig. 5.2. Illustration of the self-assembly process. Microfabricated silicon components assemble at complementary shaped prescribed binding sites on the plastic substrate. (A) Side and top views of the substrate with components. The molten alloy establishes both electrical and mechanical connection between the part and substrate. (B) The fluidic self-assembly process. The substrate is tilted and immersed in a heated aqueous solution. Only one shape of components (in this case rectangles) is assembled at a time. For colour version, see Colour Plate Section.
Fluidic self-assembly can be employed for the low temperature integration of freestanding single crystal silicon devices onto clear, flexible, plastic substrates in a single step which provides both mechanical and electrical connections. The mild self-assembly conditions (temp <100 ◦ C, pH 3.0–4.0) are compatible with most electronics and photonics components.
2.1.
The Fluidic Self-Assembly Process
The assembly scheme is illustrated in Fig. 5.2. Prior to integration, silicon devices are microfabricated and released from a silicon wafer to yield a powder-like collection of free-standing components. Each device is patterned with Cr/Au and has a defined shape. The plastic substrate is fabricated separately to contain an embedded TiW/Au network and specific binding sites consisting of wells in the substrate surface. The self-assembly process involves submerging both the silicon components and the plastic substrate into a heated fluid and agitating to induce movement of the components over the substrate. The components slide over the tilted substrate, actuated by the forces resultant from the fluid motion and gravity. When the shape of a component matches the shape of a binding site on the substrate, the component falls into the well and the metal pads on its structure make contact with the molten solder positioned at the bottom of the binding site. The molten alloy draws the component further into the well, establishes both mechanical and electrical connections between the part and template, and prevents the component from leaving the well (Fig. 5.2). A mixture of ethylene glycol and HCl (to give pH
Self-Assembly as an Engineering Concept across Size Scales
107
Fig. 5.3. (A) Rectangular components (diffusion resistors) on a SOI wafer before release. (B) Square components before and after (C) release. For colour version, see Colour Plate Section.
3.0–4.0) is used for the fluid. The self-assembly process is driven by fluidic, gravitational, and capillary forces. The programming of the self-assembly process is achieved by simply encoding the geometric shapes of the components and the corresponding binding sites. Shape matching is a method that works across a wide size scale from molecules to macro-sized self-assembly procedures. An important factor in the assembly process is external agitation. Agitation prevents components from adhering to the substrate and induces movement of the silicon parts across the surface in a manner that allows the opportunity to assemble at a binding site. It has been experimentally determined that actuation that is too intense moves the parts too fast across the substrate and does not give the components enough time to bind. However, if the agitation is not strong enough, surface forces between the parts and the surface of the template prevent further movement and self-assembly cannot proceed. As we discuss later, design and implementation of the proper agitation method to drive the system to its minimum energy state at a given size scale is perhaps one of the most challenging tasks of the self-assembly process.
2.2.
Microfabrication of Parts and Template
Various degrees of complexity may be required to form parts that can participate in a micro-scale self-assembly procedure. What is common between all parts is the incorporation of the ability to selectively bind to another part or a template. Taking advantage of capillary forces has been demonstrated successfully for binding micron-scale parts. In order to “program” proper binding sites, geometric shape matching in simpler procedures may suffice. Figure 5.3 shows the microcomponents used in the self-assembly process described above before and after release from a fabrication wafer. The fabrication processes of the silicon components and plastic substrate are shown in Figs. 5.4 and 5.5. The freestanding silicon components are fabricated on and released from a silicon-on-insulator (SOI) wafer. Each part carries Cr/Au interconnects and is in the desired shape corresponding to its intended binding site. The Cr/Au interconnects are patterned on the SOI wafer through electron beam evaporation and a lift-off process. The
108
Chapter 5
Fig. 5.4. The fabrication process for freestanding N-channel transistors on a P-type SOI wafer. For colour version, see Colour Plate Section.
Fig. 5.5. Fabrication process flow: (A) Fabrication of a plastic template with embedded interconnects and binding sites. (B) Fabrication of freestanding N-channel transistors on a P-type SOI wafer. For colour version, see Colour Plate Section.
shapes are defined by deep reactive ion etching (DRIE) through the device layer on the SOI wafer, and released by immersion in a hydrofluoric acid (HF) bath to etch the underlying oxide layer. The shapes are designed to be mutually exclusive from one another, so that each particular shape cannot fall into another shape’s well. Each shape differs in overall size, symmetry, surface area and weight.
Self-Assembly as an Engineering Concept across Size Scales
109
Fig. 5.6. (A) The polyester substrate. (B) Embedded Au interconnect and binding sites (outlined for clarity). (C) Close-up view of binding site with solder pads. For colour version, see Colour Plate Section.
To form the template, a 100 µm thick thermally stable plastic (polyester) substrate is microfabricated separately incorporating embedded interconnects and binding sites for self-assembly (Fig. 5.5). Au/TiW interconnects are sputtered onto the plastic substrate and defined by photolithography and lift-off. SU-8, a clear negative photoresist, is then patterned on the substrate, leaving wells 10–20 µm deep at the binding sites. Each of the wells are complimentary in shape to one of the freestanding silicon devices. A low melting point alloy (Bi(44.7%)/Pb(22.6%)/In(19.1%)/Sn(8.3%)/Cd(5.3%) that melts at 47 ◦ C) is deposited onto Au pads at the bottom of the wells through a dip-coating process. This alloy provides both electrical connections from each silicon device to the substrate, as well as mechanical connections to hold parts in place after assembly. Throughout the process, the plastic is heated to no more than 80 ◦ C to prevent warping. Figure 5.6 shows a completed plastic substrate. The binding sites on the substrate are designed to test parameters such as density, binding site orientation, and yield of both assembly and electrical connection. Binding site patterns may consist of only one type of component shape, leading to homogenous assembly, or multiple types of component shapes which test shape recognition selectivity and results in heterogeneous assembly.
2.3.
Experimental Results
The following experimental results are divided into two sections: those involving parts which did not incorporate functional transistor devices, and those which did. The use of plain silicon parts facilitated the development of the self-assembly process before moving to more complicated, functional parts [15]. For plain silicon parts, Fig. 5.7 shows the results of assembly experiments with square, circular, triangular, and rectangular components, with each shape being assembled in successive passes. Figure 5.7(B) shows the measured current– voltage curve through a self-assembled electrical network, and demonstrates a contact resistance of 40 between each element and the substrate [15].
110
Chapter 5
Fig. 5.7. (A) Results of self-assembling multiple types of microcomponents on a plastic, recessed template. (B) Measured current–voltage curve between the two leftmost ports in Fig. 5.7(A), verifying proper electrical connection between the microcomponents and the template. For colour version, see Colour Plate Section.
Fig. 5.8. (A) A self-assembled squares complete network in embedded interconnect. (B) Self-assembly of rectangular shaped components demonstrates that a yield increases when binding sites are oriented parallel to component flow. For colour version, see Colour Plate Section.
Differences exist between the assembly success of different component shapes. Rectangular shapes and circular shapes assemble much more readily than square and triangular shapes. Many of the differences can be attributed to component mobility across the substrate. Part–part and part–substrate interaction seems to be much higher for the squares and triangles than for the circles and rectangles. Squares, for example, tend to stick to each other and the substrate, whereas rectangles, which respond more to external agitation and fluid flow, have a higher mobility and thus can assemble with a higher success rate. The orientation of binding sites with respect to component flow is an important factor in increasing the yield of assembled rectangles, as seen in Fig. 5.8(B). Essentially, the binding sites should be designed to take advantage of the orientation of component flow across the substrate. This simple self-assembly procedure has enabled the assembly of 10,000 single crystal silicon parts onto a substrate with 95% yield in about ten minutes.
Self-Assembly as an Engineering Concept across Size Scales
111
Fig. 5.9. High yield (∼97%) self-assembly of 100 µm, circular, single crystal silicon elements onto a flexible plastic template containing 10,000 binding sites. (A) Completed template. (B) Close-up image of ∼2000 binding sites, self-assembled elements, and electrical interconnects. For colour version, see Colour Plate Section.
After 25 min, a self-assembly yield of ∼97% was reproducibly achieved across the substrate shown in Fig. 5.9. Because the self-assembly process is not yet automated (as in [16]), the process involved the manual introduction of elements onto the substrate, followed by agitation to pass the elements across the binding sites. After the completion of each pass resulting in either the bonding of the elements to the template or their fall to the bottom of the self-assembly vessel, the unbound elements were collected and reintroduced on the template. Each pass took approximately five minutes, and the results in Fig. 5.9 were achieved after five passes [15]. Although these experiments were performed with minimal equipment and a manual introduction of parts, the self-assembly rate of 10,000 per 25 min for 100 µm microcomponents rivals the assembly rate of the fastest multimillion dollar robotic assemblers [17]. The self-assembly rate can be improved greatly by automating the set-up. For the parts incorporating functional transistors, Fig. 5.10 shows optical microscope images of a plastic substrate before (Fig. 5.10(A)) and after (Fig. 5.10(B)) self-assembly of parts incorporating field effect transistors (FETs) and diffusion resistors. Figure 5.10(A) also shows the alloy dots in the binding sites defined by the transparent SU-8 wells. The parts are arranged to create a logic inverter gate with two n-type FETs in parallel. The measured self-assembled inverter performance (input and output voltages) is shown in Fig. 5.10(C), where the electron mobility of the FETs on plastic was 592 cm2 /V-s, with a source resistance of 218 [15]. This self-assembly procedure holds great promise for making pervasive computing a reality by enabling the incorporation of cost-effective, CMOS-based computing and RF components into unconventional substrates.
112
Chapter 5
Fig. 5.10. (A) Optical microscope image of a plastic substrate with empty binding sites (two outlined with white lines for clarity). (B) The template after completion of the self-assembly process showing the position of field effect transistors and diffusion resistors, which are arranged to create a logic inverter. (C) Measured performance of the inverter shown in (B). For colour version, see Colour Plate Section.
3.
2-D Self-Assembly without a Template
The previous example demonstrates how a simple self-assembly scheme programmed by shape recognition and driven by fluidic, capillary, and gravitational forces can be used to integrate pre-microfabricated components onto plastic templates. Another area of interest is micron-scale self-assembly without a scaffold or a template. Here, we investigate capillary force driven self-assembly of premicrofabricated components into 2-D lattices. It is hoped that this self-assembly scheme will provide a venue for future extension to 3-D and construction of silicon-based computing architectures. As a preliminary step we describe a microfabrication method for making micron-sized silicon elements that self-assemble into an electrical network. The capillary force interaction between adjacent elements drives the process of selfassembly. The fabrication method allows for massively parallel production of the elements and is compatible with conventional CMOS fabrication technology. The entire fabrication process of the elements can be performed as a post-process on a SOI wafer carrying CMOS circuits. Our method combines the power of selfassembly with that of the readily available and mature silicon CMOS fabrication technology. The units for self-assembly can be fabricated separately and mixed and assembled in a later stage.
3.1.
Two-Dimensional Self-Assembling Silicon Networks
Demand for higher performance has driven research in microelectronics fabrication in two areas with a fast pace in recent years: 3-D circuit architectures
Self-Assembly as an Engineering Concept across Size Scales
113
Fig. 5.11. Schematic of the assembled electrical network. The network consists of three sets of crossing wires depicted by blue, green and red lines. In each hexagonal element, the following sides are connected: 1–4, 2–5 and 3–6. Note that there is no cross-talk between the three sets. For colour version, see Colour Plate Section.
[18–20] and integration of optical components with electronic circuits [21–23]. Self-assembling systems offer an attractive answer to these technical challenges. A silicon-based self-assembled electrical network can be constructed from premicrofabricated components. Although the integration of optical components with silicon computing devices has not been discussed here, this integration is also possible in principle using the method outlined in the following sections.
3.2.
Self-Assembly Hierarchy
We explore a simple scheme in order to demonstrate the capabilities of the selfassembly technique. In this scheme, hexagonal elements self-assemble into an ordered 2-dimensional lattice. Each element carries a collection of lines and bridges that electrically connect the opposite sides of the hexagon. In the final assembled array, these form crossing lines without cross-talk (Fig. 5.11). Although there are no active components on the hexagonal units, CMOS circuitry can be easily incorporated on them. Each hexagon carries a solder island on each side (not shown in Fig. 5.11). The joining of solder islands between adjacent elements provides the driving force for self-assembly and also electrical connectivity between the elements.
114
Chapter 5
Fig. 5.12. Fabrication process flow (not to scale). The figure follows steps involved in the fabrication of one element. Note that a number of elements were processed in parallel on the surface of the wafer. Details of the process are given in the microfabrication section in the text. (A) Define the first metal lines by lift-off. (B) Pattern the insulator for bridges. (C) Complete the crossing network on each element by metallization and lift-off. (D) Protect the top surface of each element under a layer of cross-linked polymer. (E) Lithographically define the area of each element, dry-etch the area between the elements down to the buried silicon dioxide layer. (F) Define windows on the sidewalls of the elements with lithography, form metal pads on the sidewalls by angled evaporation and lift-off. (G) Coat the metal pads with solder. (H) Attach the wafer to a carrier wafer with PDMS. (I) Remove the bulk silicon from the element wafer by reactive ion etching, remove the buried silicon dioxide layer with RIE, remove the bottom of the metal pads for solder deposition with argon ion-milling. (J) Release the elements by dissolving the PDMS in TBAF. For colour version, see Colour Plate Section.
3.3.
Microfabrication Process of the Elements
Figure 5.12 depicts the main steps involved in the microfabrication of the hexagonal elements. The process involved six lithographic steps and a number of etches and depositions. We incorporated alignment marks into the network structure in order to prevent the creation of defects after the release of the elements.
Self-Assembly as an Engineering Concept across Size Scales
115
Fig. 5.13. Top view of elements on the surface of the wafer prior to solder pad evaporation. The inset shows a close up of one element. Each element is ∼27 µm thick. The scale bar in the inset is 200 µm long. For colour version, see Colour Plate Section.
The fabrication process started with a double-side polished SOI wafer (device silicon: 6 µm or 28 µm, buried oxide: 1 µm). We patterned the surface with a positive photoresist (Shipley 1827, 2.7 µm), evaporated chromium (10 nm) and gold (100 nm) and subsequently dissolved the photoresist (sonication in acetone, 1 min) to define the first metal layer on the elements. In order to electrically separate the first and second metal layers on each element and hence form crossing lines that were not electrically connected, we patterned the surface with a negative photoresist (SU 8-2, 750 nm) and cross-linked the photoresist (180 ◦ C, 2 hours). We followed this step by patterning the surface with a positive photoresist (Shipley 1827, 2.7 µm), thermally evaporating chromium (10 nm, at 45◦ angle with wafer rotation) and gold (200 nm, at 45◦ angle with wafer rotation), and subsequently removing the positive photoresist (sonication in acetone, 1 min), to complete the electrical network on each element. Note that the lift-off processes did not affect the cross-linked negative photoresist used as the insulator in the network. We put the network under a protection polymer by patterning a negative photoresist (SU 8-2, 1.5 µm) over the network and cross-linking the photoresist (180 ◦ C, 2 hours). After this stage, only the gold pads at the sides of the hexagonal elements were accessible. We used a photoresist (Shipley 1827, 2.7 µm) to lithographically define the area of each element. This lithography step left the space between the elements on the surface of the wafer uncovered. The lithography was followed by DRIE (STS, time-multiplexed etch, SF6, C4F8, O2, 6 µm or 28 µm deep) of the top silicon layer of the SOI wafer down to the buried silicon oxide. After the etch, we removed the residual etch polymer (EKC Technology Inc., EKC256, 65 ◦ C, 10 min), and the photoresist (acetone, 5 min). Figure 5.13 shows the wafer surface at the end of this step. An important step in the fabrication process was forming pads on the sidewalls of the elements for solder deposition. In order to define deposition windows on
116
Chapter 5
the sidewalls of elements, we used a thick photoresist (Shipley SJR5740, 30 µm) to define areas on the sidewalls that would be covered with metal. We used angled (45◦ ) evaporation of chromium (150 nm) and gold (750 nm) to form the metal pads for solder deposition. We kept the wafer temperature during the evaporation under 50 ◦ C to avoid the re-flow of SJR5740. After evaporation, the SJR5740 was dissolved (MicroChem, Microposit Remover 1165, 5 min) leaving the pads for solder deposition behind. We used a low melting point alloy (similar to the one used for self-assembly on plastic templates in the previous section) to form solder islands on the elements. We deposited the solder by dipping and slowly withdrawing the wafer from molten solder (100 ◦ C under an aqueous solution of HCl, with pH ∼ 1). The acidic solution served to dissolve surface oxides on the solder. To expose the backside of the wafer for the release etch steps, we bonded the wafer containing the elements (element wafer), face down, on a blank wafer (carrier wafer) with polydimethylsiloxane (PDMS). This process was done by first spin-coating PDMS (4000 rpm) onto the carrier wafer, then pressing the element wafer against the carrier wafer, and finally curing the PDMS (60 ◦ C, 2 hours). We used RIE (STS, time-multiplexed etch, SF6, C4F8, O2, 525 µm deep) to etch the silicon and the buried silicon dioxide (CF4, CHF3, 40 mT, 180 W, 1 µm deep) from the backside of the element wafer. At this stage, elements were held on the surface of the carrier wafer by only the PDMS. We used argon ion milling (acceleration voltage 500 V, 0.13 mT) to remove the exposed base of the pads for solder deposition and refreshed the solder on the elements by dipping and slowly withdrawing the wafer from the molten solder (100 ◦ C, under aqueous solution of HCl, pH ∼ 1). To release the elements from the surface of the carrier wafer, we exposed the wafer to tetrabutylammonium floride (TBAF) (1M in tetrahydrofuran, 3 min), to dissolve the PDMS. After the release, the elements were rinsed with DI water and ethanol and collected with a filter paper. Figure 5.14 shows a few released elements. As is evident from the above description, the fabrication process for making components that participate in even a very basic self-assembly procedure may be rather involved. It is important that the single crystal silicon, CMOS compatibility, and parallel processing platforms are preserved. Under these conditions, CMOS computing devices can be readily incorporated in the structure of each component. The self-assembly of such components allows for the construction of a CMOS-based, spontaneously assembling computing architecture.
3.4.
Self-Assembly of the Elements
The fabricated elements were assembled at an air/water interface as shown in Fig. 5.14. The interfacial surface tension was strong enough to support the weight of the elements on water. We added HCl to water (pH ∼ 1) in order to break the
Self-Assembly as an Engineering Concept across Size Scales
117
Fig. 5.14. The self-assembly of the silicon elements. (a) Schematic showing the introduction of the elements to the air–water interface. (b) Schematic showing the pattern formation after heat and agitation were introduced. (c) Optical microscope image of released silicon components supported at the air–water interface prior to self-assembly. (d) Optical microscope image of a collection of parts at the interface after self-assembly. The side of each hexagon is 100 µm. For colour version, see Colour Plate Section.
oxide on solder surfaces. After placing the elements on the air/water interface, we heated the solution to 100 ◦ C and put it on an orbital shaker for a period between ten minutes to five hours. The assembly started with dimerization of elements. The assembly happened in a matter of minutes and longer agitation and heating cycles did not significantly affect the assembly. Note that due to their symmetry, the elements are not sensitive to orientation. Thus, if an element is positioned upside down on the air/water interface, the assembled network will still be complete. The alloy-based self-assembly suffers from low yield due to defects in the fabrication process. We also explored means to initiate the self-assembly process by taking advantage of surface tension forces from a polymer. For example, after the introduction of the elements at the interface, we added a solution of dodecyl methacrylate/1,6-hexanediol diacrylate/benzoyl peroxide in hexanes over them and allowed the solvent to evaporate. After the evaporation of hexanes the hydrophobic polymer self-assembled only onto the hydrophobic areas on the element side-walls. Neighboring polymer dots joined and drove the collection of elements towards an ordered array. A sample product of this process is shown
118
Chapter 5
in Fig. 5.14. The polymer can be cured to yield a permanently bonded lattice. A drawback of using this specific polymer mixture (dodecyl methacrylate/1,6hexanediol diacrylate/benzoyl peroxide) is that it does not provide adequate electrical conductivity between the elements.
4.
Conclusions
We have reviewed several accomplishments and aspirations on the use of selfassembly to construct larger scale structures, with an emphasis on experimental conditions used to obtain the results. Even for very basic self-assembly schemes, rather complicated processes were necessary to produce the components; understanding the roles of all the parameters influencing the outcome of a selfassembly procedure remained an elusive goal. Recalling the fundamental areas where self-assembly can improve upon traditional microfabrication techniques— extremely large numbers of parts, very small parts, and difficult geometries—the small but illuminating accomplishments to this date show that self-assembly is a viable manufacturing technology. Many groups have demonstrated self-assembly processes that handle between hundreds and tens of thousands of micron-scale devices for placement with other devices or on substrates. Devices made from different materials such as group III–IV semiconductors, optical fibers, and carbon nanotubes have been successfully self-assembled onto CMOS-compatible silicon substrates among others. A significant contribution from self-assembly is likely to be in packaging 3-D µm-scale functional systems. For example, although current MEMS technology allows for the microfabrication of microactuators, sensors, telemetry circuits and even micro-scale power sources, there is no parallel packaging technology available that is capable of putting these parts together to construct a functional µm-scale robot. Self-assembly is perhaps the only candidate technology that can meet this challenge in the near/mid future. As is evident from the above examples, one of the main drawbacks of selfassembly is the increase in complexity of the elements that constitute a final system. In a self-assembled system, it is likely that parts will carry features that are used only once to put the system together and do not contribute to the actual intended operation of the system. The extra requirement of incorporating the ability to recognize and bind to other parts in a pre-determined fashion can significantly complicate the construction process of parts. This issue has been faced by our group in all self-assembly experiments. The optimum point in the trade off between less component structure complexity and more intelligence incorporated into each component for higher self-assembly efficiency is one that remains unresolved. Another issue facing self-assembly schemes that take advantage of microfabricated components is component–component variation. Unlike atoms, which are exactly similar and can assemble with very long-range order,
Self-Assembly as an Engineering Concept across Size Scales
119
across many orders of magnitude of size scale in a crystal, microfabricated components have finite differences between them. This small but finite difference very quickly translates to defect formation in crystal-like structures made of microfabricated parts. A potential remedy for this issue is the incorporation of soft materials in the component structure and allowing for correction of geometric errors locally. Programming the self-assembly process of a system is also still an unresolved issue. Although various methods have been implemented both in the nano- and micro-scales to program the self-assembly of parts, a method which is clearly advantageous over all others has yet to emerge. Using methods such as electric fields to dynamically control the self-assembly process poses both challenges and promises. The ability to quickly reconfigure the assembly processes of a system with known parts is certainly desirable; however, the requirement of actively addressing each binding site, especially where the number of sites can be extremely large, can significantly reduce the rate of an assembly process. Many of the self-assembly processes demonstrated to date take advantage of only a few types of parts. Heterogeneous self-assembly of many different types of parts into a functional system is an area that has not been fully explored. Based on our preliminary experimental results in this area we believe that hierarchical selfassembly is the proper approach to tackle this problem. The correct method for starting a self-assembly process at the nano-scale with discrete components and proceeding to construct a mm-scale or a cm-scale self-packaged functional system will be a challenging problem for a many years to come. This problem is complicated even further by considering the fact that the dominant forces at different size scales vary and hence such a self-assembly scheme needs to rely on multiple types of physical interactions between parts. A finite assembly error rate is expected when working with large numbers of parts. Although phenomena such as electric field screening by an assembled nanowire may be considered error correction because it prevents other nanowires from assembling to the same site, more elaborate fault-tolerant and self-repairing techniques may be necessary such as those found in biological systems. Alternatively, device and system designs should be modified to accommodate a manufacturing process with a finite error rate. Many self-assembly processes rely on driving the system towards a minimum energy state for achieving the final structure. In the molecular or the nano-scale, thermal fluctuations prevent the system from residing in a local minimum. By manipulating the temperature, annealing-like procedures can be employed to guide a molecular or a nano-scale system towards a desired minimum energy state. A clear equivalent to temperature does not exist in self-assembly processes for micron-scale (or larger) parts. Although fluid motion, mechanical impact, and even magnetic agitation have been considered for disturbing a micro-scale self-assembling system from a local energy minimum, our experience uniformly
120
Chapter 5
points toward the inadequacy of these methods to date. Developing a suitable agitation technique, equivalent to thermal fluctuations at the molecular scale, and describing its theoretical foundation remains one of the critical items to be developed for successful progress of the field. We believe that self-assembly holds great promise for manufacturing across size scales. The pioneering work performed by many research groups reviewed in this book provide a strong basis for the pursuit of self-assembly, and the establishment of a technology that allows truly self-constructing systems.
References [1] D.M. Eigler, E.K. Schweizer, Positioning single atoms with a scanning tunneling microscope, Nature 344 (1990) 524–526. [2] R. Yang, D.F. Evans, W.A. Hendrickson, Writing and reading at nanoscale with a scanning tunneling microscope, Langmuir 11 (1) (1995) 211–213. [3] R.E. Holmlin, M. Schiavoni, C.Y. Chen, S.P. Smith, M.G. Prentiss, G.M. Whitesides, Lightdriven microfabrication: Assembly of multicomponent, three-dimensional structures by using optical tweezers, Angewandte Chemie—International Edition 39 (19) (2000) 3503–3506. [4] G. Sinclair, P. Jordan, J. Laczik, J. Courtial, M. Padgett, Semi-automated 3-dimensional assembly of multiple objects using holographic optical tweezers, in: K. Dholakia, G.C. Spalding (Eds.), Optical Trapping and Optical Micromanipulation, in: Proceedings of SPIE, vol. 5514, 2004, pp. 137–142. [5] T. Yu, F.-C. Cheong, C.-H. Sow, The manipulation and assembly of CuO nanorods with line optical tweezers, Nanotechnology 15 (12) (2004) 1732–1736. [6] J. Thompson, R. Fearing, Automating microassembly with ortho-tweezers and force sensing, in: Proc. IROS, Maui, HI, 2001, pp. 1327–1334. [7] H. Takao, M. Miyasak, H. Kawai, H. Hara, A. Miyazaki, T. Kodaira, S.W.B. Tam, S. Inoue, T. Shimoda, Flexible semiconductor devices: Fingerprint sensor and electrophoretic display on plastic, in: Proceedings of the 34th European Solid-State Device Research Conference (ESSDERC), 2004, pp. 309–312. [8] J. Vanfleteren, B. Vandecasteele, T. Podprocky, Low temperature flip-chip process using ICA and NCA (isotropically and non-conductive adhesive) for flexible displays application, in: 4th Conference on Electronics Packaging Technology, 2002, pp. 139–143. [9] C. Sheraw, J. Nichols, D. Gundlach, J. Huang, C. Kuo, H. Klauk, T. Jackson, M. Kane, J. Campi, F. Cuomo, B. Greening, An organic thin film transistor backplane for flexible liquid crystal displays, in: 58th Device Research Conference Digest (DRC), 2000, pp. 107–108. [10] D.A. Neamen, Semiconductor Physics and Devices, McGraw–Hill, 2003. [11] H.-J.J. Yeh, J.S. Smith, Fluidic self-assembly for the integration of GaAs light-emitting diodes on Si substrates, IEEE Photonics Technology Letters 6 (6) (1994) 706–708. [12] H.O. Jacobs, A.R. Tao, A. Schwartz, D.H. Gracias, G.M. Whitesides, Fabrication of a cylindrical display by patterned assembly, Science 296 (5566) (2002) 323–325. [13] X. Xiong, Y. Hanein, J. Fang, Y. Wang, W. Wang, D.T. Schwartz, K.F. Böhringer, Controlled multibatch self-assembly of microdevices, J. Microelectromech. Sys. 12 (2) (2003) 117–127. [14] U. Srinivasan, D. Liepmann, R.T. Howe, Microstructure to substrate self-assembly using capillary forces, J. Microelectromech. Sys. 10 (1) (2001) 17–24. [15] S.A. Stauth, B.A. Parviz, Self-assembled single-crystal silicon circuits on plastic, Proceedings of the National Academy of Sciences USA 103 (38) (2006) 13922–13927.
Self-Assembly as an Engineering Concept across Size Scales
121
[16] W. Zheng, P. Buhlmann, H.O. Jacobs, Sequential shape-and-solder-directed self-assembly of functional microsystems, Proceedings of the National Academy of Sciences of the United States of America 101 (35) (2004) 12814–12817. [17] C.J. Morris, S.A. Stauth, B.A. Parviz, Self-assembly for micro and nano scale packaging: Steps toward self-packaging, IEEE Transactions on Advanced Packaging 28 (4) (2005) 600– 611. [18] A. Fan, A. Rahman, R. Reif, Copper wafer bonding, Electrochemical and Solid-State Letters 2 (10) (1999) 534–536. [19] A. Rahman, R. Reif, System level performance evaluation of three-dimensional integrated circuits, IEEE Trans. on VLSI 8 (6) (2000) 671–678. [20] M. Raburn, B. Liu, K. Rauscher, Y. Okuno, N. Dagli, J.E. Bowers, 3D photonic circuit technology, IEEE J. Sel. Topics in Quantum Electronics 8 (2002) 935–942. [21] J.V. Collins, I.F. Lealman, P.T. Fiddyment, C.A. Jones, R.G. Waller, L.J. Rivers, K. Cooper, S.D. Perrin, M.W. Nield, M.J. Harlow, Passive alignment of a tapered laser with more than 50% coupling efficiency, Electronics Letters 31 (9) (1995) 730–731. [22] T. Hashimoto, Y. Nakasuga, Y. Yamada, H. Terui, M. Yanagisawa, K. Moriwaki, Y. Suzaki, Y. Tohmori, Y. Sakai, H. Okamoto, Hybrid integration of spot-size converted laser diode on planar lightwave circuit platform by passive alignment technique, IEEE Photonics Technology Lett. 8 (11) (1996) 1504–1506. [23] T. Hashimoto, Y. Nakasuga, Y. Yamada, H. Terui, M. Yanagisawa, Y. Akahori, Y. Tohmori, K. Kato, Y. Suzuki, Multichip optical hybrid integration technique with planar lightwave circuit platform, J. Lightwave Technology 16 (7) (1998) 1249–1258.
123
Chapter 6
Probabilistic Analysis of Self-Assembled Molecular Networks Debayan Bhaduri* , Sandeep K. Shukla FERMAT Lab, Bradley Department of Electrical and Computer Engineering, Virginia Tech, VA 24061, USA url: http://fermat.ece.vt.edu Abstract. Several papers appeared recently on mapping computation onto nanofabrics with defect mapping followed by defect avoidance. However, such techniques are for permanent or manufacturing faults. Hence even after defect avoidance based configuration, the nanofabrics remain susceptible to natural operational faults. In this paper, we develop a probabilistic broadcast based defect map generation scheme suitable for self-assembled molecular nanofabrics. We also develop a hierarchical probabilistic design methodology to build fault-tolerant architectures on reconfigurable molecular nanofabrics using structural redundancy. We add various forms of redundancy to primitive structural elements and determine the appropriate levels of the hierarchy for insertion of such redundancy mechanisms. The effectiveness and scalability of the probabilistic toolset we have developed is also illustrated by evaluating the performance of our defect mapping scheme and by computing different critical design trade-offs.
1. Introduction Due to the recent advances in nanotechnologies and their applications to computer design [12], computing systems are confronted with quantum, probabilistic, and even biological phenomena. Reliability guarantee is more challenging than ever before. The unreliability of nanoscale devices and interconnects is due to: (i) randomness and imprecision in the fabrication or self-assembly processes [16], (ii) reduced noise and thermal perturbation tolerances [30], (iii) system energy levels reaching thermal limits of computation [6,7], etc. While much of the recent nanotechnology research is confined to the domain of material science, electrical engineering, quantum and device physics, chemistry, etc., computer engineers and scientists will soon see the effects that we described above, as nano-structured material with unreliable and defective substrate begin to enter in the main stream of computer design. Therefore, systems need to be designed such that they are robust to both natural development and operational faults [5] that are manifests of such phenomena. * Corresponding author. E-mail: dbhaduri@vt.edu.
STUDIES IN MULTIDISCIPLINARITY VOLUME 5 ISSN 1571-0831/DOI: 10.1016/S1571-0831(07)00006-8
© 2008 Elsevier B.V. All rights reserved.
124
Chapter 6
Defect mapping techniques [20,24] followed by defect avoidance can be used to circumvent permanent defects in computation nanofabrics [11,16], so that systems can be built which are arbitrarily close to 100% reliable against production defects. But such systems are still highly susceptible to transient operational faults. Addition of structural redundancy a priori to the nanoarchitectures may enhance the reliability of such systems in the presence of natural soft faults. Also, the mere scale factor of nanotechnology implies that billions of devices may be used to build nanofabrics. This necessitates development of methodologies that can limit the complexity and enhance the scalability of defect map generation and configuration of these fabrics. If the system being designed is not mission critical and the application admits low but non-zero failure probabilities, then such systems that can operate at high reliability levels may be configured onto nanofabrics without defect mapping (saving time and cost). Adequate structural redundancy can be introduced to tackle transient or soft faults and meet the specific reliability levels. Even if defect mapping is performed, redundancy may still be needed since defect maps can only circumvent permanent faults. Thus, our goal is to either use defect mapping with avoidance for the reconfigurable nanofabrics and then introduce resource redundancy a priori, or, map systems directly onto the unreliable (re)configurable molecular nanofabrics with adequate structural redundancy and without defect mapping and defect avoidance. Such a design decision will be completely dictated by the level of reliability that has to be guaranteed for a system. To achieve this goal, the following problems need to be addressed. First, how to generate probabilistic defect maps that are less time-consuming and expensive. Second, how to map the behavioral primitives of a design onto nanofabric structural primitives, such that the scalability of generating defect maps and configuring these nanofabrics is enhanced. Third, how to enhance the tolerance of such architectures to natural transient faults. Fourth, how to compute the reliability–redundancy–cost–latency trade-offs for such architectural configurations, and how to make the defect map generation and analysis of redundancy based reconfigurable systems scalable on a probabilistic framework. – We address the first problem by developing a probabilistic broadcast based defect mapping scheme. This mechanism is a variation of the reverse path forwarding (RPF) algorithm often used for broadcast routing [10]. Since our broadcast based defect-tolerance scheme is probabilistic, our methodology can be used to analyze the connectivity of nanofabrics for partially defective nodes, short-circuited links and signal noise on the interconnects. Our methodology entails running test circuits on the nanofabric components that provide the probability values of failure for both the nodes and the links of the fabric. These values are then plugged into our broadcast based defect mapping algorithm (part of our toolset), and this generates defect maps for the molecular networks without physically broadcasting test packets in the nanofabric. Our
Probabilistic Analysis of Self-Assembled Molecular Networks
125
probabilistic defect map generation scheme could be run on field programmable gate array (FPGA) based architectures that are configured for high speed floating point computations, instead of general purpose processors saving time for defect map generation. – We deal with the second issue by using the methodology in [23] that proposes a three level design hierarchy to map a computation onto a nanofabric. Data flow graphs (DFGs) of kernels (computational systems) are translated to graphs composed of specific primitive flows (behaviors) that can be configured easily on the basic configuration units of the molecular nanofabrics. – The third problem is addressed by adding redundancy a priori to the behavioral primitives and mapping such a redundancy based architecture onto the specific nanofabric. Such mapping is one by generation of pseudo-random maps (Section 4) that introduce redundant structural primitives in the nanofabric and at the same time try to reduce latencies, and even avoid defective components (if defect map is available). – To tackle the fourth problem, we provide a probabilistic framework based on SMART [29] that can generate probabilistic defect maps for arbitrary networks of nodes. Our toolset can model more than one via (interface of the system to the external world). These vias are used to insert external inputs for both defect mapping and configuration of the nanofabrics. Our toolset also provides a framework for analyzing the reliability, performance, area, and cost of different redundancy based nanoarchitectures based on molecular networks. The toolset is based on stochastic modeling formalisms and numerical solution algorithms [29]. It is user-guided and very flexible such that modifications of the probabilistic fault models (discussed in details in Section 3) can be easily done, and the dynamic behavior of systems can be analyzed. We compute probability of reaching different nodes in a hierarchical manner and use modeling techniques based on state space partitioning. This enhances the scalability of defect map generation and analysis of these structural redundancy based reconfigurable architectures. The execution times to generate defect maps and analyze different benchmark computations (discussed in Section 5) show the effectiveness of our framework.
1.1.
Main Results
We have analyzed different molecular based nanofabric models and translated different computational kernels on these models to analyze our defect mapping and hierarchical structural redundancy based methodology. 1.1.1. Performance Analysis of our Defect-Tolerance Mechanism We have evaluated the performance of our probabilistic defect-tolerance mechanism by varying (i) the network size, (ii) the probability of failure of the processing
126
Chapter 6
elements (PE), (iii) redundancy factors at the PE architecture level, and (iv) the number of external interfaces or vias. We also compute the expected latency of the probabilistic broadcast for each PE in the fabric assuming that a test packet is really broadcasted in the nanofabric, instead of being broadcasted in a probabilistic model of the nanofabric. 1.1.2. Main Design Trade-offs Analyzed We have also evaluated and analyzed different benchmark kernels by mapping these onto our nanofabric models. Some of the critical system level design trade-offs computed for these kernels are: (i) Reliability–Redundancy, (ii) Reliability–Redundancy– Performance, (iii) Reliability–Redundancy–Granularity Level–Performance, and (iv) Reliability–Redundancy–Cost.
1.2.
Organization
This paper is organized as follows: Section 2 gives a brief overview of faulttolerant computing, Section 3 introduces molecular crossbar devices, our selfassembled nanofabric model and fault models, the software package SMART, and the probabilistic design paradigm proposed in [23]. The probabilistic defect mapping and hierarchical structural redundancy insertion methodology proposed in this chapter is introduced in Section 4. Section 5 reports some interesting experimental results and analyzes such results. Finally, Section 6 concludes the chapter.
2.
Resource Redundancy Based Fault-Tolerance
Formally, a fault-tolerant architecture is one which uses techniques to mitigate the effects of faults in the devices and interconnects that make up the architecture and guarantees a given level of reliability. Our focus is on resource/structural redundancy based techniques such as Triple Modular Redundancy (TMR), Cascaded Triple Modular Redundancy (CTMR), von Neumann multiplexing, Triple Interwoven Redundancy (TIR) and their variations. The concept of TMR [28] is to have three similar units working in parallel, and comparison of their outputs with a majority voting logic. The units could be gates, logic blocks, logic functions or functional units. The TMR provides a functionality similar to one of the three parallel units but provides a better probability of working. The majority voting logic is a single failure point and three voters can be used instead of just one to improve the reliability of the system further. The main drawback of modular level structural redundancy techniques is that these do not provide robust error recovery mechanisms [17]. This implies that if the triplicated units in TMR architectures have random logic with sequential
Probabilistic Analysis of Self-Assembled Molecular Networks
127
Fig. 6.1. TMR for sequential and combinational logic.
elements and any one of the units are in error, there is no mechanism by which such an error can be detected until it manifests at the output of the modular unit. At that point in the execution of the system, the internal states of the erroneous and other redundant modules will be inconsistent. Paper [17] discusses the significance of feeding back the voted result to all the voted sequential elements so as to resynchronize all the redundant modules and avoid error build up. This implies that a Boolean network needs to be apportioned into combinational and sequential parts, and then redundancy may be inserted. This is shown in Fig. 6.1 where triple voters are used along with feedback. CTMR [28] is similar to TMR, wherein the units working in parallel are TMR units combined with a majority gate. Figure 6.2(a) shows a 1st order CTMR configuration where the parallel processing units in each of the three TMR units are NAND gates. There are many variations to the generic CTMR configuration. Due to the area and latency overheads associated with this technique, structural redundancy is inserted at the granularity level of functional units or logic blocks. This implies that the probability of these replicated units failing is more due to
(a) Generic CTMR: multi-layer voting
(b) CTMR with triple voters: finer granularity
Fig. 6.2. Different CTMR configurations.
128
Chapter 6
(a) A NAND multiplexing unit
(b) A MAJ multiplexing unit
Fig. 6.3. Different von Neumann multiplexing architectures.
the coarser granularity of redundancy. Whereas, the multi-level CTMR with triple voters (Fig. 6.2(b)) allows the system to be apportioned into smaller functional units or modules, and can effectively allow the architecture to withstand more errors across the redundant TMR configurations. In 1952, von Neumann introduced multiplexing [33] as a structural redundancy technique for constructing reliable computation from unreliable devices. He considered two sets of basic logic in his architectural configurations, the NAND (Fig. 6.3(a)) and the majority logic (Fig. 6.3(b)). He showed that if the failure probabilities of the gates are sufficiently small and failures are independent, such multiplexing based architectures can perform computations with high reliability. In-depth analysis of the NAND multiplexing technique in [1] shows that different architectural configurations have specific reliability–redundancy trade-off points (optimal redundancy levels), and that the arbitrary augmentation of unreliable devices could result in degradation of reliability. Similar conclusions had also been drawn by Ingle and Siewiorek [22], who showed that extra logic introduced in a Boolean network may decrease the overall system reliability. The idea of TIR is based on von Neumann’s multiplexing techniques and interwoven redundant logic [27]. A TIR architectural configuration has three times as many gates and interconnects as compared to the non-redundant network. The interconnections are arranged in random patterns. Such inherent randomness in the interconnections makes this structural redundancy technique favorable for the integration of molecular devices, since the manufacturing method for such devices is most likely to be stochastic chemical assembly. Figure 6.4 shows a non-redundant half adder and its corresponding TIR implementation. For a particular interconnect pattern, [18] shows that the TIR actually works as a TMR configuration, implying that TMR is a specific implementation of TIR.
Probabilistic Analysis of Self-Assembled Molecular Networks
(a) Non-redundant half adder
129
(b) TIR implementation of the half adder
Fig. 6.4. Non-redundant and TIR architecture for half adder.
3. Background 3.1.
Crossbar Architecture
The crossbar architecture is a general approach to organize molecular devices into digital systems. We assume, in this chapter, that both the output rows and the number of columns (hence the number of junction points) can be increased to enhance the reliability of the array. Such diode crossbars are not sufficient for building complete systems, since the output signals suffer from degradation making cascading of many crossbar stages challenging. Also, these diode crossbars do not provide any means of acquiring and holding logic states. In this chapter, we use a molecular crossbar based architecture that combines latches built from hysteretic resistors [14] and a variant of diode logic. Such an architecture (Fig. 6.5) has been used [14] to build complete systems. Logic values held in such latches are encoded using impedance—an unusual characteristic of hysteretic resistor based latches. Also, the diode logic in this case does not use pull-down resistors, instead the impedance of the output latches provides this function. Paper [21] shows a simple procedure to compute the probability of a functioning crossbar circuit. The probability that a column wire can be used to form a k-input (k rows) gate is (1 − p)k if each junction has an independent probability of failure p. The probability that at least one column out of N columns will be able to implement the k-input gate is: N Pgate (k, N) = 1 − 1 − (1 − p)k . (1)
130
Chapter 6
Fig. 6.5. A molecular crossbar with a variant of conventional diode logic and hysteretic resistors.
Thus, the probability of a circuit composed of R k-input gates functioning correctly on such a crossbar with each gate configured on N columns is R Pcircuit = Pgate (k, N) . Also, the probability of failure for the hysteretic resistors is taken into consideration for computing the over-all probability of the molecular crossbar functioning correctly as the desired circuit. In this chapter, the crossbar is configured to implement a Boolean function as a combination of 2-input gates. Thus, the lowest granularity level of the nanofabric discussed in this chapter is a 2-input gate.
3.2.
Nanofabric and Fault Models
In this chapter, we consider each node of a nanofabric to be self-assembled molecular diode crossbars with hysteretic resistors that function as latches. Figure 6.6 shows a nanofabric composed of a grid of nodes connected together. The nodes of the nanofabric are (re)configurable since these are formed by programmable molecular crossbars. We have programmed the nodes as simple single-bit Arithmetic Logic Units (ALUs), 8-bit adders or 8-bit combinational multipliers depending on the application being targeted and the level of computational complexity required for each PE. Each node also has 4 transceivers, since these nodes are connected to 4 asynchronous bi-directional links. Due to the hysteretic resistor based crossbar architecture, each PE has the capability to capture and hold information. Figure 6.6 also shows external interfaces of the system called vias. These are used to insert inputs to the nanofabric.
Probabilistic Analysis of Self-Assembled Molecular Networks
131
Fig. 6.6. A self-assembled network of nodes.
Our methodology and framework considers both natural development and operational faults [5]. The natural hard faults are due to the production defects of the self-assembled molecular crossbars and the hysteretic resistors. We model these by considering failure probabilities of the crossbar junctions and the hysteretic resistors. Transient faults caused by natural external perturbations (thermal and noise) disrupt the normal operation of the switching elements (SEs) and the links. We model such faults by considering Gaussian noise distributions at the SEs and links. Our probabilistic fault model also includes probabilities of the links failing due to short-circuits. Thus, our fault model is more comprehensive and close to real operating environments as compared to simple fail-stop defect models where the PEs of the nanofabrics are completely isolated from their neighbors if they fail, and it is assumed that short-circuited links are handled at the architecture level.
3.3.
SMART Overview
The Stochastic Model checking Analyzer for Reliability and Timing (SMART) [29] is a tool that can be effectively used to analyze complex probabilistic systems. As in traditional model checking, the logical behavior of the system can be analyzed by generating the state space and asking temporal logic queries about its dynamic behavior. The tool implements both numerical solution algorithms and discrete-event simulation techniques and can integrate different high-level logical and stochastic modeling formalisms such as Petri nets, discrete time Markov chains (DTMC), etc., in the same model. We use SMART in a novel way to build a framework for analyzing our probabilistic broadcast based defect-tolerance mechanism. The hierarchical modeling capabilities of the tool are exploited to create libraries that compute the probability of successfully configuring logic on the molecular crossbars (PEs), form
132
Chapter 6
Fig. 6.7. Three tier design hierarchy.
two-dimensional grids of nodes (nanofabric model) and compute the probabilistic broadcast tree for the nodes. We also use DTMCs to model the different computational kernels, and then translate these onto the molecular nanofabric model (discussed in details in Section 4). DTMCs are suitable for the reliability analysis of conventional digital circuits [28].
3.4.
Methodology Outline from [23]
Paper [23] suggests a hierarchical approach to translate complex designs onto nanofabrics [11,24] to limit the complexity and increase the scalability of both defect mapping and configuration of these fabrics. Such hierarchical structural decompositions have also been proposed earlier in [15]. Although, we use our scalable probabilistic broadcast based defect mapping mechanism, the three level design hierarchy (Fig. 6.7) proposed in [23] is used for translating systems with structural redundancy onto the molecular crossbar based nanofabrics. The lowest tier of the design hierarchy are regions that comprise of eight PEs and the same number of switching elements (SEs). Such PEs can either be crossbars (Fig. 6.5) or more complicated nanoBlocks [16], and this design paradigm is independent of any specific nanotechnology. Such regions are basic configuration units (structural primitives) and can be used collectively to form Mapping Units (MU), and these MUs can be grouped together to form components. Paper [23] also identifies 7 primitive functional flows (behavioral primitives) that can be mapped to regions. These are shown in Fig. 6.8. All data flow graphs of different
Probabilistic Analysis of Self-Assembled Molecular Networks
133
Fig. 6.8. The set of primitive flows.
systems are translated to such flows and each behavioral flow is configured on a region, if the probability of successful configuration is high. The probability of such successful configuration is estimated by Monte Carlo (MC) simulations. For each MC run, a defect realization is generated for each region, and Triple Modular Redundancy (TMR) [28,34] test tiles (time-consuming method) are applied to each such region instance to obtain a defect map. Then a simple table-look-up based algorithm is used to check if a flow is configurable on that region with high probability. Note that this MC based method also generates probabilistic defect maps, but defect map generation for large molecular networks is time-consuming since a large number of runs are required to achieve a high confidence level. Also, the error percentage of√the defect mean for each PE obtained by MC simulations is bounded by c × s/( n × m) [26]. The parameter c is the solution of the equation T (c) = (1 + γ )/2 (T is the Student t distribution with a parameter c and γ is the confidence level), s is the sample standard deviation, m is the sample mean and n is the number of samples (runs).
4.
Over-all Probabilistic Design Methodology and Framework
There are two distinct approaches that can be used to analyze the reliability of structural redundancy based architectures. The analytical approach entails complex combinatorial modeling [3,4,19,25] of fault-tolerant architectures, whereas, the other approach is declarative in the sense that instead of forming complex combinatorial arguments for generic architectures, specific architectural configurations, explicit probability distributions at the primary inputs and specific gate and interconnect failure probability values are used to develop probabilistic models of the systems [8]. References [2,9,31,32] are either Markov chain or Petrinet based declarative tools mostly used for software reliability or network reliability. Although such frameworks have been suggested for use in reliability evaluation of fault-tolerant systems [31], to the best of our knowledge such frameworks have never been used for evaluating design parameters of nanosystems. We stress on this, since nano-implementations of Boolean networks and their
134
Chapter 6
reliability evaluations will have to be robust to uncertainties and physical phenomena distinct from classical systems. We have developed a declarative based methodology to compute probabilistic defect maps for molecular nanofabrics, and for analyzing design trade-offs of different structural redundancy based architectural configurations mapped to these fabrics. Since our methodology is specific to self-assembled molecular networks, it incorporates probabilistic fault models that reflect the effects of physical phenomena on such self-assembled molecular systems. This section talks about our reliability driven declarative methodology for (i) circumventing permanent and transient errors in nanoarchitectures, and (ii) evaluating and comparing different redundancy based architectures for benchmark computation kernels. The methodology we propose can either be used for mission critical systems that cannot tolerate operational failures at any point in time, or, for non-mission critical systems that can tolerate low but non-zero failure probabilities. The manner in which our methodology can be used for designing fault-tolerant systems on molecular networks is two-fold. First, if the application needs a reliability guarantee that is arbitrarily close to 100%, we can use our probabilistic broadcast based defect-tolerance mechanism with high reachability threshold values. This implies that the reachability of each PE from any of the vias should be very high (if required with a probability of 1). Otherwise, the nodes are marked defective and are not considered while configuration of the system onto the nanofabric. Then, the non-defective nodes are partitioned into three structural hierarchies (regions, MUs and components). The behavioral flow primitives [23] of the computational kernel are then mapped to this hierarchy of defect free nodes with suitable structural redundancy either at the PE (crossbar), region, MU or component levels. Hence, such architectures are tolerant to both natural hard and soft faults [5]. Second, if the application allows low but non-zero failure probabilities, it may not be required to generate probabilistic defect maps for the nanofabric. Instead, such non-mission critical systems can be mapped onto the defective nanofabrics by introducing structural redundancy a priori. These will allow the systems to be tolerant towards transient faults. But such a priori introduction of structural redundancy in architectures can have a number of drawbacks. It can affect the performance of the system in terms of latency, increase the total area and cost of the implementation. Thus, we have extensively analyzed different critical design trade-offs (listed in Section 1) for the different benchmark kernels (shown in Table 6.1), and discuss these in Section 5. The next few subsections elaborate on the intricacies of our methodology.
4.1.
Test Circuits
Since our framework can compute the probability of reachable nodes in a fabric, we need to first configure simple test circuits on the molecular nanofabric to get
Probabilistic Analysis of Self-Assembled Molecular Networks
135
a notion of the probability of individual node instances being defective. One of the easiest test circuits proposed for such purposes is a counter circuit [24] that can be configured on each region (discussed in Section 3). Counter circuits with thresholds of t can indicate 0, 1, 2, . . . , t or more than t defects in a particular region. Since the lowest element of our structural hierarchy are regions (composed of 8 nodes or PEs), the threshold of such a test circuit may be set to 8. Another set of simple test circuits used widely in a built-in self test (BIST) of RAMs are linear feedback shift registers (LFSRs). These can be configured on MUs (sets of regions) and run autonomously with sets of inputs. If there are signature mismatches, the LFSRs may be split into smaller units and configured on each region to compute the exact number of defects for each MU instance. Note that even if there are no signature mismatches, it does not mean that the constituent nodes are defect free. This is due to non-zero probability of aliasing. Once an approximate defect rate is computed for each region, we can use this probabilistic data to generate an off-line probabilistic defect map by using our toolset.
4.2.
Probabilistic Defect-Tolerance Mechanism
Our probabilistic defect-tolerance mechanism is based on the RPF broadcast routing algorithm. Since, it is very time-consuming and expensive to generate defect maps in an unstructured manner for nanofabrics composed of billions of devices, our off-line defect map mechanism divides the grid of nodes into subgrid models and the probability of each node being reached from the nearest vias is computed. Since the approximate failure probabilities of the PEs and links can be computed a priori by running test circuits, such as, the counter and LFSR circuits on the nanofabrics, we can estimate the probability of each PE functioning when configured as transceivers (required for broadcast). It is assumed in our mechanism that on receiving a test packet at one of its transceivers, a node forwards the packet on all the links except on the link that the packet was received. Hence, the probability of a node being reached depends on the probability of the packet reaching the previous node that forwarded the packet to this specific node, the probability of the switch functioning properly and the probability of the link on which the packet was received being defect free. Our framework also stores the via number from which a node is reachable with highest probability. Storing the via number facilitates the configuration of the fabric at a later stage. As discussed earlier, test packets are not physically broadcasted in the molecular network. The mechanism is applied to a nanofabric model to compute the probabilistic defect map using our toolset. Since our defect-tolerance methodology tries to partition a network into equal sized sub-networks, in certain cases some of the nodes may be a part of more than one sub-network. Such nodes can be reached from more than one via. Our
136
Chapter 6
Fig. 6.9. Probabilistic design methodology.
defect mapping mechanism pin-points the via from which a specific node can be reached with highest probability. If the highest probability value of reaching a node from any of the vias is lower than a user-specified threshold, that node is marked defective. Thus, the proposed defect-tolerance scheme is more robust in the sense that it (i) can handle a more realistic defect model, (ii) can generate probabilistic defect maps, and (iii) takes into consideration natural soft faults at the interconnects during the defect map generation phase. We also claim that such a probabilistic framework combined with simple test circuits may eliminate the need for on-line defect map generation by either flooding [13] the molecular grid, or, by applying TMR test tiles [16].
4.3.
Over-all Design Flow
Figure 6.9 shows the flow of our probabilistic methodology, and the different steps are outlined in details below. (1) The counter and LFSR based test circuits are run on the nanofabric to compute the approximate defect distribution for the PEs. Then, we build a model of the reconfigurable molecular nanofabric in SMART by creating an array of PEs and SEs. In order that the nodes of a nanofabric can use our
Probabilistic Analysis of Self-Assembled Molecular Networks
(2)
(3)
(4)
(5.a)
(5.b)
(5.c)
137
methodology, each node should consist of 4 transceivers, a simple single bit ALU, storage for single bit data and control circuitry for routing. This is a bare minimal constraint on the capabilities of each node. Libraries from our toolset and the approximate defect rates determined from running the test circuits are used to compute the probability of the PEs being successfully configured to achieve such minimal capabilities. The broadcast based algorithm is used to generate a probabilistic defect map. Even if the probability of reaching certain nodes is not 100% but above a specified threshold, we do not eliminate these partially defective nodes since these can be used with appropriate redundancy in systems that are not mission critical. We analyze the performance of our probabilistic defect mapping scheme in terms of large networks of nodes, the probability of failure of the molecular crossbar junctions (points of failure for the PEs), varying redundancy factors at the crossbar level (number of columns and output rows), the effect of increasing the number of vias to the computation nanofabric, and the expected latency of the probabilistic broadcast in terms of the different routes and sub-grids. We have developed a fault injection library to model signal noise on the interconnects of the nanofabrics. This library can be used to model noise as Gaussian distributions with different means and variances. The procedure for translation of the generic data flow graphs (DFG) for the different benchmark kernels to the covers (DFGs based on the primitive flows) is similar to [23]. The 7 primitive flows that have been proposed are shown in Fig. 6.8. Since there can be more than one ways of decomposing a DFG for a computational kernel into such primitive behavioral flows, a single kernel may have more than cover. Figure 6.10 shows one of the possible covers for an Auto Regression (AR) filter. If the designer desires to use the already generated probabilistic defect maps, the primitive flows (specified by the cover in the previous step) for a specific system, are configured on the non-defective nodes of the molecular nanofabric. This process is called exact map generation for a specific cover of the kernel. If the system is non-mission critical, we generate pseudo-random maps, since, instead of generating defect (exact) maps, structural redundancy is introduced while mapping the computational kernel onto the unreliable nanofabric. The map generation in this case is pseudo-random since the routing delays are taken into consideration, i.e., the behavioral flows are hierarchically mapped onto the nanofabric in such a way so that intra-MU and inter-MU routing delays are minimal. Once the map is obtained, the system is mapped to the nanofabric model hierarchically. We have developed libraries that map each primitive flow
138
Chapter 6
Fig. 6.10. Cover for auto regression filter.
(shown in Fig. 6.8) to the regions of the molecular network. These libraries also aid the building of hierarchical models. We stress on the models being hierarchical since the steady state probability computation times can be greatly reduced by proper state space partitioning, else flat models for larger systems may cause state space explosion. (6) If the architecture meets the specifications in the presence of permanent and transient faults in terms of reliability levels, cost, latency and area; then the system can be actually configured on the nanofabric and can be tolerant towards natural hard and soft faults. (7) If the specifications are not met, more structural redundancy may be added at different granularity levels. Such redundancy insertion can be done with ease by writing parameterized scripts that can automatically add redundancy to the original model at different levels of granularity. With such a framework, we can evaluate our defect mapping mechanism and analyze critical design trade-off points for architectural configurations with redundancy added at different levels of granularity. For instance, at the PE level, multiple PEs may be used to implement a function (say 8 bit addition) with voting; at the MU level, the architecture may have triplicated MUs and vote on their outputs; and, at the component level, components may be made redundant.
Probabilistic Analysis of Self-Assembled Molecular Networks
139
Fig. 6.11. 8 bit carry-lookahead adder from 1 bit ALUs.
5.
Experimental Results and Analysis
In this section, we first analyze the performance of our probabilistic defect mapping scheme. We evaluate the defect mapping scheme by varying the (i) networks of nodes, (ii) the probability of failure of the molecular crossbar junctions, (iii) the number of columns (redundancy) of the crossbar, (iv) the effect of increasing the number of external interfaces to the computation nanofabric, and (v) the expected latency of the probabilistic broadcast in terms of the different routes. We also analyze the different benchmark kernels, listed in Table 6.1, by adding structural redundancy after applying our defect mapping scheme. The experimental setups and the kernels considered are specified at the top of each graph. We have computed different trade-offs for all the kernels, but have included results for the AR filter and 2D-Discrete Cosine (DCT) Kernels. All experiments are run on a workstation running Linux, with a 2400 MHz processor and 4 GB of RAM using SMART 1.1 [29]. In all the setups, the hysteretic resistors of the crossbars are assumed to have a failure probability of 0.1. We have assumed that no interconnects are short-circuited. The PEs are configured either as 8 bit adders or multipliers. Each PE can also be configured to have more restricted functionalities which would result in the DFGs of each kernel changing. This is because each node of such primitive flow based DFGs represents a single PE. Figure 6.11 shows how PEs configured as single bit ALUs can be used to form a 8 bit carry-lookahead adder. Such configurations can be used hierarchically to express kernels whose lowest granularity of computation are 8 bit adders. It is also assumed that if any node is reachable with a probability of less than 0.9 from the source vias, it is marked defective. Since our framework is parameterized, such reachability thresholds can be varied depending on the level of reliability that has to be guaranteed for the system. Note that the defect distribution of the nodes and links are computed from the data obtained by running simple counter and LFSR based test circuits on the molecular nanofabrics.
140
Chapter 6
Fig. 6.12. Sobel edge detection kernel cover–map combination.
In order to analyze the effects of structural redundancy on the different computational kernels, we compute the relative performance (RP) of each cover (flow based DFGs) and map (number of regions and MUs) of the non-redundant kernels. Each PE is assumed to take 2 cycles to complete an operation and route it to an adjacent PE. Thus, if CP is the critical path length of a kernel, CPdelay = 2∗CP is a lower bound on the delay for any cover–map combination realizing a kernel [23]. For instance, it can be seen from Fig. 6.12 that the CP has 5 operation nodes (PEs) in the convolution DFG and 3 operation nodes in the absolute DFG. So, when the convolution unit feeds into the absolute unit in the sobel edge detection kernel, the CP of the combined DFG has 8 nodes. RP of a component is computed by taking the ratio of the CPdelay and actual delay (dependent on the cover–map). The actual delay includes intra-MU routing delay assumed as 1 cycle and inter-MU routing delay considered to consume 2 cycles. Thus, a high RP implies a lower delay overhead. The normalized relative performance (NRP) is computed by taking the ratio of the RPs of the cover–map under consideration and the kernel design that maps all behavioral flows in a single MU (no routing delays). A higher NRP similarly indicates better performance of the kernel’s cover–map combination. We have also computed reliability–redundancy–cost trade-offs for the different computational kernels. In order to determine these trade-offs, we develop a cost metric for each cover–map combination. This consists of the cost for the crossbars (PEs), intra-MU and inter-MU routing lines. Routing within regions is assumed to be free. As discussed in Section 3, the reliability of a crossbar can be increased by adding more columns (cross points). It is assumed that the cost of each molecular crossbar column is 2 units. Similarly, intra-MU and inter-MU routing tracks cost 2 and 4 units respectively. The relative cost (RC) for the nonredundant kernels is computed as the ratio of the cost incurred on the CP and
Probabilistic Analysis of Self-Assembled Molecular Networks
141
Table 6.1. Execution time for design and analysis of kernels Kernels
Cover
Map
Time (s)
Auto regression Discrete cosine FIR Avenhous filter Avenhous filter mod Median sort Sobel edge detection
1 1 2 2 1 1 1
2 2 3 1 2 2 2
2054.83 2047.90 2053.50 2049.25 2048.88 34.01 2063.33
the actual cost of the cover–map. The RC for the different redundancy based architectures for the benchmark kernels is computed as the ratio of the cost of the best non-redundant cover–map design (least latency) and the actual cost of the redundant kernel. This metric is similar to RP or NRP, since a higher value implies a more cost-effective design. We also compute the average reliability of transient fault-tolerant redundant kernels and compare with the non-redundant designs. This metric is the mean reliability level determined by varying the number of columns for the crossbars (PEs) in the different fault-tolerant architectural configurations. We show the execution times (in seconds) in Table 6.1 to map defect- and faulttolerant architectures of the benchmark kernels onto the molecular nanofabrics, and analyze different trade-offs. These execution times are averaged over 1000 runs. Each run includes time to (i) build a model of a 100 × 100 grid of nodes and switches, (ii) computing the probability of successfully configuring the molecular crossbars as 8 bit adders or multipliers given the defect distribution from the test circuits, (iii) determining the probability to reach each PE from different routes and 5 vias (Fig. 6.6), (iv) partitioning the non-defective nodes into sub-models of regions, MUs and components and (v) computing different trade-offs of the redundancy based kernel architectures mapped onto such structurally decomposed nanofabrics. As can be seen, the modeling and analysis time for all the kernels is not very high. The analyses of median sort and sobel edge detection kernels need relatively higher execution time, since, the state space generated by these models are larger. It has also been observed from experimental results that as the network size and the number of external interfaces are increased, the total execution time of our probabilistic defect mapping scheme increases. This is intuitive, since, the probabilistic computation becomes more involved as the network size and the number of routes from the vias increase. Although the time for obtaining probabilistic defect maps for large molecular networks may be relatively high, we claim that our methodology is viable in terms of cost. This is because, if the defect distributions of the PEs can be characterized accurately, there may not be
142
Chapter 6
any need to actually run any static on-line defect mapping schemes [13,16] on the nanofabrics. Dedicated hardware such as floating point co-processors or FPGAs can be used to determine probabilistic defect maps of large molecular networks using our technique.
5.1.
Analyzing the Defect Mapping Scheme
5.1.1. Effect of Varying Junction Failure Probability We analyze our probabilistic defect map scheme by varying the number of nodes (PEs) in the nanofabric and the probability of failure of the crossbar junctions. The increase in the probability of junction failures increases the probability of each molecular node instance failing. In this experiment, 4 vias are modeled at four corners of the grid of nodes. From Fig. 6.13(a), it can be observed that smaller the network, higher the tolerance to junction failure. But for large network sizes, the percentage of non-defective nodes at higher probability of cross-point failure is almost same. This can be seen from the plots for the 80 × 80 and 100 × 100 grids and for junction failure probabilities above 0.15. This can be inferred as follows: for high junction or node failure probabilities, the probability of reaching PEs in a large grid decreases steadily until almost all the PEs become unreachable (threshold of 0.9, in this case, is not met). Similar results are also observed when 5 vias are considered. The percentage of reachable (non-defective) nodes increases slightly due to the addition of the fifth and center via, since, some of the unreachable nodes in the case of 4 vias become reachable from the center via. 5.1.2. Effect of Varying Number of Columns We also evaluate our broadcast based defect mapping scheme by increasing the number of columns of the molecular crossbars (adding redundancy). It is assumed that the junction failure probability is 0.13 and that a node is marked defective if the probability of reaching it from any of the source vias is less than 0.9. The major observation from Fig. 6.13(b) is as follows: for a specific molecular grid of nodes, increasing the number of columns of the crossbar results in a higher percentage of non-defective nodes, but the improvement reaches a steady state at a particular point (number of columns) beyond which addition of more redundancy does not increase the percentage of non-defective nodes. Also, as the network size increases, this improvement in the number of functioning nodes due to the addition of redundancy seems to slow down. This can be indicated from the plots for the 80 × 80 and 100 × 100 grids in Fig. 6.13(b). This observation can be interpreted as follows: for a junction failure probability of 0.13 and with each node consisting of four transceivers, a single bit ALU and control circuitry, the probability of each PE functioning correctly in a specific grid configuration reaches a saturation point for a certain number of columns of the crossbar. Thus, the number of nodes that can be reached stabilizes and cannot be improved by adding more redundancy
Probabilistic Analysis of Self-Assembled Molecular Networks
143
(a) Varying probability of junction failure
(b) Varying number of columns of the crossbar Fig. 6.13. Percentage of non-defective nodes for different networks of nodes and 4 vias. For colour version, see Colour Plate Section.
144
Chapter 6
Fig. 6.14. Broadcast latency. For colour version, see Colour Plate Section.
at the crossbar level. Also, larger molecular networks at higher junction failure probability (such as 0.13), have less number of reachable nodes and the improvement in the percentage of reachable nodes due to crossbar redundancy is nominal for large grid sizes. Similar conclusions can be drawn if 5 vias are considered for the defect mapping scheme. 5.1.3. Broadcast Latency In order to justify our claim that off-line defect mapping mechanisms, such as ours, may be more viable than on-line defect mapping techniques, we compute the expected latency of our scheme assuming that test packets are physically broadcasted in a molecular network. If a node can process and forward a test packet in unit time, it would take O(N) time units to complete a broadcast. This is because the total broadcast time is proportional to the Manhattan distance between the PEs in the opposite corners and on the diagonals of the square grid. If 4 vias are considered, then the maximum broadcast latency is for the center node. Figure 6.14 shows the expected latency for the center node in terms of the number of hops for varying grid sizes. The expected latency is plotted as a function of the square root of the number of PEs in the grid. It can be observed from the plots that for a system with no defects, >10% and <30% defects or >30% and <50% defects, the expected latency to reach the center PE from one of the vias is almost a linear function of the square root of the network size. Also, as the number of defective nodes increases, the expected
Probabilistic Analysis of Self-Assembled Molecular Networks
145
latency decreases since there are fewer reachable nodes in the system, reducing the time taken to complete the broadcast. Since our mechanism takes partially defective nodes into consideration, the expected broadcast latency is dependent on the network size and increases monotonically with increase in the molecular grid configuration.
5.2.
Analyzing Structural Redundancy Based Architectures
5.2.1. Non-Redundant and TMR Based Designs Figure 6.15(a) shows the reliability levels (in terms of probability of correct output) of the AR kernel for different number of columns of the molecular crossbar (PE). The probability of failure of the intra- and inter-MU routing tracks are assumed to be 0.0001 and 0.005 respectively. The failure rates of the SEs, adders, multipliers, and majority voters depend on the defect distributions of the crossbars obtained from the test circuits. For theoretical analysis, in this chapter we approximately compute these failure rates according to (1) in terms of the number of columns in the crossbar. The plots in Fig. 6.15(a) indicate the reliability and relative performance levels of the non-redundant AR kernel and its TMR based architectures at different levels of granularity (PE, MU and component). The analysis is performed for the cover1–map1 combination of the AR kernel shown in Fig. 6.16. This cover–map combination consists of 2 MUs. It should be noted that in this experiment, the redundancy of the crossbar is being varied for each kernel architecture, and maps from the primitive flows to structural primitives comprising of 2 MUs are generated avoiding defective nodes. One of the major observations from this graph is: TMR at the PE level (maximum redundancy) yields high reliability when the number of columns is less. But once the number of columns reaches 8, the TMR architecture at the MU level provides similar reliability with less redundancy. Also, the NRP values indicate that the performance penalty for the TMR architecture at the PE level is very high as compared to TMR at the MU level. Hence, for this specific defect and transient fault distribution, if the number of columns for implementing a 2 input gate is greater than or equal to 8, the TMR architecture of the AR kernel at the MU level is the better choice. Similar conclusions can be drawn from Fig. 6.15(b) that compares the reliability and relative performance of the non-redundant and TMR based architectures for the DCT kernel. In this case, the map generated for the kernel (map3) consists of all flows in one MU (higher probability of failure but lower performance penalty). This is the reason TMR at component and MU level (similar designs) provide equivalent reliability measures and similar performance (as indicated by NRPc and NRPm ). 5.2.2. Effect of Different Orders of Cascaded Triple Modular Redundancy (CTMR) We analyze the reliability of different architectural configurations for
146
Chapter 6
(a) Reliability and relative performance levels of AR kernel
(b) Reliability and relative performance levels of 2D-DCT kernel Fig. 6.15. Comparison of non-redundant kernels with TMR based designs at different granularity levels. For colour version, see Colour Plate Section.
Probabilistic Analysis of Self-Assembled Molecular Networks
147
Fig. 6.16. Auto regression kernel cover–map combination.
the same AR kernel cover–map combination (discussed in the previous subsection) by varying the failure probability of the inter-MU routing lines and keeping the number of columns of the crossbar (N = 12) fixed. The probability of failure of the PEs, SEs and voters are computed to be Pe = 1%, Pc = 0.1%, Pa = 1%, since these are configured on crossbars with 12 columns and junction failure rate of 0.1. Redundancy is only introduced at the MU level. It can be observed from the plots in Fig. 6.17(a) that as the CTMR [28,34] orders are increased, the reliability of the architecture improves and the delay penalties increase (intuitive). But the major observation is: when the inter-MU routing line failure probability is 0.1, the 0th order CTMR (TMR) seems to do better than 1st order CTMR. Also, keeping in mind the performance degradation, the 2nd order CTMR may also not be a good design choice, since the improvement in reliability is marginal. 5.2.3. Performance and Cost Trade-off Analysis The other basis for deciding on a particular transient fault-tolerant architectural configuration is cost. Although the cost metric in this paper is artificial, since these are parameters associated with the fault injection library built on top of SMART, these values can be modified easily. In Fig. 6.17(b), the RC is plotted against different redundancy levels (number of columns) at the crossbar level. One of the design choices indicated by the plots is: for the TMR configuration of the AR kernel at the PE level, average reliability is highest but the cost incurred as compared to the best non-redundant map is very high. The other plots lead to similar analyses. It can also be seen that for all the architectural configurations, the RC does not change
148
Chapter 6
(a) Reliability and relative performance for different CTMR orders (MU)
(b) Relative cost and average reliability for non-redundant and TMR designs Fig. 6.17. Reliability, performance and cost trade-off analysis of AR kernel. For colour version, see Colour Plate Section.
Probabilistic Analysis of Self-Assembled Molecular Networks
149
much with the change in the number of columns. This is because the RC for each configuration is normalized to the best cover–map implementation (least cost) that is also mapped to homogeneous molecular crossbars with the same number of columns (same PEs).
6.
Conclusion
Systems built from nanoscale devices and interconnects will be susceptible to both natural development and operational faults. Defect mapping and defect avoidance techniques can be used to circumvent production defects, and structural redundancy may be used to mitigate operational faults. In this paper, we propose a probabilistic methodology to design and analyze architectures for both mission critical systems, and systems that allow low but non-zero failure probabilities. Our toolset can be directed to generate probabilistic defect maps given the specific defect distributions of the nanofabric, and then used to insert structural redundancy a priori in the architectural configurations so as to circumvent both natural hard and soft faults. Our probabilistic defect mapping scheme is considerably different from the broadcast based scheme proposed in [13]. While the broadcast based scheme in [13] is used as an on-line defect mapping technique, our technique uses simple test circuits that are configured on the nanofabric so as to get a notion of the defect distribution, and then computes the probability of reaching each node from different vias. Such a probabilistic reachability graph is assumed to be computed off-line by some dedicated hardware (FPGA or co-processor). Also, to the best of our knowledge, it is the first attempt to use hierarchical techniques to introduce structural redundancy a priori in different architectural configurations, and in computing the reliability–redundancy–cost–latency trade-offs for these, so as to expedite the design and analysis of defect- and fault-tolerant systems.
References [1] G. Norman, D. Parker, M. Kwiatkowska, S. Shukla, Evaluating the reliability of NAND multiplexing with PRISM, IEEE Transactions on CAD of Integrated Circuits and Systems 24 (10) (2005) 1629–1637. [2] Möbius Tool, http://www.mobius.uiuc.edu/. [3] Jacob A. Abraham, A combinatorial solution to the reliability of interwoven redundant logic networks, IEEE Trans. Comput. 24 (May 1975) 578–584. [4] Jacob A. Abraham, Daniel P. Siewiorek, An algorithm for the accurate reliability evaluation of triple modular redundancy networks, IEEE Trans. Comput. 23 (July 1974) 682–692. [5] A. Avizienis, J. Laprie, B. Randell, C. Landwehr, Basic concepts and taxonomy of dependable and secure computing, IEEE Transactions on Dependable and Secure Computing 1 (1) (2004) 11–33.
150
Chapter 6
[6] R. Iris Bahar, Joseph Mundy, Jie Chen, A probability-based design methodology for nanoscale computation, in: International Conference on Computer-Aided Design, San Jose, CA, November 2003, IEEE Press, 2003. [7] C.H. Bennett, The thermodynamics of computation—A review, International Journal of Theoretical Physics 21 (1982) 905–940. [8] D. Bhaduri, S.K. Shukla, Comparing the reliability–redundancy trade-offs for two von Neumann multiplexing architectures, Technical report, Fermat Lab, Virginia Tech, 2005. Available at http://fermat.ece.vt.edu/Publications/pubs/techrep/techrep05_01.pdf. [9] G. Clark, T. Courtney, D. Daly, D. Deavours, S. Derisavi, J.M. Doyle, W.H. Sanders, P. Webster, The Möbius modeling tool, in: 9th International Workshop on Petri Nets and Performance Models, Aachen, Germany, September 2001, IEEE Press, 2001, pp. 241–250. [10] Y.K. Dalal, R.M. Metcalfe, Reverse path forwarding of broadcast packets, Communications of the ACM 21 (12) (1978) 1040–1048. [11] A. DeHon, Array-based architecture for fet-based nanoscale electronics, IEEE Transactions on Nanotechnology 2 (2003) 223–232. [12] D. Goldhaber-Gordon, et al., Overview of nanoelectronic devices, IEEE 85 (1997) 521–540. [13] J.P. Patwardhan, et al., Circuit and system architecture for DNA-guided self-assembly of nanoelectronics, in: Foundations of Nanoscience: Self-Assembled Architectures and Devices, April 2004, pp. 344–358. [14] Y. Chen, et al., Nanoscale molecular-switch crossbar circuits, Nanotechnology 14 (2003) 462– 468. [15] M. Forshaw, K. Nikolic, A. Sadek, Ec answers project (melari 28667), Technical report. Available at http://ipga.phys.ucl.ac.uk/research/answers. [16] S.C. Goldstein, M. Budiu, Nanofabrics: Spatial computing using molecular electronics, in: Annual International Symposium on Computer Architecture (ISCA), July 2001, pp. 178–191. [17] Sandt Habinc, Functional triple modular redundancy (ftmr): Vhdl design methodology for redundancy in combinatorial and sequential logic, Technical report, NASA office of logic design, 2002. Available at http://klabs.org/richcontent/fpga_content/pages/notes/seu_hardening. htm. [18] J. Han, P. Jonker, Fault tolerance in nanocomputers: Random interwoven redundancy, IEEE Trans. VLSI, in press. [19] J. Han, P. Jonker, A system architecture solution for unreliable nanoelectronic devices, IEEE Transactions on Nanotechnology 1 (2002) 201–208. [20] J. Heath, P. Kuekes, G. Snider, R. Williams, A defect tolerant computer architecture: Opportunities for nanotechnology, Science 80 (1998) 1716–1721. [21] T. Hogg, G. Snider, Defect-tolerant logic with nanoscale crossbar circuits, HP Labs, 2004. [22] Ashok D. Ingle, Daniel P. Siewiorek, A reliability model for various switch designs in hybrid redundancy, IEEE Trans. Comput. 25 (1977) 115–133. [23] M. Jacome, C. He, G. Veciana, S. Bijansky, Defect tolerant probabilistic design paradigm for nanotechnologies, in: DAC, June 2004, pp. 596–601. [24] Mahim Mishra, Seth Copen Goldstein, Defect tolerance at the end of the roadmap, in: International Test Conference (ITC), Charlotte, NC, September 30–October 2, 2003. [25] K. Nikolic, A. Sadek, M. Forshaw, Architectures for reliable computing with unreliable nanodevices, in: Proc. IEEE-NANO’01, IEEE, 2001, pp. 254–259. [26] A. Papoulis, Probability and Statistics, Prentice–Hall International Inc., 1990. [27] W.H. Pierce, Fault-Tolerant Computer Design, Academic Press, 1965. [28] Daniel P. Siewiorek, Robert S. Swarz, Reliable Computer Systems: Design and Evaluation, Digital Press, second ed., Burlington, MA, 1992. [29] SMART Tool, http://www.cs.wm.edu/~ciardo/SMART/.
Probabilistic Analysis of Self-Assembled Molecular Networks
151
[30] M. Stan, P. Franzon, S. Goldstein, J. Lach, M. Ziegler, Toward nanocomputers, Proc. IEEE 91 (11) (2003) 1940–1957. [31] K. Trivedi, J.B. Dugan, Computer-aided reliability analysis of fault-tolerant systems, Indian Academy of Sciences 11 (1&2) (1987) 209–220. [32] K. Trivedi, R. Sahner, Reliability modeling using SHARPE, IEEE Transactions on Reliability R-36 (2) (1996) 186–193. [33] J. von Neumann, Probabilistic logics and synthesis of reliable organisms from unreliable components, Automata Studies (1956) 43–98. [34] J. Tierney, W.G. Brown, R. Wasserman, Improvement of electronic-computer reliability through the use of redundancy, IEEE Trans. Electron. Comput. EC-10 (September 1961) 407– 416.
153
Chapter 7
The “Programming Language” of Dynamic Self-Assembly Ann M. Boucharda,*,1 , Christina E. Warrenderb,** , Gordon C. Osbournc,***,1 a Physical, Chemical, and Nano Sciences Center, Sandia National Laboratories,
P.O. Box 5800, MS 1423, Albuquerque, New Mexico 87111, USA b Cognitive and Exploratory Systems, Sandia National Laboratories, P.O. Box 5800, MS 1188, Albuquerque, New Mexico 87111, USA c Complex Systems Science, Sandia National Laboratories, P.O. Box 5800, MS 1423, Albuquerque, New Mexico 87111, USA Abstract. We show how protein dynamic self-assembly processes map naturally onto a formal model of computing, the random access machine (RAM), which is equivalent to a Turing machine. Specifically, we show that many biological processes that do not appear to be information processing, such as synthesis of macromolecules, structural assembly, transport, disassembly, and degradation of molecules, actually do perform computation when viewed from the RAM perspective. With this view that dynamic self-assembly processes are performing computation, we then look at this relationship from two perspectives. First, if self-assembly processes in living systems are performing computation, what algorithms are they carrying out? We discuss examples of algorithms implemented by living systems at multiple hierarchy levels. Second, if we can understand the “programming language” of dynamic self-assembly, can we design programs to self-assemble novel structures or materials? We give example computer simulations of programmed dynamic self-assembly of nanostructures.
1. Introduction In living systems, biochemical reactions that map different input signals to specific outputs are intuitively recognized as performing information processing. This information processing occurs at many levels. At the molecular level, information processing can take place by conformation changes and shape recognition [1,2]. Molecular networks, and in particular, protein networks can also perform several computational functions, as noted by Bray [3] and references therein. In gene regulatory networks, specifically, the process of gene expression has been * E-mail: ann@zunomi.com. ** E-mail: cewarr@sandia.gov. *** E-mail: gordon@zunomi.com. 1 Current address: Zunomi, LLC, 11024 Montgomery Blvd. NE Suite 161, Albuquerque, NM
87111, USA. STUDIES IN MULTIDISCIPLINARITY VOLUME 5 ISSN 1571-0831/DOI: 10.1016/S1571-0831(07)00007-X
© 2008 Elsevier B.V. All rights reserved.
154
Chapter 7
demonstrated by Ben-Hur and Siegelmann [4] to simulate memory bounded Turing machines. Communication between different levels of information processing has also been noted. Signals external to an organism are sensed by specific cells designed to transduce this type of signal. These cells process the signal, then can output communication to other cells, which can result in gene expression in those cells. The outputs (newly synthesized proteins, hormone secretion, etc.) then percolate from the molecular level back up the cellular level to the organism level to drive the new state or behavior of the organism [5]. Other efforts have shown how selected chemical reactions can be mapped to a digital computing model [6,7]. Agutter and Wheatley [8] argued that such protein networks behave as analog rather than digital devices, in which the output is a weighted sum of responses over the population. In any event, regardless of whether the computing is thought to be digital or analog, or whether the processes occur at the molecular, cellular, or organism level, the focus of these efforts has been on processes that are readily recognized as information processing, mapping inputs to outputs. Living systems, however, and protein molecular machines in particular, perform a large range of functions other than obvious input–output circuits. They carry out the vast majority of the construction, maintenance, and actuation tasks of the cell: building macromolecular structures, producing movement, synthesizing specific chemical species, degrading molecules, and disassembling structures. We refer to these processes collectively as “dynamic self-assembly” processes. Conventional wisdom distinguishes proteins involved in such processes from those whose primary function is to transfer and process information. For example, Bray [3, p. 310] stated, “To liken such proteins to computational devices is inappropriate,” except to the extent that they are regulated by the information processing mechanisms. This sentiment was echoed by Agutter and Wheatley [8, p. 14], who wrote, “Apart from the numerous other functions of cell proteins, including synthesis, degradation, structural assembly, motor activity and secretion,” a subset of proteins are specifically involved in information transfer and processing. Conrad [5, p. 157] also suggested that there are two distinct types of functional processes in biological systems, those that “involve information processing in a direct way, as in control, measurement, or problem solving” and those such as energy metabolism, that only involve information processing in an indirect way as a control mechanism. In this chapter, we take a different approach to examining the computing capabilities of biological processes. We show that the protein properties that enable dynamic self-assembly map very naturally to a formal model of computing, the program machine [9], also called the random access machine (RAM) [10], which is equivalent to a Turing machine [9]. A key aspect of the RAM model in living systems is the unary representation of registers (numbers) by the count of physical objects, for example, the number of molecules of a particular species, the
The “Programming Language” of Dynamic Self-Assembly
155
number of particles in a “pile,” or the length of a polymer. Increasing a number is achieved via self-assembly (synthesizing new molecules, transporting particles to the pile, or adding subunits to the polymer), while decreasing a number is achieved by disassembly (degradation of molecules, transporting away from the pile, or removing from the polymer). Thus, when viewed from the RAM perspective, many of these “other” biological processes—synthesis, degradation, assembly, movement—do carry out computational operations. We also show that the same computing model is applicable at other hierarchy levels of biological systems (e.g., cellular or organism networks as well as molecular networks), suggesting that RAM algorithms can scale up to greater spatial and temporal scales. In other words, much, if not all, of the business of a living system’s building and maintaining itself can be viewed as the physical expression (i.e., execution) of programs, the “algorithms of life.” The “programming language” of dynamic self-assembly is unlike any language used to program today’s digital computers. In programming with anything from high-level languages down to assembly language, the sequencing of operations (functions) is taken for granted. It is determined by the order in which the programmer specifies the commands. In contrast, with dynamic self-assembly computing, as we will discuss, the sequencing is driven by the order in which molecular species (or cells, or organisms) selectively interact. In addition, on modern digital computers, many different software programs run on a single piece of hardware (the computer—a universal Turing machine). This is in striking contrast to RAM computing in living systems, in which many different sets of hardware, at different hierarchy levels (e.g., molecules, cells, and organisms), run similar “software.” Indeed, different RAM hardware implementations of the same algorithm can look so different from each other as to greatly disguise the underlying software similarities. “Writing” a dynamic self-assembly program, then, is very different from writing software for modern computers. In addition to identifying the operations and their desired order, it also requires cleverly determining an appropriate set of hardware to execute it. That is, one needs to identify, discover, or design hardware components that, when allowed to interact, execute the desired program (including the operations on appropriate registers, and the proper sequencing of these operations) by building, reconfiguring, or disassembling physical structures. We have two motivations for examining dynamic self-assembly in computational terms. First, understanding the algorithms of biological systems may provide some insight into their ability to develop, persist, reproduce, and evolve. We hypothesize that the algorithms that have evolved in living systems are those that result in useful (often re-usable and reconfigurable) structures, that can be re-implemented at many hierarchy levels, and that maintain the system in a farfrom-equilibrium state. As a first step in understanding these algorithms, we examine some real biological dynamic self-assembly processes, in computational
156
Chapter 7
terms, and describe the algorithms they are implementing in the RAM model. Specifically, we present pseudocode programs for the dispersal and condensation of pigment granules in melanophores (color-changing skin cells of fish and reptiles). In this example, transport of the pigment granules by motor proteins plays a key role. We also discuss how the condensation algorithm scales to populations of cells and organisms. Then we present a flow diagram of a program performed by microtubules, using dynamic instability to search for stabilizing proteins located around the cell. Here the RAM program is implemented by the dynamic assembly and disassembly of physical structures, microtubules. These examples demonstrate how some of the processes specifically identified by others as non-computational (assembly, disassembly, and transport) really do carry out computation from the RAM perspective. Our second motivation for understanding dynamic self-assembly computing is to apply this understanding to build novel structures and materials. As mentioned above, programming dynamic self-assembly processes involves determining the appropriate set of hardware components that, when allowed to interact, executes the desired steps in sequence, and in the process, assembles the desired structures. To illustrate, we show results from two example computer simulations. In the first, the natural microtubule search-and-stabilize algorithm is harnessed to build a specific physical pattern. Then, upon the introduction of a particular signal, the same algorithm is triggered to re-run, but because of the different conditions (as a result of the signal), it reconfigures to a different pattern. The second example illustrates how microtubule dynamic instability can be used to harvest and deliver randomly distributed nano-particles to a localized region to build a nano-scale version of a rock-wall. This program combines the microtubule search-and-stabilize algorithm, the particle condensation algorithm (as seen in the melanophores), and others. Thus, this chapter reports both the first dynamic selfassembly programs we have identified in living systems, and the first dynamic self-assembly programs we have designed ourselves.
2.
The RAM Computing Model
The dynamic self-assembly properties of proteins map well onto the properties of the nondeterministic random access machine (RAM) model of computing. The RAM model is perhaps less well known than the Turing machine model of computing. The random access machine has been proved to be equivalent to a Turing machine. That is, any program implemented by a RAM could be implemented by a Turing machine and vice versa [9,10]. It is important to note, however, that the protein computing we discuss here is not equivalent to a universal Turing machine—a Turing machine that can run any computable program on a single set of hardware. Rather, it is equivalent to a Turing machine designed to run one
The “Programming Language” of Dynamic Self-Assembly
157
program with a table of inputs and states that map to outputs and states. Furthermore, it is a nondeterministic Turing machine, in which there is more than one output/state that could result from the same input/state. What features or components are necessary for computing with the RAM model? We review the features here, from Minsky [9]. (i) First, it requires data registers, a means of storing and accessing numbers. Registers must be able to hold any size number. Modern digital computers rely on digital logic and binary numbers. In living systems, in contrast, registers are commonly embodied in a unary, rather than binary, representation. (ii) Computing with the RAM model also requires a small number of fundamental operations on those registers. There are many combinations of those fundamental operations out of which all computations can be built. They are all equivalent. That is, it has been proved that one set of fundamental operations can be computed from any of the others. Thus, if proteins can implement any one of these sets of fundamental operations (or a combination of them), they can be used to construct a RAM program. One basic set is zero, increment, decrement/jump, halt. “Zero” means set the value of the register to 0, then go on to next instruction. “Increment” means add 1 to the value of the register, then go on to the next instruction. “Decrement/jump” means if the value of the register is not zero, then decrease it by 1 and go on to the next instruction; otherwise jump to some other instruction, which must be specified. “Halt” means stop the program. If one register is already zero at the beginning of the program, then only increment, decrement/jump, and halt are needed. If, at some point in the program, there is no “next” instruction, an explicit halt is not needed. The decrement/jump operation is noteworthy because it provides a mechanism for branching, i.e., decision making. Under one set of conditions (the register value is non-zero) the program does one thing; under different conditions (register value is zero) it does something else. This is an essential part of computing (and living systems must be able to make decisions in order to branch to different behaviors under different conditions). Minsky [9] also proved that other operations can be made up of this fundamental set: copy from one register to another; jump unless equal (another branching operation); and repeat, or loop. It is a straightforward exercise to show that the branching operations greater than, greater than or equal to, less than, and less than or equal to can also be programmed from the fundamental operations. Thus, we can use these operations as well in our RAM programs, as if they were subroutines. (iii) The other requirement for RAM computing is to sequence the operations. Operation sequencing is taken for granted by programmers of modern digital computers, because the operations of the program are executed deterministically in the order in which the programmer wrote them. As will be explained shortly, however, when computing with proteins, the sequencing is where much of the
158
Chapter 7
nondeterministic aspect of the computing occurs, because it is implemented by stochastic dynamic self-assembly processes.
3. 3.1.
Proteins as Elements of a RAM Computer Registers and Their Operations
We want to show how proteins (or indeed, other types of molecules as well) can be used to implement a RAM computer. We discuss data registers and their operations together. As mentioned above, there are numerous sets of equivalent fundamental operations, but in general they all include incrementing and decrementing registers, and branching based on the value of one or two registers. In this subsection, we discuss the increment and decrement operations, and leave the discussion of branching to a later subsection. Proteins readily embody data registers in a unary representation: the current value of a data register (a number) is represented by a simple count of objects. The fact that proteins embody numbers in a unary representation is highly significant. If we look for binary numbers (to which modern computer users are accustomed) in biological systems, few if any examples are found, and the ubiquitous unary numbers are completely overlooked. Furthermore, although binary registers require complex encoding machinery to do even the simple increment and decrement operations (because of having to carry, borrow, and reset digits), with unary registers, these same operations are easy to achieve physically. The unary representation also appears to lend itself well to evolving many different ways to store numbers and operate on them. Figure 7.1 illustrates several examples of unary registers implemented with proteins or other molecules. A more detailed description is provided in Ref. [11]. The simplest example (Fig. 7.1a) is a count of a specific molecular species. This type of register is incremented by the synthesis of another copy of this species and decremented by the degradation of one of these molecules. A second example relies on a molecular species being able to remain stable in two alternative conformations, say, conformation A or B (Fig. 7.1b), with the value of the register given by the number of molecules in conformation B. Assuming the default conformation A, then an enzyme that can change it to B can serve as an increment. A different enzyme that changes B conformation back to A acts as a decrement. Additionally, if B is a metastable state, and will spontaneously (although perhaps slowly) revert to conformation A, this is a decrement operation in itself. In this case, then, the number of molecules in conformation A is irrelevant (as long as there is always one available to convert to B when needed). New proteins in conformation A can be synthesized and degraded, and this does not affect the value of the register at all. A third example is to represent the register by a protein that can be phosphorylated, i.e., a phosphate group can be attached, such that the conformation and/or
The “Programming Language” of Dynamic Self-Assembly
159
Fig. 7.1. Illustration of different protein implementations of unary registers and their values. (a) Count of proteins. (b) Count of proteins in the folded conformation. (c) Count of phosphorylated proteins. (d) Count of assembled heterodimers. (e) Count of phosphorylated sites. (f) Count of objects in the pile. (g) Count of proteins within the inner membrane. (h) Length of polymer. (i) Boolean: whether or not the microtubule (line) is bound to the stabilizing protein (circle).
activity of the protein is altered (Fig. 7.1c). A kinase (an enzyme that phorphorylates a specific substrate) associated with the register protein can act as an increment, while the associated phosphatase (an enzyme that dephosphorylates the substrate) can serve as a decrement. In the same way, other chemical groups that can be bound to proteins, such as methyl, nucleotidyl, or fatty acyl groups, can also be used to represent a register. There are other variations on this theme. If two molecular species, say, C and D, that can be stably bound together into a heterodimer CD, then the number of CD heterodimers can represent a register (Fig. 7.1d). An enzyme driving the dimerization increments the register; one that breaks the dimers into their constituents C and D decrements the register. This same scheme works even if the two molecules are the same (e.g., CC dimers). Alternatively, the assembled complex could be more complicated (e.g., ribosomes). Some molecules or molecular complexes have a large number of phosphorylation or methylation sites. The number of these sites that are phosphorylated or methylated can represent a register, with the appropriate proteins acting as increment and decrement operators (Fig. 7.1e).
160
Chapter 7
Rather than representing a register by the overall number of objects anywhere in the cell, it could be represented by a localized population (Fig. 7.1f). Any mechanism that transports objects to the specific location, can increment the register. Transporting away from the location is a decrement. An example is motor proteins moving cargo to/from a specific location. An alternative implementation is the number of molecules of a particular species within a specific membrane-bound compartment (Fig. 7.1g). The transfer of a register molecule across a membrane from one compartment (e.g., the cytoplasm of a cell) into another compartment (e.g., into an organelle) effectively decrements one register and increments the other. Note that in such cases, the two registers are effectively coupled, since a single physical process performs operations on both registers simultaneously. Yet another representation is the size or magnitude of an assembled structure, for example, the length of a polymer, either in units of monomers or in units of length (e.g., nm) (Fig. 7.1h). Obvious examples of this are the cytoskeletal filaments microtubules, actin filaments, and intermediate filaments. We mentioned at the outset of this section that molecules other than proteins can also act as RAM computing elements. Deoxyribonucleic acid (DNA) provides two examples of polymer registers. At the ends of chromosomes in eukaryotes, telomeres contain repeated nucleotide sequences. “The idea that telomere length acts as a ‘measuring stick’ to count cell divisions and thereby regulate the cell’s lifetime” is supported by experiment [12, p. 265]. Thus, telomeres can be viewed as registers that are decremented by cell division. King et al. [13] proposed the intriguing possibility that the number of simple sequence repeats (SSRs) in microsatellite DNA acts as a “tuning knob” influencing gene activity. If this is correct, then SSRs can be viewed as unary registers whose values are important parameters for the algorithm associated with gene expression. Figure 7.1i illustrates another embodiment of a register that serves well as representing a Boolean value. Analogous to the examples shown in Figs. 7.1c, d, and g, it relies on the binding of one type of molecule to another. However, in this case of Fig. 7.1i, there is only one microtubule (line) and one stabilizing protein (circle), so there are only two possible values to the register, 0 (unbound) or 1 (bound). In bacterial chemotaxis, the direction of the flagellar motor (clockwise or counter-clockwise) can also be viewed as a register with only two values. Any of these representations of registers and their operations are equivalent. That is, any physical embodiment of these numerical and Boolean registers can be used to compute the same algorithm. Thus, in living systems, many alternative sets of “hardware” can carry out the same “software.” This list of representations is not exhaustive, but even so, it is interesting to note that so many assembly, degradation, transport, synthesis, etc. activities (i.e., dynamic self-assembly activities) do map onto RAM registers and their operations.
The “Programming Language” of Dynamic Self-Assembly
161
Fig. 7.2. Illustration of protein dynamic self-assembly properties important for sequencing RAM computations. Of the four proteins shown in (a), the light-colored and white proteins on the left can selectively bind at complementary sites (b). This results in a conformation change of the white protein, exposing another binding site, to bind to the black protein (c). This binding again changes the conformation of the white protein to release the light one to which it was bound. It also changes the conformation of the black protein, exposing another binding site, so it can bind to the darker protein (d). The order in which these proteins interact is driven by the order in which matching binding sites are exposed.
3.2.
Sequencing Operations on Registers
The third ingredient of RAM computing is sequencing the operations. Just as there are a number of different physical manifestations of registers and operations, there are multiple ways that sequencing can be implemented. They all rely on a few crucial properties of proteins and their interactions that we have identified as important for dynamic self-assembly and RAM computation. (1) Proteins have tremendous selectivity of their binding sites, analogous to a lock and key. (2) Binding or unbinding a ligand at one of these sites can result in a conformational change of another part of the protein. This conformational change can perform some sort of actuation, such as moving (e.g., in motor proteins) or driving an assembly or disassembly reaction. (3) A conformational change can also expose (or hide) additional binding sites, which in turn can bind and cause a conformational change resulting in actuation, or exposing or hiding yet another binding site. See Fig. 7.2. Signaling cascades are easily recognized as a set of interactions that proceeds in a controlled sequence. A specific sequence of interactions is “wired” together by mixing together a set of molecules with binding sites that drive them to execute sequentially. For example, suppose each protein has a “trigger” site that activates it (e.g., the phosphorylation site of a kinase that must be phosphorylated
162
Chapter 7
itself in order to be active) so that other sites are exposed, such as a catalysis (kinase) site and an ATPase site (to bind and hydrolyze ATP). Suppose kinase A’s catalysis site binds to kinase B and phosphorylates its trigger site, kinase B’s catalysis site phosphorylates kinase C’s trigger site, and kinase C’s catalysis site phosphorylates kinase D’s trigger site. Once A is triggered, then B will execute, followed by C, followed by D. The kinase cascade described above can be viewed as either a sequence of operations strung together, or as a single sequencing signal. If each activated kinase species represents a register as in Fig. 7.1c, then one kinase acts as an increment operator on its substrate. Therefore, the A–B–C–D pathway would be viewed as sequencing three increment operations together (A increments B, B increments C, and C increments D). Alternatively, if the entire cascade is sandwiched between other register operations (e.g., the expression of more copies of one protein and the degradation of another), and the count of molecular species A, B, C, and D is not important, then the entire cascade may be viewed as a single jump from one operation to the other. These cascades can thus be viewed either by the input– output circuit model used by other authors or by the RAM model, whichever is most representative of its function in a given context. Another mechanism for enforcing sequence is with scaffold proteins. These proteins enforce a particular sequence of operations by physically tethering or activating specific proteins (operators) in a particular order. See, for example, Ref. [14]. It is interesting to note that both types of sequencing mechanisms described here facilitate wiring together RAM algorithms in a modular, evolvable [15] way.
3.3.
Branching (Decision-Making)
A common branching mechanism in protein networks results from a competition between two populations, e.g., kinases and phosphatases that act on the same type of protein. Assume that when the target protein is phosphorylated it is activated as an enzyme for some reaction. In a deterministic sense, if there are more kinases than phosphatases for the target proteins, then the kinases will “win,” and some target proteins will remain phosphorylated, so that they can catalyze their reaction. If there are more phosphatases, then they win instead, and no target proteins stay activated long enough to perform their catalytic function. This represents an algorithm like “if a > b, then do x,” where a represents the population of kinases, b the population of phosphatases, and “do x” is the reaction catalyzed by the target protein. However, because the kinase and phosphatase molecules diffuse around in the “soup” of the cytosol, reacting at random with the target proteins, there is a “race” between the two species to react with the target protein. Sometimes when there are fewer kinases than phosphatases, a phosphorylated target protein will have the opportunity to perform its catalytic function before
The “Programming Language” of Dynamic Self-Assembly
163
it becomes dephosphorylated. Similarly, occasionally when there are more kinases than phosphatases, the target protein will not get a chance to catalyze a reaction before being dephosphorylated. Statistically, when a b, “do x” will almost always occur, and when a b, “do x” will almost never occur, but when a ≈ b, there is a smooth sigmoidal transition where the probability of “doing x” goes from 0 to 1. Thus, the stochastic nature of such races leads to “errors” in computation, particularly when the race is close. Decision making or branching can also be accomplished with only one or two molecules. The only requirement is two possible outcomes. For example, a new tubulin dimer could be added to the end of a microtubule (increment), or the last tubulin dimer might dissociate (decrement). A motor protein may take another step along the cytoskeletal fiber to which it is currently bound, or it might fall off. In both of these cases, there is a “race” between two stochastic events. There are two possible outcomes; the decision is made by whichever one happens first. In general, the decision-making/branching we observe in Nature involves some sort of race or competition. The decision is made to follow the “winner”—usually (or most likely) the faster, stronger, or more numerous.
4.
Hierarchical RAM Computing
The RAM computing model is applicable to living systems not only at the level of protein networks, but at other hierarchy levels as well. By encapsulating proteins within membranes (the nuclear membrane, organelle membranes, or the cell’s plasma membrane), RAM algorithms can be carried out at the level of cellular networks. Then, by encapsulating cells within another “membrane” (e.g., a skin or exoskeleton), algorithms can again be carried out at the level of organism networks. In this way, RAM programs can be scaled up to greater spatial and temporal scales. Since cells and organisms are readily observed to make decisions and change their behavior, the branching and sequencing aspects of the RAM model are obvious at these levels, so we will not discuss them further. What may not be obvious is how the registers and their operations are represented at the cellular or organism levels. Here, again, living systems embody registers in a unary representation, which can perhaps account for their lack of previous recognition. Figure 7.3 shows some examples of similar registers and operations at the levels of proteins, cells, and multi-cellular organisms. In Fig. 7.3a, the number of proteins is the register, and synthesis and degradation of the proteins are the increment and decrement operations, respectively. Compare this to Fig. 7.3b, in which the number of cells is a register. Cell division increments the register; apoptosis (or other mechanisms of cell death) decrements the register. Figure 7.3c shows a population of organisms as a register. Birth is an increment; death is a decrement.
164
Chapter 7
Fig. 7.3. Illustration of registers and their operators at different hierarchy levels. In (a)–(c), the register is represented by the number of objects, (a) molecules, (b) cells, and (c) organisms. The increment (decrement) operations are shown in the lower left (lower right) corners of each panel. In (d)–(f), the register is represented by a localization of objects in the center, (d) intracellular cargoes, (e) bacteria, and (f) ants. Increments (decrements), illustrated by + (−) arrows, are implemented by (d) motor proteins adding (removing) cargoes from the center, (e) bacteria moving by chemotaxis to (from) the food source, and (f) ants walking to (from) the food pile.
We mentioned above (and illustrated in Figs. 7.1e and f) that a localized collection of objects can represent a register. Figure 7.3d illustrates a cell in which motor proteins carry cargo by “walking” on microtubules (lines radiating outward from the center). Microtubules are cytoskeletal filaments that nucleate on a protein complex, the centrosome, usually located near the nucleus of a eukaryotic cell. The number of cargoes at the centrosome represents a register. Motor proteins carrying cargo to the centrosome increment the register; those carrying cargo away decrement it. This is analogous to Fig. 7.3e, which illustrates bacterial chemotaxis. The number of bacteria that have reached the attractant (e.g., food source) in the center represents a register. Each individual bacterium’s arrival at the food source increments the register. A bacterium that leaves the attractant serves as a decrement. Figure 7.3f shows ants arriving at a food source, incrementing the register (number of organisms at the source). When an ant leaves the source, it decrements the register.
The “Programming Language” of Dynamic Self-Assembly
165
Although these examples are far from exhaustive, they illustrate a key point. Just as, at the molecular level, the same algorithms can be implemented by different hardware, the same algorithms can even be implemented at different hierarchy levels, again with different hardware. We hypothesize that the algorithms that life does implement are the ones that can be reproduced at the next level, so that life can scale up and evolve more complex forms. Indeed, there may be survival advantages for algorithms that can be implemented in many different hardware forms. That is, the algorithms that survive evolution may be the very ones that can be re-used robustly in many different physical contexts at different scales.
5.
RAM Programs in Living Systems
Having established that proteins in general have all the properties necessary to carry out RAM programs, we now turn to specific proteins in real living systems and examine what algorithms they actually implement. That is, by scrutinizing a specific biological process, we identify unary registers and the mechanisms of incrementing and decrementing those registers. Then we track the sequencing of those operations in order to capture explicitly (in pseudocode or a flow diagram) the RAM program corresponding to that biological process. Although the examples we present are relatively simple, they do demonstrate how RAM programs can be implemented in real systems and give us the first steps toward understanding this different kind of programming language.
5.1.
Melanophore Programs Using Active Transport
In color-changing fish skin cells (melanophores), pigment granules (cargoes) with both inward- and outward-walking microtubule-associated motor proteins enable the cell to change color. One cellular signal drives the inward motors to carry the pigment to the centrosome, leaving the body of the cell free of pigment, thereby making the cell transparent. A different cellular signal stimulates the outward motors to disperse the pigment, making the cell opaque [16]. We identify a collection of pigment particles at the centrosome (as in Fig. 7.3d) as register A. An accumulation of pigment particles anywhere else within the cell represents registers B, C, D, . . . , as many registers as necessary to account for all of the collections of pigment particles at any time. Anywhere a single pigment granule sits by itself is a register of value 1. A motor protein that carries a pigment granule to a pile increments that register, while one that carries a pigment granule away from a pile decrements the register. So, with these definitions, if a pigment granule is sitting by itself (B = 1) and a motor protein moves it somewhere else, this is equivalent to (decrement B, increment C) so that (B = 0; C = 1). The two registers’ operations are coupled by the single physical process.
166
Chapter 7
First we examine the algorithm to disperse the pigment. From the perspective of an individual cargo/motor-protein “agent,” the algorithm is extremely simple: decrement reg, increment reg (reg = reg ). Combining a large number of agents, all executing such a simple algorithm, results in a complex collective behavior. If we were to capture this collective behavior as if it were a single global algorithm, the dispersal algorithm could be viewed as loop: for reg = A, B, C, D, . . . for i = n(reg) down to 1 decrement reg increment reg next i next reg until n(reg) = 1 for all reg where n(reg) is the value in register reg. Although this is written as if there are three nested loops, nested in a particular order, in reality, there is no real ordering. All of the registers can be decremented simultaneously, and multiple decrements can occur on a single register at the same time. Because when a register is decremented, it might inadvertently increment another register, we add the outer loop to split up piles that accidentally got piled together. In a deterministic sense, the process continues until every pigment granule sits alone. That would be perfect dispersal. However, because of the stochastic nature of the system, there may be places (including at the centrosome) where a small number of pigment granules stay together, so that the registers are not exactly one. Nevertheless, the end result is close enough to have the physical effect of making the cell opaque. The condensation algorithm can be written as for reg = B, C, D, . . . for i = n(reg) down to 1 decrement reg increment A next i next reg Again, the loops need not be performed in order. The important part is “decrement reg; increment A.” All pigment particles can be moved to the centrosome simultaneously. The outcome of a deterministic version of this algorithm would be every granule residing at the centrosome (register A). However, again because of the stochastic nature of the system, perhaps not every particle will be moved to the centrosome, but it will be close enough that the cell is transparent.
The “Programming Language” of Dynamic Self-Assembly
167
These programs are so simple that, from the agent’s perspective, no branching is required. Since all registers can run in parallel (i.e., the innermost loop of both programs is like a subroutine that can be run on each register simultaneously), there is very little sequencing to enforce either. It just needs a signal to start either the dispersal program or the condensation program on each register.
5.2. Scaling Algorithms to Higher Hierarchy Levels As mentioned previously, the same RAM algorithms can be implemented by hardware at different levels of hierarchy (and therefore at different scales), such as populations of molecules, cells, or organisms. We just described the condensation algorithm for populations of molecules in a melanophore. This same algorithm is applicable also to bacteria in chemotaxis. The motility of each bacterium itself acts as a combination of decrementing another register and incrementing register A, the number of bacteria at the focus of the attractant. Similarly, one could view the number of ants (or food particles) in an ant colony as register A. The ants gather food from other locations (other registers) to the colony, decrementing the other registers and incrementing register A. Hence, this one condensation, or “gathering,” algorithm is implemented in Nature on at least three different scales or levels of hierarchy.
5.3.
Search-and-Stabilize Program Using Structural Assembly
The second example program we describe has much more complicated sequencing, with numerous branches and loops. In contrast to the previous example, where active transport was used to operate on registers, in this example registers and their operations are implemented by the structural assembly of microtubules (MTs). In order to put this example in context, we briefly review a current wellaccepted model of MT growth and dynamics [12,17]. In a living animal cell, tubulin dimers bind to nucleating sites on the centrosome and then stack together to grow a cylindrical MT from each of these nucleating sites. Each free tubulin dimer is tightly bound to a guanosine triphosphate (GTP) molecule that is hydrolyzed to guanosine diphosphate (GDP) shortly after the tubulin is added to the growing MT. Whereas the GTP-tubulin packs efficiently together, GDPtubulin molecules have a different conformation and bind less strongly to each other. If GTP-tubulin is added faster than the GTP in the MT is hydrolyzed, a cap of GTP-tubulin holds together the growing end, and the MT continues to grow for some time. However, if, due to the randomness of chemical processes, the GTP is hydrolyzed all the way to the end of the MT before new GTP-tubulin is added, the weakly interacting GDP-tubulin at the end will unravel the MT, often in a catastrophic manner. If new GTP-tubulin attaches before the MT has collapsed completely, it can be “rescued” and resume growth. This alternating MT
168
Chapter 7
Fig. 7.4. Schematic illustration of registers represented by a microtubule. When a new GTP-tubulin dimer is added, register A is incremented. When a GTP-tubulin is converted to GDP-tubulin by GTP hydrolysis, register A is decremented and register B is incremented.
growth and collapse is termed dynamic instability. If a MT collapses completely, a new one is quickly nucleated in its place, and its growth is, in general, in a different direction from the previous MT. In living cells, dynamic instability is a natural and common behavior of microtubules. Dynamic instability can be suppressed, however, by stabilizing proteins that bind to the ends of MTs (or along their length), stabilizing them against disassembly. Such stabilized MTs serve as tracks for the transport of intracellular cargo by motor proteins, and help position organelles where needed by the cell. Therefore, dynamic instability, with growth in a new direction after complete MT collapse, provides a mechanism for searching the space of the cell until the stabilizers are located and bound. The result is a long-term physical structure of stabilized MTs in support of the cell’s activities. Now let us examine this search-and-stabilize behavior as a RAM computer program. Each MT in the cell is executing the same program, so here we discuss the algorithm for a single MT. We have identified two registers embodied by the MT, as illustrated in Fig. 7.4. Register A consists of the GTP-tubulin capping the MT; register B is made up of the GDP-tubulin closer to the centrosome. When a new GTP-tubulin dimer is added, register A is incremented. When a GTPtubulin is converted to GDP-tubulin by GTP hydrolysis, register A is decremented and register B is incremented. If there is no GTP cap, GDP-tubulin dimers can dissociate and decrement register B. Figure 7.5 shows a flow diagram of the search-and-stabilize program. STABILIZED may be viewed as a register with a Boolean value. This register is implemented by a bond between the end of the MT and a stabilizer, as in Fig. 7.1i. If a bond exists, STABILIZED is true, otherwise false. (Alternatively, if a bond exists, STABILIZED is 1, otherwise 0.) At the beginning of the program, STABILIZED is false. DIRECTION can also be viewed as a register that represents the direction of MT growth. A DIRECTION is selected at random (rand) by physical processes. Then the program enters a network of operations that can branch and loop, all running in parallel, with each operation occurring at a stochastic time, depending on diffusion of molecules, collisions, and binding rates. Adding a GTP-tubulin to
The “Programming Language” of Dynamic Self-Assembly
169
Fig. 7.5. Flow diagram of the microtubule search-and-stabilize program. Each box represents a RAM computer operation. A and B are registers as shown in Fig. 7.4. STABILIZED and DIRECTION are registers that hold a Boolean value and a direction, respectively; a and b are the values of registers A (number of GTP-tubulin dimers) and B (number of GDP-tubulin dimers), respectively. Arrows show the sequencing of operations, with labels indicating branch conditions; there are many parallel sequences in this program. Growth of the microtubule occurs through the [+]A operation; collapse occurs via the [−]B/jump operation; paths that lead to rescue and re-nucleation are labeled.
the MT increments register A (operation [+]A). After this operation, two operations follow. Note that this is the only fork in the flow diagram where both paths are executed; all others are conditional branches. On the left branch, if the MT has reached a stabilizer, it binds to it, setting the STABILIZED register to true. If not, it loops back to adding another tubulin dimer ([+]A). The right branch from [+]A implements GTP-hydrolysis. When this occurs, at some stochastic time later, this decrements register A and increments register B. Both occur simultaneously, so we have shown it as one operation ([−]A; [+]B). Note that we used [−]A rather than [−]A/jump here. The jump occurs when the value of the register is already zero when the decrement is attempted. In this program, there is no way to reach this instruction if the value of register A is already zero, therefore no jump can occur. After GTP-hydrolysis of one tubulin dimer, what happens next depends on whether all of the GTP has been hydrolyzed. If there are still GTP-tubulin dimers left in the MT, i.e., the value of register A, a, is not zero, and the MT is not stabilized, then it loops back to [+]A, adding another GTP-tubulin. Thus there are two loops in this program (so far) that represent MT growth, both originating and
170
Chapter 7
returning to [+]A. The left loop implements the situation where multiple tubulin dimers are added without any GTP-hydrolysis occurring in between. The right loop includes GTP-hydrolysis, but at a slow enough rate that the GTP-tubulin cap remains (a = 0) and growth continues. If, after the GTP hydrolysis, there are no GTP-tubulin dimers left (a = 0) and the MT is not stabilized, GDP-tubulin can dissociate from the MT, decrementing register B ([−]B/jump). As mentioned before, branching (decision making) is one of the mechanisms that make this type of computing stochastic and nondeterministic. The GDP-tubulin could begin dissociating before a is exactly zero. There may be a few dimers of GTP-tubulin left, but not enough to effectively cap the MT. However, such stochastic errors are irrelevant to the overall MT behavior, just as the stochastic errors in the dispersal and condensation programs of the melanophore were irrelevant (i.e., even with errors it was close enough to serve the function of making the cell transparent or opaque). The [–]B/jump operation branches depending on whether the value of register B, b, is zero or non-zero, i.e., whether or not the MT has completely collapsed. If b = 0 (or, with stochasticity, reasonably close to it), the program loops all the way back to picking a new random direction and nucleating a new MT. If the MT has not completely collapsed (b > 0), then the program loops back to two different places in the program. Another tubulin can be added ([+]A), or as long as a is still 0 and the MT is still not stabilized, another GDP-tubulin can dissociate ([–]B/jump). The next operation in both of these loops occurs at some stochastic time later, so essentially they are in a race. If GDP-tubulin dissociates first ([–]B/jump), then the MT continues to collapse. If GTP-tubulin is added first ([+]A), the MT is rescued and the growth mode resumed. So far, we have examined all of the paths in the program involved in the “search” part of “search-and-stabilize.” This fully describes the algorithm for MT dynamic instability, in which paths that lead to the growth of the MT ([+]A) race against the paths leading to GTP-hydrolysis ([–]A; [+]B) and GDP-tubulin dissociation ([–]B/jump). It also includes nucleating a MT in a new growth direction after the complete collapse of a previous one. When the MT encounters a stabilizer and is stabilized (STABILIZED = T), that is the end of the left branch, but not the end of the program. Recall that different paths through the program are running in parallel, so there are many paths down the right branch that have already been launched. Specifically, GTPtubulin can still be hydrolyzed ([–]A; [+]B). As long as there are still GTPtubulin dimers in the MT (a = 0), the program keeps looping back to hydrolyzing it. Finally, when all the GTP is hydrolyzed (a = 0), the program goes into a “sleep” mode in which it simply keeps “checking” if the MT is still stabilized. If this loop were programmed on a modern computer, it would be an infinite loop, and just checking the flag over and over would be a waste of processing resources. However, in reality, the MT does not have to do anything active to
The “Programming Language” of Dynamic Self-Assembly
171
check. It waits passively until something occurs to release the stabilizer from the MT. For example, suppose a signal molecule reaches the stabilizer, stimulating it to unbind from the MT. At that point STABILIZED becomes false, and the program immediately switches over to [–]B/jump, re-launching the race between collapse and growth, and the MT automatically resumes the dynamic instability, “search” part of the program. This behavior will appear below in our examples of programmed dynamic self-assembly.
6.
Programmed Dynamic Self-Assembly
In the previous section, we examined dynamic self-assembly from the perspective of understanding algorithms that are already implemented in living systems. We now investigate how to “program” these processes to build novel structures or materials. In this section, we describe our first dynamic self-assembly programs, designed to build nanostructures, and show their implementation in computer simulations. As mentioned before, “writing” a dynamic self-assembly program requires cleverly determining an appropriate set of hardware components that, when allowed to interact, executes the desired program (including the operations on appropriate registers, and the proper sequencing of these operations) by building, reconfiguring, or disassembling physical structures. Rather than start from scratch designing hardware components, we take advantage of hardware components that already perform some of the functions we desire—specifically, MTs, motor proteins, and the proteins associated with them. Many behaviors of these proteins have been shown to work outside of cells. For example, under suitable conditions, and as long as they are supplied with energy, MTs can form asters on centrosomes [18,19] and undergo dynamic instability [19–22]; motor proteins can carry cargo, such as pigment granules [23,24], drive stabilized microtubules [25], and help self-organize MTs into asters and spirals [26]. The idea of harnessing these molecular machines to build nanostructures bottom-up is attractive. We are beginning to learn what it is possible to program these proteins to do. We design a dynamic self-assembly program by prescribing specific combinations of these proteins plus others specifically engineered to sequence and direct them, and by also specifying the initial spatial distributions of some of these components. To test the program, we include models of these proteins in the prescribed configuration in computer simulations, and watch their collective behavior. Details of the protein models and computer simulations are described elsewhere [27,28].
6.1.
Reconfiguring Network Program
Our first example program uses only MTs, centrosomes, stabilizers, and a few specifically engineered molecules to block and unblock the stabilizers. Figure 7.6
172
Chapter 7
Fig. 7.6. Screen grabs of a simulation demonstrating a reconfigurable MT network. A detailed description of each panel is provided in the text. For colour version, see Colour Plate Section.
shows screen grabs from a computer simulation of this system. We assume an initial spatial pattern of centrosomes and two types of stabilizers (Fig. 7.6a). These stabilizers are identical in their interaction with MTs, but their blocker binding sites differ, so that they bind two different types of blockers. This will enable us to turn on and off the two different types of stabilizers independently. In Fig. 7.6, centrosomes are shown in green, type-1 stabilizers are yellow, and type-2 stabilizers are red. The two sets of stabilizers are arranged in an alternating pattern around the grid of centrosomes. Such an initial pattern could be achieved with currently available nanopatterning technologies. When we introduce a concentration of GTP-tubulin into this system, MTs automatically execute the search-and-stabilize algorithm—they are already programmed to do so—and self-assemble a network. If neither type of stabilizer is blocked (i.e., the MTs can bind to either type of stabilizer), the result is a random network of MTs (green lines), as shown in Fig. 7.6b. This random network is perhaps uninteresting from the standpoint of building nanostructures. However, when we include type-1 blocker molecules, these bind to the type-1 stabilizers (yellow) and change their conformation so that MTs cannot bind to them (blocked stabilizers are shown grey in Fig. 7.6). In RAM computing jargon, the blocker acts as a decrement operator on the STABILIZED register, changing the value from 1 to 0. Any MTs that were bound to those stabilizers are released, and they naturally resume the dynamic instability, “search” part of the search-andstabilize algorithm, as discussed at the end of the previous section. When they
The “Programming Language” of Dynamic Self-Assembly
173
are stabilized by the only available stabilizers, which are all type-2, the resulting pattern, after a stochastic amount of time, is a square grid network (Fig. 7.6c), a more interesting structure. This structure could be used, for example, as a template for mineralization [29,30], to make a network of nano-wires. Furthermore, if we introduce releasers for the type-1 blockers and also introduce type-2 blockers, once again the MTs are released and resume the searchand-stabilize algorithm. Again they bind to the only available stabilizers, but this time they are type-1 stabilizers. The result (again, after a stochastic “wait”) is a diagonal grid pattern (Fig. 7.6d). This new grid could also be used as a template for another mineralization step, if desired. As such, it may be possible to fabricate two interpenetrating grids of two different materials, by using first one grid as a template, then the other. This simple dynamic self-assembly program is essentially the search-andstabilize “subroutine” of Fig. 7.5 triggered a number of times. In this example, we explicitly control the sequencing and the geometry of the desired structure by introducing the blockers and releasers at prescribed times.
6.2.
Directed Transport Program
We now discuss a second example, which uses not only MTs, but also motor proteins carrying cargo, to build a nanostructure. In this case, we assume a symmetry-breaking mechanism can be employed to drive all of the stabilizers to one side. There are numerous mechanisms employed by cells to guide proteins to a localized region within the cell or on its membrane [12]. While it may be relatively easy to localize proteins using these mechanisms, we can then use the pattern of localized proteins as a template to build a nano “rock wall” of any kind of cargo the motor proteins can carry. More importantly for our purposes, this example illustrates how we can program a sequence of dynamic self-assembly subroutines to execute either in parallel or sequentially, in order to collect randomly distributed cargo and deliver it to the desired location. Figure 7.7a shows the initial configuration. A single centrosome (green) is located in the center of the environment (black). Stabilizers (grey) are located on the edge of the environment to the right. Cargoes (red), with both inward and outward motor proteins attached, are randomly distributed throughout the environment. Initially, the conditions are such that the dynein (inward walking) motor protein is more likely to bind to the MT and carry the cargo. So, if there are MTs to walk on, the cargo/motor-protein complexes will execute the condensation algorithm described in Section 5.1. When GTP-tubulin is added, MTs automatically execute their search-andstabilize algorithm (Fig. 7.7b), which serves two purposes. First, when a MT grows out to (or past) a cargo/motor-protein complex, the MT acts as a temporary
174
Chapter 7
Fig. 7.7. Screen grabs of a simulation demonstrating a program to harvest randomly distributed nano-particles and deliver them to a localized region to build a nano “rock wall.” A detailed description of each panel is provided in the text. For colour version, see Colour Plate Section.
bridge. The dynein hops onto the MT and carries the cargo inward to the centrosome (executing the condensation algorithm). When the MT collapses, a new one is nucleated in a different direction, and can act as another temporary bridge. As many MTs rapidly grow and collapse, many directions are sampled, so most of the cargo is condensed to the center in a reasonably short time (Fig. 7.7c). In parallel with the cargo condensation process, the MT search-and-stabilize algorithm achieves another purpose: building a solid bridge to the stabilizers to the right (Fig. 7.7c). So far, the program has involved the search-and-stabilize algorithm of the MTs and the condensation algorithm of the cargo/motor-protein complexes running in parallel. Also in parallel, the concentration of cargoes at the centrosome is compared against a threshold value. When the concentration of cargo at the center is sufficiently high, this stimulates the release of a population of centrosome blockers. When a MT collapses, the centrosome blockers compete with GTP-tubulin to bind to sites on the centrosome. This eventually shuts off MT growth from the centrosome, because all available MT nucleating sites are bound by blockers. Eventually, only the MT bridge to the stabilizers remains. When the concentration of centrosome blockers bound to the centrosome exceeds a threshold, this triggers the next subroutine, by releasing the signal to enhance the activity of the kinesin (outward walking) motor proteins and suppress
The “Programming Language” of Dynamic Self-Assembly
175
the dynein. These motor proteins cross the bridge to deliver the cargo to the stabilizers (Fig. 7.7d), building a “rock wall” of cargo over the original template of stabilizers. If one considers the cargo at the centrosome and stabilizers as registers A and B, respectively, then the motors carrying the cargo from the centrosome to the stabilizers are decrementing A and incrementing B. Like the condensation algorithm, the “loop” over the operations (decrement A; increment B) need not be sequential. Rather all the motors can perform these operations in parallel with other motors. A sufficiently high concentration of cargo at the stabilizers triggers the next subroutine, releasing the MTs and suppressing their growth dynamics, so that collapse is far more likely than growth (Fig. 7.7e). When the last MTs have collapsed, the remaining centrosome blockers block the centrosome entirely, so no more MT growth can occur. We end up with a nano version of a rock-wall (Fig. 7.7f). The cargo itself could be the nanostructure desired. Or again, it could be used as a template for some other structure. We should note that in the system just described, the molecules and complexes themselves carried or released the signaling molecules for the next step in the sequence of assembly and disassembly processes. An alternative approach would be to manually include signaling molecules at the appropriate times. This was the approach taken in the previous example, when specific blockers and releasers were introduced at desired times. These examples highlight the striking difference between programmed static and dynamic self-assembly. In programmed static self-assembly, the components are objects designed to settle into a low-energy, equilibrium configuration (the self-assembled structure of interest) that can remain stable for some time. The predominant approach exploits the self-assembly of DNA base pairs. See, for example, papers in Ref. [31]. In contrast, programmed dynamic self-assembly involves components that are animate—molecular machines, for example—that are energy-driven, far-from-equilibrium, and dynamic. They work as little “construction crews” to perform a sequence of steps (a multi-line program, so to speak) to self-assemble (and possibly reconfigure) the structure of interest. For additional examples of programmed dynamic self-assembly, see Ref. [28].
6.3.
Feasibility of Experimental Realization
We selected motor proteins and microtubules as the hardware for our first dynamic self-assembly programs because many of the required features have been observed in vivo or in vitro, and therefore experimental realization seems quite feasible. The reconfigurable network simulation requires microtubules to nucleate on centrosomes, undergo dynamic instability, and become stabilized when they encounter stabilizing molecules. Microtubules have been seen to form asters on centrosomes [18,19] and undergo dynamic instability [19–22]. Microtubule-capping
176
Chapter 7
proteins [32] may serve as stabilizers. That simulation also requires molecules that control the activity of the stabilizers. Molecules that naturally regulate microtubule capping proteins may act in that role in experiments. The directed transport simulation additionally requires two types of motor proteins that can carry cargo on microtubules, one walking in the plus and the other in the minus direction. Conventional kinesin, e.g., Drosophila melanogaster KHC, walks in the plus direction. The kinesin Saccharomyces cerevisiae Kar3 walks in the minus direction. Motor proteins have been seen to carry cargo, such as pigment granules, in experiments. [23,24,33]. This simulation also requires a means of reducing the activity of each type of motor as desired. Tomishige and Vale [34] showed that it is possible to reversibly lock kinesin motors. Centrosome blockers were also included in the directed transport simulation. In experiments, anti-γ tubulin antibodies [35] might function effectively as centrosome blockers. Many of the key ingredients of these simulations have already been seen experimentally. We hope to see experimental realization of the full simulated systems in the near future.
7.
Conclusion
In this chapter, we have presented the notion that dynamic self-assembly processes of biological systems can be viewed as carrying out RAM computing. A key aspect of the RAM model in living systems is the unary representation of registers (numbers) by the count or magnitude of physical objects (like molecules, particles, or polymers). Increasing a number is achieved via self-assembly (synthesis of new molecules, transporting particles to a pile, adding a subunit to a polymer), while decreasing a number is achieved by disassembly (degradation of a molecule, transporting away from the pile, removing a subunit from the polymer). Thus, when viewed from the RAM perspective, even activities that at first blush appear to have nothing to do with information processing—activities like assembly, movement, synthesis, disassembly, and degradation—do carry out computational operations. We discussed how a dynamic self-assembly program is essentially a set of cleverly determined hardware components that, when allowed to interact, executes the desired program, by building, reconfiguring, or disassembling physical structures. Living systems have already “cleverly determined” (through evolution) appropriate sets of hardware to program the construction of countless structures and drive complex processes. Indeed, many different sets of hardware, at different hierarchy levels (e.g., molecules, cells, and organisms) can run similar “software.” We do not believe that the purpose of such programs is to perform numeric computations, but rather, to build and organize structures and maintain the system in a far-from-equilibrium (ordered) state. We have begun to understand the “programming language” of dynamic self-assembly by examining a few specific biological
The “Programming Language” of Dynamic Self-Assembly
177
processes in terms of the RAM computing model. That is, we identified registers and their increment and decrement/jump operators, and followed the sequence of these operations to capture explicitly, in pseudocode or a flow diagram, the RAM algorithm that describes each biological process. Specifically, we examined the search-and-stabilize algorithm executed by MTs and the condensation and dispersal algorithms executed by motor proteins carrying pigment granules in melanophores. We can say that these proteins, MTs and motor proteins, are programmed to execute these behaviors (subroutines). We then took advantage of these subroutines to design our first dynamic selfassembly programs to build and reconfigure nanostructures. We combined these pre-programmed proteins with others specifically engineered to direct, control, or sequence the subroutines and demonstrated (at least in computer simulation) one program to build and reconfigure a network of MTs and another to harvest randomly distributed particles (cargoes) and then localize them to build a nano rock wall. One of the motivations for understanding the computational nature of dynamic self-assembly was to be able to program novel structures and materials. We hope to report experimental verification of these simulations in the near future. This would confirm that we really are learning to program in this very different way. In addition, if we can solve the problem of manufacturing small machines that have all the properties of protein dynamic self-assembly, then we envision being able to program life-like systems that can self-assemble, self-heal, and self-reconfigure, from totally non-biological components. The other motivation for examining dynamic self-assembly from a computational perspective was to enable us to identify larger, more complicated algorithms that living systems are executing. What algorithms enable living systems to develop, persist, reproduce, and evolve? What enabled higher levels of hierarchy, such as multi-cellular organisms and colonies of organisms, to emerge? Indeed, is the ability to execute algorithms central to the emergence of life itself? In this chapter, we identified a few common themes. (1) Living systems represent quantities directly, using unary registers. This representation can be implemented physically in a wide variety of ways, and the fundamental operations on these registers are easy to achieve physically. (2) Living systems can implement the same software with different hardware, and (3) can scale algorithms up by applying the same algorithms at different levels of hierarchy (molecules, cells, organisms). (4) Sequencing mechanisms wire together fundamental operations in a modular, evolvable manner. (5) Decisions are often made by races or competitions; the decision follows the winner—usually the faster, stronger, or more numerous. As we continue to examine biological systems in the RAM computing framework, we will continue to test and refine these themes, and search for additional themes. Over time, being able to tease out common algorithms from diverse and seemingly unrelated biophysical processes may enable us to make progress toward some aspects of ambitious questions regarding the algorithms of life.
178
Chapter 7
Acknowledgements We thank Alex Slepoy, George Bachand, and Matt Glickman for useful comments and suggestions. This work was supported in part by the Division of Materials Sciences and Engineering, Office of Basic Energy Science, U.S. Department of Energy. Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000.
References [1] M. Conrad, K.-P. Zauner, Conformation-driven computing: A comparison of designs based on DNA, RNA, and protein, Supramolecular Science 5 (5–6) (1998) 787–790. [2] M. Conrad, Molecular and evolutionary computation: The tug of war between context freedom and context sensitivity, BioSystems 52 (1999) 99–110. [3] D. Bray, Protein molecules as computational elements in living cells, Nature 376 (1995) 307– 312. [4] A. Ben-Hur, H.T. Siegelmann, Computation in gene networks, Chaos 14 (2004) 145–151. [5] M. Conrad, Cross-scale interactions in biomolecular information processing, BioSystems 35 (1995) 157–160. [6] M.O. Magnasco, Chemical kinetics is Turing Universal, Physical Review Letters 78 (1997) 1190–1193. [7] A.P. Arkin, J. Ross, Computational functions in biochemical reaction networks, Biophysical Journal 67 (1994) 560–578. [8] P.S. Agutter, D.N. Wheatley, Information processing and intracellular ‘neural’ (protein) networks: Considerations regarding the diffusion-based hypothesis of Bray, Biology of the Cell 89 (1997) 13–18. [9] M.L. Minsky, Computation: Finite and Infinite Machines, Prentice–Hall, Englewood Cliffs, NJ, 1967. [10] A.K. Dewdney, The New Turing Omnibus, Computer Science Press, New York, 1993. [11] A.M. Bouchard, G.C. Osbourn, Dynamic self-assembly in living systems as computation, Natural Computing 5 (4) (2006) 321–362. [12] B. Alberts, A. Johnson, J. Lewis, M. Raff, K. Roberts, P. Walter, Molecular Biology of the Cell, fourth edition, Garland Science, New York, 2002. [13] D.G. King, M. Soller, Y. Kashi, Evolutionary tuning knobs, Endeavour 21 (1997) 36–40. [14] S.-H. Park, A. Zarrinpar, W.A. Lim, Rewiring MAP kinase pathways using alternative scaffold assembly mechanisms, Science 299 (2003) 1061–1064. [15] M. Kirschner, J. Gerhart, Evolvability, Proceedings of the National Academy of Sciences USA 95 (1998) 8420–8427. [16] H.N. Sköld, S. Aspengren, M. Wallin, The cytoskeleton in fish melanophore melanosome positioning, Microscopy Research and Technique 58 (2002) 464–469. [17] B. Alberts, D. Bray, A. Johnson, J. Lewis, M. Raff, K. Roberts, P. Walter, Essential Cell Biology: An Introduction to the Molecular Biology of the Cell, Garland Publishing, New York, 1998. [18] R.E. Palazzo, J.B. Brawley, L.I. Rebhun, Spontaneous aster formation in cytoplasmic extracts from eggs of the surf clam, Zoological Science 5 (3) (1988) 603–612. [19] T. Mitchison, M. Kirschner, Microtubule assembly nucleated by isolated centrosomes, Nature 312 (5991) (1984) 232–237.
The “Programming Language” of Dynamic Self-Assembly
179
[20] T. Mitchison, M. Kirschner, Dynamic instability of microtubule growth, Nature 312 (5991) (1984) 237–242. [21] T. Horio, H. Hotani, Visualization of the dynamic instability of individual microtubules by dark-field microscopy, Nature 321 (6070) (1986) 605–607. [22] T.J. Mitchison, Polewards microtubule flux in the mitotic spindle evidence from photoactivation of fluorescence, Journal of Cell Biology 109 (2) (1989) 637–652. [23] S.L. Rogers, I.S. Tint, P.C. Fanapour, V.I. Gelfand, Regulated bidirectional motility of melanophore pigment granules along microtubules in vitro, Proceedings of the National Academy of Sciences USA 94 (8) (1997) 3720–3725. [24] H. Nilsson, W. Steffen, R.E. Palazzo, In vitro reconstitution of fish melanophore pigment aggregation, Cell Motility and the Cytoskeleton 48 (1) (2001) 1–10. [25] J. Howard, A. Hunt, S. Baek, Assay of microtubule movement driven by single kinesin molecules, Methods in Cell Biology 39 (1993) 137–147. [26] T. Surrey, F. Nédélec, S. Leibler, E. Karsenti, Physical properties determining selforganization of motors and microtubules, Science 292 (5519) (2001) 1167–1171. [27] A.M. Bouchard, G.C. Osbourn, Dynamic self-assembly and computation: From biological to information systems, in: Biologically Inspired Approaches to Advanced Information Technology, Springer, Berlin, 2004, pp. 95–110. [28] A.M. Bouchard, C.E. Warrender, G.C. Osbourn, Harnessing microtubule dynamic instability for nanostructure assembly, Physical Review E 74 (4) (2006) 041902-1–16. [29] R. Kirsch, M. Mertig, W. Pompe, R. Wahl, G. Sadowski, K.J. Böhm, E. Unger, Threedimensional metallization of microtubules, Thin Solid Films 305 (1–2) (1997) 248–253. [30] A.K. Boal, T.J. Headley, R.G. Tissot, B.C. Bunker, Microtubule-templated biomimetic mineralization of lepidocrocite, Advanced Functional Materials 14 (1) (2004) 19–24. [31] J. Reif (Ed.), Foundations of Nanoscience: Self-Assembled Architectures and Devices, ScienceTechnica, 2004. [32] N. Galjart, CLIPs and CLASPs and cellular dynamics, Nature Reviews Molecular Cell Biology 6 (6) (2005) 487–498. [33] G. Muthukrishnan, B.M. Hutchins, M.E. Williams, W.O. Hancock, Transport of semiconductor nanocrystals by kinesin molecular motors, Small 2 (2006) 626–630. [34] M. Tomishige, R.D. Vale, Controlling kinesin by reversible disulfide cross-linking: Identifying the motility-producing conformational change, Journal of Cellular Biology 151 (2000) 1081– 1092. [35] B.R. Oakley, C.E. Oakley, Y. Yoon, M.K. Junk, γ -tubulin is a component of the spindle pole body that is essential for microtubule function in Aspergillus nidulans, Cell 61 (7) (1990) 1289–1301.
181
Chapter 8
Self-Assembled Computer Architectures Chris Dwyera,* , Alvin R. Lebeckb,** a Department of Electrical and Computer Engineering, Duke University, Durham, NC 27708, USA b Department of Computer Science, Duke University, Durham, NC 27708, USA
Abstract. This chapter summarizes current work on DNA-based self-assembly of computing systems. Section 2 presents a technology overview, specifically a discussion of nanoelectronic devices and desirable characteristics. It also describes two forms of DNA-based self-assembly (DNAguided and DNA-scaffolded). Section 3 then discusses the limitations of the technology and the challenges this presents to the design of computer systems. Three case studies of computer architectures are presented in Section 4. A particular emphasis is placed on articulating how the architectures overcome the challenges of the self-assembly technology. We conclude in Section 5.
1. Introduction The rising cost of conventional lithographic fabrication facilities and the predicted limits of complementary metal-oxide semiconductors (CMOS) motivate research on replacement technologies. Self-assembly of nanoelectronic components is a potential alternative to top–down lithography for the fabrication of computing systems. However, a move to self-assembly requires system designers to re-examine many of the assumptions with respect to fabrication capabilities. Further, manufacturing defects, power density, process variability, transient faults, bulk silicon limits, rising test costs and multibillion dollar fabrication facilities are some of the challenges facing the continued scaling of CMOS. While architectural modifications (e.g., multicore) can provide some short-term relief, the semiconductor industry recognizes the importance of these issues and the need to explore long term alternatives to CMOS devices and fabrication techniques. One promising alternative is deoxyribonucleic acid (DNA) based self-assembly of nanoscale components using inexpensive laboratory equipment to achieve terato peta-scale integration. Although much of this technology is in its infancy (i.e., demonstrated in research lab experiments), by studying its potential uses for building computing systems, architects can gain a deeper understanding of its * E-mail: dwyer@ece.duke.edu. ** E-mail: alvy@cs.duke.edu.
STUDIES IN MULTIDISCIPLINARITY VOLUME 5 ISSN 1571-0831/DOI: 10.1016/S1571-0831(07)00008-1
© 2008 Elsevier B.V. All rights reserved.
182
Chapter 8
limitations and opportunities while providing important feedback to the scientists developing the new technologies.
2.
Technology for Self-Assembled Computers
The application of nanoscale self-assembly to computer fabrication relies on two important design factors: (i) the devices, and (ii) the self-assembly process. The specific devices and self-assembly process impact the architecture of the system because of technological limitations with self-assembly. The extent and impact of these limitations is discussed in Section 3.
2.1.
Nanoscale Devices
There are many potential nanoscale devices that may eventually replace CMOS as the foundation for computer systems. In this section we focus on two types of devices that are particularly well suited for interaction with DNA-based selfassembly: crossed carbon nanotube field effect transistors and ring-gated field effect transistors. 2.1.1. Crossed Carbon Nanotube FET Studies of individual carbon nanotubes [22] have demonstrated that they have excellent electrical properties, including high electron mobility. Experiments with CNFETs [10,28,31] have further demonstrated that these devices can have large transconductances, which indicates a great potential for nanoelectronic circuits. The crossed carbon nanotube FET (CNFET) is implemented by two crossed carbon nanotubes, one metallic and the other semiconducting. The metallic nanotube acts as a gate electrode to create a local electric field that modulates the conductance through the nearby semiconducting nanotube. CNFETs behave like field effect transistors and can be used in logic circuitry [1,17,19]. Although the demonstrations of CNFET logic rely on conventional patterning to organize the carbon nanotubes (or in some cases a template for the nanotubes), this work has established the fundamental possibility of using CNFET-based circuitry in computer systems. The availability of chemical functionalization schemes to integrate CNFETs into larger structures using DNA self-assembly is one advantage carbon nanotubes have over traditional devices [4,13]. However, several challenges in carbon nanotube synthesis must be overcome before CNFETs can be used in the full scale fabrication of a computer system. The most important among these challenges is the lack of control during synthesis over the electrical properties (i.e., chirality) and lengths of the nanotubes. Several promising post-synthesis techniques are being developed to select nanotubes of a specific chirality [27,35] and length [18]. Such techniques may prove useful to self-assembled systems that are compatible with aqueous environments.
Self-Assembled Computer Architectures
183
Fig. 8.1. An RG-FET. (a)–(b) Cross-section and (c) perspective views of the transistor. For colour version, see Colour Plate Section.
Interest in hybrid silicon-CNFET systems has identified new challenges in reliably nucleating nanotubes from patterned catalyst layers and the compatibility of catalyst materials with conventional silicon processes. Despite these difficulties hybrid systems are expected to be some of the first economically viable applications of carbon nanotubes in electronics. The potential of CNFETs is encouraging, but many fabrication challenges must be overcome to exploit their full potential. Therefore, investigations of alternative nanoscale devices are also being pursued. 2.1.2. Ring-Gated FET (RG-FET) Templated synthesis techniques have enabled the fabrication of free standing crystalline rod structures from common semiconducting materials including silicon [32]. The template provides control over the diameter of the rod and the growth time controls the rod length. This degree of control makes templated synthesis attractive for many applications including self-assembled computer systems. The RG-FET is a doped silicon rod fabricated using a templated synthesis method and is otherwise similar to conventional silicon FETs as illustrated in Fig. 8.1. The dopant profile along the rod axis is controlled during the growth of the rod (in the template) to create the drain, channel, and source regions. The diameter of the rod is defined by the template geometry [32]. The conductance channel is formed in the mid-section of the rod by an applied voltage on a surrounding metallic band, or ring. The ring of metal acts like a gate to modulate the conductance along the axis of the rod. The ring is isolated from the rod by a thin layer of silicon dioxide grown on the surface of the rod after synthesis similar to a conventional FET gate oxide. The ends of the rod are the drain and source and Ohmic contact must be made after assembly.
184
Chapter 8
Since the RG-FET is fundamentally a silicon FET device (after the drain and source contacts are made) it has electrical behavior similar to conventional FETs [3,14]. As with CNFETs, the similarity in behavior to conventional circuit components makes the circuit design task similar. The main body of the RG-FET is free from a substrate and can therefore diffuse in an aqueous solution (or a suspension) and be organized by DNA-guided self-assembly. Further, the substrate effects that dominate nanoscale FETs are reduced because the RG-FET is not surrounded by bulk silicon. Because of this the RG-FET has an electrical advantage over conventional FETs and consumes less dynamic power [9].
2.2.
Self-Assembled Organization
Both devices discussed in Section 2.1 are amenable to DNA-based self-assembly. In this section we briefly summarize DNA self-assembly and two approaches that use DNA to organize nanoscale components. DNA self-assembly is based on the thermodynamic behavior of complementary DNA. Complementary single stranded DNA can hybridize to form a double helix structure when the temperature of their environment crosses a critical point, or the melting temperature (Tm ). The Tm of two strands is sensitive to the nucleotide sequence and a host of other environmental factors including salt concentrations, pH, etc. The transition from single stranded (unordered) to double stranded (ordered) DNA is the fundamental property of hybridization that defines the action of self-assembly. The structural properties of double stranded DNA are an important aspect of DNA self-assembly. Single stranded DNA is free to rotate about its backbone and is therefore more flexible than double stranded DNA. The double helix constrains the geometry of the two strands and is more rigid than either strand alone. Like yarn that has been woven into a tapestry, the double stranded DNA can be woven into larger and more complex structures [16,33,34]. Figure 8.2 shows an atomic force microscope (AFM) image of the letter “A” fabricated in our lab from a DNA tile system [6]. The colorscale encodes height across the image and the specific binding of a protein on the grid creates the lettered pattern. The letter is approximately 60 nm in length on a side and we estimate that nearly 1014 formed during a single reaction. That is, the number of fabricated structures is comparable to the number of letters in all manuscripts and books held in the U.S. Library of Congress. Pure DNA self-assembly uses DNA hybridization to form structures that can, for example, be used to template other materials such as metals or semiconductors. That is, the DNA structure serves as a scaffold for the other materials and must provide a stable platform for further growth. This is distinct from DNAguided self-assembly wherein other materials are brought together by DNA hybridization but the DNA does not form a single monolithic structure.
Self-Assembled Computer Architectures
185
Fig. 8.2. An AFM scan of a DNA self-assembled letter “A”. The highlighted spots are proteins that have specifically bound to the DNA grid to form the pattern. The spacing between spots is ∼20 nm. For colour version, see Colour Plate Section.
DNA-guided self-assembly relies on chemical functionalization of other materials (e.g., a carbon nanotube, a silicon rod, colloidal particles, etc.) with DNA and subsequent DNA hybridization to organize the non-DNA materials [20,21, 23]. The DNA hybridization guides the materials to interact with specific geometric constraints. For example, a particle functionalized at one end with single stranded DNA can interact with another particle if they each carry complementary DNA as illustrated in Fig. 8.3.
3.
Challenges
The process of using DNA-based self-assembly to create nanoelectronic circuits presents several challenges that must be addressed when designing a system. The three primary aspects of the process are (i) small-scale control of placement and
Fig. 8.3. Three particles with unique but complementary DNA sequences can form a tethered system. For colour version, see Colour Plate Section.
186
Chapter 8
connectivity, (ii) large-scale randomness in node placement and interconnection, and (iii) high defect rates. These three aspects significantly impact architectural decisions, particularly since conventional architectures assume precise control at both the small and large scale.
3.1.
Technology Limitations
3.1.1. Small-Scale Control The ability of DNA-based self-assembly to achieve only small-scale control impacts architectural decisions in several ways. Three of the most significant are: limited space, limited coordination, and limited communication. 3.1.1.1. Limited Space Whether using DNA scaffolded or DNA-guided selfassembly, small-scale control of placement and connectivity will limit the size of any given circuit. This causes a commensurate limit on the functional capabilities of such a circuit. This limited node size presents a trade-off in node design. At one extreme, we could design just a single node type that contains both computation and storage capabilities. However, since the storage and computation circuits must share the node, each may be severely limited in capability. Alternatively, we could design a few specialized node types, some devoted to computation and others devoted to storage. Even when designing a specialized node, the limited space impacts architectural decisions. For example, large state machines are not an option since there is insufficient space for state storage. Similarly, the number of bits available in a storage node may be limited, thus affecting an architecture’s word size. 3.1.1.2. Limited Communication Without large-scale control, there is limited communication among nodes. In general, connections between nodes may be limited to either (i) a single shared broadcast media or (ii) a small number of point-to-point connections to a few neighboring nodes. In either case there is no long-haul communication between independent sets of nodes. Furthermore, the connections from a node to the broadcast media or to each of its neighbors is limited to a single wire. Although the degree of each node or the number of connections between neighbors could be increased, each connection occupies precious edge space. Conventional designs exploit multiple metal layers for long-haul communication and large-scale control to create multi-wire connections between components. Therefore, the architecture must avoid relying on sophisticated communication hardware. 3.1.1.3. Limited Coordination Conventional CMOS designs rely on precise control during fabrication to create sophisticated circuits (e.g., a 64-bit adder with
Self-Assembled Computer Architectures
187
carry lookahead). For our technology, if the most sophisticated node is a fulladder, then it is unlikely that 64 such nodes can be coordinated to implement a 64-bit adder. Coordination among nodes is very limited and it is difficult to a priori configure a group of nodes to operate in a coordinated manner. Each node can perform only limited coordination with its immediate neighbors. 3.1.2. Large-Scale Randomness DNA-based self-assembly provides excellent control at the small scale, however it cannot achieve such control at large scales. The resulting randomness introduces some additional issues that architectures must address. 3.1.2.1. Node Placement The self-assembly process does not guarantee where any particular node will lie in the final circuit. Each node simply attempts to connect to other nearby nodes. The architecture and machine organization must accommodate this arbitrary placement of functional blocks. 3.1.2.2. Node Orientation Similar to the random node placement, the assembly process we envision does not provide control over node orientation. Any system design must tolerate arbitrary node orientations, and cannot make a priori assumptions about the orientation. 3.1.2.3. Node Connectivity Connections between nodes are not guaranteed to succeed during self-assembly. Therefore, it is possible for any node to have between zero and four functioning connections to its neighbors. The architecture must not make any a priori assumptions about available connectivity. When combined with random orientation, it is possible for nodes to connect in a triangular shape rather than the rectangular grid one would assume with nodes that have degree four. 3.1.3. High Defect Rates An inherent aspect of any self-assembly process is defects. These fabrication defects can influence node functionality and connectivity. Some of the interconnect defects cause the above problems with connectivity. While some aspects of fabrication can reduce the likelihood of defects (e.g., purification steps or careful design of DNA tags), there will always be a significant number of defects and any architecture using these technologies must tolerate these defects.
3.2. Architectural Challenges The above discussion exposes several aspects of this fabrication technique for nanoscale circuits that must be addressed by any architecture and its corresponding implementations. In this subsection, we enumerate several important challenges to developing an appropriate architecture for this emerging technology.
188
Chapter 8
This list is not meant to be exhaustive, but rather to highlight some important challenges. 3.2.1. Node Design The architect must decide what functionality to place in each node. Should there be homogeneous nodes or heterogeneous nodes? If heterogeneous, then what types of nodes? How does node design affect connectivity/communication with other nodes, and what primitives should be provided? 3.2.2. Utilizing Multiple Nodes Since individual nodes do not contain sufficient computation and storage to perform much useful work in isolation, then an architect must determine how to exploit multiple nodes. This must be achieved given the above limitations on coordination, communication, placement, orientation, and connectivity. 3.2.3. Routing with Limited Connectivity Traditional routing techniques may not directly apply since there is limited space for the complexity of dynamic routing and there are insufficient guarantees on node placement and connectivity to use conventional static routing. The designer must develop a routing technique that overcomes these challenges. 3.2.4. Developing an Execution Model The execution model embodies the software visible aspects of the architecture and can be influenced by implementation constraints or instruction set requirements. For the envisioned fabrication technique, the execution model must overcome the severe implementation constraints outlined above while still enabling a reasonable instruction set. 3.2.5. Developing an Instruction Set Programmable systems require an interface that enables software to specify operations. Typically this is achieved by the instruction set architecture (ISA). The ISA may be influenced by the underlying capabilities of the technology. Given our fabrication technique, the architect must design an appropriate ISA that supports the above execution model. 3.2.6. Providing a Memory System Storage is a crucial component of most computing systems regardless of the execution model. The ability to retain values for future use and to name and find particular values is necessary for most computing paradigms. 3.2.7. Interfacing to the Microscale An important aspect of any nanoscale system is the interconnection to larger-scale components (e.g., microscale). This connection is necessary for at least providing an I/O interface for communication with the outside world. It may be possible for the architecture to exploit this interface in other ways.
Self-Assembled Computer Architectures
189
The challenge is to address each of these issues such that we arrive at a functioning system. There are likely many possible approaches to developing a functioning system. In the next section we present case studies of three proposed architectures.
4.
Architecture Case Studies
The previous section outlined many of the challenges that architectures for DNAbased self-assembly must address. This section summarizes three different approaches for creating functioning systems that exploit the potential capabilities of DNA-based self-assembled nanocomputers while overcoming the many challenges. Section 4.1 describes the Oracle, a novel computer system that performs much of its computation during the assembly process. The Decoupled Array Multi-Processor (Section 4.2) extends the oracle concept to enable slightly more general purpose computing with a SIMD style instruction set. Finally, Section 4.3 presents the Nanoscale Active Network Architecture that provides a generalpurpose instruction set.
4.1. Oracle An example system that can overcome some of the challenges mentioned in Section 3 is the proposed Oracle computer [7,8]. In this system, each self-assembled node is the solution to a predefined computational problem. For example, an Oracle for n-bit addition would self-assemble nodes that represent each of the possible n-bit additions the system can perform as well as their solutions. An Oracle computer performs virtually all of its computation at-fabrication [5]. An Oracle can be assembled using electrically active components (e.g., silicon rods) and DNA (metallized during post-processing) to form large arrays of simple circuitry. The Oracle is designed to solve a large portion of a particular problem during fabrication rather than relying on purely run-time computation. That is, the Oracles are a hybrid between general-purpose electrical designs and electrical circuitry inspired by DNA computing. Abstractly, an Oracle contains a large number of question and answer pairs. Questions are posed to the machine and it generates a response if the question is contained in any of the Oracle’s question/answer pairs. In this fashion, the Oracle is like a large content-addressable memory (CAM) that has been preloaded with the answers to a certain problem. An Oracle differs from a conventional CAM by the method in which the question and answer pairs are entered into the memory. To fully cover an input space of k-bits, a conventional CAM requires O(2k ) steps to load the answers (each of which must be computed). Each address represents a k-bit question and the associated data field the answer, like a lookup table. In comparison, the Oracle requires O(k) steps to assemble and no
190
Chapter 8
Fig. 8.4. The tiles for a 2D addition Oracle. Each entry in the full adder truth table is translated into one tile using the legend above. The carry-in (Ci) and carry-out (Co) bits must match between tiles for correct addition. Each tile encodes a carry bit in–out relationship by a single- or double-peak that fits into a single- or double-valley. Figure 8.5 illustrates a legal arrangement of tiles to form an addition string. For colour version, see Colour Plate Section.
run-time loading steps. The answers are determined by the manner in which the Oracle is assembled (e.g., through DNA hybridization that follows a rule set as in DNA computing). The self-assembly of each question and answer pair provides the Oracle with the answers (with a high probability but not a certainty that a given question and answer pair will exist within the Oracle). If a particular question and answer pair did not form during the Oracle’s assembly then the Oracle cannot solve that instance of the problem. For example, Fig. 8.4 shows the tile set and truth table for an addition Oracle. The tiles are directly mapped from the truth table following the key at the top of Fig. 8.4. A large number of the tiles (2k where k is the number of bits being added) are mixed and made to assemble into strings. Since the tiles can only bind according to the truth table, as represented by the shapes on the ends of each tile, each valid string is an instance of the addition problem. Figure 8.5 shows a particular (i.e., randomly chosen) string from the result. This particular string encodes the addition “3 + 5 = 8”. A more detailed treatment of the tile implementation and addition Oracle can be found in [7]. While the Oracle may be an interesting theoretical twist on DNA computing, the set of problems that can be solved with this technique are limited. Unfortunately, many of the problems (e.g., path problems, combinatorial graph problems, etc.) that are amenable to being solved by an Oracle have powerful conventional
Self-Assembled Computer Architectures
191
Fig. 8.5. An example string from the addition Oracle using the tiles defined in Fig. 8.4. For colour version, see Colour Plate Section.
approximations that are in many cases sufficiently accurate, though not optimal, for real applications.
4.2.
Decoupled Array Multi-Processor (DAMP)
The DAMP is an architecture that addresses some of the challenges discussed in Section 3 but can be used to solve a slightly wider field of problems than Oracles. This architecture is a parallel computer suitable for solving parallel problems that do not require large I/O bandwidth. The device architecture assumed for the DAMP is based on nanoscale rod/tube components assembled by DNA-guided self-assembly [8,9]. Each type of component can be individually assigned to a specific location in the circuit through DNA self-assembly. Further, the DNA junctions between components can be metallized to create Ohmic contacts between the rod ends. The DAMP is a single-instruction multiple-data (SIMD) system design that uses simple processing elements (PEs) in parallel to solve general optimization problems (e.g., the thermal intercept problem, or any problem with a succinct objective function). However, the constraints placed on the design by the selfassembly technology change the fundamental assumptions about how the system can work. For instance, the design relies on a single input and output channel that is shared between all PEs. This restrictive I/O design is indeed a performance
192
Chapter 8
Fig. 8.6. A single processing element (PE) from the DAMP. R0, . . . , R4 are general purpose registers and ACC is a serial accumulator. The status bits “BCDRSW” are set/cleared per the definition of each ALU operation. Registers with “∗” labels can be uniquely randomized at power-up. For colour version, see Colour Plate Section.
bottleneck but eliminates the challenge of interfacing a high density nanoscale device array with microscale circuitry. Feedback between the device and architecture levels identifies where such constraints are necessary to make the system feasible. The design approach involved modifying (severely) a typical assumption about I/O connectivity because the underlying technology did not readily support such connectivity. The scale of device integration supported by self-assembly is another example of a technological constraint that has dramatic implications on the computer architecture. Reduced levels of integration constrain the logical size of a PE, i.e., fewer devices per PE mean simpler functionality per PE. Figure 8.6 shows the schematic of a single PE. Through bit-serial operations the PE can manipulate an accumulator and six registers, each 16 bits long. The only way high performance can be achieved with the DAMP is if there are many PEs, even if they are simple. Self-assembly has the potential to organize molar-scale numbers of components which amount to ∼1012 to ∼1019 assembled devices (at 100 µM concentrations) depending on process yield and defect rates. This requires design feedback between the device layer and the architecture or the final design will be impractically large for a single PE. For example, each PE in the DAMP uses ∼1500 RG-FETs to implement a register file, an accumulator, and a set of simple bit-serial operations. The peak performance of the full DAMP (with ∼1012 PEs) on simple, local (i.e., no I/O involved) ALU operations is compared to some other machines in Table 8.1. It is clear at this point that the DAMP will do well on simple parallel problems but the severe I/O bandwidth penalty restricts the DAMP such that it will not
Self-Assembled Computer Architectures
193
Table 8.1. Peak performance comparison Machine
Peak ALU (16-bit) operations per second
DAMP IBM BlueGene/L NEC Earth Simulator Intel P4
∼1018 ∼1015 ∼1015 ∼1011
be suitable for a large array of general purpose applications. High performance general purpose computing requires a much larger degree of information sharing than can be accommodated by the technological assumptions underlying the DAMP.
4.3.
Nanoscale Active Network Architecture (NANA)
Our final approach for addressing the issues raised in Section 3, is an active network architecture that is compatible with our fabrication technology, specifically the DNA-scaffolded self-assembly [25]. The architecture is like an active network [29] in that execution packets that contain instructions and operands search through a loosely structured sea of processing and memory nodes for the functionality that they need at each step of execution. This architecture matches our technology characteristics since it (i) allows for differing node types with specialized functionality, (ii) tolerates a random interconnection of nodes, and (iii) tolerates node and interconnect fabrication defects. 4.3.1. System Model The system model is a random interconnection of various node types, in which all nodes contain circuitry for communication and each node has some specialized circuitry (e.g., processing, memory, etc.). Groups of nodes are organized into cells. A node communicates with a neighboring node via a single link that is asynchronous and bidirectional (time-multiplexed on a single physical wire). Each cell has a viaduct that is its connection to a microscale, and one of the many nodes connected to the viaduct acts as the anchor node for the cell. Inter-cell communication occurs through a microscale interconnection network. The memory nodes in each cell comprise a portion of the global memory space. Some fraction of memory nodes are configured as memory ports to provide an interface between execution packets and memory storage. Figures 8.7 and 8.8 illustrate our system model and physical model, respectively. To impose structure on the interconnection network and the memory system, there is a configuration phase that occurs before any execution [26]. Reconfigurable architectures [2,11,12,24] have demonstrated that this approach is important to achieve high performance in the context of highly focused (i.e., aggressive) or highly defective technologies, including nanotechnology.
194
Chapter 8
Fig. 8.7. One cell in the NANA system. Each node is labeled either “A” for anchor, “M” for memory, “M∗ ” for memory port, or “P” for processing. The block “V” is the microscale contact. Distinct cells can operate in parallel. For colour version, see Colour Plate Section.
Fig. 8.8. Synthetic rendering of the physical model for the NANA system. The waffle-shaped structures are nodes and the bulbous linear structures are links in the interconnection network. For colour version, see Colour Plate Section.
While node functionality is heterogeneous, all nodes have some common responsibilities. Each node generates its own local clock (10 GHz) and communicates asynchronously with its neighboring nodes using signaling techniques similar to push-style pipeline systems. High-level communication between two devices over a single wire can be managed using simple two- and four-phase single wire techniques [30]. Each node must also contain routing functionality for determining the outgoing link for an incoming packet (or the result of an opera-
Self-Assembled Computer Architectures
195
tion). This circuitry maintains node state (e.g., currently processing a packet) and handles link contention. 4.3.2. Execution Model The execution model relies on an accumulator-based ISA. Conceptually, the accumulator is initialized and then a sequence of operations are performed on the corresponding series of operands. The accumulatorbased ISA reduces the need for widespread a priori coordination and communication among many components (e.g., associative lookup in issue queues), since the only data dependence involves the accumulator and instructions are processed in order [15]. We support the accumulator-based execution by forming an execution packet that contains the operations, the accumulator, and all operands in appropriate order. The packet searches within a cell for the requisite functional units (or memory ports) in the order specified by the operation sequence. Logically, each functional unit performs its specified operation, removes the operand and forwards the new accumulator and the remaining operands to the subsequent functional units. Each subsequent functional unit performs a similar sequence until all operations in the packet are completed. Memory operations generate memory packets that are handled by the memory ports. To augment the defect tolerance of configuration and to protect against transient faults we could add a signature vector to each packet and verify the integrity of a computation performed by the packet. The signature vector is operated on like the operands field of a regular execution packet with the exception that the initial signature is not consumed by the operation. The order of instructions will be reflected by a characteristic signature vector and can be used to determine if the nodes performing those operations were functioning properly during the signature calculation. This approach can be further augmented with redundant execution packets and a voting mechanism. The system and execution model enable significant parallelism by instantiating multiple execution packets within a cell and in multiple cells. While this parallelism is an important aspect of the architecture that fully exploits the capabilities of the underlying technology, this work focuses primarily on the operation of a single cell and sequentially instantiate execution packets. 4.3.3. Evaluation We have implemented two different programs for execution on NANA: Fibonacci and string match. To demonstrate our system operation, we simulate its behavior at the bit serial link level executing the two programs. We model a single 32 × 32 cell and include a random distribution of 3% defective nodes, 25% ALU nodes, and we configure 64 16-bit memory nodes and 80 memory ports. The average time per loop iteration in Fibonacci is 2964 cycles, loop unrolling may improve this. While the absolute performance of this example does not surpass even current CMOS, it serves to demonstrate the operation of a single node. The greatest advantage of this technology arises from the scale of the system.
196
Chapter 8
The opportunity for massively parallel computation with self-assembled systems is tremendous. String searching is a common operation in many applications (e.g., searching for particular DNA sequences within a genome). Our string match program loads a 16-bit key and compares it to all data elements within the cell. A full self-assembled system could search a 32 GB database by using all 109 cells. The execution time within one cell is 35 ns per comparison, for a total of 28.5 × 106 comparisons/sec. The potential for massive parallelism would be exposed by having each of the 109 cells perform a unique comparison, yielding an overall rate of 2.85 × 1016 comparisons/sec. Developing these programs exposes the limitations of our current architecture: (1) underutilization of nodes and network connectivity, and (2) the memory system is a bottleneck. The peak performance of NANA, assuming 1/2 the nodes compute, is significantly larger than today’s supercomputers: NANA achieves 4.12 × 1021 bitops/sec, IBM BlueGene 4.6 × 1016 bitops/sec and NEC ES 5.2 × 1015 bitops/sec.
5.
Conclusions
The potential technological advantages of DNA self-assembly over conventional silicon-based photolithography have motivated intense study in this field. However, there are serious challenges in the device synthesis and materials science behind self-assembly that couple the design of higher-level computer architectures to the technology. The severe constraints placed on the architecture by the technology require a methodical re-evaluation of conventional design principles to resolve unanswered questions about the feasibility of such systems. The fundamental challenge to self-assembled architectures stems from a loss of control over the composition, placement, and orientation of the computing devices (e.g., logic gates, FETs, interconnect). The technological limitations of self-assembly require the architecture to cope in unconventional ways to overcome limited device capacity, communication bandwidth, high defect rates, and general randomness during fabrication. We have presented three architectures that overcome many of these challenges for both a DNA-guided and DNA scaffolded self-assembly technology. However, these systems are only suitable to a small set of application domains and further optimization is required to achieve high performance general-purpose computing.
References [1] A. Bachtold, P. Hadley, T. Nakanishi, C. Dekker, Logic circuits with carbon nanotube transistors, Science 294 (November 2001) 1317–1320. [2] P. Beckett, A. Jennings, Toward nanocomputer architecture, in: Proceedings of the Seventh Asia-Pacific Computer Systems Architecture Conference, 2002, pp. 141–150.
Self-Assembled Computer Architectures
197
[3] Y. Cui, C.M. Lieber, Functional nanoscale electronic devices assembled using silicon nanowire building blocks, Science 291 (February 2001) 851–853. [4] C. Dwyer, M. Guthold, M. Falvo, S. Washburn, R. Superfine, D. Erie, DNA functionalized single-walled carbon nanotubes, Nanotechnology 13 (2002) 601–604. [5] C. Dwyer, A.R. Lebeck, D.J. Sorin, Self-assembled architectures and the temporal aspects of computing, IEEE Computer 38 (1) (January 2005) 56–64. [6] C. Dwyer, S.H. Park, T. LaBean, A. Lebeck, The design and fabrication of a fully addressable 8-tile DNA lattice, in: Foundations of Nanoscience: Self-Assembled Architectures and Devices, April 2005, pp. 187–191. [7] C. Dwyer, J. Poulton, R. Taylor, L. Vicci, DNA self-assembled parallel computer architectures, Nanotechnology (2004) 1688–1694. [8] C. Dwyer, L. Vicci, J. Poulton, D. Erie, R. Superfine, S. Washburn, R.M. Taylor, The design of DNA self-assembled computing circuitry, IEEE Transactions on VLSI 12 (April 2004) 1214– 1220. [9] C. Dwyer, L. Vicci, R.M. Taylor, Performance simulation of nanoscale silicon rod field-effect transistor logic, IEEE Transactions on Nanotechnology 2 (2) (June 2003) 69–74. [10] M.S. Fuhrer, J. Nygard, L. Shih, M. Forero, Y.-G. Yoon, M.S.C. Mazzoni, H.J. Choi, J. Ihm, S.G. Louie, A. Zettle, P.L. McEuen, Crossed nanotube junctions, Science 288 (April 2001) 494–497. [11] S.C. Goldstein, M. Budiu, NanoFabrics: Spatial computing using molecular electronics, in: Proceedings of the 28th Annual International Symposium on Computer Architecture, July 2001, pp. 178–191. [12] J. Han, P. Jonker, A defect- and fault-tolerant architecture for nanocomputers, Nanotechnology 14 (January 2003) 224–230. [13] M. Hazani, F. Hennrich, M. Kappes, R.N. Naaman, D. Peled, V. Sidorov, D. Shvarts, DNAmediated self-assembly of carbon nanotube-based electronic devices, Chemical Physics Letters 391 (2004) 389–392. [14] Y. Huang, X. Duan, Y. Cui, L.J. Lauhon, K.-H. Kim, C.M. Lieber, Logic gates and computation from assembled nanowire building blocks, Science 294 (November 2001) 1313–1317. [15] H.-S. Kim, J.E. Smith, An instruction set and microarchitecture for instruction level distributed processing, in: Proceedings of the 29th Annual International Symposium on Computer Architecture, May 2002. [16] T.H. LaBean, H. Yan, J. Kopatsch, F. Liu, E. Winfree, J.H. Reif, N. Seeman, Construction, analysis, ligation, and self-assembly of dna triple crossover complexes, Journal of the American Chemistry Society 122 (2000) 1848–1860. [17] X. Liu, C. Lee, C. Zhoua, J. Han, Carbon nanotube field-effect inverters, Applied Physics Letters 79 (20) (November 2001) 3329–3331. [18] S.R. Lustig, E.D. Boyes, R.H. French, T.D. Gierke, M.A. Harmer, P.B. Hietpas, A. Jagota, R.S. McLean, G.P. Mitchell, G.B. Onoa, K.D. Sams, Lithographically cut single-walled carbon nanotubes: Controlling length distribution and introducing end-group functionality, Nano Letters 3 (8) (August 2003) 1007–1012. [19] R. Martel, V. Derycke, J. Appenzeller, S. Wind, P. Avouris, Carbon nanotube field-effect transistors and logic circuits, in: Proceedings of the 39th Design Automation Conference, June 2002, pp. 94–98. [20] B.R. Martin, D.J. Dermody, B.D. Reiss, M. Fang, L.A. Lyon, M.J. Natan, T.E. Mallouk, Orthogonal self-assembly on colloidal gold-platinum nanorods, Advanced Materials 11 (12) (August 1999) 1021–1025. [21] J.K.N. Mbindyo, B.D. Reiss, B.R. Martin, C.D. Keating, M.J. Natan, T.E. Mallouk, DNAdirected assembly of gold nanowires on complementary surfaces, Advanced Materials 13 (4) (February 2001) 249–254.
198
Chapter 8
[22] P.L. McEuen, M.S. Fuhrer, H. Park, Single-walled carbon nanotube electronics, IEEE Transactions on Nanotechnology 1 (1) (March 2002) 78–85. [23] C.A. Mirkin, R.L. Letsinger, R.C. Mucic, J.J. Storhoff, A DNA-based method for rationally assembling nanoparticles into macroscopic materials, Nature (August 1996) 607–609. [24] K. Nikolic, A. Sadek, M. Forshaw, Fault-tolerant techniques for nanocomputers, Nanotechnology 13 (2002) 357–362. [25] J.P. Patwardhan, C. Dwyer, A.R. Lebeck, D.J. Sorin, Circuit and system architecture for DNAguided self-assembly of nanoelectronics, in: Foundations of Nanoscience: Self-Assembled Architectures and Devices, April 2004, pp. 344–358. [26] J.P. Patwardhan, C. Dwyer, A.R. Lebeck, D.J. Sorin, Evaluating the connectivity of selfassembled networks of nano-scale processing elements, in: IEEE International Workshop on Design and Test of Defect-Tolerant Nanoscale Architectures (NANOARCH’05), May 2005, pp. 2.1–2.8. [27] M.S. Strano, M. Zheng, A. Jagota, G.B. Onoa, D.A. Heller, P.W. Barone, M.L. Usrey, Understanding the nature of the DNA-assisted separation of single-walled carbon nanotubes using fluorescence and Raman spectroscopy, Nano Letters 4 (4) (2004) 543–550. [28] S. Tans, A. Verschueren, C. Dekker, Room-temperature transistor based on a single carbon nanotube, Nature 393 (1998) 49–52. [29] D.L. Tennenhouse, D.J. Wetherall, Towards an active network architecture, Computer Communication Review 26 (2) (1996). [30] K. van Berkel, A. Bink, Single-track handshake signaling with application to micropipelines and handshake circuits, in: Proceedings of the Seconds International Symposium on Advanced Research in Asynchronous Circuits and Systems, March 1996, pp. 122–133. [31] S.J. Wind, J. Appenzeller, R. Martel, V. Derycke, P. Avouris, Vertical scaling of carbon nanotube field-effect transistors using top gate electrodes, Applied Physics Letter 80 (May 2002) 3817–3819. [32] Y. Wu, Y. Cui, L. Huynh, C.J. Barrelet, D.C. Bell, C.M. Lieber, Controlled growth and structures of molecular-scale silicon nanowires, Nano Letters 4 (3) (2004) 433–436. [33] H. Yan, T.H. LaBean, L. Feng, J.H. Reif, Directed nucleation assembly of barcode patterned DNA lattices, Proceedings of the National Academy of Sciences 100 (14) (July 2003) 8103– 8108. [34] H. Yan, S.H. Park, G. Finkelstein, J.H. Reif, T.H. LaBean, DNA templated self-assembly of protein arrays and highly conductive nanowires, Science 301 (5641) (September 2003) 1882– 1884. [35] M. Zheng, A. Jagota, E.D. Semke, B.A. Diner, R.S. McLean, S.R. Lustig, R.E. Richardson, N.G. Tassi, DNA-assisted dispersion and separation of carbon nanotubes, Nature Materials 2 (May 2003) 338–342.
199
Chapter 9
Simulation of Self-Assembly Processes Using Abstract Reduction Systems Jean-Louis Giavitto* , Antoine Spicher** IBISC, FRE 2873 CNRS – Université d’Évry, Génopole, 523 place des Terrasses de l’Agora, 91000 Évry, France url: http://mgs.ibisc.univ-evry.fr Abstract. We present in this chapter the use of MGS for the abstract modeling and simulation of some self-assembly processes. MGS is a declarative and rule-based language dedicated to the modeling and the simulation of various morphogenetic and developmental processes. Such systems can be seen as dynamical systems but with a dynamical structure. This property is often exhibited by self-assembly processes. The MGS approach relies on the introduction of a topological point of view on various data structures called topological collections. This topological approach enables a uniform handling of these data structures by a new kind of rewriting rules called transformations. Using (local) rewriting rules to specify self-assembling processes is particularly adequate because it mimics closely the incremental building mechanism of the real phenomena. The MGS approach is illustrated on the fabrication of a fractal pattern, a Sierpinski triangle, using two approaches: by accretive growth and by carving. More generally, the notions of topological collections and transformations available in MGS enable the easy and concise modeling of cellular automata on various lattice geometries as well as more arbitrary constructions of multi-dimensional objects.
1. Introduction Self-assembly is a process that creates incrementally complex hierarchical spatial structures. Nature presents a lots of examples, ranging from crystallization in physics to morphogenesis in developmental biology. There is no unified general theory of self-assembling, nor a unique definition. However, understanding the principles underlying self-assembly processing will open entire new opportunities for our technological capabilities. In this chapter, self-assembled systems can be thought to be built of basic building elements (molecules, cells, etc.); together these basic elements exhibit a new, often highly, complex behavior. For a computer scientist, self-assembly processes are particularly inspiring because the dynamic organization of the involved entities emerges from many decentralized and local interactions that occur concurrently at several time and * E-mail: giavitto@ibisc.univ-evry.fr. ** E-mail: aspicher@ibisc.univ-evry.fr.
STUDIES IN MULTIDISCIPLINARITY VOLUME 5 ISSN 1571-0831/DOI: 10.1016/S1571-0831(07)00009-3
© 2008 Elsevier B.V. All rights reserved.
200
Chapter 9
space scales. As a matter of fact, they have inspired several new computational models like amorphous computing [1] or autonomic computing [8]. The emergence of the global structure of self-assembled systems cannot be deduced from the individual composing elements. Simulation models are often the only available way to obtain a deeper insight of these complex systems. However, the modeling and the simulation of self-assembly can be very difficult to achieve, because of the representation of the underlying space and of the handling of complex spatial structures built in this space.
1.1.
Self-Assembly by Accretive Growth and by Carving
A central thema in the research in self-assembly processes is the organizational principles that can be used to structure a population of basic elements. The structure is incrementally built and often corresponds to a spatial structure. In this chapter we will focus on the modeling of two kinds of self-assembly that rely on the addition or the removal of materials. That is, we do not consider rearrangement of matter, nor its modification (e.g. by stretching). Our approach has a combinatorial nature and hide the burden of the physical implementation. 1.1.1. Self-Assembly by Accretive Growth One of the most fundamental kind of self-assembly is certainly processes where basic elements are aggregated into a shape during a growth process. An incremental growth process can be described as the iteration of a basic aggregation: in each growth stage, new basic entities (e.g., material) are added to the preceding growth stage [9]. The aggregation depends on the available material and also on the form of the object in the preceding growth stage. We use the term accretive growth to qualify a growing process that takes place on the boundaries of the system. This kind of growth is to oppose to “intercalary growth” where the growing process is from the inside of the assembly. 1.1.2. Self-Assembly by Carving Manca et al. have introduced a somewhat unusual type of computation strategy called computation by carving [11]. The idea is to generate a (large) set of candidate solutions of a problem, then remove the non-solutions such that what remains is the set of solutions. This idea to remove unwanted elements is also present in building shapes by space carving [10], an algorithm to compute a volume that is consistent with a set of photos of a 3D shape. Transposed in the domain of self-assembly, this leads to the idea to iteratively remove elements, starting from an initial shape. A better name is perhaps self-disassembling.
Simulation of Self-Assembly Processes
1.2.
201
Domain Specific Languages for the Simulation of Self-Assembly
As noted above, the simulation of self-assembly can be very difficult to achieve. In this work, we advocate the use of a domain specific language (DSL) for the modeling and the simulation, in an abstract and uniform setting, of accretive growth and carving. DSLs are specially tailored programming languages designed for solving problems in a particular domain. To this end, a DSL provides abstractions and notations for the domain at hand. DSLs are usually small, and more declarative than imperative. Moreover, DSLs are more attractive for programming in the dedicated domain than general-purpose languages because of easier programming, systematic reuse, better productivity and flexibility. Our approach relies on two dedicated notions: – dedicated data-structures, called topological collections, are used to represent the space underlying a self-assembly process and/or the self-assembled system; and – rewriting rules on topological collection, called transformations, are used to implement the local evolution rules usually used to specify the self-assembly process. These two notions are studied in an experimental programming language called MGS. MGS is a vehicle used to investigate the notions of topological collections and transformations and to study their adequacy to the simulation of various biological and self-assembly processes [3,5]. Using (local) rewriting rules to specify the self-assembling process is particularly adequate because it mimics closely the incremental building mechanism of the real phenomenon. In addition, the declarative style enabled by rule-based programming corresponds to a mathematical specification of the self-assembly process, which opens the way to mathematical reasoning and proofs.
1.3.
Organization of the Chapter
The rest of this chapter is organized as follows. The next section provides a quick introduction to MGS. Group-based data fields are sketched: they are topological collections used to define various lattices used in the modeling of accretive growth. Section 3 presents three short and well-known examples of growth by aggregation processes in MGS. Section 4 details the self-assembly of Sierpinski triangles. Section 5 introduces the notion of abstract cellular complexes and their handling in MGS. Cellular complexes are used to model arbitrary shape for growth and carving. The use of abstract cellular complexes is illustrated to sketch the 3-dimensional assembly of proteins. The process sketched is rather abstract and does not refer to a physical example. However it gives a good flavor of the possibilities offered by abstract cellular complexes and the very concise style
202
Chapter 9
enabled by the MGS transformations. In Section 7 we build again Sierpinski triangles but in 3 dimensions and using a carving process. The conclusion reviews some previous, related and future work.
2.
A Short MGS Presentation
In this section, we present the notions needed to understand the MGS coding of the following computation processes. MGS is a declarative programming language aimed at the representation and manipulation of local transformations of entities structured by abstract topologies [3]. A set of entities organized by an abstract topology is called a topological collection. Topological means here that each collection type defines a neighborhood relation specifying both the notion of locality, path and sub-collection. A path is a finite sequence of elements ei where ei+1 is a neighbor of ei . A sub-collection B of a collection A is a subset of elements of A defined by some path and inheriting its organization from A. The global transformation of a topological collection C consists in the parallel application of a set of local transformations. A local transformation is specified by a rewriting rule r that specifies the change of a sub-collection. The application of a rewrite rule β ⇒ f (β, . . .) to a collection A: (1) selects a sub-collection B of A whose elements match the pattern β, (2) computes a new collection C as a function f of B and its neighbors, and (3) specifies the insertion of C in place of B into A. The collection types can range in MGS from totally unstructured with sets and multisets to more structured with sequences, “group-based data fields” and “abstract cellular complexes”. There are two kinds of patterns that can be used in a transformation for selecting a sub-collection: path patterns and patch patterns.
2.1.
Path Patterns
Path patterns match paths in a collection. A path pattern is a sequence of elements separated by a comma. Path pattern x,y defines a path of two elements, where y must be a neighbor of x. Arbitrary condition can be tested using guards inserted in a path pattern: (x/x>0),(y/y>x) matches two elements x and y such that the value of x is strictly positive and y is a neighbor of x and the value of y must be greater than the value of x.
2.2.
Patch Patterns
Patch patterns allow the matching of arbitrary sub-collection. A patch pattern is specified using a set of clauses. We will present the patch pattern features we need on Section 7.
Simulation of Self-Assembly Processes
2.3.
203
Group-Based Data Field
Group-based data fields (GBF in short) are used to define topological collections with uniform neighborhood. A GBF is an extension of the notion of array, where the values are indexed by the elements of a group, called the shape of the GBF [4]. The elements of the group are called the positions of the GBF. For example: gbf Grid2 = < north, east >
defines a GBF collection type called Grid2, corresponding to the von Neumann neighborhood in a classical array (a cell above, below, left or right—not diagonal). The two names north and east refer to the directions that can be followed to reach the neighbors of an element. These directions are the generators of the underlying group structure. The right-hand side (r.h.s.) of the GBF definition gives a finite presentation of the group structure. The list of the generators can be completed by giving equations that constraint the displacements in the shape: gbf Hex2 = < east, north, northeast; east + north = northeast >
defines an hexagonal lattice that tiles the plane, see Fig. 9.2. Each cell has six neighbors (following the three generators and their inverses). We use an additive notation for the group operation. The equation east + north = northeast specifies that a move following northeast is the same as a move following the east direction followed by a move following the north direction. In this chapter we will use only commutative groups, that is, commutation equations between generators (like east + north = north + east) always hold implicitly. For convenience, we identify the type of a GBF with the presentation of the underlying group. A GBF g of type G can be formalized as a partial function g from the group specified by G to some set of values: g associates a value to some positions. In other words, the group elements act as indices of a generalized array. An empty GBF is the everywhere undefined function. A special constant can be used in path patterns to match a position in a GBF that has no associated value. The topology of the collections of type G is easily visualized as the Cayley graph G of G: each vertex in the Cayley graph is an element of the group G and vertices x and y are linked by an edge labeled by u if there is a generator u in the presentation of G such that x + u = y. The relationships between Cayley graphs and group theory are pictured in Fig. 9.1. A word (a sum of generators) is a path. Path composition corresponds to the group addition. A closed path (a cycle) is a word equal to e (the identity of the group, denoted also by 0). An equation v = w can be rewritten v − w = e and then corresponds to a cycle in the graph. There are two kinds of cycles in
204
Chapter 9
Fig. 9.1. Graphical representation of the relationships between Cayley graphs and group theory. The GBF pictured is Grid2 where, for brevity, a is used to denote north and b is used to denote east. For colour version, see Colour Plate Section.
the graph: the cycles that are present in all Cayley graphs and corresponding to group laws (intuitively: a backtracking path like east + north - north - east) and closed paths specific to the own group equations (e.g.: east north - east + north). The graph connectivity (there is always a path going from P to Q) is equivalent to say that there is always a solution x to equation P + x = Q.
3. 3.1.
Aggregation Processes in MGS Eden’s Process
We start with a simple model of growth sometimes called the Eden model [2]. The model has been used since the 1960s as a model for such things as tumor growth and growth of cities. In this model, a 2D space is partitioned in empty or occupied cells. We start with only one occupied cell. At each step, occupied cells x with an empty neighbor are selected, and the corresponding empty cell is made occupied (by a copy of the content of x). The Eden’s aggregation process is simply described as the following MGS global transformation: trans Eden = { x, => x, x }
The r.h.s. of the rule lists a set of values: in a path transformation, the first value in the r.h.s. replaces the first value matched in the left-hand side (l.h.s.), the second value in the r.h.s. replaces the second value matched in the l.h.s., etc.
Simulation of Self-Assembly Processes
205
Fig. 9.2. Eden’s model on an hexagonal mesh (initial state, and states after 3 and 7 time steps). This shape corresponds to the Cayley graph of Hex2 with the following conventions: a vertex is represented as a face and two neighbors in the Cayley graphs share an edge in this representation. An empty cell has an undefined value. Only a part of the infinite domain is figured.
3.2. The Growth of a Snowflake A crystal forms when a liquid is cooled below its freezing point. Crystals start from a seed and then grows by progressively adding more molecules to their surface. As an idealization, the molecules of a snowflake lie on an hexagonal grid and when a piece of ice is added to the snowflake, the heat released by this process inhibits the addition of ice nearby. This phenomenon leads to the following cellular automata rule [18]: a black cell (value 1) represents a place of the crystal filled with ice and a white cell (value 0) is an empty place. A white cell becomes black if it has exactly one black neighbor, otherwise it remains white. The corresponding MGS transformation is: trans SnowFlake = { 0 as x / 1 == FoldNeighbor[+,0](x) => 1 }
The construction path as x enables the naming of a sub-collection matched by path: here the identifier x refers to some occurrence of 0 in the GBF. The construct FoldNeighbor is not a function but an operator available only within a rule: it enables to fold a function on the defined neighbors of an element matched in the l.h.s. Here, this operator is used to compute the number of neighbors with value of x (the accumulating function is the sum and the initial value is 0). This transformation acts on a value of type Hex2 and a possible run is illustrated in Fig. 9.3.
3.3. Diffusion Limited Aggregation In a diffusion limited aggregation process, or DLA [17], a set of particles diffuse randomly on a given spatial domain. Initially one particle, the seed, is fixed. When a mobile particle collides a fixed one, they stick together and stay fixed.
206
Chapter 9
Fig. 9.3. Formation of a snowflake. The pictured states are the step at time states 1, 4, 8, 12, 16, 18, 20 and 23.
This process leads to a simple lattice gas automata that could be easily done in MGS using topological collections and transformation: trans dla = { ‘mobile, ‘fixed => ‘fixed, ‘fixed ‘mobile, => , ‘mobile }
We use two symbols ‘mobile and ‘fixed to represent respectively a mobile and a fixed particle (MGS’s symbols are like Lisp’s atoms). The two rules of the transformation deal with: (1) the aggregation: the first rule specifies that if a diffusing particle is the neighbor of a fixed one, then it becomes fixed (at the current position); (2) the diffusion: if a mobile particle is the neighbor of an empty place (position), then it may leave its current position to occupy the empty neighbor (and its current position is made empty). Note that the order of the rules is important because, following the rule application semantics of MGS, the first one has priority over the second. Figure 9.4 presents the final state of the application of the transformation dla on two kinds of topological collections: On the left, the neighborhood relationship is homogeneous and a GBF is used. On the right, the dla transformation is applied on a meshed sphere modeled as an abstract complex, cf. Section 5 below. The elements are the facets, and two facets are neighbors if they share an edge. For more details, refer to [15].
4.
Accretive Growth of Sierpinski Triangles
The Sierpinski triangles (ST from now on) is a fractal described by Waclaw Sierpinski (Polish mathematician, 1882–1969) in 1915 but appearing at least back
Simulation of Self-Assembly Processes
207
Fig. 9.4. Examples of DLA on two different topologies: an hexagonal mesh and a sphere. The plain hexagons and facets represent fixed particles. On the sphere, the empty positions are not drawn. Exactly the same transformation is used on the two collections.
from the 13th century (e.g. in Cosmati mosaics on the Anagni cathedral in Italy). It is also called the Sierpinski gasket or Sierpinski sieve [16]. The ST can be produced by iterating the 2-dimensional morphism defined on {0, 1} by 0 → 00 00 and 1 → 11 01 . Starting from 1, we obtain: 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 −→ −→ −→ −→ · · · . 1 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 Equivalently, it can be produced by taking the Pascal’s triangle modulo 2 (see Fig. 9.5). The formula for the binomial coefficient in Pascal’s triangle is: P (0, j ) = 1, P (i, j ) = 0 for i > j and P (i, j ) = P (i − 1, j − 1) + P (i − 1, j ) for the remaining cases. Considered modulo 2, this formula gives raise to the transformation below acting on a lattice Grid2:
Fig. 9.5. Taking the binomial coefficients modulo 2 produces the shape of the ST.
208
Chapter 9
Fig. 9.6. Growth of ST on GBF: the four figures present the growth of the ST on a Grid2 at different steps. Left: the initial state; right: the final state; on top middle: an intermediate step with the standard rule application strategy (maximal parallel); on bottom middle: an intermediate step using a stochastic application strategy (note the irregular boundary). On the grid, blank squares corresponds to the special value , light and dark gray squares are respectively the digits 0 and 1. trans ST1 = { |south> x |west> y => (x+y) mod 2, x, y }
In this rule, the comma is refined using a GBF generator: a |south> b means that b is a neighbor of a following the south direction. The transformation could be iterated on an initial lattice where the positions (0, j ) are filled with 1 and positions (i, 0) are filled with 0 for i > 0. The result is shown in Fig. 9.6. However, this transformation uses arithmetic operators (the + and mod). This is not acceptable if we want model more closely a physical growth process: then, the values 0 and 1 must be considered as arbitrary symbols and not as integers amenable to arithmetic operations. To avoid the arithmetic operations, the rule can be split into 4 rules where all the different cases are enumerated. Therefore, we obtain: trans ST2 }
= { |south> |south> |south> |south>
0 0 1 1
|west> |west> |west> |west>
0 1 0 1
=> => => =>
0, 1, 1, 0,
0, 0, 1, 1,
0 1 0 1
This more elementary computation is close to a specification of the ST growth using a tiling process where the tiles are DNA fragments, as in [14]. Following
Simulation of Self-Assembly Processes
209
this work, we consider 4 tiles corresponding to the two boolean values a cell (i, j ) receives from the cells (i − 1, j − 1) and (i − 1, j ). This tiling is easily coded and then simulated in MGS. We use the four symbols ‘T00, ‘T10, ‘T01 and ‘T11 to represents the 4 types of tiles: tile ‘Txy at position (i, j ) means that x is the value of P (i − 1, j ) and y is the value of P (i − 1, j − 1). So the value 0 is represented by either ‘T00 or ‘T11 and the value 1 by ‘T10 or ‘T01. Finally, we use a transformation with 4 rules to specify the placement of the tiles: trans ST3 = { |south> (‘T00|‘T11) as x |west> (‘T01|‘T10) as y => ‘T01, x, y |south> (‘T00|‘T11) as x |west> (‘T00|‘T11) as y => ‘T11, x, y . . . two additional symmetric rules . . . }
The path pattern works as follow: the | operator in a pattern denotes an alternative: ‘T00|‘T11 matches the symbol ‘T00 or the symbol ‘T11; the as construct is used to bind the value of a pattern fragment to a variable: in (‘T00|‘T11) as x the pattern variable is bound to the actual value matched by the pattern. In [14], the tile corresponds to molecules and the self-assembly process to a crystallization. In this kind of process, at a given time, only a fraction of the available binding sites effectively accept a new molecule. This is not correctly specified using the standard rule application strategy in MGS. The standard rule application strategy is called maximal parallel: in this strategy, all distinct instances of the sub-collections matched by the l.h.s. pattern are “simultaneously replaced” by the r.h.s. This matching strategy ensures a maximal rule application over a collection. In other words, if a rule is not triggered, then there is no instance of a possible path that fulfills the pattern. Such strategy is for example used in the application of the production rules of a Lindenmayer system [13] and may give an account for the fact that the laws of physics apply everywhere. The non-deterministic character of the process described in [14] is due to errors and the kinetics of chemical reactions and can be taken into account using a stochastic application strategy. As a matter of fact, there are several kinds of application strategy in MGS. With the stochastic application strategy, only one rule is applied (asynchronous mode) and the rule is selected according to a given probability. A pseudoprobability p can be associated to a rule using a new kind of arrow: lhs ={ probability = p }=> rhs
(the pseudo-probabilities of the rules within a transformation are summed up and normalised to give a probability; an ordinary rule has implicitly a pseudoprobability of 1).
210
Chapter 9
The use of the stochastic application strategy is specified in the transformation application, not in the transformation definition. The expression: ST3[strategy = ’stochastic](c)
applies the transformation ST3 using the stochastic application strategy to collection c. Because the four rules in ST3 do not define any explicit probability, each rule as an equal chance to be chosen. In the building of a ST by the previous transformations, the final result is not affected by the choice of a stochastic application strategy instead of the maximal parallel one, because each rule application is exclusive from the other ones. However, intermediate results may differ, cf. Fig. 9.6.
5.
Handling Arbitrary Shapes
Using a group presentation to define the underlying lattice of a DLA process is a powerful mechanism. However, the sphere in the right of Fig. 9.4 cannot be specified as the Cayley graph of a group. Indeed any Cayley graph is a regular graph (i.e.: each vertex has the same number of neighbors) and this is not the case for the sphere. In addition, the self-assembly processes we have described so far take place in a predefined discretized space. This is a shortcoming in several situations, for example when there is a need to handle arbitrary rotation. In the rest of this chapter, we will use abstract cellular complexes to represent and build incrementally arbitrary shapes in arbitrary dimensions.
5.1.
Cellular Complexes
The notion of abstract cellular complex comes from the combinatorial algebraic topology theory. An abstract cellular complex represents a space built by gluing together cells of various dimensions [12]. This data structure generalizes the idea of a graph: cells of dimension 0 are vertices, cells of dimension 1 are edges, cells of dimension 2 are faces, etc. More formally, a cellular complex is a set K of abstract elements together with an antisymmetric, irreflexive and transitive binary relation B ⊂ K × K and a function dim : K → N. The relation B is called the boundary relationship, and the function dim, dimension. Moreover, B and dim verify: ∀(c1 , c2 ) ∈ B, dim(c1 ) < dim(c2 ). The elements of K are called topological cells. If c ∈ K and dim(c) = n, then we say that c is an n-cell. The structure of cellular complex can be easily handled using a lattice based on the boundary relationship B. The following notions will be used in the rest of the chapter:
Simulation of Self-Assembly Processes
211
(1) incidence: let c1 and c2 be two cells, c1 and c2 are incident if (c1 , c2 ) ∈ B or (c2 , c1 ) ∈ B. Therefore, the lattice based on B is also called an incidence graph; (2) notion of face: let c be an n-cell, the faces of c are the set of the (n − 1)-cells cf such that (cf , c) ∈ B. As an example, if c is a triangle (a 2-cell), the faces of c are the three edges of c; (3) notion of coface: let c be an n-cell, the cofaces of c are the set of the (n + 1)cells ccf such that (c, ccf ) ∈ B. Of course, if c1 is a coface of c2 , c2 is a face of c1 . In this context, the corresponding MGS topological collection associates a value with each topological cell. This association corresponds to the notion of chain developed in algebraic topology.
5.2. Patch Transformations Path patterns, previously used to operate on GBF, are not well fitted to handle arbitrary cellular complex: an arbitrary sub-collection cannot be easily described by a path. Patch transformations have been created to handle any arbitrary cellular sub-complex. As any kind of transformations, patch transformations act on topological collections using rewriting techniques, and are defined by case where each case is a rewriting rule. The rest of this section describes the patch rules syntax. 5.2.1. Patch Patterns In patch patterns, a sub-collection is described through the elements that compose it (i.e., the n-cells) and their topological organization. We use two new operators < and > to represent the incidence relationship: a < b (or b > a) means a is a face of b (and obviously b is a coface of a). So we define a new syntax for pattern: a patch pattern PPat is a sequence of basic filters PBF separated by an incidence operator POp. Each basic filter matches one n-cell. The new grammar is defined by: PPat ::= PBF | PBF POp Pat POp ::= < | > | ’ ’ PBF ::= PVar | ~ PVar PVar ::= id | id:[dim=exp,...,clausei ,...]
where id ranges over the pattern variables and exp is an expression. A systematic interpretation for these patterns is given below. 5.2.2. Variable A pattern variable a:[dim=exp,...] matches exactly one element with a well-defined value. The pattern variable a denotes the matched element.
212
Chapter 9
For each variable, some constraints can be given between square brackets. The constraint dim=exp specifies the dimension of the filtered n-cell (the expression exp has to be evaluated into an integer). Other constraints can be given and some are detailed below. Contrary to what was required with path patterns, a pattern variable a may occur several times elsewhere in the whole rule. If the same variable is defined several times, both guards are grouped together in a conjunction. For example, a:[clause1 ] a:[clause2 ] is equivalent to a:[clause1 ,clause2 ]. 5.2.3. Neighborhood The expression e op p matches an element e that respect the incidence property denoted by op with the first element e matched by p. The incidence relation op is either: “<” which means that e is a face of e , “>” which means that e is a coface of e or “ ” (i.e. a white space) if e and e don’t have to respect any relationship. 5.2.4. Consuming Usually, if an element is matched by a pattern, it cannot be matched in another pattern matching. Indeed, two sub-collections matched by the l.h.s. of some rules of a transformation cannot overlap. We say that the elements matched by a pattern are “consumed”. Nevertheless, we need sometimes to refer to some particular elements (e.g. for the sake of the reconstruction in the r.h.s.), but without consuming those elements (that is: leaving this element free for another possible matching). This is the role of the tilde qualifier: ~ v is a basic pattern that leaves the element v free to be matched in a forthcoming rule application. To avoid any overspecification, any matched and unconsumed element can be matched but not consumed in another occurrence of a patch pattern. Note that using this syntax, the specification of a path of n-cells is easy: the path pattern a,b,c is equivalent to the patch pattern a < _ > b < _ > c
the _ is used to match a cell without giving it a name. As an example, the following pattern matches a triangle f with its boundary and without consuming edges e1, e2 and e3: f:[dim=2] v1 < ~ e1 > v2 < ~ e2 > v3 < ~ e3 > v1 ~ e1 < f ~ e2 < f ~ e3 < f
In order to have a more concise syntax, syntactic sugar is used to refer to a part of the neighborhood. The previous example can be rewritten as: f:[dim=2, (e1,e2,e3) in faces] v1 < ~ e1 > v2 < ~ e2 > v3 < ~ e3 > v1
Simulation of Self-Assembly Processes
213
The clause “(e1,e2,e3) in faces” means that a matched cell must have at least 3 faces named e1, e2 and e3. These elements are not consumed. 5.2.5. Specifying the Right-Hand Side Basically, the left-hand side specifies a subpart of the incidence graph of the cellular complex. So, the reconstruction can be described by an incidence graph that will replace the one matched by the patch pattern. The syntax to specify this graph is very close to the patch pattern specification: it is a sequence of two kinds of elements. An element can be either id:[exp]
which refers to an existing matched and consumed element named id in the patch pattern and whose value has to be updated by the value of exp, or ‘id:[dim=expd , faces=(id1 ,id2 ,...,‘id1 , ‘id2 ,...), cofaces=(id1 ,id2 ,...,‘id1 ,‘id2 ,...), val=expv ]
which refers to a new cell of dimension expd , with the associated value expv . If the val clause is missing, there is no value associated to the cell. The symbol ‘id can be used elsewhere in another clause to refer to this newly created element. Two clauses faces and cofaces are given to specify the list of faces and cofaces of the new cell ‘id. In these lists, the variables refer to the matched elements (i.e. they are pattern variables) while the symbols refer to new elements created elsewhere during the reconstruction step. The default value for faces and cofaces is the empty list. Note that the list of faces and cofaces do not need to be complete: all the faces and cofaces specifications are collected and normalized (that is, if x appears in the face list of y, then y is added if necessary in the coface list of x and vice versa). Note that a pattern variable in an expression may refer to two different values: the topological cell corresponding to the matched element or the value associated with the topological cell. The denoted value depends on the context: for instance, in a face clause, a pattern variable refers to the matched cell. In an ordinary expression, a pattern variable refers to the value associated to the matched cell. The operator ^ applied on pattern variable can be used to force the denotation of the matched cell is necessary. 5.2.6. A Simple Example Here is a short and simple example of a patch rule that matches an edge and adds a new vertex on it: v1 < e:[dim=1] > v2 => ‘e1:[dim=1, faces=(v1,‘v)] ‘v:[dim=0, cofaces=(‘e1,‘e2)] ‘e2:[dim=1, faces=(v2,‘v)]
214
Chapter 9
Fig. 9.7. Insertion of a vertex on an edge.
In this example, three new elements are created ‘v, ‘e1 and ‘e2, and e is removed. Figure 9.7 gives an illustration of this rewriting step.
6.
Self-Assembled Polymers
In this section we will use abstract cellular complexes and patch transformation to model a polymerization process. The model does not refer to a real example. Its only purpose is to illustrate the ability of modeling arbitrary shapes using abstract complexes. In the next section we will use abstract complexes to build Sierpinski triangle and tetrahedra by carving. Polymers are long-chained molecules with repeating units. They are formed by reacting monomers (the repeating part of the chain) in a process known as polymerization. These reactions fall into 2 main groups—addition polymerization and condensation polymerization. Addition polymerization is adding monomers and polymers together to form the chain. Thus, it is an example of accretive growth. In condensation polymerization, a small molecule, often water, is removed as part of the process. Here we suppose that a monomer is represented by a rectangle, that is, a 2-cell. When a monomer is joined to another monomer or a chain, the junction may form an angle that depends of the monomer constituent. For the sake of the simplicity, we suppose that each monomer is associated with its corresponding angle, see Fig. 9.8. The self-assembly process consists in taking arbitrarily two monomers (or intermediate polymers) and gluing them together, as sketched in Fig. 9.9. We assume that a monomer or a polymer has only one active binding site which correspond to an edge. The functions mark and unmark are used to activate and inhibit a binding site. Polymerization is a patch transformation that takes two elements in the previous multiset and joins them. This operation is iterated until there is only one polymer left in the solution. The transformation is applied following a stochastic strategy. Here is the code of the reaction transformation: trans reaction = { a,b => let cc = mark(merge(a + b)) in translate(cc) } ;;
This transformation implements the chemical reaction in the chemical soup: two complexes are selected and merged using the patch merge. The expression a + b creates a complex made of the two disjoint complexes a and b. After
Simulation of Self-Assembly Processes
215
Fig. 9.8. The initial population of monomers. They are represented with their corresponding joining angle. For colour version, see Colour Plate Section.
Fig. 9.9. Gluing of two monomers: a triangular 2-dimensional cell is added between the two rectangles. Beware that the rectangles are in a general position in a 3-dimensional space (see Fig. 9.8) and consequently, the three cells are not in the same plane.
the merging, an edge of the boundary is selected to become the new active site using the function mark. The only rules in the merge patch is looking for two active edges e1 and e2. They have to belong to two disconnected complexes. The guards (the clause that starts with a “?”) check these properties. We only match and consume the vertices v11 and v21 because they are merged to create ‘v (see Fig. 9.9). The other
216
Chapter 9
Fig. 9.10. A final polymer, from two points of view, generated by the reaction and merge transformations. For colour version, see Colour Plate Section.
cells remain after the application of the rule. The patch merge must be applied in an asynchronous mode to link the molecules by a unique edge. patch merge = { v11 < ~ e1:[dim=1,?(. . .)] > ~ v12 v21 < ~ e2:[dim=1,?(. . .)] > ~ v22 => ‘v:[dim=0, cofaces=join(cofaces(v11), cofaces(v21)), . . .] ‘e:[dim=1, faces=(v12,v22), cofaces=(‘f), . . .] ‘f:[dim=2, faces=(‘e,e1,e2), . . .] } ;;
This patch searches for two edges e1 and e2. They have to belong to two distinguished complexes and correspond to a possible link between the molecules. The guards check these properties. We only match and consume the vertices v11 and v21 because they are merged to create ‘v. The other cells remain unchanged after the application of the rule. The patch merge must be applied in an asynchronous mode to link the molecules by a unique edge. Figure 9.10 illustrates a final result.
7.
Carving Sierpinski Triangles
In this last section, we will use abstract complexes to introduce a new kind of selfassembly: self-assembly by carving. We will use the shape already introduced in Section 4: the Sierpinski triangles and its 3-dimensional generalization. Building a ST by carving is illustrated in Fig. 9.11. This process is easily coded in MGS using patch patterns on abstract cellular complexes.
Simulation of Self-Assembly Processes
217
Fig. 9.11. ST can also be produced by iterating the carving of a triangle inside another triangle.
7.1.
Carving Transformation
To represent the ST, we use an abstract cellular complex where the value of a vertex represents the coordinate of an embedding of the ST in the plane. The main advantage of using cellular complexes is that we can handle cells of various dimensions to represent all the elements that compose the ST. In fact, in the previous representation, the ST were patterns appearing on a matrix of digits, that is, on a predefined space. Here the concrete geometric structure of the ST is specified and the building of the ST also builds “its own embedding space”. Building the ST by carving means iterating the removing of the central part of a triangle. The limit of this process corresponds to the ST fractal (see Fig. 9.11). The initial step consists in a unique triangle. It corresponds to the digit 1 of the previous representation at the beginning of the series of transformations given in Section 4. It is composed of three 0-cells (vertices), three 1-cells (the edges that link the vertices pairwise) and a unique 2-cell (the unique coface of the edges): let rec v1 = new_cell(0,[],[e1,e3]) and v2 = new_cell(0,[],[e1,e2]) and v3 = new_cell(0,[],[e2,e3]) and e1 = new_cell(1,[v1,v2],[f]) and e2 = new_cell(1,[v2,v3],[f]) and e3 = new_cell(1,[v3,v1],[f]) and f = new_cell(2,[e1,e2,e3],[]);;
The primitive new_cell(d, , ) creates a new topological d-cell whose faces are given as the list and cofaces are . The carving, which is the unique step of the process, is the topological surgery described on Fig. 9.12. The MGS patch transformation follows:
218
Chapter 9
Fig. 9.12. Local topological transformation: the patch transformation CRV divides a triangle into 3 smaller ones, leaving a triangular hole in the middle. patch CRV = { ~ v1 < e1:[dim=1] > ~ v3 < e2:[dim=1] > ~ v5 < e3:[dim=1] > ~ v1 f:[dim=2, (e1,e2,e3) in faces] => ‘v2[dim=0, val=average(v1,v3)] ‘v4[dim=0, val=average(v3,v5)] ‘v6[dim=0, val=average(v5,v1)] ‘e1[dim=1, faces=(v1,‘v2), val=‘edge] ‘e2[dim=1, faces=(‘v2,v3), val=‘edge] ‘e3[dim=1, faces=(v3,‘v4), val=‘edge] ‘e4[dim=1, faces=(‘v4,v5), val=‘edge] ‘e5[dim=1, faces=(v5,‘v6), val=‘edge] ‘e6[dim=1, faces=(‘v6,v1), val=‘edge] ‘e24:[dim=1, faces=(‘v2,‘v4), val=‘face] ‘e46:[dim=1, faces=(‘v4,‘v6), val=‘face] ‘e62:[dim=1, faces=(‘v6,‘v2), val=‘face] ‘f1:[dim=2, faces=(‘e6,‘e1,‘e62), val=‘face] ‘f2:[dim=2, faces=(‘e2,‘e3,‘e24), val=‘face] ‘f3:[dim=2, faces=(‘e4,‘e5,‘e46), val=‘face] }
The function average, that is not detailed here, computes coordinates of the middle point between its 2 arguments. In this patch, all the elements of a triangle are matched. They are all consumed except the vertices that remain after the application of the rule. Moreover, they may be shared by other triangles, and therefore they cannot be destroyed and have to be matchable in a parallel application of the rule. Note that each edge has only one coface at any step of the building process. This is easy to prove considering the initial state and making an inductive reasoning at each step: in fact, the rule creates 9 new edges that have a unique coface. This kind of proofs on rewriting systems is usual and allows easy verifications of properties on self-assembly processes specified using rewriting techniques.
Simulation of Self-Assembly Processes
219
Fig. 9.13. On the left, application of the CRV patch on a different initial state. On the right, the expected result.
The patch CRV is a little long and may be difficult to understand. Moreover, CRV depends on the property of having one coface per edge. Indeed, if we take another initial state that does not assume this property, some aberrations can appear as shown on Fig. 9.13. In this example, two triangles share an edge. If we apply CRV on one of the two triangles, the topology of the other one is modified. It is not a triangle anymore, but a square. To reach the expected result irrelevantly of the initial shape, the building process can be divided into two distinguished transformations. The first one, AV, adds a vertex in the middle of each edges (see Fig. 9.14): patch AV [gen] = { ~ v1 < e:[dim=1] > ~ v2 => ‘v:[dim=0, cofaces=(‘e1,‘e2), val=average(v1,v2,gen)] ‘e1:[dim=1, faces=(v1,‘v), val=‘edge] ‘e2:[dim=1, faces=(v2,‘v), val=‘edge] }
An additional argument, gen, is required to distinguish the new and the old vertices and is used in the next computation step. Conveniently gen can be an in-
Fig. 9.14. Carving a triangle. The first transformation AV adds vertices in the middle of every edge. The second transformation RV refines the central hexagonal face into three triangles.
220
Chapter 9
Fig. 9.15. Sierpinski sponge building process: initial state and steps 1, 2, 3 and 4.
teger representing the generation number of the vertex. The function average is modified to compute and store the position and the age of the vertex. The next step looks for all the hexagons and replaces them with three triangles (see Fig. 9.14): patch RF [gen] = { f:[dim=2, faces = (e1,e2,e3,e4,e5,e6)] ~ v1 < ~ e1 > ~ v2:[?ok(gen,v2)] < ~ e2 > ~ v3 < ~ e3 > ~ v4:[?ok(gen,v4)] < ~ e4 > ~ v5 < ~ e5 > ~ v6:[?ok(gen,v6)] < ~ e6 > ~ v1 => ‘e24:[dim=1, faces=(v2,v4)] ‘e46:[dim=1, faces=(v4,v6)] ‘e62:[dim=1, faces=(v6,v2)] ‘f1:[dim=2, faces=(e6,e1,‘e62)] ‘f2:[dim=2, faces=(e2,e3,‘e24)] ‘f3:[dim=2, faces=(e4,e5,‘e46)] }
Note the guards in the specification of the matched vertices: the predicate ok checks the vertices v2, v4 and v6 to have the right generation number gen. The ST is 2-dimensional. The corresponding 3-dimensional fractal is called the Sierpinski sponge, see Fig. 9.15. These pictures have been generated using the current implementation of the MGS language. The 3D program is the same as the 2-dimensional one. In fact, we use the patches AV and RV to perforate the faces of a tetrahedron. A last patch (not detailed in this chapter) is used to create the 4 smaller tetrahedrons associated with the 4 original vertices. It is interesting to
Simulation of Self-Assembly Processes
221
note that the Sierpinski process is recursive within the dimension: we first applied an iteration of the 2D process (with AV and RV), and a last patch finalized the 3D construction.
8.
Conclusions
In this chapter we have presented the use of a DSL language for the modeling and the simulation of two kinds of self-assembly processes: by accretive growth and by space carving. Despite their specificities, we are convinced that they are paradigmatic of a full class of self-assembly processes. For instance, arbitrary Wang tiling [7] could be coded in MGS following the scheme presented in Section 4. The self-assembly of ST has been really implemented using DNA molecules [14]. Compared to the TAM and kTAM simulations used in this last work, the MGS modeling is more abstract: the purpose is not to study the implementation in DNA but to investigate the shape produced by some families of self-assembly processes. We insist on the expressiveness brought by the notions of topological collections and their transformation. For example, the patch language used in Section 7 is powerful enough to produce Sierpinski and Menger sponge (a generalization of carving a tetrahedron and a cube in 3D), see Fig. 9.16. The MGS programming style corresponds to the rule-based programming paradigm. Rule-based programming is currently experiencing a renewed period of
Fig. 9.16. Menger sponge building process: initial state and steps 1 and 2.
222
Chapter 9
growth with the emergence of new concepts and systems that allow a better understanding and better usability. However, the vast majority of rule-based languages (like expert-systems) are funded on a logical approach (computation is a logical deduction and a deduction step is specified by a rule) which is not adequate to describe various spatio-temporal processes. We hope that the previous section have demonstrated the ability of MGS to express easily and concisely the building of sophisticated spatial structures, like the ones needed to model selfassembly processes. Our topological approach is motivated by some considerations internal to computer science, and also by the needs expressed by some application domains. A target application domain for MGS is the modeling and simulation of dynamical systems and especially dynamical systems that exhibit a dynamic structure [3]. This kind of dynamical systems is very challenging to model and simulate. New programming concepts could be developed to ease their modeling and simulation. Another target application that should be investigated is robotics self-assembly. All the examples presented in this chapter have been developed and processed using the MGS interpreter. The results of the various programs have been stored in data files that are later used by separate external viewers for graphic representation. Others examples are presented on the MGS web page: http://mgs.ibisc. univ-evry.fr. The perspectives opened by this work are numerous. We want to develop several complementary approaches to define new topological collection types. One approach to extend the GBF applicability is to consider monoids instead of groups, especially automatic monoids which exhibit good algorithmic properties. Another direction is to handle other kind of combinatorial spatial structures. At the language level, the study of the topological collections concepts must continue with a finer study of transformation types. Several kinds of restrictions can be put on the transformations, leading to various kinds of pattern languages and rules. The complexity of matching such patterns has to be investigated. The efficient compilation of a MGS program is a long-term research plan. We have considered in this chapter only 1-dimensional paths, but a general n-dimensional notion of path exists and can be used to generalize the substitution mechanism of MGS. From the applications point of view, we are targeted by the simulation of more complex developmental processes [6].
Acknowledgements We are grateful to Natalio Krasnogor that give us the initial motivation to write this chapter. We are also grateful to the anonymous referees for comments and suggestions. A big thank is due to Olivier Michel at the University of Evry which is one of the designer of MGS. Further acknowledgments are also due
Simulation of Self-Assembly Processes
223
to M. Gheorghe at the University of Sheffield, F. Delaplace at the University of Evry, C. Godin and P. Barbier de Reuille at CIRAD–Montpellier, the members of the Epigenomic group at GENOPOLE–Evry, P. Prusinkiewicz at the University of Calgary, and the participants of the CellCom FET proposal for helpful discussions, biological motivations, fruitful examples and challenging questions. This research is supported in part by the CNRS, GENOPOLE–Evry, the GDR ALP, IMPG, and the University of Evry.
References [1] H. Abelson, D. Allen, D. Coore, C. Hanson, G. Homsy, T. Knight, R. Nagpal, E. Rauch, G.J. Sussman, R. Weiss, Amorphous computing, in: CACM, vol. 43, ACM Press, 2000. [2] M. Eden, in: H.P. Yockey (Ed.), Symposium on Information Theory in Biology, New York, 1958, Pergamon Press, 1958, p. 359. [3] J.-L. Giavitto, Invited talk: Topological collections, transformations and their application to the modeling and the simulation of dynamical systems, in: Rewriting Technics and Applications (RTA’03), Valencia, June 2003, in: LNCS, vol. 2706, Springer, 2003, pp. 208–233. [4] J.-L. Giavitto, O. Michel, Declarative definition of group indexed data structures and approximation of their domains, in: Proc. of the 3rd Int. ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, September 2001, ACM Press, 2001. [5] J.-L. Giavitto, O. Michel, Modeling the topological organization of cellular processes, Biosystems 70 (2) (2003) 149–163. [6] J.-L. Giavitto, O. Michel, Modeling developmental processes in MGS, in: Molecular Computational Models: Unconventional Approaches, Idea Group, 2004, pp. 1–46. [7] B. Grünbaum, G.C. Shephard, Tilings and Patterns, W.H. Freeman & Co., 1986. [8] P. Horn, Autonomic computing: IBM’s perspective on the state of information technology, Technical report, IBM Research, http://www.research.ibm.com/autonomic/manifesto/ autonomic_computing.pdf, October 2001. [9] J.A. Kaandorp, Modelling growth forms of biological objects using fractals, PhD thesis, University of Amsterdam, 1992. [10] K.N. Kutulakos, S.M. Seitz, A theory of shape by space carving, International Journal of Computer Vision 38 (3) (2000) 199–218. [11] V. Manca, C. Martin-Vide, G. Paun, New computing paradigms suggested by DNA computing: Computing by carving, Biosystems 52 (1–3) (1999) 47–54. [12] J. Munkres, Elements of Algebraic Topology, Addison–Wesley, 1984. [13] P. Prusinkiewicz, A. Lindenmayer, J.S. Hanan, et al., The Algorithmic Beauty of Plants, Springer-Verlag, 1990. [14] P.W.K. Rothemund, N. Papadakis, E. Winfree, Algorithmic self-assembly of DNA Sierpinski triangles, PLoS Biol 2 (12) (2004) e424, www.plosbiology.org. [15] A. Spicher, O. Michel, J.-L. Giavitto, A topological framework for the specification and the simulation of discrete dynamical systems, in: Sixth International Conference on Cellular Automata for Research and Industry (ACRI’04), Amsterdam, October 2004, in: LNCS, vol. 3305, Springer, 2004. [16] I. Stewart, Four encounters with Sierpinski’s gasket, Mathematical Intelligencer 17 (1995) 52–64. [17] T.A. Witten, L.M. Sander, Diffusion-limited aggregation, a kinetic critical phenomenon, Phys. Rev. Lett. 47 (1981) 1400–1403. [18] S. Wolfram, A New Kind of Science, Wolfram Media, 2002.
225
Chapter 10
Computer Aided Search for Optimal Self-Assembly Systems Pablo Moisset de Espanés University of Southern California, Computer Science Department, USA Abstract. DNA self-assembly is a promising paradigm for nanotechnology. In this chapter we study the problem of finding tile systems of minimum size that assemble a given shape in the Tile Assembly Model, defined by Rothemund and Winfree [Paul W.K. Rothemund, Erik Winfree, The program-size complexity of self-assembled squares (extended abstract), in: Proceedings of the Thirty-Second Annual ACM Symposium on Theory of Computing, ACM Press, 2000, pp. 459–468]. We present a tile system that assembles an N × log2 N rectangle in asymptotically optimal Θ(N ) time. This tile system has only 7 tiles. Earlier constructions need at least 8 tiles [A. Goel, H. Chen, Q. Cheng, P. Moisset de Espanés, Invadable self-assembly, combining robustness with efficiency, in: Proceedings of Symposium on Discrete Algorithms, ACM Press, 2004]. We managed to reduce the number of tiles without increasing the assembly time. The new tile system works at temperature 3. The new construction was found by the combination of exhaustive computerized search of the design space and manual adjustment of the search output. The search algorithms are of independent interest. We generalize the search techniques to look for tile systems that assemble non-rectangular shapes as well. In addition to the precise definition of the new counter, this chapter describes the design process, including the fortunate accidents that lead to its discovery.
1. Introduction Many mathematically oriented research publications emphasize precision and rigor over intuition and insight. Although this tendency is understandable, it has the disadvantage of not providing the reader with useful information. The intuitions and heuristics that were very useful to obtain a result become unavailable to the reader. These underlying ideas, even when they are mathematically “wrong,” can still help the scientific community to make further progress. It is also true that, frequently, proofs are derived “by accident.” That is, mathematical theorems are proved while trying to solve another problem or trying to prove some conjecture that turned out to be false. Another trend in mathematics is the increased use of computerized exploration to derive theorems. Computers can help to analyze explicitly a huge number of cases in a proof. They are also useful to derive conjectures. Though critics of STUDIES IN MULTIDISCIPLINARITY VOLUME 5 ISSN 1571-0831/DOI: 10.1016/S1571-0831(07)00010-X
© 2008 Elsevier B.V. All rights reserved.
226
Chapter 10
computer aided proofs have raised concerns about the validity of this procedure, it is impossible to deny that computers are valuable tools to explore hypothesis. This chapter describes the process of designing self-assembled (SA) counters, which are special self assembly systems that produce rectangles. I have tried to combine the formal definitions and theorem statements with informal explanations describing why they are important and how they were designed. I also decided to leave most of the results without proof, in order to present the constructions and underlying intuitions in more detail. The constructions are interesting from a theoretical point of view, but I consider the process of finding them equally interesting. Section 3 describes the “manual” design of a counter which was an improvement over previously known constructions. In contrast, Section 4 describes the computer aided search for an even “better” counter. This result was interesting because the computerized search did not find the actual solution, but suggested a similar, yet interesting construction. The reasons why the counter works is so subtle that we believe finding the counter without the computer exploration would have been unlikely, as we have not yet found a simple underlying principle that explains it correctness.
2. 2.1.
Definitions The Tile Assembly Model (TAM)
The tile assembly model [1,11] extends the theoretical model of tiling by Wang [12] to include a mechanism for growth based on the physics of molecular selfassembly. We will present a succinct definition, with minor modifications with respect to those found in [1,11] for ease of explanation. A tile is an oriented unit square with the north, east, south and west edges labeled from some alphabet Σ of glues. For each tile t ∈ T , the labels of its four edges are denoted σN (t), σE (t), σS (t), and σW (t). Sometimes we will describe a tile t as the quadruple (σN (t), σE (t), σS (t), σW (t)). Consider the triple T , g, τ where T is a finite set of tiles, τ ∈ Z>0 is the temperature, and g is the glue strength function from Σ × Σ to Z0 , where Σ is the set of glues. We assume that (x = y) ⇒ g(x, y) = 0 for all x, y ∈ Σ. In [3,4] the case when the assumption is removed was explored. Given p = (x, y), p = (x , y ) ∈ Z2 , we say p and p are position adjacent iff |x − x | + |y − y | = 1. A shape S is a finite subset of Z2 , such that for all pairs of positions (p, p ) in S 2 , either p = p or there exists a sequence of positions p1 , p2 , . . . , pn such that p1 = p, pn = p and for all 1 k < n, pk and pk+1 are position adjacent. A configuration is a partial function from Z2 to T . Let Dom(f ) denote the domain of a function f . Let C and D be two configurations. Suppose there exist some t ∈ T and some (x, y) ∈ Z2 such that (x, y) ∈ / Dom(C), D(x, y) = t and D = C except at (x, y). Let fN,C,t (x, y) =
Computer Aided Search for Optimal Self-Assembly Systems
227
g(σN (t), σS (C(x, y + 1))) if (x, y + 1) ∈ Dom(C) and fN,C,t (x, y) = 0 otherwise. Informally fN,C,t (x, y) is the strength of the bond between C and the north side of t. Define fS,C,t (x, y), fE,C,t (x, y) and fW,C,t (x, y) similarly. Then we say that tile t is attachable to C at position (x, y) iff fN,C,t (x, y)+fS,C,t (x, y)+ fE,C,t (x, y) + fW,C,t (x, y) τ , and we write C →T D to denote the transition from C to D in attaching a tile to C at position (x, y). Informally, C →T D iff D can be obtained from C by adding a tile t such that the total strength of interaction between t and C is at least τ . A tile system is a quadruple T = T , s, g, τ , where T , g, τ are as above and s is a special configuration called the “seed,” whose domain is a shape. If Dom(s) is a singleton, we will say T is a unit seed tile system. We define the notion of a derived supertile of a tile system T = T , s, g, τ recursively as follows: (1) the seed configuration s is a derived supertile of T, and (2) if C →T D and C is a derived supertile of T, then D is also a derived supertile of T. Informally, a derived supertile is either just the seed (condition (1) above), or obtained by legal addition of a single tile to another derived supertile (condition (2)). We will often omit the word “derived” in the rest of the chapter, and use the terms “seed supertile” or just “seed” or s to denote the special supertile in condition (1). A terminal supertile of the tile system T is a derived supertile A such that there is no supertile B for which A →T B. If there is a terminal supertile A such that for any derived supertile B, B →∗T A, we say that the tile system uniquely produces A. Given a tile system T which uniquely produces a supertile, we say that the program size complexity of the system is |T |, i.e. the number of tiles. The shape of a supertile Γ is Dom(Γ ). We will use the notation [Γ ] to denote the shape of Γ . A tile system T is said to uniquely produce a shape W iff it uniquely produces some supertile Γ and [Γ ] is identical (up to translation) to W . We will now add the notion of running time to this model. We associate with each tile t ∈ T a nonnegative probability P (t), such that t∈T P (t) = 1. We assume that the tile system has an infinite supply of each tile, and P (t) models the concentration of tile t in the system. Now self-assembly of the tile system corresponds to a continuous time Markov process where the states are in a one– one correspondence with derived supertiles, and the initial state corresponds to the seed s. Suppose a single tile t can be added to supertile B to produce supertile C. Then there is a transition from state B to C in the Markov chain, and the rate of the transition is P (t). Suppose the tile system produces a unique terminal supertile AT . In the Markov chain, the time for reaching AT from s is a random variable. The “running time” of the self-assembly process is defined as the expected value of this random variable. Note that the Markov process modeling the self assembly process is inherently parallel. For details see [1].
228
Chapter 10
All definitions up to this point are to describe the “rules of the game.” In this setting, “square molecules” can be attached to a growing assembly. The following definitions describe the problem we are going to address in this chapter. A tile system T = T , s, g, τ is said to be line-based iff: 1. T uniquely produces some coordinated supertile. We will denote this coordinated supertile as ΓT . 2. There exist integers l, r and h such that Dom(s) = {(x, y) | l x r ∧ y = h}, i.e. the coordinated shape of the seed is a horizontal line. 3. ∀(x, y) ∈ Dom(ΓT ) − Dom(s), y > h, where h is defined as above. The reduced-size of a line-based tile system T = T , s, g, τ is the number of elements in the range of the restriction of ΓT to Dom(ΓT ) − Dom(s). Informally, the reduced-size is the number of tiles that are used to construct ΓT , not considering the tiles used in the seed. Minimum line-based tile system problem. Given a shape S, find a line-based tile system of minimal reduced size that uniquely produces S. The General Purpose Counter (GPC) problem. Find a tile system such that for all positive integers h, for all K log h, there exists a seed row such that the tile system uniquely produces a supertile whose shape is an h × K rectangle. We would like to find a small set of tiles that assembles a rectangle whose size is determined solely by the initial configuration, i.e. the seed, of the SA process. We will also assume the shape of the seed has to be a horizontal line. We would like the size of this set of tiles to be independent of the size of the desired rectangle. Constructions with these properties were used by Rothemund and Winfree [11] and by Adleman et al. [1] as a “subroutine” to assemble squares. Since the techniques to assemble rectangles in [11] and [1] are based on repeated addition of binary numbers we refer to these constructions as counters. Why are counters important? They are useful subroutines to solve other problems. For example, we know how to use tiles to sort numbers [5]. The sorting construction uses a counter. Conceptually, counters are structures that grow to a specific size and they resemble the “for” loop of a programming language. If counters ever work in the lab (for example using DNA tiles), they could help to produce relatively big assemblies with sizes accurate up to one molecule. It has been noted that the pattern of tiles in some counters could be used to build interesting electronic circuits [7]. Why is it important to minimize the reduced size of a line-based system? Simply to reduce the cost of implementing this idea in the real world. If a certain construction can be achieved with only a few tiles, it is likely to require only a few “species”, such as DNA strands, to complete the experiment. Also note that in our definition of counter we want to minimize the number of tiles that appear
Computer Aided Search for Optimal Self-Assembly Systems
229
above the seed line and are independent of the size of the assembled rectangle. To obtain a rectangle of a given size, we would have to synthesize the base-line only. Since counters can be as thin as n × log n, with a “short” and presumably cheap base-line we can obtain a long structure.
3. Counting to n at τ = 2 Rothemund and Winfree’s counter uses 12 tiles (not counting those that appear in the seed row), works at temperature 2 and has a O(n log n) time complexity, where n is the height of the assembled rectangle. The counter presented in [1] is faster, as it has a O(n) time complexity, uses 15 tiles and works at temperature 3. This counter is an involved construction that uses a parallel binary addition algorithm. We will present now a simpler counter which has O(n) time complexity, uses only 8 tiles, requires temperature 2. Proving correctness of this counter as well as determining the running time is also easier than analyzing the counter in [1].
3.1.
Designing a Counter Manually
Adleman et al. [1] posted the problem of finding a counter that works at temperature 2 and assembles a rectangle in asymptotically optimal time. The construction in this section solves that problem. My first attempts to solve the problem were based on tweaking the counter in [1], trying to reduce the temperature from 3 to 2. One of the paradigms I used was to convert each tile in the original system into a 3×3 block of tiles in the new system. The approach was not successful. I don’t know if the idea was doomed but I could not find a working construction. Nonetheless, the idea of converting single tiles into blocks was useful to solve other problems, see for example [6]. I also tried to design a counter based on a heavily pipelined hardware adder I had designed in the past. That approach was also unsuccessful. Most of my designs involved a few dozen tiles and were rather complicated. I decided to change the design strategy. I tried to find a very simple counter that worked at temperature 2. After that, I planned to determine why it did not assemble in optimal time and I was going to optimize the design to speed it up. Of course, I did not expect a naive design to be fast, because a fast design requires a level of parallelism in the assembly process that did not look easy to achieve. Since all the counters we knew were based on simulating repeated additions of 1 in binary, I decided to continue with that line of thinking and I asked myself: “If I had to explain how to add 1 in binary to a 5 year old kid, how would I do it?” The answer I came up with is depicted in Fig. 10.1. The resulting algorithm creates a table of consecutive integers written in binary. The simple recipe can be
230
Chapter 10
Fig. 10.1. Algorithm to add 1 in binary.
summarized as follows: (a) Locate the rightmost zero in the binary number. (b) Write a ‘1’ on top of it. (c) To the right of this ‘1’, pad with zeros. To the left, copy the original digits. (d)(e)(f) Repeat the operations. I mimicked this algorithm using tiles, and the resulting design was a very efficient counter that works at temperature 2.
3.2.
The Tile System
We begin by showing a pictorial representation of the tile system (Fig. 10.2) and of the supertile it produces for n = 8 (Fig. 10.3).
Fig. 10.2. The tiles for the SA-counter. The number of lines jutting from each edge of the tile represent the strength of the bond (1 or 2) and the labels on the edges represents the glues. Some edges do not show any glue, meaning they have a zero strength glue.
Computer Aided Search for Optimal Self-Assembly Systems
231
Fig. 10.3. Representation of an SA-counter supertile. The dashed line encloses the seed row.
We initially assume that n = 2K for some positive integer K—we will later show how this assumption can be removed. The fully assembled counter is going to be a rectangle, with K tiles in each row. Each row represents a binary number between 0 and n − 1, with the row representing i being immediately above the row representing i − 1. While each tile is completely specified by its four glues, it is convenient for the purpose of exposition to allow tiles to have labels. Each tile has one main label (either 0 or 1). We will refer to tiles representing the digits 0 and 1 as “0-tiles” and “1-tiles” respectively. The number represented by each row can be obtained by reading the main labels on the tiles in that row, with the most significant bit being the west-most in the row. We will refer to the row representing the number i as the ith row of the counter. We define TSA (K) as the tile system in Fig. 10.2. The glue strength function is as indicated in the same figure. The temperature is 2, and there is a single seed supertile called SK . SK is a row of K special tiles. The glues on the north sides of these K tiles represent the initial value of the counter in binary. To represent
232
Chapter 10
the number 0, the glue on the north side of the east-most tile in SK is b, and all the other glues on the north side of SK are n. We will assume that all tiles which are not in SK have the same constant concentration pSA which is a constant independent of n. The increment operation going from row to row uses 8 different tiles as well as K special tiles that appear in the seed row only (see Fig. 10.2). For all positive i less than n, the assembly of the ith row always starts as the attachment of a 1-tile on top of the east-most 0-tile in the (i − 1)st row. Let pi denote the position of the first tile being attached in the ith row. All the remaining tiles in the ith row to the east of pi will be 0-tiles. All the remaining tiles in the ith row to the west of pi will “copy” the labels of the tiles immediately below, i.e. if p is to the west of pi , then a 1-tile will attach to the growing supertile at p iff there is a 1-tile at p − (0, 1). We will assume that the temperature for this counter construction is 2. We now describe the tiles in each of the rows and their glues. In addition to the main label, a 0-tile may have a star symbol. 0∗ -tiles denote the east-most 0-tile in each row. 0-tiles: There are the following 0-tiles: 0∗E , 0∗M , 0Z , 0C . 1-tiles: 1E , 1M , 1S , 1C . The glues and their strengths are depicted pictorially in Fig. 10.2. The label suffixes indicate the position in the row each row a tile may occupy and/or the function in the assembly. E: The tile can be only in the east-most column of the counter. Only tiles with the E suffix can be in the east-most column of the counter. M: The tile is either a 0∗ -tile or a 1-tile that is directly on top of a 0∗ -tile. M tiles do not appear in the rightmost column. There are special E tiles to describe 0∗ -tiles in that column. Z: Attach a 0-tile to the east. Tiles with the Z suffix can appear only to the east of the 0∗ -tile in the previous row and to the west of the 0∗ -tile in the same row. C: Copy to the west the digit in the lower row. All tiles to the west of an M tile in the same row are C tiles. Every C tile has the same main label as the tile immediately to its south. S: Search in the east to west direction for the position of the first 0-tile in the row immediately below. Tiles with the S suffix can appear only to the east of 0∗ -tiles. Theorem 1. The tile system TSA (K) uniquely produces a supertile which is a 2K × K rectangle. Initially, I wrote a long inductive proof from first principles, but Erik Winfree suggested a more elegant approach, which was a straightforward application of a
Computer Aided Search for Optimal Self-Assembly Systems
233
theorem proved by Rothemund [10]. The proof is omitted, details can be found in [5]. Removing the assumption h = 2K is straightforward. For all integers h > 1, for all K log h, there exists a seed row such that the tile system uniquely produces a supertile which is an h × K rectangle. To find that seed row given h and K, define d = 2K − h. Note that d 0. Let dK−1 , dK−2 , . . . , d0 be the binary representation of d, with d0 being the least significant digit. Let p be the least index such that dp = 0. Call gj the glue on top of the j th tile of the seed row, counting from east to west. If p = 0 then make g0 = b. If p > 0 then make gp = a and g0 = l. For all j in {1, 2, . . . , K − 1} − {p} make gj = u iff dj = 1 and make gj = n otherwise. Intuitively, d is the initial value of the counter and the counter always stops when it reaches the value 2K − 1. Note that it is possible to define the seed supertile without adding additional tiles to the system. This means that the total number of tiles is 8, regardless of h and K. If we wanted to construct the rectangle using a unit seed tile system, the number of tiles would have to depend on h. It is possible to use O(log h/ log log h) tiles to solve the problem, as shown in [1]. At this point I analyzed the assembly time expecting it to be sub-optimal. The detailed analysis was published in [9]. To my surprise, the assembly time was asymptotically optimal! This simple, small and “dumb” counter was smaller that the smallest previously know counter (by Rothemund and Winfree [11]) without sacrificing assembly time. Also, I believe it is slightly faster than the counter described by Adleman et al. [1]. That counter also assembles in asymptotically optimal time, but I believe that the design in Fig. 10.2 is faster than the one in [1] by a constant factor. Since my intuition indicates that the improvement in the constant is not dramatic and the analysis to determine it looks complicated, I decided not to study the running time in more detail.
4.
Finding Optimal Reduced-Size Tile Systems
I started considering the problem of finding a counter with a smaller reduced size. This seemed to be a hard optimization problem. My attempts to slightly modify the counter in Fig. 10.2 failed. Fortunately, the optimization process looks simple enough to be solved with a computer. Roughly speaking, we can try to brute force the problem by enumerating all possible sets of tiles of size 7 or less. Each one of these sets can be tested to determine whether they produce rectangles of predefined size or not. Figure 10.4 represents the process. 1. Generation of all sets of at most 7 tiles, using glues of strength not greater that 2. 2. Verification of each one of the generated tile systems. The verification process involves determining if the tested set of tiles can uniquely produce rectangles
234
Chapter 10
Fig. 10.4. Outline of the search procedure.
of certain predefined sizes. Since we are looking for tile systems that can uniquely assemble rectangles of all sizes h × w, as long as w log h, the choice of sizes is not really very important. The testing algorithm should know what the seed row is like. The seed row is not known, but this problem can be solved through exhaustive search. If the tested set fails to uniquely produce at least one of the rectangles tried, then, that set cannot be used for a counter and is discarded. 3. If the tested set succeeds to uniquely produce all of the rectangles tried, then, the set is probably a good counter. However, it may be the case that a set that passed all the tests during stage 2 fails to assemble a rectangle of a size not included in the test cases. Nonetheless, if we try many sizes in stage 2 and some set of tiles passes all the test cases successfully, that would be strong evidence of that set being a valid counter. We still have to prove correctness of the construction manually, but the probability of facing a “false positive” seems to be very small. Also, verifying a given design should be, in principle, easier than finding it. Note that if we did not know that there exists a counter with reduced size 8, the computerized approach would not look very promising. Rough estimates suggested that generating all sets of tiles of size up to 11 (1 less than the counter by Rothemund and Winfree) would be unfeasible. Even for sizes up to 7 the problem is non-trivial. We can derive a trivial upper bound. There are 4 × 7 = 28 sides in a set of 7 tiles. Since we are interested in tile systems that work at temperature 2, we need at most 57 glues, 28 glues of strength 1, 28 of strength 2 and a glue with strength 0. The total number of assignments of these glues to the 28 sides is at most 5728 < 1.5 × 1049 . Even if this upper bound is not tight at all, it shows that the naive approach of generating the sets of tiles using a handful of nested loops will not work in practice.
Computer Aided Search for Optimal Self-Assembly Systems
235
Fig. 10.5. Idea to reduce the search space.
4.1.
A More Formal Description of the Problem
To simplify the discussion, we will modify slightly the definition of tile system. Because of programming issues, dealing with sequences was easier than manipulating sets in this problem. Therefore: A tile system is a quadruple T = T , s, g, τ , where s, g and τ are as defined in Section 2, and T is a finite sequence of tiles (T1 , T2 , . . . , T|T | ) with no duplicates. To find tile systems with reduced size n and a given temperature τ , there are at most 4n∗τ +1 glues to be assigned to 4n tiles. By enumerating all the tile systems and testing them by simulating the assembly it is possible to solve the problem. Unfortunately, the naive enumeration approach requires testing Ω((4n∗τ +1)4n ) systems. Besides, testing each system requires running the simulation with all possible seeds for that system. The problem becomes intractable for small choices of n and τ . We need a dramatically better generation method. I designed such a technique using the following idea: Call S the class of all sets of tiles of size up to 7. Call C1 , C2 , . . . , C7 the sets of counters with sizes 1, 2, . . . , 7 respectively. Note that some or all of the Ck sets may be empty. In fact, it is easy to prove that C1 is empty. We wish to define some subset E of S such that for all 1 k 7, if Ck is non-empty, then E ∩ CK is non-empty. Testing if elements in E are counters or not is enough to solve the optimization problem. Trivially, we can make E = S, but we wish to find an E that is reasonably small and yet “easy” to enumerate using a computer. The approach is outlines in Fig. 10.5 I chose the set E by requiring the sequences of tiles in E to have some simple properties. Theorem 2 shows that only a relatively small subset of all the tile systems have to be tested. Before presenting Theorem 2, we will need some definitions: Without loss of generality, assume that the alphabet of glues used is Σ = {0, 1, 2, . . . , 4|T |}, and that ∀σ ∈ Σ, g(σ ) = 0 ⇔ σ = 0. Consider two tile systems T = T , s, g, τ and T = T , s , g , τ . T is said to be isomorphic to T iff: 1. τ = τ ∧ |T | = |T |.
236
Chapter 10
2. There exists a one to one mapping f : Σ → Σ such that: (a) ∀t ∈ T , ∃t ∈ T such that f (σN (t)) = σN (t ) ∧ f (σS (t)) = σS (t ) ∧ f (σE (t)) = σE (t ) ∧ f (σW (t)) = σW (t ), (b) ∀σ ∈ Σ, g(σ ) = g (f (σ )). 3. Dom(s) = Dom(s ). 4. ∀p ∈ Dom(s), f (σN (s(p))) = σN (s (p)) ∧ f (σS (s(p))) = σS (s (p)) ∧ f (σE (s(p))) = σE (s (p)) ∧ f (σW (s(p))) = σW (s (p)). Intuitively, two tile systems are isomorphic if they are the same up to glue renaming. Note that tile system isomorphism is an equivalence relation. Also observe that if T uniquely produces a coordinated supertile ΓT , then T uniquely produces a coordinated supertile ΓT , which can be thought of ΓT after renaming the glues as f indicates. Consider a tile system T = T , s, g, τ . For all tiles t and t in T , we say t glueprecedes t , and we will denote it as t ≺g t , iff t lexicographically precedes t . For all tiles t in T , we define the glue-strength signature of t as the ordered quadruple g(σN (t)), g(σE (t)), g(σS (t)), g(σW (t)). For all tiles t and t in T , we say t strength-precedes t , and we will denote it as t ≺s t , iff the glue-strength signature of t lexicographically precedes the glue-strength signature of t. Note that T is well ordered with respect to both ≺g and ≺s . T is said to be strengthordered iff for all i, j in {2, 3, . . . , |T |}, Ti ≺s Tj ⇔ i < j or (Ti and Tj have the same glue-strength signature and Ti ≺g Tj ). Consider a sequence of tiles T = (T1 , T2 , . . . , T|T | ). For all k ∈ {1, 2, . . . , |T |}, let NT ,k = max1ik σN (Ti ). Define ET ,k , ST ,k and WT ,k similarly. A tile system T = T , s, g, τ is said to be glue-compact iff for all i ∈ {2, 3, . . . , |T |}, σN (Ti ) NT ,i−1 + 1 and σE (Ti ) ET ,i−1 + 1 and σS (Ti ) ST ,i−1 + 1 and σW (Ti ) WT ,i−1 + 1. We will define a set of properties a tile system T = T , s, g, τ may have. 1. T has the P0 property iff for all t ∈ T g(σE (t)) + g(σE (t)) +g(σS (t)) + g(σW (t)) τ . 2. T has the P1 property iff T is strength-ordered. 3. T has the P2 property iff T is glue-compact. 4. T has the P3 property iff σN (T1 ) = 1 ∧ g(1) = τ ∧ σS (T1 ) = 1 ∧ g(σE (T1 )) + g(σS (T1 )) + g(σW (T1 )) τ ∧ g(σE (T1 )) g(σW (T1 )) ∨ g(σE (T1 )) = g(σW (T1 )) ∧ σE (T1 ) σW (T1 ). 5. T has the P4 property iff there exists exactly one tile t ∈ T such that σS (t) = 1. 6. T has the P5 property iff for the tile t ∈ T such that σS (t) = 1 ∧ (σE (t) = 0 ∨ σW (t) = 0 ∨ g(σS (t)) τ ) [σE (t) = σW (t) ⇒ g(σE (t)) < τ ]. |T | 7. Let NT = i=1 {σN (Ti )} − {0}. Define ET , ST and WT similarly. Let GN,T ,σ = {t | t ∈ T ∧ σN (t) = σ }. Define GE,T ,σ , GS,T ,σ and GW,T ,σ similarly. T has the P6 property iff ET = WT and ∀σ ∈ NT [(GN,T ,σ ⊆ GS,T ,σ ) ∧ g(σ ) = τ ⇒ (|GN,T ,σ | 1 ∨ |GS,T ,σ | 1)].
Computer Aided Search for Optimal Self-Assembly Systems
237
Theorem 2. For all shapes S, if there exists a line-based tile system TS that uniquely produces S, then there exists a line-based system T S with properties P0 , P1 , P2 , P3 , P4 , P5 and P6 such that T S uniquely produces S and the reduced size of T S is not greater than the reduced size of TS . Proof outline. Trivially, P0 is a necessary condition, otherwise there would exist a tile that would not be attachable ever. P1 can be always achieved by permuting tiles in T . P2 can be always achieved by renaming glues. P3 follows from the necessary condition of having at least one glue with strength equal to the temperature on the south side of some tile, and the possibility of renaming glues. P4 is a necessary condition for termination. P5 follows from the necessary condition of having at least one glue with strength equal to the temperature on the south side of some tile, and the possibility of renaming glues, also from the need of continuing the assembly after the attachment of that tile. P6 means that there is no point in using a glue with positive strength on a west side if it is never used on an east side, and also because of the analogous argument for the north, south and east directions. Note that this result is not limited to the problem of finding counters at temperature 2. Even though the derivation of the properties described here was motivated by that problem, subsequent analysis showed that the theorem was applicable to a much wider set of shapes. The extension to the more general setting of line-based systems was so natural that I could not resist generalizing the results. 4.1.1. Searching for the Smallest Counter Given n and τ , it is relatively easy to write a program that outputs exactly the set of all tile systems with n tiles, temperature τ and with properties P0 , P1 , . . . , P6 . To address the problem of testing if a tile system uniquely assemble a rectangle of a given size, it is possible to use an algorithm derived by Kempe and Rothemund [2]. This algorithm receives as inputs a tile system T and a shape A. In polynomial time (in the size of A) the algorithm determines whether T uniquely produces A or not. The algorithm works essentially by simulation of the assembly process. Since in our exploration of tile systems we do not know what the seed-line looks like the tester had to try out every possible seed-line and test if the resulted tile system uniquely assembled the desired rectangle. The implementation of the Kempe–Rothemund algorithm I used was not complete. It was, in fact, a weaker test. My version of the test could accept a tile system that did not uniquely assembled a given rectangle, as long as it assembled the rectangle. There was no real reason for me to use this incomplete implementation, other than not having to write an extra few dozen lines of code. Some heuristic reasoning convinced me that it was almost impossible for the program to give a wrong result. Fortunately, as we will see later, I was wrong.
238
Chapter 10
Although the size of the search space was dramatically reduced by using Theorem 2, the improvement was not good enough to solve the problem completely. It took two weeks of computer time to generate and test all sequences of size 5 or less in E. Simple extrapolation suggested that it is possible to explore all sequences of size up to 6 using a small computer cluster (16 machines) in about one week. The case of 7 tiles could be cracked using a fast supercomputer in about one year. Using that much computer power to solve this problem would wasteful, but it is clear that the simple search optimization techniques I used were effective. A handful of simple properties transformed a completely intractable problem into a tractable one. Computer based exhaustive search based on Theorem 2 yields the following result: Theorem 3. There is no tile system with reduced size less or equal to 5 that solves the GPC problem at temperature 2. Since it did not look easy to obtain substantial improvements in the running time, I decided to restrict the GPC problem. The restriction did not look as interesting as the original problem, but at least it was possible to solve it. The general idea was to “lower the standards” and look only for counters of a very special kind. For all tile sets T , a binary labeling map is a function m : T → {0, 1}. Intuitively, it labels each tile with either a 0 or a 1. A tile system T = T , s, g, τ is a full-binary system iff: 1. T solves the GPC problem. 2. All coordinated supertiles of T are full. 3. There exist a labeling map for T such that the terminal coordinated supertiles with rectangular shapes have the following property. Each row after the labeling has to represent a binary number one unit bigger than the number represented in the row immediately below it. In addition, the top-most row has to represent 2w − 1, where w is the width of the rectangle. The Full-Binary Counter (FBC) problem: Find a full-binary tile system. We already know a full-binary tile system, namely, the one described in Section 3. We may wonder if there exists an FBC with smaller reduced size. The gist of the idea to reduce the search space is easily explained with help of Fig. 10.6. Assume there exists a FBC with reduced size 7. Also assume we know the labeling of the tiles. In particular, the counter should assemble a 6 × 3 rectangle. Now assume we know the tile at each position in that rectangle. Now consider the particular example depicted in Fig. 10.6. Since the supertile must be full, it is clear that the north glue of tile T4 should be the same as the south glue of
Computer Aided Search for Optimal Self-Assembly Systems
239
Fig. 10.6. Derivation of additional constraints to speed up the search for full binary counters.
tile T3 . We can derive a set of similar constraints if we analyze all the junctions in the rectangle. All these constraints reduce the total number of sequences of tiles to enumerate. Of course, we do not know in advance a correct labeling and the mapping of tiles into positions. Therefore, we are forced to try out every possible labeling and every possible mapping. The only mappings we are interested in are those that generate rectangles that “look like” a sequence of consecutive binary numbers. However, the constraints derived from analyzing the junctions allow to reduce the size of the search space so much that the whole approach achieves a significative speedup. It was fairly easy to add these ideas to the previous generator. The obvious drawback of the approach is that we are looking for very special counters. Perhaps there are counters with reduced size at most 7 that assemble rectangles with glue mismatches in some junctions. The generation method we just described is not guaranteed to find them. It was only possible to prove that if there is a FBC with reduced s 7 the generator will generate a FBC with reduced size s. The testing program was not changed at all. After two weeks of computation, the generator/tester programs finished exploring the search space. One conclusion extracted from the exploration was: Theorem 4. There is no tile system with reduced size less or equal to 6 that solves the FBC problem at temperature 2. The output of the complete run was a list of about 80 candidate counters. The first candidate in the list was the one depicted in Fig. 10.7. Figure 10.8 shows how the tiles can assemble a 7 × 3 rectangle. Interestingly, it is easy to see just
240
Chapter 10
Fig. 10.7. Set of tiles generated by the computer search.
Fig. 10.8. Supertile assembled by the counter with 7 tiles.
by analyzing Fig. 10.8 that the counter is not binary! In any case, it just seemed to generate rectangles of all sizes when the appropriate seed row was used. The tester was run repeatedly with many rectangle sizes, and in every case the tester found a sequence of attachments that produced the desired result. The biggest example I tried was a 2048 × 12 rectangle.
Computer Aided Search for Optimal Self-Assembly Systems
241
Fig. 10.9. Fixed set of tiles that actually solves the GPC problem at temperature 3.
In spite of the overwhelming computational evidence, we still had to rule out the possibility of the construction being a false positive. All my attempts to prove the construction was correct failed. The main difficulty in analyzing the construction was that I could not find a simple underlying principle that makes the process work, such as the “add one in binary” process. Eventually, Ashish Goel found a trivial counterexample, proving the construction was flawed because it did not uniquely produced rectangles. The counterexample would have been detected by a correct implementation of the Kempe–Rothemund algorithm and the set of tiles would have been discarded. However, the “impossible” happened and we obtained a false positive. The striking surprise was that Ashish Goel also found a simple way to modify the construction, shown in Fig. 10.9, that results in a correct counter. The fix consisted in adding one to the strength of all glues that appear on horizontal sides and increasing the temperature to 3. Proving that the fixed construction works is not trivial. Even though we understand the problem well enough to produce an inductive proof, we have not yet been able to find an intuitive principle that describe the underlying algorithm that makes the counter work. Another pleasant surprise came from the analysis of the time complexity. Even when this counter was found solely by trying to minimize the reduced size, it still assembles rectangles in asymptotically optimal time. It is in fact slightly faster (constant improvement) over the construction described in Section 3. Both the proof of correctness and the time complexity analysis have not been published yet [8].
5.
Conclusions
The following table summarizes all the results obtained during the research described in previous sections.
242
τ =3 τ =2
– – – – – – – –
Chapter 10 n=2
n=3
n=4
n=5
n=6
n=7
n=8
B ? ×
B ? ×
B ? ×
B ? ×
B ? ×
B ? †
B √ √
G ? ×
G ? ×
G ? ×
G ? ×
G ? †
G √ ?
G √ √
τ : The temperature. n: The reduced size of the tile system. G: Solves the GPC problem. B: Solves the FBC problem. √ : There is solution and it is known. ×: No solution is possible. †: Open problem, but tractable. ?: Open problem.
The remarkable aspects of the derivation of the theorems described here can be summarized as follows. – The counter with reduced size 8 was designed by trying to find a very easy to understand tile system that worked at temperature 2. There was no initial attempt to make the reduced size small or the running time optimal. The simple design just had the two characteristics. – The counter with reduced size 7 is not an FBC and finally worked at temperature 3, while the computerized search was designed to look for an FBC at temperature 2. In short, it was outside the search space. – The counter with reduced size 7 assembles in asymptotically optimal time, even when the computerized search was just trying to optimize the reduced size. – The set of 7 tiles suggested by the computer did not work, and yet it passed several tests based on simulations. The Kempe–Rothemund algorithm is able to detect the particular problem the set has, but the incomplete implementation I used did not reject the set. There was not a good reason to avoid programming the full Kempe–Rothemund test, but this “mistake” was pivotal in discovering the counter. If I had done the “right thing” we would have never considered this flawed, but clever construction that was easy to fix. From a higher level point of view, we can see in this chapter what it is seldom shown in many research publications. Even in theoretical research, serendipity can play a vital role. Also, strictly incorrect constructions may have some merit because they can serve as inspiration to derive correct results.
Computer Aided Search for Optimal Self-Assembly Systems
243
Acknowledgements I would like to thank Ashish Goel, Len Adleman, Ming-Deh Huang, Qi Cheng, Dustin Reishus, Erik Winfree, Paul Rothemund and David Kempe for their collaboration and useful discussions.
References [1] L. Adleman, Q. Cheng, A. Goel, M. Huang, Running time and program size for self-assembled squares, in: Proceedings of the Thirty-Third Annual ACM Symposium on Theory of Computing, ACM Press, 2001, pp. 740–748. [2] L. Adleman, Q. Cheng, A. Goel, M. Huang, D. Kempe, P. Moisset de Espanés, P. Rothemund, Combinatorial optimization problems in self-assembly, in: Proceedings of the Thirty-Fourth Annual ACM Symposium on Theory of Computing, ACM Press, 2002, pp. 23–32. [3] G. Aggarwal, M. Goldwasser, M. Kao, R.T. Schweller, Complexities for generalized models of self-assembly, in: Proceedings of Symposium on Discrete Algorithms, ACM Press, 2004. [4] Q. Cheng, P. Moisset de Espanés, Resolving two open problems in the self-assembly of squares, Technical Report 03-793, University of Southern California, 2003. [5] P. Moisset de Espanés, Fast, small and robust self-assembly, PhD thesis, University of Southern California, Los Angeles, 2005. [6] A. Goel, H. Chen, Q. Cheng, P. Moisset de Espanés, Invadable self-assembly, combining robustness with efficiency, in: Proceedings of Symposium on Discrete Algorithms, ACM Press, 2004. [7] P. Rothemund, M. Cook, E. Winfree, Self assembled circuit patterns, in: Proceedings of DNA Computing, Springer-Verlag, 2003. [8] P. Moisset de Espanés, A. Goel, Toward minimum self assembled counters, in: Proceedings of DNA Computing, Springer-Verlag, 2007. [9] A. Goel, Q. Cheng, P. Moisset de Espanés, Optimal self-assembly of counters at temperature two, in: Foundations of Nanoscience, 2004. [10] P. Rothemund, Theory and experiments in algorithmic self-assembly, PhD thesis, University of Southern California, 2001. [11] Paul W.K. Rothemund, Erik Winfree, The program-size complexity of self-assembled squares (extended abstract), in: Proceedings of the Thirty-Second Annual ACM Symposium on Theory of Computing, ACM Press, 2000, pp. 459–468. [12] H. Wang, Proving theorems by pattern recognition ii, Bell Systems Technical Journal 40 (1961) 1–42.
245
Chapter 11
Programmable Self-Assembly—Theoretical Aspects and DNA-Linked Nanoparticles B. Högberg, J. Boo, J. Liu-Helmersson, L. Glans, H. Olin* Mid Sweden University, Department of Engineering, Physics and Mathematics, Sundsvall, Sweden Abstract. We briefly present a method for the parameterization of assembly systems derived from their ability to form unique structures. The concept of bond uniqueness is introduced and we show how it influences the number of unique structures that a programmable, or algorithmic, selfassembly system can create. Further, we argue that programmable self-assembly systems create embedded, additional computation that is reflected in the complexity of the generated structures and show how this complexity is related to the bond uniqueness of the building blocks. A brief introduction to sticky graphs, a mathematical tool for modeling self-assembly systems, is given. From the theoretical discussions it becomes clear that building blocks for programmable self-assembly need to have at least four distinct, geometrically separated bonds. A scheme for the production of building blocks with well-directed bonds for programmable self-assembly using DNA-nanoparticles is presented. The introduced procedure is a completely bottom–up approach and can be used to produce quite advanced PSA building blocks like nanoparticle eight-mers with eight bonds. Initial experiments are presented.
1. Introduction The motivation for the increased interest in self-assembling systems is both technological and fundamental. The miniaturization of electronic components results in increasing fabrication costs [1]. A bottom–up building approach based on selfassembly has been discussed as an alternative method for nanofabrication. However, it is not clear how to build complex systems using simple self-assembly. One possible path might be to first self-assemble a scaffold of technologically simple building blocks, then, self-assemble the interesting devices on the addressable sites created by the scaffold assembly. Potential scaffold materials are for example DNA [2] or DNA-linked nanoparticles [3,4] as well as more advanced biological systems like proteins [5] or viruses [6]. Using metallization of the biomolecules, the scaffold can also act as an electrical contact between the devices assembled upon the scaffold [7]. * E-mail: hakan.olin@miun.se.
STUDIES IN MULTIDISCIPLINARITY VOLUME 5 ISSN 1571-0831/DOI: 10.1016/S1571-0831(07)00011-1
© 2008 Elsevier B.V. All rights reserved.
246
Chapter 11
From a fundamental point of view, self-assembly has been studied as a naturally occurring computation process. One formal model for studies of programmable, or algorithmic, self-assembly is the Tile Assembly Model [8] where the building blocks, called tiles, are self-assembled into a square lattice. The model is an extension of Wang’s theory of tiling [9]. Programmable self-assembly is powerful, for example, it has been shown to be capable of universal computation [10]. The Tile Assembly Model has been used for investigation of, for example, the minimum number of tiles needed to self-assemble a square of a certain size (program size complexity) [8], the time complexity [11], optimal size and time complexity [12], or whether a given tile system uniquely produces a given shape [13]. Experimentally, DNA double-crossover molecules with four sticky ends, analogues to the four sides of the Wang tiles, have been demonstrated to assemble into two-dimensional lattices [2]. Another experimental demonstration, of a much more complex pattern, is the algorithmic assembly of DNA Sierpinski triangles [14]. The use of DNA as a scaffold material has been investigated experimentally [15]. Macroscopic systems based on millimeter-scale plastic tiles that float on a liquid [16,17] can also be used for experimental realization of algorithmic self-assembly [18]. For reviews on some of these self-assembly systems see [19,20]. In this chapter we review the different fundamental classes of self-assembly systems and the concepts of unique structures and bond uniqueness. We present our formal model for modeling of self-assembly systems: sticky graphs, and we briefly review some experiments using DNA modified nanoparticles to build nanostructures.
2.
Fundamental Aspects of Programmable Self-Assembly
In future applications where nanostructures are formed using a self-assembled scaffold, one would optimally like to assemble specific nanodevices on specific locations on the scaffold. These locations must thus be uniquely addressable. An addressable location should have a certain unique pattern that the nanodevice will recognize and stick to. The pattern could for example be a number of single stranded DNA sticking out form the scaffold and the nanodevice would have the complementary strands attached to it. Thus, a good self-assembly technology should produce patterns containing irregular, unique, structures. In the following we use the word tile to denote a general assembly building block. A tile have one or more functional edges with specific types of glues, or bonds. Two open bonds can form a bond if they are bitwise complements of each other. Depending on the types of open bonds on the self-assembly tiles and on the physical process that makes the tiles assemble, we classify the process according to the type of assembly it can produce.
Programmable Self-Assembly
247
Fig. 11.1. Classes of self-assembly systems. (a) Crystal type assembly (CA). (b) Unique addressing type assembly (UA). In programmable, or algorithmic, self-assembly (PSA) (c) the bond type does not uniquely determine the tile type to be bonded (bu > 1). An incoming tile must interact with at least two other tiles in order to assemble correctly. The unique structures generated in each case are encircled in gray. For colour version, see Colour Plate Section.
In crystal self-assembly (Fig. 11.1(a)) patterns of tiles are reproduced throughout the assembly. Since a crystal self-assembly (CA) repeats itself, the neighborhood of each tile must be identical everywhere in the assembly. This leads to the conclusion that each open bond of a crystal tile can only make a bond with one specific type of tile. This constraint on the assembly process assures that each tile of a certain type has the same type of tile neighbors everywhere. In a unique addressing assembly (UA) (Fig. 11.1(b)), each tile type only occurs once and the tile position is completely defined [8]. Each bond must be specific as to what type of tile it can accept, like in the CA case above. There must also exist a unique way to arrange the tiles so that there are no more open bonds or so that the remaining open bonds are blocked by the assembly itself. A programmable self-assembly (Fig. 11.1(c)) (PSA) system produces assemblies where one can find both repeating and unique patterns of tiles. For this to happen, some, or all, of the open bonds of a PSA tile must be able to bond to more than one type of tiles. Since an assembled PSA tile must, according to the above definition, accept at least two different types of new neighbors, the process is not deterministic and thus not programmable; a single PSA tile alone cannot uniquely define the next tile in the assembly. One thus introduces the added criterion that a new tile must bind to at least two, already assembled, tiles; i.e. two tiles is the smallest structure that define the type of the third tile to be assem-
248
Chapter 11
bled. This feature seems to be the single most important factor for the creation of complex assemblies. In nature, this type of dependent binding has been shown to be an important feature. For example in the self-assembly of ribosomes certain proteins do only assemble if the growing ribosome assembly contains a certain pair of previously assembled proteins [21]. As noted above, one issue that makes self-assembly interesting for nanotechnology is the ability to construct scaffolds with uniquely addressable structures. In the following sections, we will show how it is possible to estimate the number of unique structures that a certain assembly system can produce. The discussion follows paper [22]. In each finite assembly, one can identify a certain number, S, of unique structures. A unique structure is a number of connected tiles that is not reproduced anywhere else in the assembly. As an example, the string ac is a unique structure in aaabacabca while ab is not. The minimum number of tiles needed to define a unique structure is denoted η or, number of tiles per unique structure. The symbol N will be used to specify the total number of tiles that constitute the assembly in the discussion that follows. The number of unique tile types will be denoted by w. The patterns in Fig. 11.1 are examples of a few simple cases where finding S and η is straightforward. In general it is always possible to divide an assembly into S unique structures of η tiles in each structure. A unique structure parser algorithm for finding the values of the pair η and S in any finite assembly, can be constructed. The pair (S, η) is defined to be: the maximum possible S, and the η that gives this maximum. The bond uniqueness, bu , for an assembly system is defined as the average number of tile types that each open bond can make a bond to. For example in the assembly system in Fig. 11.1(c) the bond uniqueness is equal to two because each specific open bond can only harbor two different tile types on average. The first tile in a unique structure can be chosen at will from the w available tile types. Once this tile is specified however, the following tile types can only be chosen from a subset of the tile types, containing bu tiles. If we consider a twodimensional assembly, the interior of a square of η tiles is completely determined by two of its edges. (Because each incoming tile is completely determined by its two neighbors, see page 247.) The two edges can be chosen in the following number of ways, which is the maximum number of possible ways to create an η-structure: √ 2 η−2
(1) √ Consider a two-dimensional assembly with N tiles (assume that it is N × N √ √ √ √ tiles big). There are ( N − η + 1)2 locations where a η × η-tiles structure may be located (result from 2D-word pattern matching, see for example [23]). Assume that each one of these structures must be unique and that we use the wbu
.
√
Programmable Self-Assembly
249
maximum number of variations of η-structures that the tile system may produce. Then from Eq. (1) we get that √ √ 2 √ (2 η−2) wbu (2) = N − η+1 . Using (2) with the condition that Sη = N we get: 2 2 log bu S=N b2 √ 2 . log wu N − NS + 1
(3)
Equation (3) gives the maximum number of unique structures of a twodimensional PSA process of N total tiles with w unique tile types and bond uniqueness bu . For details of the derivation see Ref. [22]. The bond uniqueness parameter, bu , is strongly influencing the structural complexity of the generated assembly patterns. The reduced bond uniqueness, b˜u is defined b˜u = (bu − 1)/(w − 1). b˜u is 0 when the assembly is crystal or uniquely addressed and it is 1 when the assembly is random, i.e. any tile fits any bond. For PSA assemblies 0 < b˜u < 1. Deterministic complexity (introduced by Solomonoff–Kolmogorov–Chaitin [24]) measures the amount of randomness, or information, in a structure whereas statistical complexity [25,26] is based on the notion that both randomness and periodicity are equally simple to describe statistically. Objects are considered complex (having a high statistical complexity) if the amount of computation required to produce them is large. Additional computation is defined as the amount of computation needed to correctly place a tile at a growth site, in excess of bond matching computation. To see if an open bond matches another open bond is fundamentally equivalent to performing cb AND operations, where cb is the bond complexity (number of bits necessary to describe the bond). This computation must be performed in any assembly processes. The additional computation embedded in PSA processes is the ability to select the correct tile given more than one open bond (in principle, this is equivalent to performing nested AND operations). Here, we propose to use the additional computation as a statistical complexity measure. The amount of additional computation needed to select the appropriate tile type to attach (bind) to an assembly is proportional to the number of incorrect tiles that needs to be sorted out times their bond complexity. The number of bonds an incoming tile must make in a PSA process is denoted τ (called the temperature parameter in [8]). The number of tile types that the assembly process need to take “into consideration” at each assembly step is the bond uniqueness times the τ -parameter, bu τ . At least τ out of these bu τ tile types will be the same, namely the correct tile type(s) that fits all bonds that need to be filled. The number of incorrect tile types the process must consider is thus (bu − 1)τ or, using the reduced bond uniqueness, b˜u (w − 1)τ . This value needs
250
Chapter 11
Fig. 11.2. A plot of S (total number of unique structures) versus η (building blocks per unique structure) for different kinds of assemblies at constant number of total building blocks, N . The η-axis is logarithmic. At the top left corner unique addressing (UA) is found, where each building block constitutes a unique structure. At the opposite corner crystal type assembly (CA) is found, where only one unique structure is possible (the whole assembly) because of the periodicity of the pattern. In the middle different kinds of programmable, or algorithmic, self-assembly (PSA), is situated. The solid line represents the upper bound on S N/η. The inset shows the qualitative dependence (Eq. (4)) of the amount of embedded additional computation in an assembly with respect to the reduced bond uniqueness b˜u of the building blocks.
to be corrected for the fact that, as bu increases, the fraction of incorrect tile types is decreasing. (When bu reaches w all tile types will fit and there are no incorrect tile types to consider.) The fraction of “available” incorrect tile types is 1 − b˜u so the maximum additional computation, C, is thus given by C = cb τ (w − 1)b˜u (1 − b˜u )
(4)
where w, τ > 1, cb 1 and 0 b˜u 1. The maximum additional computation, in other words the maximum structural complexity, is maximal around b˜u = 1/2 (PSA) and vanishing for b˜u = 0 and b˜u = 1 (CA-, UA- and random-type assemblies), see the inset of Fig. 11.2.
3.
Sticky Graphs
Here, we will present a system for modeling self-assembly, that we call sticky graphs. We expect our system to develop over time, and the version presented here is just our first approximation. The sticky graphs we present are described in
Programmable Self-Assembly
251
Fig. 11.3. An example of a sticky graph. “Atom” A is connected to atoms B and C, and has no more possible connections left, while each of the atoms B and C has one more unused potential connection, that other atoms might stick to. We think of the system showed as a molecule, that yet can grow larger.
the preprint [28] by one of the authors. Mathematical details can be found there; in the present text we will, as far as possible, avoid mathematical technicalities. Like many other modeling systems for self-assembly [27], the sticky graph system is based upon (mathematical) graphs and grammars. Most such systems have a lot of mathematical properties in common, and the mathematical theories applying to them will be very similar. The sticky graphs are no exception, and we believe that from a strictly mathematical point of view, the system does not contribute with anything new. However, we think that the modeling properties of the sticky graphs are nice, and therefore we have chosen to develop them as our modeling tool. Sticky graphs are a priori highly independent of geometry, and can be used for modeling in one, two or three dimensions, or whatever. By specifying the rules describing a certain set of sticky graphs in a suitable way, a desired geometry may be implemented when needed. The idea behind sticky graphs is a kind of molecular analogue. We think of particles as atoms, with certain adhesive properties. Each particle is of a certain type (type of atom), and the type of atom determines how the atom can bind to other atoms. This is done in terms of connections, where each (instance of a) type of atom has a certain set of possible/potential connections. A connection can be unused, or it can be used. An unused connection describes a way for the atom to—potentially—connect to another atom, and a used connection describes that the atom really is attached to another atom. This is exemplified in Fig. 11.3, where a simple graphic representation for sticky graphs is used. In Fig. 11.3 we see that sticky graphs are not graphs in the usual mathematical sense; there are no “unused connections” in a graph. Sticky graphs constitute a generalization of graphs, where we have both used and unused connections. A sticky graph can be used to describe the statics of a self-assembly situation. In the sticky graph we can picture every atom in our universe under consideration, of what type each atom is, what atoms are connected to what atoms, and what possible connections are left. Hence we can see (continuing to use the molecular analogue) all the molecules and what unused connections we have. Thus, a sticky graph is a snapshot of the state of our universe.
252
Chapter 11
Since self-assembly is a dynamic process, we also need to take the dynamics in account, and this is done by means of a grammar. A grammar is, loosely speaking, a way of describing how changes may take place in the universe. It consists of a starting state, i.e., a sticky graph describing the situation when the process starts, and a set of rules for how local changes can occur. These rules, that we call productions, give precise information on how unused connections can combine to give a new binding between atoms, or, how an actual binding can be broken up, leaving two unused connections. To take care of this, one needs to have a way of identifying substrates in a state (sticky graph). In [28], we define morphisms between sticky graphs. As in normal mathematical language, a morphism is a mapping that respects structures, and a morphism between sticky graphs is a mapping from one sticky graph to another in such a way that fundamental structural properties are preserved. By morphisms, we can describe what it means for one sticky graph to be embedded into another, and the concept of embedded sticky graphs is fundamental for describing productions, and hence the dynamics of sticky graphs. A production is a rule that says that if a certain sticky graph is embedded into the state we are considering, then we can cut this substructure out, replacing it by another substructure containing the same types of atoms, but with some alterations in the connections. Figure 11.4 gives a graphic description of a production, and in Fig. 11.5, we see how this production is applied to a subsystem of a slightly larger sticky graph. Here, a in the sticky graph corresponds to y in the production, b to z, and c to x. Some care has to be taken when describing productions. The stars (∗) appearing in the left-hand side of the production in Fig. 11.4 indicates a demand that the corresponding connection be unused. Unused connections without a star in the production means that it is insignificant whether or not the connection is used. Naturally, a used connection in the left-hand side production indicates a connection that must be used for the production to apply. For example, the production in Fig. 11.4 could not have been applied to the sticky graph in Fig. 11.6. All this, and some more, have to be carefully thought of when designing productions. With this care, sticky graphs is a powerful tool to in a suggestive way picture self-assembly situations. The mathematical rigor they are based upon (as
Fig. 11.4. A production.
Programmable Self-Assembly
253
Fig. 11.5. The production in Fig. 11.4 applied to a sticky graph. Note that the production also could have been applied to connect b to d.
Fig. 11.6. A sticky graph for which the production in Fig. 11.4 is not applicable.
presented in [28]) gives a theoretical framework and is also done so that it allows construction of computer programs to handle e.g. simulation.
4.
Programmable Self-Assembly Using DNA-Linked Nanoparticles
It is clear from the previous sections that to implement PSA one needs building blocks of a certain complexity and diversity. It is not, for example, possible to implement PSA using parts that have the same kind of connections, or bonds, on all faces. Using these kinds of building blocks will inevitably lead to periodic, non-complex structures. A PSA building block must have at least two bonds, in order to be able to interact with at least two, already assembled blocks as discussed on page 247. Furthermore, if the assembly process is to continue and not be blocked, it must also have two bonds left for new, incoming, building blocks. Having only one bond left is not enough, because if an incoming block has just one connection left after it has made bonds to two already assembled blocks, it has reduced the number of open bonds in the assembly by one. This leads to the conclusion that to PSA assemble a structure of n tiles one need to start out with a seed with n+1 open bonds. So in practice a general PSA building block must have at least four bonds. It is possible to build three-dimensional structures
254
Chapter 11
using building blocks with only four bonds. However, one would then be required to create a kind of diamond like structure (using tetrahedron building blocks with functionalized corners). A more practical approach is to use space-filling building blocks like triangular prisms or cubes having at least 5, respectively 6 bonds (6, respectively 8 bonds, if the bonds are situated at the corners). Building blocks that have a size of tens of micrometers can be manufactured and functionalized using conventional microtechnology. Standard techniques has also been tried on colloidal particles. One example of a top–down approach for the functionalization of two distinct areas of 1 µm particles can be found in [29]. However, as the dimensions of the building blocks are reduced, it is increasingly difficult to functionalize different parts of the building blocks with different functions. When dealing with nanoscale objects, a top–down procedure for selective functionalization is no longer feasible. A new approach is needed. We here propose such a new method for the fabrication of nanoscale PSA building blocks using only bottom–up methods, taken from [30] and [31]. Note that the idea to use DNA-linked nanoparticles to build nanostructures is not new [3,4]. What is new here is that we introduce a method to break the symmetry and produce anisotropic building blocks, thus opening up a path towards self-assembly of complex, non-periodic, nanoparticle structures. Firstly, nanospheres of a suitable material are functionalized with two different types of single stranded DNA (ssDNA) (called particles of type I below). For example, for gold [32,33] and SiO2 [34] nanoparticles, there exist standard protocols for this. Secondly, nanospheres of a second kind are prepared in the same way but using yet another set of different DNA sequences (these are called type II particles). These spheres are then mixed in solution, see Fig. 11.7(a). Consider the case when nanospheres of type I have ssDNA sequences A and X and the nanospheres of type II have sequences B and Y. Linker molecules, consisting of a chain of complementary sequences to Y (cY) and X (cX) coupled by some sequence of bases that are irrelevant to the assembly process (cL), are added to the solution, see Fig. 11.7(b). As the linker molecules are added the spheres of types I and II will adhere to one another and form aggregates of different sizes. By controlling the temperature of the solution we can promote the formation of dimers. After a while the linker DNA is rinsed away, stopping any further aggregation of the nanoparticles. The dimers could then be separated from the rest of the aggregates by centrifugation, gel electrophoresis or some other mass separation technique. If necessary, the sticky ends of the linker molecules could be passivated by adding a solution of LY and LX DNA (Figs. 11.7(d)–(e)). The dimers produced in this way constitute simple building blocks with ssDNA of types A and B sticking out at different ends of the dimers. By starting out with particles coated with four specific DNA sequences and using several iterations of this technique one could make four-mers and eight-mers to be used as more advanced PSA building blocks, Fig. 11.7(g).
Programmable Self-Assembly
255
Fig. 11.7. Scheme for nanoparticle PSA building block assembly. (a) Two different sets of nanospheres are each coated with two (or more) single stranded DNA sequences A (dotted), X (gray) and B (light gray), Y (dash-dotted) respectively. These nanospheres are mixed in solution and DNA-linker molecules cX-cL-cY are added (b). The linker molecules hybridize with the complementary parts on the nanospheres, making the nanospheres bind together (c). Dimers can be purified out of the solution by chromatographic methods. Adding the complementary molecules (X-L and L-Y) (d) passivates the remaining sticky ends of the linker molecules (e). The only single stranded DNA left is of type A on one sphere and of type B on the other so the dimer in (e) is functionally equivalent to the one in (f). Using several iterations of these processes one can, for example, produce eight-mers with eight separate and specific binding sites to be used for PSA. For colour version, see Colour Plate Section.
Following the above method one can create a large number of different basic building blocks with specific sticky ssDNA on different faces of the blocks. As the basic building blocks are mixed together with blocks having complementary DNA, self-assembly will occur. Gold colloids with mean diameters ranging from 10 to 50 nm were purchased from G. Kisker GbR. Typical size distributions were about 15%, concentrations are approximately 0.07 nM for the 50 nm up to about 7 nM for the 10 nm particles. Thiol modified (5’ and 3’) and unmodified ssDNA were purchased from Cybergene AB. All oligos were HPLC-purified by the manufacturer. The lengths of the thiolated oligonucleotides were 16 code bases and 10 bases of consecutive T’s between the thiol group and the coding sequence. The ten T’s act as a separator between the particle and the hybridizing sequence. The coding sequences
256
Chapter 11
Fig. 11.8. (a) Photograph of the discrete red lines formed by agarose gel electrophoresis of 50 nm DNA coated nanoparticles with linker molecule added. (b) Electron micrograph of electrophoresis-purified nanoparticle dimers. For colour version, see Colour Plate Section.
were optimized to have cross-hybridization probability as small as possible. The sequences were also checked for unwanted hairpin and dimer formation. To this end we used software developed by ourselves and some online tools [35]. We have primarily used a subset of the DNA library for DNA-computing by Penchovsky and Ackermann [36]. This set of oligos is well optimized for uniqueness and the sequences are also optimized to have similar melting temperatures. The functionalization of the gold particles followed a modified version of the Storhoff protocol [37]. Equal amounts of 4 different thiolated oligos to a total of 1 nmole DNA are mixed separately and then mixed with 1.3 ml of the gold colloid. These samples are stored at 30 ◦ C overnight followed by the addition of a sodium phosphate buffer to 0.01 M (pH 7) and a NaCl solution up to 0.1 M. The addition of salt is done drop wise and in two steps separated by roughly two hours. After another 48 h at 30 ◦ C the samples are brought to 0.3 M NaCl. The colloidal solutions are then centrifuged twice at 14,000 rpm for 10–60 min (depending on particle size) with an intermediate rinsing. Finally the pellet containing the DNA-modified particles is redispersed in a 0.01 M phosphate, 0.3 M NaCl, 0.01% Azide solution. Particles of different DNA types were mixed together and the appropriate linker molecules added. After incubation for about 60 min at 20–60 ◦ C gel-loading buffer (dextrose) was added and the samples were allowed to cool down during gel loading. Agarose gel (0.8% w/v) electrophoresis was performed to separate the dimers [38] from single particles and from larger aggregates, see Fig. 11.8(a). The dimer bands were cut out from the gel using a scalpel and diced into smaller pieces. The dimers were retrieved from the gel slices using Nanosep MF centrifugal filters (Pall Corporation). SEM studies were performed on the 50 nm gold particles using a LEO-1450 EP electron microscope. The ssDNA successfully attached to the particles. This is clear from the fact that the gold colloids are stable in high salt concentration. The formation of
Programmable Self-Assembly
257
dimers, trimers and larger aggregates has been verified by gel electrophoresis, see Fig. 11.8(a) and SEM photos, Fig. 11.8(b). The method seems to be a potential path towards programmable self-assembly of nanoparticle structures.1
5.
Conclusions
We have presented a method for the parameterization of assembly systems derived from their ability to form unique structures. We have also introduced the concept of bond uniqueness and showed how it influences the number of unique structures that a programmable self-assembly system can create. Furthermore, we have argued that programmable self-assembly systems creates embedded, additional computation that is reflected in the complexity of the generated structures. This structural complexity is directly dependent on the reduced bond uniqueness of the system. Sticky graphs, a mathematical tool for modeling self-assembly systems, is introduced to the reader. From the theoretical discussions it is clear that building blocks for programmable self-assembly need to have at least four distinct, geometrically separated bonds. A principal scheme for the production of building blocks, with well-directed bonds for programmable self-assembly using DNA-nanoparticles, has been presented. The introduced procedure is a completely bottom–up approach and can be used to produce quite advanced PSA building blocks like nanoparticle eight-mers with eight bonds. Initial experiments are presented.
References [1] R. Compañó (Ed.), Technology Roadmap for Nanoelectronics, European Commission, Office for Official Publications of the European Communities, Luxembourg, 2001. [2] E. Winfree, F.R. Liu, L.A. Wenzler, N.C. Seeman, Nature 394 (6693) (1998) 539–544. [3] C.A. Mirkin, R.L. Letsinger, R.C. Mucic, J.J. Storhoff, Nature 382 (6592) (1996) 607–609. [4] A.P. Alivisatos, K.P. Johnsson, X.G. Peng, T.E. Wilson, C.J. Loweth, M.P. Bruchez, P.G. Schultz, Nature 382 (6592) (1996) 609–611. [5] Shuguang Zhang, Biotechnology Advances 20 (5–6) (2002) 321–339. [6] A.S. Blum, C.M. Soto, C.D. Wilson, J.D. Cole, M. Kim, B. Gnade, A. Chatterji, W.F. Ochoa, T.W. Lin, J.E. Johnson, B.R. Ratna, Nano Letters 4 (5) (2004) 867–870. [7] Hao Yan, Sung Ha Park, Gleb Finkelstein, John H. Reif, Thomas H. LaBean, Science 301 (5641) (2003) 1882–1884. [8] P.W.K. Rothemund, E. Winfree, in: Proc. 32nd Ann. ACM Symp. Theor. Comp., New York, NY and Portland, OR, USA, 2000, ACM, 2000, pp. 459–468. [9] H. Wang, Bell System Tech. Journal 40 (1961) 1–42. 1 Recently this approach has been used to make dimer building blocks that assembles into curved structures [39]. This effect proves that the building blocks actually are anisotropically functionalized.
258
Chapter 11
[10] E. Winfree, in: R.J. Lipton, E.B. Baum (Eds.), DNA Based Computers, in: DIMACS Series in Discrete Math. and Theor. Comp. Sci., vol. 27, Amer. Math. Soc., Princeton, 1996, pp. 199– 221. [11] L.M. Adleman, Q. Cheng, A. Goel, M.D. Huang, in: ACM Symposium on Theory of Computing (STOC’01), 2001, pp. 740–748. [12] Q. Cheng, A. Goel, P. Moisset de Espanés, in: Proceedings of Foundations of Nanoscience: Self-Assembled Architectures and Devices, Snowbird, Utah, 2004, Sciencetechnica, 2004, pp. 219–226. [13] L.M. Adleman, Q. Cheng, A. Goel, M.D. Huang, D. Kempe, P. Moisset de Espanés, P.W.K. Rothemund, in: ACM Symposium on Theory of Computing (STOC’02), 2002, pp. 23– 32. [14] P.W.K. Rothemund, N. Papadakis, E. Winfree, Plos Biology 2 (2004) 2041–2053. [15] S.H. Park, H. Yan, J.H. Reif, T.H. LaBean, G. Finkelstein, Nanotechnology 15 (10) (2004) 525–527. [16] N. Bowden, A. Terfort, J. Carbeck, G.M. Whitesides, Science 276 (1997) 233–235. [17] K. Hosokawa, I. Shimoyama, H. Miura, Sensors and Actuators A: Physical 57 (1996) 117– 125. [18] P.W.K. Rothemund, Proc. Natl. Acad. Sci. USA 97 (3) (2000) 984–989. [19] N.C. Seeman, Nature 421 (2003) 427–431. [20] G.M. Whitesides, B. Grzybowski, Science 295 (5564) (2002) 2418–2421. [21] G.M. Culver, Biopolymers 68 (2) (2003) 234–249. [22] B. Högberg, H. Olin, J. Comput. Theor. Nanosci. 3 (3) (2006) 391–397. [23] A. Capri, A. de Luca, Int. J. Found. Comp. Sci. 15 (2004) 355. [24] R.J. Solomonoff, Inform. Contr. 7 (1–22) (1964) 224–254. [25] C.H. Bennett, in: Rolf Herken (Ed.), The Universal Turing Machine—A Half-Century Survey, Oxford University Press, Oxford, 1988, pp. 227–257. [26] J.P. Crutchfield, Physica D 75 (1–3) (1994) 11–54. [27] E. Klavins, IEEE Proc. Int. Conf. Robotics and Automation 5 (2004) 5293–5300. [28] J. Boo, Basic properties of sticky graphs and their morphisms, Report no 2-2005, Mathematics Mid Sweden University, 2005. [29] Z. Bao, L. Chen, M. Weldon, E. Chandross, O. Cherniavskaya, Y. Dai, J.B.-H. Tok, Chemistry of Materials 14 (1) (2002) 24. [30] B. Högberg, J. Helmersson, S. Holm, H. Olin, in: Proceedings of Foundations of Nanoscience: Self-Assembled Architectures and Devices, Snowbird, Utah, 2005, Sciencetechnica, 2005, pp. 219–226. [31] B. Högberg, J. Helmersson, S. Holm, H. Olin, Appl. Surf. Sci. 252 (15) (2006) 5538–5541. [32] L.M. Demers, M. Ostblom, H. Zhang, N.-H. Jang, B. Liedberg, C.A. Mirkin, J. Am. Chem. Soc. 124 (38) (2002) 11248–11249. [33] R.C. Jin, G.S. Wu, Z. Li, C.A. Mirkin, G.C. Schatz, J. Am. Chem. Soc. 125 (6) (2003) 1643– 1654. [34] Csogor, M. Nacken, M. Sameti, C.M. Lehr, H. Schmidt, Materials Science and Engineering: C 23 (1–2) (2003) 93–97. [35] Online tools for oligo-design, rna.tbi.univie.ac.at/cgi-bin/alifold.cgi, scitools.idtdna.com/ analyzer/. [36] R. Penchovsky, J. Ackermann, Journal of Computational Biology 10 (2) (2003) 215–229. [37] J.J. Storhoff, R. Elghanian, R.C. Mucic, C.A. Mirkin, R.L. Letsinger, J. Am. Chem. Soc. 120 (9) (1998) 1959–1964. [38] D. Zanchet, C.M. Micheel, W.J. Parak, D. Gerion, S.C. Williams, A.P. Alivisatos, J. Phys. Chem. B 106 (45) (2002) 11758–11763. [39] B. Högberg, H. Olin, Eur. Phys. J. D 43 (2007) 299–302.
259
Chapter 12
From Microscopic Rules to Emergent Cooperativity in Large-Scale Patterns Bosiljka Tadi´c* Department for Theoretical Physics, Jožef Stefan Institute, P.O. Box 3000, SI-1001 Ljubljana, Slovenia Abstract. Assembled large-scale systems of nano-particles or molecules can be represented by graphs (network structures), in which nodes and links have specified physical attributes. We consider two classes of complex spin-networks, in which spins with two degrees of freedom are attached to nodes of the network. We first demonstrate how different network geometries emerge when the microassembly rules and constraints are varied. We then study the dynamic response when these large-scale structures are driven by the magnetic field and show how the hysteresis curves and memory properties are affected by structural complexity of the underlying network.
1. Introduction Self-assembly processes, in which structurally complex large-scale systems of nano-particles [1,2] or molecules emerge, offer challenging prospectives both for applications and condensed matter physics. The key feature of the self-assembled systems is their structural and functional complexity. Even when the physical, chemical or biological properties of the integrating elements (i.e., molecules, nano-particles) are known in detail, the assembled large-scale structure often has new emergent properties that are not present at the level of individual elements. In this way, the self-assembled systems represent true complex systems, owing to the nonlinearity of the self-assembly processes. Considering several studied examples, one can find that the self-assembly often utilizes a distinct physical principle which makes the process possible. So far known processing procedures can be roughly divided into following categories: – Synthesis (e.g., evaporation methods), in which nano-crystals [3] or nanocrystal clusters [4] and nano-tubes [5,6] are obtained. In the classical case of the carbon nano-tubes, for instance, the assembly process can be viewed as adding two carbon atoms per evolution step and utilizing the underlying line symmetry of the interaction [7]. * E-mail: Bosiljka.Tadic@ijs.si, url: http://www-f1.ijs.si/~tadic/.
STUDIES IN MULTIDISCIPLINARITY VOLUME 5 ISSN 1571-0831/DOI: 10.1016/S1571-0831(07)00012-3
© 2008 Elsevier B.V. All rights reserved.
260
Chapter 12
– Template-Patterning. The organization of nano-particles takes place by deposition and diffusion on a solid substrate with a pre-defined structure [8–11]. Examples include the organizing of the metallic nano-particles on the disordered alloy substrate with a pattern of domain walls [8,9], dislocations that form to relieve strains [10], and on the bacterial S-layers [11]. – Process-Aided Patterning. Far from equilibrium dynamic processes, usually fluid dynamics as, for instance, phase separation mixtures in polymers on a substrate [12], fluid-coupled motion with a nano-scale object immersed in viscous fluid [13], or irreversible evaporation of a solvent [14] have been employed to help pattern formation in thin films and restricted geometries. The instability in the semiconductor-heterostructure growth was shown to be a good environment for the self-organized formation of various nano-structures [15]. The assembly of linear and cross-linked patterns of nano-scale colloidal particles immersed into a nematic liquid crystal was aided by the ordering dynamics of the nematic near the phase transition point [16,17]. – Molecular Cross-Linking. The pre-fabricated spin-coated [18] nano-particles or C60 molecules can be cross-linked by chemically binding polymer chains [19]. The “programmed” cross-linking of the nano-objects attached to the DNA molecules into large-scale structure [20] is based on the evolution-refined recognition between compatible DNA strands. – Mechanical Cross-Linking. Virtually more freedom is experienced in design of the integrated electronic circuits of components or gates linked by wires [21], and in networks of Josephson junctions on superconducting films [22]. – Evolutionary Tunable Bio-Patterns. The other end of self-assembly processes are the evolutionary processes in which various network structures emerged in the living cells. These processes can be understood as self-correcting with the aim to optimize the cell function through the evolution-mutation steps. The laboratory experiments can only imitate these types of self-organized dynamics through repeated experiments on a given initial structure and by imposing an ad hoc optimization principle [23].
1.1.
Research Aims
The above short list of examples illustrates a variety of elements and processes that might be useful in the self-assembly of the integrated nano-scale devices. Having the elements to be integrated, a number of questions arise: What patterns are better with respect to the practical purpose of the large-scale device? What assembly processes are suitable for a given type of integration elements? What parameters in the assembly processes are relevant, i.e., whose manipulation may result in different structure and properties of the large-scale devices? Unfortunately, there are no simple answers to these questions. Almost in all large-scale “patterns” amenable to practical use a long history of experimenting
From Microscopic Rules to Emergent Cooperativity
261
with the elements, parameters, and processing precedes the current knowledge of their properties and reproducibility. Future of the nano-technology depends on the processes of integration, controllable fabrication, and stability of the integrated devices. The current research of the self-assembly processes aims on finding some unifying principles behind certain classes of integrated complex patterns. In this sense, the science of self-assembly is only at its beginning. Abundance of the potential integrating elements and the appropriate assembly processes requires particular study in almost each case separately. This bottom–up approach is cutting various ways towards the potentially stable and reproducible assembly processes. On the other side are two conceptual problems that the theory is concerned with: (i) to identify classes of emergent structures with respect to varying microassembly rules and parameters; and (ii) to identify the structural elements of the emergent geometries which are essential for (expected) functional properties of the large-scale systems. The ultimate idea is to understand and control the procedure from the elements and processes to structure and function.
1.2.
Theoretical Background
In general, the self-assembly processes are nonlinear dynamic processes which involve driving, constraints and self-organization. Therefore, a controlled selforganized dynamics in large systems (as opposed to controlled chaos [24] in the case of few degrees of freedom) is needed in order to direct the self-assembly of materials. In this case one can expect that, by varying a relevant control parameter in an appropriate way, the system will converge to one or the other attractor of the dynamics. Near the attractors the system is in a metastable state, which is characterized with a large-scale ordered structure [25]. In fact, the occurrence of attractors of the dynamics is the only guarantee that different classes of structures can be identified. These classes can be quantitatively characterized by defining the appropriate measures. Such complex geometries are best represented by mathematical objects known as graphs (or networks). The nodes of the networks carry the objects with certain attributes, such as size and shape, chemical composition and valence, magnetic moment, anisotropy, surface roughness, etc., all of which can in a way contribute to the interactions between the integrating elements and to the parameters in the assembly process. Recognizing the relevant parameters and defining the micro-assembly rules is an important part of the research in the nano-patterned systems. Many sciences and methods are involved on this level of research [1–6,8–22]. On the other hand, the theoretical concepts are necessary in order to understand the emergence of structures from given microscopic rules and the functional characteristics of the large-scale geometries. This part of the research is suitably based on numerical experiments and modeling. The schematic flow diagram in Fig. 12.1 is showing
262
Chapter 12
Fig. 12.1. Schematic flow diagram of steps in self-assembly: From elements to rules (A), from rules to structure (B) and from structure to function (C) and back to the elements and/or rules (D).
the distinguishable steps in the research of self-assembly—from the elements to the integration rules, the emergent structures, and the physical properties of large-scale systems. In this chapter we discuss the theoretical approach by using numerical methods: Starting from defined assembly rules we show how the complex network structures emerge. In particular, we show how a small variation in the rules and constraints results in statistically different patterns. Then we study the collective dynamic response of these structures decorated with spins and driven by the magnetic field [26]. We relate the quantitative characteristics of the response to the relevant structural properties of the underlying pattern.
2.
Emergence of Complex Geometries
In this section we demonstrate the micro-assembly rules at work. First we introduce the rules of linking the elements (nodes) of a graph that evolves in time by addition of the nodes one after the other from i = 1, . . . , N the full size of the network. In the other example we use the same linking rules but applied within the whole network of N nodes, where we add links one after the other until = 1, . . . , L links are established. Subsequently, we explore the emergent structures in several quantitative details as described below.
2.1.
From Rules to Structures: The Web Graph
We first consider the evolving graph structure, which is grown by a systematic addition of nodes and linking. Starting from few initial nodes M0 , a node i is added at each growth step i = 1, . . . , N. The node is first attempted to link with a probability α˜ to a target node selected among i − 1 already present nodes. Else, with probability 1− α˜ one of the already existing nodes rewires or adds a new link to the selected target. The target node k and the source node n are selected with some probabilities pin and pout , which can depend on the properties of nodes. More precisely, here we select the pair of nodes to be connected according to the number of links of a given kind (out-going and in-coming links) that they
From Microscopic Rules to Emergent Cooperativity
263
have at the moment of linking [27]: pin (k, i) =
α + qin (k, i)/M , (1 + α)i
(1)
and α + qout (n, i)/M (2) , (1 + α)i where qin (k, i) and qout (n, i) denote the actual number of in-coming links at the target node k and the number of out-going links at the origin node n, respectively. The preferential attachment rules, originally introduced for in-linking [28–30] are known to lead to the scale-free network structures of incoming links. The implementation of the rules (1)–(2) as explained above is shown to result in a directed cyclic scale-free graph with both in-coming and out-going links hierarchy and link correlations [27]. The emergent structure is statistically similar to the structure of the real world-wide Web [27]. For this reason we term it the Web graph, to stress its cyclic and scale-free character, as opposed to often used uncorrelated scale-free graphs [28–30] and to random-graphs [31]. Here we apply the original model [27] with α˜ = α = 1/4 (the Web structure) and vary the parameter M (links-to-nodes ratio), which controls the level of clustering. An example of the emergent structure is shown in Fig. 12.2 (left). The striking feature of this topology is the occurrence of the high-connectivity nodes—hubs. When directions of links are observed, the two types of hubs are found—large in-coming connectivity and large out-going connectivity hubs [27]. pout (n, i) =
2.2.
The Preferential Static Network
In the other example we use the same rules as given in Eqs. (1)–(2), now applied to the fixed number of nodes i = N , representing the full size of the network. The links between selected pairs of nodes (n, k) are added one after the other until a given number L = M × N of links is placed. In addition, we observe the constraint that a given pair of nodes cannot have multiple directed links. If the selected pair (n, k) appear to already have a link n → k, then another target node is searched. A part of the network with N = 1000 nodes is shown in Fig. 12.2 (right) after L = 2000 links have been added. The visual difference between the two structures—which belong to two distinct classes also known as causal and homogeneous graphs—is quantified in more details below.
2.3.
Quantitative Characteristics of the Emergent Structures
Compared to the regular arrays, the complex networks may exhibit diversity of structural characteristics, which require specific algorithms for their identification and classification. Moreover, the network structure is of a crucial importance for
264
Chapter 12
Fig. 12.2. Part of the scale-free Web graph near the main hubs (left) and of the preferential static network (right) for N = 1000 nodes and L = 2000 links. (Plots are made by using Pajek [32].) For colour version, see Colour Plate Section.
its function, or the dynamic processes taking part on the network. Therefore, two primary tasks in the research of functional complex structures are: (1) to determine the adequate quantitative measures of the complexity of the structure, and (2) to find the structural characteristics which are relevant for the particular function of the network. In the graphs theory [31] mathematically rigorous characterizations of the random graphs have been developed. More recently similar approaches are being extended to the new class of structured scale-free graphs. On the other hand, the characterization of networks with respect to their function remains elusive for theoretical methods. The problem is more amenable to the numerical modeling. In particular, within the numerical models where both the structure and the parameters of the dynamic processes can be varied, attempts were made to classify network structures with respect to efficiency of the information transport [33,34]. A more systematic study of the structure–dynamics interdependences on complex networks and other types of dynamics still remains to be done. Here we show some basic structural characteristics of the two types of graphs that we introduced above. In general, the complex geometry of networks can be described by sets of parameters and functions which reveal local and global structural property, and elementary and hidden structure. All of these characteristics can be relevant for the ultimate efficiency of the network’s function, and, in principle, can be manipulated by changing the rules of linking. A short summary of the properties of the Web graph and the preferential static network is given in Table 12.1 and in Figs. 12.3 and 12.4. More detailed analysis of these network structures can be found in Refs. [27,33].
From Microscopic Rules to Emergent Cooperativity
265
Table 12.1. Structural properties of the emergent Web graph and the preferential static network Property / Graph
Web graph
Preferential static net
Connectivity profile
qin (n) ∼ n−γin qout (n) ∼ n−γout
qin = qout = An−τ exp[−(n/ξ )σ ]
Emergent distributions
P (qin ) ∼ qin in −τ P (qout ) ∼ qoutout
P (qin ) ∼ P (qout ) = Bq −τ exp[−(q/ξ )σ ]
Clustering profile Average clustering M = 1 In-coming–out-going link correlations Scaling relations Hidden structures
−τ
Δ(n) ∼ n−φΔ 0.3601 qout (j )i ∼ qin (i)−κ (disassortative) τin = 1/γin + 1 τout = 1/γout + 1 Superstructure
Δ(n) ∼ Cn−τ exp[−(n/ξ )σ ] 0.0075 ∼ const (uncorrelated) τ =1−σ – Communities
Graph inhomogeneity is the property that the number of links attached to a node vary throughout the graph. It is measured by the connectivity profile and emergent connectivity distributions. In causal graphs, as a rule, the nodes that are added to the network in earliest stages of growth collect large number of links, leading to the functional dependence of the connectivity on the age of the node [30]. In static networks the profile is made by using the ranking statistics, where rank one is the node with largest number of links, etc. For comparison, we show the ranking statistics of local connectivity in Table 12.1 and in Fig. 12.3. For the Web graph the connectivity varies with a power law both for in-coming and out-going links with different exponents. The occurrence of the power laws are proved analytically for the evolving networks with the linking rules given in Eqs. (1)–(2) [30]. On the other hand, the profile in the preferential static network can be fitted by a stretched-exponential function. This quantifies the visual differences between the two networks shown in Fig. 12.2. In addition, the global characteristics of the inhomogeneity is given by the probability distribution of the connectivity, shown in Fig. 12.3 (lower panels). Again, in the Web graph the asymptotic behavior is a power law with two exponents for in- and out-links, whereas it is a stretched-exponential in the preferential static network. Moreover, the exact scaling relations between the local and global connectivity hold for the causal scale-free networks [27,30]. Clustering is a measure of connectivity between neighbours of a node [30,31, 35]. It can be quantified by the number of elementary triangles attached to a node. The ranked profile of the number of triangles regardless of the direction of links are shown for the two networks in Table 12.1 and in Fig. 12.4 (bottom panels). The wide variation of the clustering in the Web graph is compatible with the occurrence of hubs, which are absent in the static network. The average clustering
266 Chapter 12 Fig. 12.3. Structural characteristics of the Web graph (left column) and the preferential static network (right column). In the top row: in- and out-connectivity qin and qout of node n averaged over several network realizations in the Web graph, left, and ranked connectivity against node rank n for one network sample in the preferential static network, right. Lower panels: Corresponding emergent probability distributions of the in- and out-connectivity, P (qin ) and P (qout ), for the two networks types and for the random-graph. Exponents γin , γout and τin , τout are defined in Table 12.1. For colour version, see Colour Plate Section.
From Microscopic Rules to Emergent Cooperativity
Fig. 12.4. Bottom: Clustering profiles for the Web graph for link-to-node ration M = 1 (left) and for the preferential static network for M = 24 (right). Fit lines are showing the power-law and stretched-exponential dependences, respectively. Top: Link correlations in these graph structures. For colour version, see Colour Plate Section.
267
268
Chapter 12
coefficients, which are listed in Table 12.1 for the lowest link-to-node ratio, suggest different nature of the two networks: the highly clustered scale-free graph against low-clustering, almost random-graph structure of the preferential static network. Link correlations are usually considered as higher structural characteristics, which can be found by detailed inspection of the properties of the neighboring nodes, i.e., the average out-linking degree qout nn of the nodes attached to a node with a given in-linking degree qin . The results for the two networks are shown in Fig. 12.4 (top panels). According to the link correlations, the networks assortativity can be determined [35]. In particular, the Web graph appears to be disassortative, suggesting that the low-connectivity nodes are directly linked to the hubs. Whereas, the absence of correlations is characteristic for the main part of the preferential static network. The poorly connected parts in both graphs show assortative features. Higher-order structures. Apart from the elementary triangles, other types of distinguishable sub-graphs, motifs, modules, or communities—sets of nodes better connected among themselves than with the rest of the graph—can be present in structured networks. Some of these structures can be defined only dynamically as units performing a specific function, for instance feedback regulation in the genetic networks [36]. In the Web graph a super-structure consisting of nodes interlinked between the two hubs occurs, which acts as a powerful unit in the information traffic with local navigation rules [37]. The geometry of local communities on the graph can be detected by specifically designed algorithms [38]. Such communities are expected to be present on the preferential static network. Number of specific algorithms are developed for search of other hidden structural and functional properties of graphs and networks [39]. In the next section we consider spin dynamics on these two network topologies, the scale-free Web graph and the preferential static network, on which spins are attached to nodes and interact along the network links. In particular, we demonstrate how the field-driven spin reversal dynamics on these two network types depends on the specific structural elements shown in Figs. 12.3 and 12.4. It should be stressed that the same structural motif, say a triangle of nodes, may have different effects when it is a part of a graph with directed links, as compared to symmetric undirected graphs. In the present study, due to the symmetry of spin–spin interactions, it is appropriate to considered the underlying graphs are as undirected.
3.
Dynamic Response of Complex Spin Networks
In various technological applications, e.g., information transport and memory devices, the hysteresis loops with specific characteristics and stable magnetization reversal processes are required. In the classical memory materials with domain
From Microscopic Rules to Emergent Cooperativity
269
structure, the reversal processes are related to the motion and pinning of domain walls. These are usually accompanied by the magnetization bursts, which are known as Barkhausen avalanches [40]. In recent years much effort was devoted to understanding the apparent fractal nature of the Barkhausen noise (trains of the magnetization bursts), whose universal scaling features appear as a finger-prints of the underlying domain structure. As a rule, in the field-driven disordered ferromagnets [40], ferroelectrics [41], and in systems with structural transformations [42], the strong pinning at defects induces small domains and thus small magnetization avalanches and reduced coercive fields. On the other hand, novel “artificial solids” of magnetic nano-particles assembled into complex network-like patterns offer a challenging possibility of design of hysteresis curves with different characteristics [26]. In these materials, due to complex topology and small depth of networks, the concepts of the domain walls and domain-wall motion are entirely changed. The structural inhomogeneity, quantified through the variation in the local connectivity and clustering of the network discussed in Section 2, are responsible for a range of new features in the reversal processes. Recently we have shown how the reversal occurs in the field-driven antiferromagnetic spin-networks with scale-free and random-graph structure [26]. The study of the spin reversal on these extreme types of network geometries suggested the mechanisms of genesis of the magnetization avalanches and their scaling features [43]. Furthermore, with increased clustering parameter M and the presence of closed cycles (triangles) on networks, it was shown [26] that the reversal can be affected by “spin frustration” [44], the incompatibility of the antiferromagnetic interactions along the cycle. Furthermore, the density of the cycles attached to a node, Δ(n) in Fig. 12.4, varies through the network, which can strongly affect the propagation of avalanches.
3.1.
Collective Dynamics of Spins on Structured Graphs
To investigate the spin dynamics in detail, in this section we implement a numerical algorithm of driven spin dynamics on networks. We consider the graphs shown in Fig. 12.2, the structure of which is specified by the adjacency matrix C, and by attaching a spin with two degrees of freedom S = ±1 to each node we make spin networks. On these spin network the pairs of spins interact along the links connecting neighboring nodes. Similar spin networks were studied recently in the literature [26,30,43,45,46]. In the present study we assume that the interaction is uniform and anti-ferromagnetic J = −1 among pairs of neighbor spins and the external field hext is applied to all spins. The Hamiltonian is given by [26] hi Si = −J Cij Si Sj − hext Si . H ≡− (3) i
i,j >i
i
270
Chapter 12
The sum over pairs of nodes is restricted to the locally available links, which are given by the positive elements Cij of the adjacency matrix. As mentioned above, the interactions along these links are symmetrical. The local fields hi , which are defined in Eq. (3) at all nodes on the network i = 1, 2, . . . , N, vary with the node connectivity profile q(i, N) of the graph (see Table 12.1). The system is slowly driven by increasing the external field in small steps δh starting from the negative saturation field hext = hmax = qmax +η, which is strong enough to make the homogeneous initial state (all spins “down”). The value of the saturation field depends on the largest connectivity qmax at the hub node in the network. In the algorithm, after each increase of the external field system is updated so that first the set of local fields {hi } for each node on the network i = 1, 2, . . . , N is computed according to Eq. (3); when the external field hext exceeds the local field at a node k, the spin at that node is flipped to align with the external field; then the local fields at the affected nodes, i.e., nodes which are directly connected to the node k, are examined for the instability and flipped if the energy condition for flipping is satisfied; the process is then repeated for the neighbors of these spins and so on, until no more unstable spins are found. Subsequently, the external field is increased again. The events between two successive updates of the external field comprise a magnetization avalanche. Note that due to frustration effects some spins can flip back during the same avalanche or in the subsequent avalanches. As a result, the net magnetization increases by certain fraction which is in general different from the number of flips at each field advance. In Fig. 12.5 we show the time dependence of three quantities which characterize the reversal process. It appears that the large number of flips (large avalanches) occur in the middle of the hysteresis loop, where the magnetization changes sign. This is compatible with the large magnetization jump near the coercive field hc , as opposed to the small steps in the tails of the hysteresis loop. As Fig. 12.5 shows, qualitatively similar behavior is found in both classes of networks. However, the structure of noise signal and consequently the increase of the magnetization in time is more steady in the case of less structured static network (bottom panel). Further difference between the two networks is found in the evolution of the density of domain walls, defined as the number of links with opposite spin sign at each end. In the less structured network the profile of the domain-wall density builds up gradually with the magnetization increase and reaches a maximum at the coercive field. On the contrary, in the disassortative scale-free network, the domain-wall density profile jumps from zero at the beginning of the hysteresis loop and remains finite during the entire reversal, eventually jumping back to zero when the reversal is completed. It suggests that the periphery nodes of the graph, that are attached with a single link to the hub (cf. Fig. 12.1), flip at early stage of the process and are held fixed until the field is large enough to reverse the hub itself. Then all the spins attached to the hub flip at once causing a huge avalanche. The network structure is also reflected on the
From Microscopic Rules to Emergent Cooperativity
271
Fig. 12.5. Time dependence of the magnetization, number of flips (Barkhausen noise) and the domain-wall density in the Web graph (top panel) and in the preferential static network (bottom panel). For colour version, see Colour Plate Section.
distribution of size of the magnetization reversal avalanches. The distributions of avalanche sizes for two networks are shown in Fig. 12.6. The avalanche size distributions have a typical form with small avalanches following a power-law decay and large avalanches occurring in an oscillatory pattern [26], which is characteristic for each network topology. The largest peak corresponds to the flips of spins at nodes with least number of links at the graph boundary. In the disassortative scale-free graph a large number of such nodes is connected directly to the main hub (Fig. 12.2). The series of the smaller peaks correspond to flips of increasingly better connected nodes until eventually the
272
Chapter 12
Fig. 12.6. Distribution of sizes of the Barkhausen avalanches in two spin-networks: the cyclic scale-free Web graph topology (top) and the cyclic stretched-exponential network (bottom) for N = 103 nodes and for two values of the clustering parameter M. For colour version, see Colour Plate Section.
highly interconnected super-structure in the dense part of the graph is reached, where spin flips are strongly correlated to each other. The avalanches in this region of the graph are found to have a power-law distribution of size s according to the formula P (s) ∼ s −τs , with the exponent τs which can be related to the graph structure, cf. Fig. 12.6. We find τs = 2 for the spin avalanches on the Web graph, and τs = 1.5, for the case of the stretched-exponential static network structure. Furthermore, the even structure of the static network leads to predominantly power-law distribution of avalanche sizes, as compared to the small-depth Web
From Microscopic Rules to Emergent Cooperativity
273
graph, where the collective response with the oscillatory part is more pronounced. The slopes of the power-law distributions remain unchanged when the clustering parameter M is increased in both network types. This indicates that the clustering does not affect the scaling behavior, hence the inhomogeneous connectivity of the graph is mainly responsible for the observed universality of the avalanche dynamics. The numerical values of the scaling exponents are in the range from τs = 1 in the case of least organized random tree graph [26] up to τs = 2 in the case of highly structured scale-free Web graph. However, a precise analytical relation between the local connectivity profile and the scaling of the avalanche size distribution remains unknown.
3.2.
Hysteresis Loop and Memory of Complex Spin Patterns
The intermittent avalanche-type relaxation of spins on networks is an example of cooperative spin dynamics induced by the driving field. The avalanches are manifested as irregular magnetization jumps on the field–magnetization curve, Fig. 12.7. Formally, the occurrence of avalanches can be attributed to a nonlinear character of the dynamics, in which the energy is stored and then released when the local stability criteria are exceeded. This kind of dynamics is essential in the case of self-organized criticality, where the dynamic steady states with characteristic long-range correlations are built [25]. In these states characteristic system-wide fractal patterns are usually formed which can be quantified, among other measures, by the power-law distributions of the avalanche sizes bounded by the system size only. Moreover, in some cases, e.g., in the critical sandpiles, a spatial profile of the density can be related to the nature of the microscopic dynamics [47]. The role and a potential use of the self-organized criticality in other driven dynamical systems is still not clear. Occurrence of the dynamic critical states on the hysteresis loop in driven disordered solids has been discussed extensively [48]. In these systems, the avalanches appear in the result of motion and pinning of the domain walls at pinning centers due to disorder, two types of critical states can be identified. Based on the numerical evidence [48], the dynamic critical points (or lines) may describe the depinning of long domain walls at low disorder. Alternatively, by increased disorder a dynamic critical point may control the transition from the states with the depinning and an infinite magnetization jump, on one side, from the states with finite avalanches, on the other. In both cases the universal critical exponents of the collective critical behavior can be used to identify the domain structure of the solid. However, the true criticality—occurrence of an infinite magnetization jump when the system size tends to infinity—has been proved analytically only in the case of low disordered Bethe lattice [49]. The spin-networks that we study here represent entirely different type of systems, in which no disorder in the classical sense is present. These disorder-free
274
Chapter 12
Fig. 12.7. Hysteresis loops in the cyclic scale-free Web graph (top) and in the preferential static network (bottom) for different values of the clustering parameter M. For colour version, see Colour Plate Section.
geometries exhibit the hysteresis due to the topological inhomogeneity in the connectivity and clustering of nodes [26]. Consequently, the properties of the hysteresis curves are changed when the specific details in the structural characteristics of the networks are varied, as shown on Fig. 12.7. However, the structure effects are different in different network classes. In particular, in the cyclic scale-free network the hysteresis curves have a characteristic step-like structure with a finite magnetization jump at the coercive field hc . Furthermore, the coercive field increases with increased average number of links per node M, i.e., with increased clustering and “frustration”, whereas the
From Microscopic Rules to Emergent Cooperativity
275
finite magnetization jump is preserved. On the other hand, in the less structured preferential static network, the hysteresis loop is narrow and vertical for M = 1, corresponding to low average connectivity and a mild connectivity profile on this network, Fig. 12.2. When the number of links per node M increases, more clustering occurs and as a consequence, the spin “frustration” rises. The hysteresis loop becomes more horizontal and with decreased coercive field, similar to the classical disordered solids [50]. Therefore, in the case of the static network the mild stretched-exponential inhomogeneity profile can be considered as a sort of (topological) disorder and the clustering as a measure of spin “frustration”, in a full analogy to the spin-glasses and other strongly disordered solids with hysteresis behavior [40,50]. However, the above analogy with the classical materials does not apply to the spin networks with scale-free structures, having a power-law profile of the connectivity and clustering. The reasons can be directly attributed to the occurrence of the hubs with large connectivity, and the super-structure attached to them in the cyclic scale-free graph (Fig. 12.2). With increased network size N, the number of nodes which appear attached to the main hub increases as a power of N. Together with the disassortativity of the network, this preserves the large number of periphery nodes being linked to the hub, which thus contributes to the proportionally large magnetization jump at the coercive field. The clustering among the nodes in the super-structure also increases with number of links per node M, which is accompanied by the increased coercive field, Fig. 12.7 (top). Further comparisons can be made between different classes of scale-free networks. The observed increase of the coercive field on highly clustered Web graph is strongly related with the graph’s correlation property (disassortativity), as compared with weaker increase found on the uncorrelated scale-free graphs in Ref. [26]. In addition, the remanent magnetization—value of the magnetization at zero field—exhibits a small drop with increased clustering, Fig. 12.7 (top), compared to a large decrease of the remanent magnetization in uncorrelated scale-free graphs [26] and in the static network, Fig. 12.7 (bottom).
4.
Conclusions
Research of new functional materials with the self-assembly of complex patterns of nano-particles and analysis of their physical properties represents an appropriate basis for new technologies and, at the same time, a challenging interdisciplinary research field. We attempted to divide the current research into three interconnected strands, shown schematically on the diagram in Fig. 12.1. Obviously, the material research (strand A), where new materials are being synthesized, their stability and functionality tested using a variety of methods developed in chemistry, physics and biology, and adjusted to the nano-scale world, is of a key importance. The strands B and C, on the other hand, are concerned with a
276
Chapter 12
systematic search for the underlying principles, which will ultimately reduce the number of unnecessary trials, but more importantly, will make a reliable classification of structures, bridging the gap between the microscopic assembly rules and practical applicability of the large-scale devices. In this respect the numerical modeling approach is indispensable. We have demonstrated the breath of this approach using two model spin-networks and their hysteresis properties. The main features can be summarized as follows: – Emergence of Patterns. The essential feature of the complex large-scale systems is in their emergent structural properties, which are not present at the small-scale level. Furthermore, these properties depend crucially on certain details in the assembly process, though not all details are equally important. In the studied examples we have shown that highly complex scale-free structures can be grown using a minimal set of rules with preferential attachments. Moreover, we have demonstrated the importance of constraints in the distinction between evolving and static patterns: The same set of rules leads to different emergent structures due to different constraints that apply for the grown and the static situation. – Emergence of Function. The function of a complex pattern, measured by the properties of the dynamic processes on it, crucially depends on the topology of the underlying graph. However, some processes can utilize the topology in a better way than the others. Generally, a more complex structure induces more possibilities for the process adjustment and improvement. We have shown how the differences in the reversal processes arise on the two network topologies. These differences can be monitored in the process details in the numerical experiment, but also on the level of the hysteresis curves, which can be measured in the laboratory. – Tunability. The essential properties of the hysteresis curves can be related to the topology of the spin-network. In this way, the properties of the magnetization curves can be tuned by changing the structural characteristics of the network, which, on the other hand, can be controlled to certain extent by changing the assembly rules. On the scale-free spin networks new classes of behavior are distinguishable, in which an increasingly stable reversal process is obtained when the clustering of the network (and spin frustrations) is increased, in a marked contrast to the classical memory materials. – Cooperativity and Universality. The collective dynamic response of the fielddriven spin networks occurs in avalanches of spin flips due to both spin interactions and network topology. The distribution of avalanche sizes obeys a power-law behavior with a universal scaling exponent and a characteristic oscillatory behavior at large avalanches. Both of these features are unique for the network topology and can be used as noninvasive methods for the structure characterization. The cyclic scale-free spin networks have additional features
From Microscopic Rules to Emergent Cooperativity
277
which are not present in less structured random or stretch-exponential networks. This is the occurrence of a finite magnetization jump when the network size increases, which indicates a self-organized critical behavior on the hysteresis. The concept of the critical behavior is useful in the sense that classes of universality can be identified and marked by the sets of scaling exponents. Then measurements of the scaling exponents of the Barkhausen avalanches will suffice to determine the relevance of the parameters of the system at the assembly level. – Other Types of Dynamics. In our examples the cyclic scale-free network provides a better control of the reversal processes through well-defined coercive field, which increases with the clustering property of the network. These qualities are required in the memory devices. However, when other dynamic processes are considered, the two topologies may have both advantages and disadvantages. For instance, in the transport of the information packets the cyclic Web graph appears to be very efficient when a two-level local search is applied [33]. The efficiency in the packet transport is based on the central role of the hubs. However, this structure appeared to be vulnerable for jamming when the packet density increases over a critical threshold [34,37]. Whereas, the absence of hubs in the preferential static network, makes the majority of nodes almost equally involved in the traffic process. In both cases, the cooperativity of the network activity is remarkable, and can be measured for instance by the correlations in packet streams. In the constant packet density regime, the power spectrum of the network activity signal exhibits a long-range correlated (antipersistent) behavior, with a scaling exponent which is unique for each network structure [51]. To make the theory practical, the ultimate goal would be to go back to the synthesis of the selected network structure with best functional properties. In this respect a range of practical problems needs to be solved, depending on the specific example. For instance, growing an electronic circuit as the scale-free structure can be easier than synthesis of such a structure of nano-particles within a reaction–diffusion process. In particular, a careful pre-processing of nanoparticles might be needed to make them suitable for nonrandom (preferential) linking. In conclusion, we have demonstrated that the practical assembly of functional materials, which involves nonlinear dynamic processes, may benefit from the numerical modeling in two ways. First, numerical experiments reveal the nature of the structure–function interdependence and help selecting the classes of structures with desired characteristics. Second, for a given structure type the relevant control parameter can be determined and the range of its values suggested in which the parameter tuning can be beneficial for the process.
278
Chapter 12
Acknowledgements Author thanks support by the Program P1-0044 of the Ministry of High Education, Science and Technology (Slovenia), and partial support and motivation for this work through EU Project MRTN-CT-2004-005728.
References [1] [2] [3] [4] [5] [6] [7]
[8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18]
[19]
[20] [21] [22] [23]
[24] [25]
M. Li, H. Schnablegger, S. Mann, Nature 402 (1999) 393. P. Moriarty, Rep. Prog. Phys. 64 (2001) 297. C.B. Murray, C.R. Kagan, M.G. Bawendi, Science 270 (1995) 1335. Z.L. Wang, Adv. Mater. 10 (1998) 13. M. Remškar, A. Mrzel, Z. Škraba, A. Jesih, M. Cheh, et al., Science 292 (2001) 479. L. Krusin-Elbaum, D.M. Newns, H. Zeng, V. Derycke, J.Z. Sun, R. Sandstrom, Nature 431 (2004) 672. M. Damnjanovi´c, I. Miloševi´c, T. Vukovi´c, N. Sredanovi´c, Phys. Rev. B 60 (1999) 2728; M. Damnjanovi´c, I. Miloševi´c, E. Dobradži´c, T. Vukovi´c, B. Nikoli´c, Phys. Rev. B 69 (2004) 153401. R. Plass, J.A. Last, N.C. Bartelt, G.L. Kellog, Nature 412 (2001) 875. R. van Gastel, R. Plass, J.A. Last, N.C. Bartelt, G.L. Kellog, Phys. Rev. Lett. 91 (2003) 055503. H. Brune, M. Giovannini, K. Bromann, K. Kern, Nature 394 (1998) 451. W. Shenton, D. Pum, U.B. Sleytr, S. Mann, Nature 389 (1997) 585. M. Böltau, S. Walheim, J. Mlynek, G. Krausch, U. Steiner, Nature 391 (1998) 877. M.R. Paul, M.C. Cross, Phys. Rev. Lett. 92 (2004) 235501. E. Rabani, D.R. Reichman, Ph.L. Geissler, L.E. Brus, Nature 426 (2003) 271. J. Stangl, V. Holý, G. Bauer, Rev. Mod. Phys. 76 (2004) 725. I.I. Smalyukh, S. Chernishuk, B.I. Lev, A.B. Nych, et al., Phys. Rev. Lett. 93 (2004) 117801. I. Muševiˇc, M. Škrabot, D. Babiˇc, N. Osterman, et al., Phys. Rev. Lett. 93 (2004) 187801. P. Moriarty, M.D.R. Taylor, M. Brust, Phys. Rev. Lett. 89 (2002) 248303; J.N. O’Shea, M.A. Philips, M.D.R. Taylor, P. Moriarty, et al., Appl. Phys. Lett. 81 (2002) 5039. B. Narymbetov, A. Omerzu, V.V. Kabanov, M. Tokumoto, H. Kobayashi, D. Mihailovic, Nature 407 (2000) 883; A. Omerzu, M. Tokumoto, B. Tadi´c, D. Mihailovic, Phys. Rev. Lett. 87 (2001) 177205. E. Winfree, F. Liu, L.A. Wenzler, N.C. Seeman, Nature 394 (1998) 539; A.P. Alivisatos, K.P. Johnson, X. Peng, T.E. Wilson, et al., Nature 382 (1996) 609. R. Ferrer i Cancho, Ch. Janssen, R.V. Solé, Phys. Rev. E 64 (2001) 046119. G. Ghigo, A. Chiodoni, R. Gerbaldo, L. Gozzelino, et al., Supercond. Sci. Technol. 12 (1999) 1059. K. Kaneko, On recursive production and evolvability of cells: Catalytic reaction network approach (Chapter 27), in: M. Toda, T. Komatsuzaki, T. Konishi, T. Berry, S.A. Rice (Eds.), Geometric Structures of Phase Space in Multidimensional Chaos: A Special Volume of Advances in Chemical Physics, Part B, vol. 130, John Wiley & Sons, Inc., 2005. A.S. Mikhailov, A.Yu. Loskutov, Foundations of Synergetics II: Chaos and Noise (Section 6.5), Springer, Berlin, 1996. H.J. Jensen, Self-Organized Criticality: Emergent Complex Behavior in Physical and Biological Systems, Cambridge Lecture Notes in Physics, Cambridge University Press, Cambridge, 2003.
From Microscopic Rules to Emergent Cooperativity [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40]
[41]
[42]
[43] [44] [45] [46] [47] [48]
[49] [50] [51]
279
B. Tadi´c, K. Malarz, K. Kulakowski, Phys. Rev. Lett. 94 (2005) 137204. B. Tadi´c, Physica A 293 (2001) 273; Physica A 314 (2002) 278. R. Albert, A.-L. Barabasi, Rev. Mod. Phys. 74 (2002) 47. S. Dorogovtsev, J.F.F. Mendes, A.N. Samukin, Phys. Rev. Lett. 85 (2000) 4633. S.N. Dorogovtsev, J.F.F. Mendes, Evolution of Networks: From Biology to the Internet and the WWW, Oxford University Press, Oxford, 2003. B. Bollobás, Modern Graph Theory, Springer, New York, 1998. V. Batagelj, A. Mrvar, Pajek program for large network analysis, http://vlado.fmf.uni-lj.si/ pub/networks/pajek/doc/pajekman.htm. B. Tadi´c, S. Thurner, Physica A 332 (2004) 566; Physica A 346 (2005) 183. R. Guimera, A. Diaz-Guilera, F. Vega-Redondo, A. Cabrales, A. Arenas, Phys. Rev. Lett. 89 (2002) 248701. M.E.J. Newman, The structure and function of complex networks, SIAM Rev. 46 (2003) 167. J.M. Bower, H. Bolouri (Eds.), Computational Modeling of Genetic and Biochemical Networks, MIT Press, Cambridge, 2001. B. Tadi´c, S. Thurner, G.J. Rodgers, Phys. Rev. E 69 (2004) 036102. H. Zhou, Phys. Rev. E 67 (2003) 041908; Phys. Rev. E 67 (2003) 061901. R.K. Ahuja, T.L. Magnanti, J.B. Orlin, Network Flows—Theory, Algorithms, and Applications, Prentice–Hall, New Jersey, 1993. K.L. Babcock, R.M. Westerfield, Phys. Rev. Lett. 64 (1990) 2168; P.J. Cotte, L.V. Meisel, Phys. Rev. Lett. 67 (1991) 1334; D. Spasojevi´c, S. Bukvi´c, S. Miloševi´c, H.E. Stanley, Phys. Rev. E 54 (1996) 2531; E. Pupin, Phys. Rev. Lett. 84 (2000) 5415. V.Ya. Shur, Phase Transitions 65 (1998) 49; E.V. Colla, L.K. Chao, M.B. Weissman, Phys. Rev. Lett. 88 (2002) 017601; B. Tadi´c, Eur. Phys. J. B 28 (2002) 81. E. Vives, J. Ortín, L. Mañosa, I. Ráfols, et al., Phys. Rev. Lett. 72 (1994) 1694; F.J. Pérez-Reche, E. Vives, L. Mañosa, A. Planes, Phys. Rev. Lett. 87 (2001) 195701; F.J. Pérez-Reche, B. Tadi´c, Ll. Mañosa, A. Planes, E. Vives, Phys. Rev. Lett. 93 (2004) 15701. K. Malarz, J. Krapi´nska, K. Kulakowski, B. Tadi´c, Physica A 373 (2007) 785. K.H. Fisher, J.A. Hertz, Spin Glasses, Cambridge University Press, New York, 1991. D.-H. Kim, G.J. Rodgers, B. Kahng, D. Kim, Spin glass phase transition on scale-free networks, Phys. Rev. E 71 (2005) 056115. M. Bauer, S. Coulomb, S.N. Dorogovtsev, Phys. Rev. Lett. 96 (2006) 109901. B. Tadi´c, D. Dhar, Phys. Rev. Lett. 79 (1997) 1519. J.P. Sethna, K. Dahmen, S. Kartha, J.A. Krumhansl, et al., Phys. Rev. Lett. 70 (1993) 3347; E. Vives, A. Planes, Phys. Rev. E 52 (1995) R5; B. Tadi´c, Phys. Rev. Lett. 77 (1996) 3843; B. Tadi´c, U. Nowak, Phys. Rev. E 61 (2000) 4610. S. Sabhapandit, D. Dhar, P. Shukla, Phys. Rev. Lett. 88 (2002) 197202. J.R. Petta, M.B. Weissman, K.P. O’Brien, Phys. Rev. E 54 (1996) R1029; J. Toulouse, B.E. Vugmeister, R. Pattniak, Phys. Rev. Lett. 73 (1994) 3467. B. Tadi´c, G.J. Rodgers, S. Thurner, Transport on complex networks: Flow, jamming and optimization, Int. J. Bifurcation and Chaos 17 (2007) 2363–2385.
281
Chapter 13
Automated Self-Assembling Programming Lin Li1 , Peter Siepmann1 , James Smaldon1 , German Terrazas1 , Natalio Krasnogor* Automated Scheduling, Optimisation and Planning Research Group, School of Computer Science and IT, University of Nottingham, NG8 1BB, Nottingham, United Kingdom Abstract. In this chapter we explore various facets of the interplay between natural computing and self-assembly as they pertain to automated self-assembling programming. In particular we focus on two complementary research issues, namely, the automated control and programming of model systems that self-assemble into specific configurations and, on the other hand, the use of self-assembling metaphors and model systems to implement new ways of performing computation. These “two sides of the self-assembly/computation coin” are tightly linked together, and advances in one of them could help to pave the way for advances in the other. Thus, we hope that this chapter will serve as an inspiration to other computer scientists to immerse themselves in the wealth of opportunities and problems begging for solutions [L. Adleman, Q. Cheng, A. Goel, M. Huang, D. Kempe, P. Moisset de Espanes, P.W.K. Rothemund, Combinatorial optimization problems in self-assembly, in: Proceedings of the Annual ACM Symposium on Theory of Computing (STOC), ACM Press, 2002], that self-assembly related research presents.
1. Self-Assembly, Self-Organisation and Natural Computation Nature inspired computation is older than most people think. In the early fifties, A. Turing, one of the founding fathers of the computer sciences, proposed computational models of pattern formation in living systems [2] based on systems of coupled reaction–diffusion equations giving rise to spatial patterns, i.e. selforganisation, in chemical concentrations. J. von Newman demonstrated that it was possible to build self-replicating abstract machines [3] while A. Lindenmayer, soon after, introduced L-systems for modelling artificial plants [4]. Perhaps the best known example of a paradigm shift affecting natural computation research was the publication of John Holland’s book Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence [5]. Although some previous papers did use natural selection as an inspiration for new ways of solving problems, Holland’s book * E-mail: Natalio.Krasnogor@Nottingham.ac.uk, url: http://www.cs.nott.ac.uk/~nxk. 1 These authors contributed equally.
STUDIES IN MULTIDISCIPLINARITY VOLUME 5 ISSN 1571-0831/DOI: 10.1016/S1571-0831(07)00013-5
© 2008 Elsevier B.V. All rights reserved.
282
Chapter 13
effectively launched the field of evolutionary computation and all its derivatives, thus transforming many fields far beyond the narrow remit of natural computation. It is our belief that a revolution in nature inspired computation is taking place today. Self-assembly is one of nature’s most powerful and ubiquitous engineering mechanisms. It is not surprising then that computer scientists are starting to investigate both the computational roots of self-assembly as well as its potential for new ways of carrying out computation. That is, computer scientists are starting to notice the fundamental appeals of self-assembly (as they did before with natural selection, self-reproducing automata, etc.) for solving computational problems.2 The remarkable observation by Rothemund [6] “Self-assembly and computation are linked by the study of mathematical tiling” lies at the core of our research programme. More specifically, Rothemund, Winfree, Reif, LaBean and others (e.g. [7] and references therein) have shown that universal computation may be carried out by self-assembling discrete DNA tiles in a 2D plane and, more generally, Benenson showed [8] that by using nanostructures and nanomachines, complex computation can be implemented at the nanometer scale. Indeed, the linking of self-assembly, self-organisation and computation provides a powerful new approach to addressing profound questions about the controllability of complex physico-chemical nanosystems [71]. In turn, an improved understanding of self-assembly and self-organisation could help us develop better, cheaper and smaller computational systems. Thus, advances in nanosciences and computational sciences are tightly interdependent. The rich interplay between these two complementary research areas presents both enormous challenges and promises. In this chapter we briefly showcase what we have termed the Automated Self-Assembly Programming Paradigm (ASAP2 ). ASAP2 attempts to systematically investigate the links between self-assembly and computation by recognising that (1) self-assembly and self-organisation can be understood from an information theoretic and computational viewpoint, (2) that advances in self-assembly and self-organisation will enable the emergence of new computational substrates and (3) that the previous two points, taken together, require a reconsideration of the way we design self-assembly and the way in which we compute with self-assembling systems; hence the need for both automation and a new paradigm of thought. Self-assembly is essentially a distributed process that arranges a collection of autonomous components into aggregated structures. There is no “master plan” followed by the individual components, nor any top–down control mechanisms governing the assembly process. The self-assembling entities interact only with 2 Here we take a very general perspective: although it is true that self-assembly has been used quite systematically in DNA-based computing, it has not yet captured the imagination to the extent of other aspects of the computer sciences.
Automated Self-Assembling Programming
283
one another and with their local environment [70]. As the individual components that take part in the self-assembly process become simpler, the more distributed the “control” or “intelligence” that is required to achieve a specific self-assembled pattern of behaviour should be. Likewise, as the system’s intelligence gets diluted into miriads of smaller and simpler components, its programmability (or designability) becomes much more challenging. Indeed, virtually all computer science research has been mainly concerned with programming single systems with considerable computational power rather than with programming a large number of simple-minded computational components, as self-assembly requires. Thus a considerable challenge remains in regard to programming this new type of systems. This is true even when considering the advances in software engineering for large distributed and parallel systems precisely because the latter are designed and built with enormous built-in computational capability. In programming self-assembly and self-organising systems, one must rely on the existence of extremely rudimentary computational operations that are often unreliable, stochastic in nature, with a changing interconnection topology, without the possibility of individually addressing a component, etc. As several chapters in this book suggest, we could turn to nature for inspiration on how to program these systems. In this chapter we review the application of evolutionary algorithms and analysis techniques to the design and optimisation of self-organising cellular automata and Wang tile models. These two examples demonstrate that artificial evolution is capable of both parameter and structural design (automated programming) of self-assembling systems. The other two examples in this chapter cover the “other side of the coin”, that is, the use of self-assembly for the purpose of implementing unconventional computation. One of the examples demonstrates how a virtual network of computational compartments that is kept far from equilibrium can produce an increasingly rich “soup” of programs. The other example proposes, for the first time, a possible route for the implementation of vesicle-based computing by simulating—using dissipative particle dynamics—the self-assembly of vesicles that act as the virtual machine for a P-system. In this chapter we have opted to give a general overview of the themes mentioned above, rather than a detailed exposition of a particular theme, as it is our intention to highlight some of the many opportunities that lie at the interface of computer science and the self-assembly related disciplines.
2.
Evolutionary Algorithms for Parameter and Structural Learning in Self-Assembly Model Systems
This section presents a brief overview of recent advances in the ASAP2 , covering parameter and structural learning for self-assembling models. As recognised in [1,9] and elsewhere, self-assembly presents many challenging design and optimisation problems. Often, these problems can be cast as either
284
Chapter 13
parameter learning, structural learning or as mixed problems. Structural learning problems arise when one must decide the (close to) optimal choice of features a system must have among a set of discrete structural alternatives. These discrete entities could be molecular species, morphological varieties, etc. When the problem at hand is more closely related to specifying the values for continuous or discrete variables, then it can be classed as parameter estimation. Often, selfassembly research requires the solution of mixed problems where both parameter and structural optimisation are needed. Evolutionary computation (EC) is a powerful toolbox for the solution of hard problems whether of a combinatorial or continuous nature. EC is based on the core premises of evolution by natural selection: in the presence of (1) limited resources, (2) feature inheritance under (3) imperfect (mutation susceptible) replication, evolution occurs as a secondary emergent process of the selection, itself an emergent process that is due to the lack of infinite resources, for the best replicators. Evolutionary computation translates these three premises as follows: Limited resources are implemented as finite size populations of individuals, representing solutions to problems. The characteristics of “individuals” are encoded by their “genes” that represent specific building blocks for solving a given problem. When individuals reproduce, some of these building blocks are passed onto the offspring with a possible degree of mutation. The selection process operates by measuring the quality of a given individual in relation to how well it solves the problem at hand and its relative fitness in relation to the rest of the population. Hence, over time, new and better solutions are obtained as these principles are iterated. Evolutionary computing is not only good at providing exceedingly robust and near optimal solutions to hard problems; it often provides original solutions that sometimes are counter-intuitive from a human viewpoint. Hence using evolutionary algorithms for optimising the design of self-assembly through parameter and structural learning can also shed light on new types of solutions for the problems of interest. Evolutionary algorithms have been applied to many challenging domains [10–12] and they enjoy substantial theoretical foundations [13–15]. A canonical evolutionary algorithm is shown in Fig. 13.1. Every application of an evolutionary algorithm to a specific problem requires the precise specification of an individual’s fitnesses, encoding, mutation, reproduction and selection strategies as well as several algorithmic parameters. In what follows we present the salient features of an application of EAs to parameter learning for a self-organised system and structural learning for a self-assembly model. We have opted to detail some methodological tools, including fitness distance correlation, cluster analysis and evolutionary activity waves, available to EC rather than giving a full description of the algorithms themselves. The rationale behind this is that we have provided full detail of these algorithms elsewhere (see text below), and moreover, we prefer to emphasise the potential for insight that can be derived from an evolutionary methodology.
Automated Self-Assembling Programming
285
initialise population while (stopping criterion == false) { parents = select parents from population for reproduction; with a defined probability ‘mate’ the parents to form (usually) two children; else children = parents; with a defined probability mutate children; insert children into population; evaluate and cull population; update stopping criterion; } Fig. 13.1. Pseudocode for a canonical evolutionary algorithm.
2.1.
Parameter Learning for Self-Organising Cellular Automata
Self-organisation, also called “dynamic self-assembly” (see Chapter 2 of this book), is a specific type of self-assembly where not only thermodynamics but also kinetic control, or other far-from equilibrium mechanisms, are at play [16]. Self-organising systems have often been studied by means of cellular automata (CA) [17–19]. A cellular automaton is defined as an infinite, regular grid of cells, each of which can be in one of a finite number of states. At a given time step, t, the state of a cell is a function (defined by a set of rules) of that cell’s neighbourhood at t − 1. There are a number of possible definitions of a neighbourhood in CA systems, from simply using the states of the eight surrounding cells (the Moore neighbourhood) to more complex definitions [20]. CA are an important modelling technique in many diverse domains of science [21,22], and are very useful in studying the dynamics of complex, self-organising systems. 2.1.1. Parameter Identification For those involved in the modelling of processes with CA, building a system (or directing existing systems, natural or man-made) such that the resultant behaviour matches some pre-defined target [23] is key. References [24] and [25] report on a methodology that uses a genetic algorithm [5] to derive the rules that define a CA system. We extend this work, concerning ourselves not with how to derive the functions themselves, but rather the parameters to these functions. In most CA models, the behaviour is carefully governed by a set of input parameters, and so a widely studied problem related to the study of complex systems by means of CA is that of parameter identification, that is to say, the parameter values a CA-based model of a complex system requires in order to attain a specific behaviour. Identifying these parameters enables the user to effectively program the CA system to perform some desired function. Analysis of the parameters in the model can give valuable insight into the problem domain and thus take us closer to the goal of “programming” real-life
286
Chapter 13
self-organising systems. In some cases, hand engineered methods are available for this parameter identification process but in many others, due to the extreme complexity and often counter-intuitive nature of the underlying processes, coupled with an extremely large search space (given four integer parameters in the range [0, 100], the search space comprises one hundred million points), often the most effective method for CA parameter identification is through the use of a metaheuristic search process, such as an evolutionary algorithm. If we are to achieve successful parameter identification, we must have some metric that compares a candidate behaviour to the target behaviour (where, in this case, “behaviour” is most often represented by a spatio-temporal pattern generated by the CA model) and outputs a numerical value that represents the similarity between the two. The quality of this metric is crucial to the success of the search, and a number of possible metrics are discussed below. Not only, however, is it important to use a metric that directs a successful search, but also, crucially, that is robust, that is to say, effective across all areas of the search space. Finding the most robust way for predicting when an evolutionary metaheuristic such as a genetic algorithm (GA) will be an effective method of optimisation is still an open topic of research in evolutionary computation theory. The issue is only further complicated by the nature of the mapping from, to use evolutionary computation vocabulary, genotype (the input parameters to the CA model) to phenotype (the spatio-temporal pattern generated by the model) and then from this phenotype to fitness (the numerical measure of similarity to the target pattern), being highly complex and non-linear. In order to perform any sort of analysis of a candidate metric, a suitable dataset must be defined. This set must not be unwieldy in size, but yet must effectively represent the entire search space. Such a set is most efficiently constructed by dividing each model parameter into a number of bins and then systematically exploring each and every combination of parameter bins, for example, given three parameters each taking integer values in the range [0, 100], each parameter could be split into three bins, 0, 50 and 100, and a dataset generated as {{0, 0, 0}, {50, 0, 0}, {100, 0, 0}, {0, 50, 0}, {0, 100, 0}, {50, 50, 0}, {50, 100, 0}, . . .}. Fitness Distance Correlation (FDC) [26] is a measure of how closely the fitness of an individual correlates to its genotypic distance to a known target. That is to say, given two different parameter sets (genotypes), FDC measures the correlation of the Euclidean distance between these genes against the value assigned by the similarity metric (fitness function). Numerically speaking, assuming a maximisation problem, a large positive correlation gives good support for evolutionary optimisation. If there is only a small correlation, a parameter optimisation GA, or any metaheuristic using the same similarity metric, will have little effect. The FDC of a candidate metric can be easily analysed by the generation of a number of scatter plots of fitness against distance, usually one plot for each variable
Automated Self-Assembling Programming
287
Fig. 13.2. Fitness Distance Correlation scatter plot. For colour version, see Colour Plate Section.
parameter in the dataset, such as in Fig. 13.2. The formal correlation coefficient is calculated as in Eq. (1) where r is the correlation coefficient, n is the number of individuals under consideration, fi is the fitness (similarity) of individual i, and di is its genotypic distance to the target, f and SF are the mean and standard deviation of the set of fitnesses, and d and SD are the mean and standard deviation of the set of distances, (1/n) ni=1 (fi − f )(di − d) . r= (1) SF SD Fitness Distance Correlation analyses the genotype → fitness relationship, but in complex systems, the phenotype → fitness relationship must also be verified, i.e., can the metric (fitness function) differentiate between dissimilar phenotypes and effectively classify similar phenotypes for the purpose of selection. If the fitness function cannot achieve this, a parameter optimisation GA will have little effect. Data clustering is a simple and convenient method for verifying this phenotype → fitness relationship. Each pattern in the dataset is compared, using the similarity metric under consideration, to every other, and thus a square distance matrix is formed. Any clustering algorithm could be used (see for example [27] and references therein). The clusters can most conveniently be inspected using a logarithmic tree representation, such as that shown in Fig. 13.3. 2.1.2. Similarity Metrics The choice of metric is, of course, crucial for the success of the search. In the case of CA-based models, the outputs will usually be spatio-temporal images representing the behaviour of the model, and so the metric used must output a numerical value representing the similarity between the two graphical input patterns. There are a great number of possible techniques for image comparison, from simple Hamming distance [28] methods right through
288
Chapter 13
Fig. 13.3. Logarithmic cluster tree. For colour version, see Colour Plate Section.
to highly complex image processing techniques. If it is to be used within an evolutionary search process, the metric should not only be accurate, but fast. Moreover, if a number of CA systems are to be considered, the metric must not be specific to any one type of pattern. In [20], parameter identification for a number of CA-based systems is performed using a metric called the Universal Similarity Metric [29]. This is a measure of similarity between two generic objects (in the case of CA models, this is most often a graphical pattern, but the USM, by its very nature is universal, so can be used with any data) based on Kolmogorov complexity [30]. The USM has been used in many different topics of research ([31,32] and associated references). The GA system used to obtain optimised parameters for the cellular automaton systems in our work, is a generic optimiser developed in conjunction with the CHELLware project [33]. As it is used to solve a broad range of optimisation problems, the number and data type of genes in the chromosome, along with the parameters for the GA are all user-specifiable in a XML input script. This script, along with a plug-in-style problem specification class (which, most importantly, defines the fitness function), configures the GA to the specific problem to be optimised. Fitness evaluations can be parallelised over a large high performance computing cluster. In [20], we use the USM to evolve parameters so as to obtain a target behaviour in a number of different cellular automaton-based models. In many of them, we find that the USM is capable of producing highly similar patterns, especially when the target is particularly visually distinctive. However, some shortcomings
Automated Self-Assembling Programming
289
Fig. 13.4. An evolved nanostructured pattern. For colour version, see Colour Plate Section.
of the USM are demonstrated, such as its blindness to negative (reverse colour) and mirror images. In [34], parameter identification is considered for specific type of CA system called a Gas Lattice model [35]. The system is that introduced in Chapter 1 of this book, and models the self-organisation of gold nanoparticles when adsorbed onto a substrate [36]. In this context, the USM was found to be largely ineffective. Hence, a more geometrically/morphologically aware metric was introduced, the Minkowski functionals [37]. These characterise a binary pattern in terms of area, perimeter and Euler characteristic (a measure of connectivity). The fitness function was derived by taking the error between the target Minkowski values and those derived from the evolved pattern. This was seen to be much more successful in this particular domain, and was able to produce strikingly similar patterns for four very morphologically different targets. Figure 13.4 shows an example result where the target image is an atomic force microscope image of an experimentally produced nanostructure pattern; the evolved pattern is visually very similar indeed. 2.1.3. Further Issues This work raises a number of important further considerations relevant to parameter identification for models of self-organisation processes. In the case of models that are stochastic in nature, it is important that each individual (parameter set) must be evaluated a number of times, that is, noisy fitness functions must be dealt with appropriately (see the proposals introduced in [38–40]). Furthermore, if the fitness function comprises a number of components (such as, in the latter case, the three Minkowski functionals), it is possible that each component might take values over widely different intervals, and so some sort of scaling process is vital in order to give each component adequate weighting within the fitness function. Alternatively, a multi-objective
290
Chapter 13
evolutionary algorithm could be used and the Pareto front approximated. These and other practical and research aspects related to the design of competent EAs are explored in detail in [41]. It is interesting to note that when searching for a matching pattern, it is not unusual for a visually similar pair to be produced using parameters with a relatively high discrepancy. This is just further illustration of the highly complex, non-linear and stochastic nature of the genotype → phenotype mapping discussed earlier. In this case, analysis of the FDC plots for the offending parameter would show a lower than usual correlation. It is to be expected that some parameters will have greater impact (that is to say, when combined with certain values of the other parameters) on the resulting phenotype in some areas of the search space than in others. Likewise, it is not unusual for a pattern that is visually similar to the target to be given a low fitness value, which illustrates the complex nature of the phenotype → fitness mapping. That is, analysis of the cluster tree in these cases would show that patterns belonging to different clusters look visually very similar, yet are quite far apart in the tree. This is often down to the fact that the similarity metric is more specific than human vision, so two images that look similar might actually have unexpectedly low similarity values. Furthermore, analysis of the cluster tree will often reveal that the search space can be partitioned into a number of ‘families’ of graphical similarity. In general, target behaviour patterns belonging to larger ‘families’ are quicker and easier to evolve through a metaheuristic search process. Thus the utilisation of a correct similarity measure is paramount for the success of the approach. Parameter identification and verification of the robustness of the identification process are techniques of great importance when studying self-organising systems and comprise a key step on the way to being able to program self-organising systems in within a physical, chemical or biological setting.
2.2.
Structural Learning for Self-Assembling Tile Systems
In the previous section we made an overview of some of the evolutionary computing tools that are available for the parameter estimation and analysis methods involved in designing self-organising models. In this section we also apply evolutionary algorithms to the structural learning of discrete self-assembling tile systems and we show some additional tools that allow us to better understand how an evolutionary process “programs” the tile system. Tiling theory has been widely used as a base model for many applications ranging from biology to computer science [7,42–44] and also serves as a link between computation and selfassembly [45]. One of the most widely known formal systems is the Wang tiles model, defined as a set of square coloured-edge tiles moving with Brownian motion across the Euclidean plane. In the case of a collision, tiles either attach to
Automated Self-Assembling Programming
291
one another or bounce off. As they stick to each other, they aggregate in complex structures and the emerging shapes are thus self-assembled. Many problems associated to the design of optimal tile systems have been investigated [1] (see Chapter 10 in this book). A formal definition of a Wang tile set T is given in Eq. (2) where Σ is a collection of colour codes capturing the “glue” types associated to each edge. Thus, two tiles ti , tj will self-assemble if the glue types and strengths at their touching edges are compatible. This compatibility is given through the use of an interaction matrix M, which specifies for each pair of colours, the strength of their binding, and a temperature parameter τ as defined in [1]. If the bond strength exceeds the value given by τ , then the two colliding sides will bind. T = t | t = (x0 , x1 , x2 , x3 ) where x0 , x1 , x2 , x3 ∈ Σ. (2) 2.2.1. Evolvability of Wang Tiles As discussed above, evolutionary algorithms (EA) are very well suited to solving, among others, combinatorial problems, and one such example is the problem related to learning the structure of a tile family. Given an EA and a Wang tile system with a fixed τ and M, our aim is to evolve the design of a set of tiles capable of self-assembling into a user-defined shape. A GA system (as detailed in [46]) was employed where the genotype specified a set of tiles and conventional crossover and mutation operators were used. The evaluation phase consisted of two stages: tile simulation and structure comparison. 2.2.1.1. Tile Simulation For each tile family T i encoded by an individual, an equal number of instances are placed into empty positions on a two-dimensional square lattice. Thereafter, tiles move around the lattice sticking or bouncing off each other until the simulation ends. The way tiles interact with one another is defined by the following increasingly complex simulation models. Model 1. When two tiles reach adjacent locations, the interaction between the colours at the touching edges is looked up in M. If the resultant value is greater than τ , both tiles self-assemble and remain in their current location; otherwise they continue their random walk through the lattice. Model 2. This model extends the above by the introduction of a probabilistic moving criterion, ρ, for each tile. Its calculation is performed in terms of the interaction value given by each edge of the tile, its neighbours and τ . Initially, ρ is set to 1.0 and the tile is thus free to move on the lattice. As a tile interacts with others, ρ either decreases when the tile becomes part of an aggregation, or rises when the tile leaves an aggregation. To make the model richer we also introduce the possibility of tile rotation. Thus, we define Model 3 and Model 4 as the combination of the two previous models but extended with rotation, i.e. tiles without probabilistic motion plus rotation (Model 3) and tiles with probabilistic motion and rotation (Model 4).
292
Chapter 13
Fig. 13.5. Four types of self-assembly conformations: (a) two-tiles self-assembly, (b) three-tiles self-assembly, (c) four-tiles self-assembly, and (d) five-tiles self-assembly. Stable versions of these act as “generalised secondary structures”, i.e. milestones, for the self-assembly process. For colour version, see Colour Plate Section.
2.2.1.2. Structure Comparison The resulting self-assembled tile structures spread over the lattice are, in turn, compared to the target shape (rectangular aggregates). Each comparison measures a morphological similarity value using the Minkowski functionals introduced in 2.1. Hence, the more similar the shapes are to the goal, the more likely an individual is to reproduce and pass onto the next generation. The results of the experiments mentioned above, presented in [46,47], demonstrate the suitability of EAs for the design of self-assembling tiles. Some of the most interesting questions, however, are related to how the artificial evolution process programmes the tiles in order to achieve a specific target shape. It is to this issue that we now turn our attention. 2.2.2. Emergence of Generalised Secondary Structures Understanding how information is processed on a distributed system such as with the evolved tile lattice is non-trivial. Each tile has a very limited computational capability, using only very rudimentary if-then-else rules for deciding whether to stick to another tile or bounce off depending on the glue strength and temperature of the system. Thus understanding how the larger structures emerge out of these local interactions requires a careful analysis. We investigated the set of all possible self-assembling conformations that persisted through the evolution of the best tile set. That is, we studied combinations of two, three, four and five tiles as depicted in Fig. 13.5 and assessed which intermediate structures were stable and hence could be used as milestones towards achieving the final target structure. We call these intermediate structures “generalised secondary structures”, in homage to protein secondary structures, which are deemed to be building blocks for their tertiary or native state. Two-tile assembly conformations were found in some of the experiments using Model 1 and Model 3. Therein, some of the best solutions involved a particular single tile that stuck to all the others. This seed tile increases the chances of the formation of small self-assembled aggregates, but also makes exploration difficult as the resulting structures are morphologically dissimilar to the target shape, resulting in a low fitness value due to this premature aggregation.
Automated Self-Assembling Programming
293
Table 13.1. Generalised secondary structures for three-tiles assembly Model 1
Model 2
Model 4
1
15
1
1
16
1
1
16
1
1
17
1
1
14
1
1
19
1
For colour version, see Colour Plate Section.
We also consider the notion of cooperation [48] where a combination of three tiles or more is required to initiate self-assembly. Using Model 1, a small number of three-tile self-assembly conformations were employed. Conversely, for Model 2 and Model 4, a significant number of instances were identified. Table 13.1 shows the resulting outcome of this analysis with the type and amount of conformations per model. Further analysis shows the additional presence of four-tile and five-tile cooperative behaviour, both contributing further to the self-assembly process. These types of primary aggregates were found in the resulting individuals belonging to Model 1 and Model 2, with 26 examples of the four-tile self-assembly conformations and just a few occurrences for the five-tile patterns. Table 13.2 shows the resulting analysis. Figure 13.6 shows a concrete example of how generalised secondary structures evolved for Model 2 are used as milestone for the self-assembly of a 3×3 square. Each potential binding site, denoted with the symbol “?”, has a glue strength at least equal to the temperature. Starting from a three-tile assembly structure in the first step, an incoming tile attaches to the upper right binding site. Later on, Table 13.2. Generalised secondary structures for four-tiles and five-tiles assembly
Model 1 Model 2
– 7
1 5
For colour version, see Colour Plate Section.
1 9
– 5
1 –
294
Chapter 13
Fig. 13.6. Simulation of an individual using generalised secondary structures and probabilistic motion. For colour version, see Colour Plate Section.
step 4, it moves up due to the probabilistic motion leaving two bonding sites ready to receive tiles at step 5. In the following step, it moves back and, at step 7, the tile located below moves aside leaving two new binding sites ready to receive tiles at steps 8 and 9. Due to the probabilistic motion, this latterly attached tile moves up at step 11 allowing for the completion of the figure in step 12. 2.2.3. Measuring the Strength Activity In the previous section we explained how the evolved tiles self-assemble into a specific shape. We analyse next how the generalised secondary structures, which act as milestones during the selfassembly process, emerge. Selection of the appropriate glue strengths for the generalised secondary structures is a key to the discovery of the tile families capable of self-assembling into the target shape. The adaptation of the glue strengths involved in the evolved tiles is performed through an analysis method that considers the genotypic evolutionary activity as defined in [49]. Unlike [49] and the example in Chapter 4 of this book, however, we define the evolutionary activity for the generalised secondary structures mentioned above. That is, rather than measuring the activity for genes we measure it at the phenotypic level as this is a more combinient method when genes are highly epistatic. Hence, the evolutionary activity ai (t) represents the cumulative usage (or utility) for a glue of strength i, as instantiated by some generalised secondary structure, up to generation t. This is shown in Eq. (3) where Ci (t) is the concentration in the population of glues with strength i at generation t. A cut-off of 0.1 was used for the concentration as to capture only significant ones, hence when it falls below 0.1 the counting is restarted. j =t j =0 Ci (j ) if Ci (j ) > 0, ai (t) = (3) 0 otherwise. The chart in Fig. 13.7 shows the resulting activity waves of the possible glue strengths (0, . . . , 9) for a representative run of the evolutionary algorithm under Model 4. In this case, the measurement is applied to two-tiles interactions (shown
Automated Self-Assembling Programming
295
Fig. 13.7. Evolutionary activity of generalised secondary structures glue strengths. For clarity we only show the activity of glue strengths related to intermediate assemblies of the form shown in Fig. 13.5(a). For colour version, see Colour Plate Section.
in Fig. 13.5(a)). Since this model is invariant under rotation glue strengths arising from interactions in the X or Y axis are equivalent. The evolutionary activity plots show how at the beginning of the run the algorithm explores several strategies for building two-tiles interactions, that is, all the glue strengths are (to a degree) represented. As the evolutionary process progresses, several glue strengths are discarded and they become extinct, i.e. their evolutionary waves vanish, only to be replaced with a glue strength of 2, 1 and 3 until generation 80. From generation 115, glue strengths 3 drives all the rest to extinction. The reader should note that, as the temperature τ is 4, this glue strength is the smallest one that is closer to τ . Hence the two-tile (partial) assemblies, although do not stick permanently they do have a high chance of staying together (as ρ is smaller than 1). Thus evolution “tunes” the stickiness of two-tiles generalised secondary structures as to avoid premature aggregations but still having a high chance of building up higher order GSSs. In general, the less sophisticated the tile model, the smaller the resulting aggregations, as two-tile interactions become not just common, but frequent building blocks that lead the system to premature uncontrolled aggregation. Conversely, experiments using tiles assisted with probabilistic motion result in larger
296
Chapter 13
aggregations due to the use of three-tile, four-tile and five-tile cooperation. In other words, probabilistic motion requires the use of intermediate building blocks—generalised secondary structures [50]—for adequate self-assembly to occur. Moreover, it seems that a conservation of complexity principle is operating whereby the richer the environment, the simpler the individuals and, conversely, the simpler the environment the more complex the individuals.
3.
Self-Assembly Models for Unconventional Computing
In this section we describe two self-assembly models for unconventional computing. In the first model we take a step back from Genetic Programming and we ask what contributions (if any) a detailed analysis of self-assembling programs could make to the automated synthesis of computer programs. In the second example we propose that dissipative particle dynamic simulations of self-assembling vesicles could help bridge the gap between recent theoretical developments in P-systems and their chemical implementation.
3.1.
Before Genetic Programming: The Self-Assembly of Program Trees
Although it is generally accepted that Genetic Programming (GP) is the conventional means for automatic program synthesis [51–53], we seek to answer whether a more systematic analysis of self-assembly could shed light on program synthesis. A second motivation for our work is the observation that the “compartmentalistic school of thought” of the origin of life argues that compartment structures formed spontaneously through self-assembly processes, and perhaps provided the original membrane-bounded structures required for maintaining a sufficiently diverse and far-from equilibrium environment for cellular life to begin [54,55]. In this section, we discuss some insights on the use of compartments and self-assembly for the automated synthesis of computer programs. 3.1.1. Automated Software Synthesis Close and Far from Equilibrium In our previous work [56] we introduced the automated self-assembly programming paradigm (ASAP2 ). In ASAP2 , portions of software programs are embodied within a virtual compartment, i.e. a confined space, and allowed to perform a random walk. When two software components collide, a check is made on their input and output data types (signatures), and if they are compatible, the two components self-assemble into a new, larger component. In [56,57] we explored the dynamics of ASAP2 using a single compartment and in equilibrium (no net flux of components or energy into the system was allowed). In [58], we extended our work by analysing the effects of a network of compartments on the complexity and diversity of the self-assembly programs when the network as a whole was kept at equilibrium. In that setting, components could move freely from one compartment to any other neighbouring one and we explored the impact of network
Automated Self-Assembling Programming
297
Fig. 13.8. Example β-graphs: (a) β = 0, (b) β = 0.2, (c) β = 0.6, (d) β = 1.0. For colour version, see Colour Plate Section.
topology on the self-assembled programs. In this section we extend our previous work by introducing a net flux of components into the network thus resulting in a system that is kept far from equilibrium. We overview the impact that this addition to the model has on the complexity of self-assembled programs. 3.1.2. β-Graph Model We use β-graphs [59] as a rich source of model network topologies. The graphs cover a range of network topologies, from the completely random to the highly ordered. In order to study meaningful configurations, the generated graphs are assumed to be connected, undirected and unweighted. The β parameter is a probability value that determines the random rewiring rate of edges from an initially completely ordered ring structure. Figure 13.8 shows examples of β-graphs constructed with β ∈ {0.0, 0.2, 0.6, 1.0}. As can be seen from Fig. 13.8, β-graphs can be gradually transformed from ordered graphs to random graphs with increasing β values. A highly ordered structure is shown in Fig. 13.8(a) where β is set to 0. At the other extreme, Fig. 13.8(d) illustrates a completely stochastic graph with all edges rewired when β is set to 1.0. 3.1.3. ASAP 2 : An Investigation of the Impact of Compartments Once a β-graphs is instantiated, each vertex, i.e. compartment, receives an equal num-
298
Chapter 13
ber of randomly chosen software components. Software components are sampled from man-made program libraries as we are interested in investigating the self-assembly properties of software as it is rather than as it could be. An edge connecting vertices vi , vj indicates that software components can move from compartment vi to vj and vice versa. When a software component that is moving within a compartment touches its boundary, it will be transferred to one of its neighbouring compartments. The choice of which compartment will receive the component is made in a uniformly random fashion across all the neighbours of a given vertex. When a software component is close to another component within a threshold distance (dε ) within the same compartment, they will either selfassemble into a more complex aggregate structure or repel, depending, as mentioned before, on the type of their binding sites [56]—binding sites are deemed compatible if their types match. This self-assembly process will achieve an equilibrium state when there are no more possible binding actions between any of the remaining self-assembled trees across the whole network. This is so because once the simulation starts no more components are allowed into the system, hence the simulation proceeds under thermodynamic control. In order to further investigate ASAP2 far from equilibrium, we introduced a net flow of software components. When a β-graph is constructed, a random node in the graph is selected as an influx compartment. The outflux compartment is selected in such a way that it has the greatest distance to the influx compartment in the network. In Fig. 13.8, an influx compartment is represented by a node with an inwardly pointing arrow, and an outflux compartment is indicated by a node with an outgoing arrow. At each time step, a random software component is added to the system at the influx compartment with an externally defined probability value pf . If a new software component is introduced into the system, a component of the same size (i.e. with the same number of nodes) will be extracted from the outflux pool. However, if there are no components of the same size in the outflux compartment, no software components will be removed (i.e. influx and outflux of components are not always balanced). Hence, the system is kept far from equilibrium and following a dynamic self-assembly process. Figure 13.9 shows how the diversity of generated programs changes for regimes at and far from equilibrium. Diversity of self-assembled programs (Dε ) is assessed by the number of different tree classes. Two programs are considered to belong to the same parse tree class if both their structure and content are identical [60]. We investigated how the distance from each compartment to the influx compartment (dα ), as well as time affects Dε . The terminating condition for dynamic ASAP2 is calculated as in [57], i.e., it reflects the time to equilibrium under static ASAP2 . Figure 13.9 also shows that dα has a clear and significant impact on Dε . It is expected that a compartment with a shorter distance to the source has a greater density of components. Figure 13.9 shows that in general, Dε increases as dα
Automated Self-Assembling Programming
299
Fig. 13.9. Comparison of Dε between static and dynamic ASAP2 . The plane indicates total number of program trees assembled at equilibrium in static ASAP2 , whereas the lines indicate Dε at various time step in dynamic ASAP2 as a function of dα . For colour version, see Colour Plate Section.
decreases. The Characteristic Path Length (CPL) measures the mean shortest distance between an arbitrary pair of vertices (i, j ) in a graph. In Fig. 13.9, it is possible to observe a local peak at Dα = 4, which is close to the calculated CPL for the graph (CPL = 4.18). The same similarity was also observed in other experiments, showing it to be a general phenomenon. Moreover, it can also be seen that Dε increases over time under the same dα . Since there are no influx and outflux compartments in static ASAP2 , dα is not a factor that influences Dε . Hence, Dε is shown as a plane in Fig. 13.9 at its equilibrium. Comparing Dε at the termination time in dynamic ASAP2 with Dε in static ASAP2 , it can be seen that dynamic ASAP2 exhibits greater Dε . Our results confirm the results recently presented by [61] albeit in a more general (and perhaps practical) system as their work focuses on the hierarchical selforganisation of finite state machines. Gornerup and Crutchfield’s work, as well as ours, clearly demonstrates the need to maintain the system far from equilibrium as a means of maintaining, and in some cases sustainably increasing, the diversity and complexity of self-assembled programs.
3.2.
Towards Chemical Implementations of Membrane Computing Through the Controlled Self-Assembly of Virtual Vesicles
Membrane computing [62] is a promising computational paradigm based on symbol manipulation and compartmentalisation, analogous to the compartmentalisa-
300
Chapter 13
tion of chemical processes in biological cells. In this section, we discuss a method for modelling membrane computation with the intention of investigating a possible implementation of a membrane computer. 3.2.1. Bridging the Gap between Nano- and Macrocomputation In biological cells, processes such as photosynthesis and protein modification are encapsulated in membrane bound organelles. In the membrane computing paradigm and its P-systems formalism (discussed below), the idea of encapsulation of functionality is applied to symbol manipulation systems to create a computing paradigm that is inherently parallel and distributed. We propose the use of a coarse grained particle dynamics model as a “virtual machine” for P-systems, allowing investigation into the feasibility of implementing P-systems as real chemical membrane systems in vitro. In this simulation, artificial chemical vesicles will represent the abstract P-system membranes. A vesicle is a fluid compartment encapsulated by a bilayer membrane in a solution, typically less than a few microns in diameter. Vesicles correspond well with the simple membrane bound regions described by the P-systems formalism. 3.2.2. P-Systems P-systems [63] are a mathematical formalism of the Membrane Computing paradigm. In P-systems, computations are performed when symbols (analogous to chemicals in a real cell) are transformed by rules (analogous to chemical reactions in a real cell) within regions delimited by membranes. It has been shown [63] that P-systems that contain only a few membranes are computationally universal, but what is not clear is whether such a Turingcomplete P-system is a feasible membrane computer when implemented in vitro. Membranes in P-systems are organised hierarchically, with each membrane delimiting a region which may contain other membrane bound regions. Each region contains a multiset of symbol objects and a set of rules which act on those objects. Transition between states in a P-system involves applying rules to objects in each region “in a non-deterministic maximally parallel manner” [63] meaning that the rules to be applied to the objects in the region are chosen non-deterministically until no more rules can be applied, and that all regions evolve concurrently (in a synchronised manner). The structure of the membranes in a P-system is highly abstract when compared with a biological membrane, as spatial and compositional properties are not considered at all. Figure 13.10 shows a graphical representation of a simple P-system, computing multiples of four. In this P-system, the a → affff rule will be applied to the starting symbol a to produce one a symbol (replacing the one that was consumed when applying the rule) and four f symbols. This process repeats producing four more f symbols at each iteration until the a → δ rule is applied which dissolves membrane 2. The rule applied at each step of the computation is chosen stochastically. Once membrane 2 is dissolved, the f symbols move to membrane
Automated Self-Assembling Programming
301
Fig. 13.10. A simple P-system.
1 and the computation halts as there are no further rules which can be applied. The output of the system is the number of symbols contained in the output membrane (membrane 1). 3.2.3. Dissipative Particle Dynamics as a Virtual Machine for P-Systems Although it is possible to perform P-systems computations by implementing the P-systems model on a standard desktop computer, the parallel and distributed benefits of the computational paradigm can only be utilised in vitro, with a real chemical implementation of P-systems. Moving from the P-systems representation of a membrane computer to a real implementation poses a number of difficult questions. It is not yet known whether it is possible to create the structure of a given P-system with vesicles, or if such a representation would remain stable, and perform as specified by the P-system. If application of rules to symbols is represented in solution as chemical reactions, then the chemicals may affect the vesicle structure in unexpected ways, and the abstract P-system formalism does not consider processes such as diffusion and membrane degradation that occur in real vesicles. As it is currently not possible to create chemical membrane computers in the lab, we propose the use of a modelling technique, Dissipative Particle Dynamics, to investigate the plausibility of P-systems in vitro. Dissipative Particle Dynamics (DPD) [64] is a hydrodynamic model that coarse grains atomic interactions by representing a number of molecules of a given type as a single “bead”. Conservative, dissipative and random forces between beads are calculated in a pairwise fashion, subject to a hard distance cut-off. The coarse graining of molecules and the hard force cut-off make DPD much less computationally intensive than other modelling techniques such as molecular dynamics, and the model strikes a good balance between the level of detail at the hydrodynamic length scales and computational complexity. The addition of spring based forces between particles to DPD has allowed the modelling of polymers [65] and with this extension, DPD has been used to simulate various different phases of amphiphillic molecules (molecules that have both hydrophobic and hydrophillic properties), such as micelles, bilayers [66] and vesicles [67–69]. Figure 13.11 shows images from a visualisation of a DPD vesicle simulation.
302
Chapter 13
Fig. 13.11. Vesicle simulation in DPD: (a) 3D DPD simulation of a vesicle and (b) cross section of (a) with solvent beads displayed. For colour version, see Colour Plate Section.
Fig. 13.12. Vesicle formation. For colour version, see Colour Plate Section.
Figure 13.12 illustrates the process of vesicle formation from a random initial configuration (a), as described in [67]. The amphiphiles first organise into micelles (b), then larger oblate micelles as the individual micelles fuse (c), and finally the large flattened micelles “curl” into bowl shapes which eventually close over to form vesicles (d). By representing the membrane structure of a P-system as simulated vesicles in DPD, and representing the rules and symbols of the P-systems formalism using a chemistry extension to the DPD model (see Chapter 4), DPD will act as a virtual machine for membrane computation. The virtual machine would take as its input a P-system specification, create an initial configuration for a DPD simulation based on that specification, and then allow the simulation to run for a specified simulation time or until some stopping criteria are fulfilled (e.g. only one vesicle remains in simulation space). Analysis of the resulting amphiphile configurations can then be applied to determine if the P-system computation occurred as intended. In this way, P-systems could be easily constructed and tested
Automated Self-Assembling Programming
303
in simulation, allowing insight into the feasibility of a real implementation of that system. Although the P-system virtual machine may not perform exactly as a real membrane computer might, we hope that the model is sufficiently realistic to allow investigation into the feasibility of different P-system structures as in vitro membrane computers and that such a tool will help to guide the creation of a vesicle based membrane computer in the near future.
4. Conclusions In this chapter we have discussed the link between natural computation, in particular evolutionary computing and P-systems, with self-assembly. We have also briefly mentioned ongoing research on the self-assembly of computer programs and a possible route for the implementation of vesicle computers. As our understanding of nature’s preferred engineering methods, self-assembly, selforganisation and natural selection, increases, computer scientists will be exposed to new challenges and innovative ideas. We believe that the interplay between computation and self-assembly goes well beyond what has already been achieved with DNA-based computing and we hope that this chapter will serve as inspiration to other computer scientists to delve into the computational nature of selfassembly.
Acknowledgements NK would like to acknowledge the EPSRC for funding projects EP/E017215/1, EP/D021847/1 and GR/T07534/01. He would also like to thank P. Moriarty, M. Gheorghe, G. P˘aun, M. Bedau, S. Gustafson and D.A. Pelta for very many useful discussions.
References [1] L. Adleman, Q. Cheng, A. Goel, M. Huang, D. Kempe, P. Moisset de Espanes, P.W.K. Rothemund, Combinatorial optimization problems in self-assembly, in: Proceedings of the Annual ACM Symposium on Theory of Computing (STOC), ACM Press, 2002. [2] A.M. Turing, The chemical basis of morphogenesis, Phil. Trans. R. Soc. Lond. B 237 (1952) 37–72. [3] J. von Newman, Theory of Self-Reproducing Automata, University of Illinois Press, 1966. [4] A. Lindenmayer, Mathematical models for cellular interactions in development, parts I and II, Journal of Theoretical Biology 18 (1968) 280–315. [5] J.H. Holland, Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence, University of Michigan Press, 1975.
304
Chapter 13
[6] P.W.K. Rothemund, Using lateral capillary forces to compute by self-assembly, Proceedings of the National Academy of Science USA 97 (2000) 984–989. [7] T.H. LaBean, E. Winfree, J.H. Reif, Experimental progress in computation by self-assembly of DNA tilings, in: DNA Based Computers V: DIMACS Workshop—American Mathematical Society, 1999. [8] Y. Benenson, T. Paz-Elizur, R. Adar, E. Keinan, Z. Livneh, E. Shapiro, Programmable and autonomous computing machine made of biomolecules, Nature 414 (6862) (2001) 430–434. [9] N. Krasnogor, S. Gustafson, A family of conceptual problems in the automated design of systems self-assembly, in: 2nd Annual Conference on Foundations of Nanoscience: SelfAssembled Architectures and Devices, Sciencetechnica Publishers, 2005. [10] S. Harding, J. Miller, E. Rietman, Evolution in Materio: Evolving logic gates in liquid crystal, in: 2005 European Conference on Artificial Life: Workshop on Unconventional Computing, 2005. [11] A. Thompson, P. Layzell, R.S. Zebulum, Explorations in design space: Unconventional electronics design through artificial evolution, IEEE Trans. Evol. Comp. 3 (1999) 167–196. [12] J. Rieffel, J. Pollack, Evolutionary fabrication: The emergence of novel assembly methods in artificial ontogenies, in: Proceedings of the Genetic and Evolutionary Computation Conference: SEEDS Workshop, 2005. [13] J.L. Shapiro, Theoretical aspects of evolutionary computing, in: L. Kallel, B. Naudts, A. Rogers (Eds.), Springer, 2001, pp. 87–108. [14] N. Krasnogor, J.E. Smith, Memetic algorithms: The polynomial local search complexity theory perspective, Journal of Mathematical Modelling and Algorithms (2007), Springer, doi: 10.1007/S10852-007-9070-9. [15] R. Poli, N. Freitag McPhee, J.E. Rowe, Exact schema theory and Markov chain models for genetic programming and variable-length genetic algorithms with homologous crossover, Genetic Programming and Evolvable Machines 5 (1) (2004) 31–70, Kluwer Academic Publishers. [16] P.L. Luisi, The Emergence of Life, Cambridge University Press, ISBN 0-521-82117-7, 2006. [17] T. Toffoli, N. Margolus, Cellular Automata Machines—A New Environment for Modelling, MIT Press, 1987. [18] B. Chopard, M. Droz, Cellular Automata Modeling of Physical Systems, Cambridge University Press, 1998. [19] L. Kier, P. Seybold, C. Cheng, Cellular Automata Modeling of Chemical Systems, Springer, 2005. [20] G. Terrazas, P. Siepmann, G. Kendall, N. Krasnogor, An evolutionary methodology for the automated design of cellular automaton-based complex systems, Journal of Cellular Automata 2 (1) (2007) 77–102 (special issue). [21] E. Berlekamp, J. Conway, R. Gut, The game of life, in: Winning Ways for Your Mathematical Plays, vol. 2, Academic Press, 1982, pp. 817–849. [22] R. Subrata, A.Y. Zomaya, Evolving cellular automata for location management in mobile computing networks, IEEE Transactions on Parallel and Distributed Systems 14 (1) (2003). [23] G. Green, D. Newat, Towards a theory of everything?—Grand challenges in complexity and informatics, Complexity International 8 (2001). [24] M. Sipper, Evolving uniform and non-uniform cellular automata networks, in: D. Stauffer (Ed.), Annual Reviews of Computational Physics, vol. V, World Scientific, 1997. [25] M. Sipper, M. Tomassini, M.S. Capcarrere, Designing cellular automata using a parallel evolutionary algorithm, Nuclear Instruments and Methods in Physics Research A 389 (1997) 278– 283.
Automated Self-Assembling Programming
305
[26] T. Jones, S. Forrest, Fitness distance correlation as a measure of problem difficulty for genetic algorithms, in: Proceedings of the Sixth International Conference on Genetic Algorithms, San Francisco, CA, USA, pp. 184–192. [27] M. Halkidi, Y. Batistakis, M. Vazirgiannis, On clustering validation techniques, Journal of Intelligent Information Systems 17 (2) (2001) 107–145. [28] R.W. Hamming, Error detecting and error correcting codes, Bell System Technical Journal 26 (2) (1950) 147–160. [29] M. Li, X. Chen, X. Li, B. Ma, P. Vitnyi, The similarity metric, in: Proceedings of the Fourteenth Annual ACM–SIAM Symposium on Discrete Algorithms, 2003, pp. 863–872. [30] P.M.B. Vitani, M. Li, Kolmogorov Complexity and Its Applications, MIT Press, 1991. [31] N. Krasnogor, D. Pelta, Measuring the similarity of protein structures by means of the universal similarity metric, Bioinformatics 20 (7) (2004) 1015–1021. [32] M. Ling, R. Sharp, Melody classification using a similarity metric based on Kolmogorov complexity, in: Proceedings of the Conference on Sound and Music Computing, Paris, 2004. [33] L. Cronin, N. Krasnogor, B.G. Davis, C. Alexander, N. Robertson, J.H.G. Steinke, S.L.M. Schroeder, A.N. Khlobystov, G. Cooper, P. Gardner, P. Siepmann, Is it alive? Recognising cellular systems: A computational-chemical perspective, Nature: Biotechnology 24 (2006) 1203–1206. [34] P. Siepmann, C.P. Martin, I. Vancea, P.J. Moriarty, N. Krasnogor, A genetic algorithm approach to probing the evolution of self-organised nanostructured systems, Nano Letters 7 (7) (2007) 1985–1990. [35] G. Doolerd (Ed.), Lattice-Gas Methods for Partial Differential Equations, Santa Fe Studies in the Science of Complexity, Addison Wesley Longman Publishers, 1990. [36] C.P. Martin, M.O. Blunt, P. Moriarty, Nanoparticle networks on silicon: Self-organized or disorganized?, Nano Letters 4 (2004) 271–274. [37] K. Michielsen, H. de Raedt, Integral-geometry morphological image analysis, Physics Reports 347 (2001) 461–538. [38] A. Di Pietro, L. While, L. Barone, Applying evolutionary algorithms to problems with noisy, time-consuming fitness functions, in: Proceedings of the Congress on Evolutionary Computation, vol. 2, 2004, pp. 1254–1261. [39] H. Kita, Y. Sano, Genetic algorithms for optimization of noisy fitness functions and adaptation to changing environments, in: Proceedings of the Workshop on Statistical Mechanical Approach to Probabilistic Information Processing, Okayama, Japan, 2003. [40] G. Rudolph, A partial order approach to noisy fitness functions, in: Proceedings of the Congress on Evolutionary Computation, vol. 1, 2001, pp. 318–325. [41] D.E. Goldberg, The Design of Innovation: Lessons from and for Competent Genetic Algorithms, Kluwer Academic Publishers, 2002. [42] V.R. Syrotiuk, C.J. Colbourn, J. Pachl, Wang tiling and distributed verification on anonymous torus networks, Theory Computers Systems 30 (1997) 145–163. [43] M. Alsweis, O. Deussen, Wang-tiles for the simulation and visualization of plant competition, in: 24th Computer Graphics International Conference 2006, in: LNCS, vol. 4035, SpringerVerlag, 2006, pp. 1–11. [44] M.F. Cohen, J. Shade, S. Hiller, O. Oliver Deussen, Wang tiles for image and texture generation, in: SIGGRAPH ’03: ACM SIGGRAPH 2003 Papers, ACM Press, 2003, pp. 287–294. [45] H. Wang, Proving theorems by pattern recognition, Bell Systems Technical Journal 40 (1961) 1–42. [46] G. Terrazas, N. Krasnogor, G. Kendall, M. Gheorghe, Automated tile design for self-assembly conformations, in: Proceedings of the 2005 IEEE Congress on Evolutionary Computation, Edinburgh, UK, September 2005, vol. 2, pp. 1808–1814.
306
Chapter 13
[47] G. Terrazas, M. Gheorghe, G. Kendall, N. Krasnogor, Evolving tiles for automated selfassembling design, in: Proceedings of the 2007 IEEE Congress on Evolutionary Computation, 2007, pp. 2001–2008. [48] P.W.K. Rothemund, E. Winfree, The program-size complexity of self-assembled squares, in: Proceedings of STOC, 2000. [49] M.A. Bedau, C.T. Brown, Visualizing evolutionary activity of genotypes, Artificial Life 5 (1999) 17–35. [50] N. Krasnogor, G. Terrazas, D.A. Pelta, G. Ochoa, A critical view of the evolutionary design of self-assembling systems, in: Proceedings of the 7th International Conference on Artificial Evolution, Special Track on Self-Assembly, Lille, France, October 2005. [51] J.R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press, Cambridge, MA, USA, ISBN 0-262-11170-5, 1992. [52] C. Ryan, Genetic programming 3: Darwinian invention and problem solving (book review), Genetic Programming and Evolvable Machines 1 (4) (2000) 1389–2576. [53] M. O’Neill, A. Brabazon, C. Adley, The automatic generation of programs for classification problems with grammatical swarm, in: Proceedings of the 2004 IEEE Congress on Evolutionary Computation, Portland, Oregon, 2004, pp. 104–110. [54] H.J. Morowitz, Beginning of Cellular Life, Yale University Press, 1992. [55] F.J. Dyson, Origins of Life, Cambridge University Press, 1985. [56] L. Li, N. Krasnogor, J. Garibaldi, Automated self-assembly programming paradigm: Initial investigations, in: Proceedings of the Third IEEE International Workshop on Engineering of Autonomic & Autonomous Systems, Potsdam, Germany, 2006, pp. 25–34. [57] L. Li, N. Krasnogor, J.M. Garibaldi, Automated self-assembly programming paradigm: A particle swarm realization, in: Proceedings of the Workshop on Nature Inspired Cooperative Strategies for Optimization, Granada, Spain, 2006, pp. 123–134. [58] L. Li, N. Krasnogor, J.M. Garibaldi, Automated self-assembly programming paradigm: The impact of network topology, in: Special Issue on Nature Inspired Cooperative Strategies for Optimization in the International Journal of Intelligent Systems (2007), in press. [59] D.J. Watts, Small Worlds: The Dynamics of Networks between Order and Randomness, Princeton Studies in Complexity, Princeton University Press, ISBN 0691117047, 2003. [60] E. Burke, S. Gustafson, G. Kendall, N. Krasnogor, Advance population diversity measures in genetic programming, in: Proceedings of Parallel Problem Solving from Nature, 2002. [61] O. Gornerup, J.P. Crutchfield, Hierarchical self-organization in the finitary process soup, in: ALIFE X, Tenth International Conference on the Simulation and Synthesis of Living Systems, Workshop Proceedings, 2006, pp. 75–80. [62] G. P˘aun, Computing with Membranes, Turku Centre for Computer Science, 1998. [63] G. P˘aun, Membrane Computing: An Introduction, Springer-Verlag, New York, 2002. [64] P.J. Hoogerbrugge, J.M.V.A. Koelman, Simulating microscopic hydrodynamic phenomena with dissipative particle dynamics, Europhys. Lett. 19 (1992) 155–160. [65] Y. Kong, C.W. Manke, W.G. Madden, A.G. Schlijper, Simulation of a confined polymer in solution using the dissipative particle dynamics method, International Journal of Thermophysics 15 (1994) 1093–1101. [66] J.C. Shillcock, R. Lipowsky, Equilibrium structure and lateral stress distribution of amphiphilic bilayers from dissipative particle dynamics simulations, The Journal of Chemical Physics 117 (2002) 5048–5061. [67] S. Yamamoto, Y. Maruyama, S.A. Hyodo, Dissipative particle dynamics study of spontaneous vesicle formation of amphiphilic molecules, Journal of Chemical Physics 116 (2002) 5842– 5849.
Automated Self-Assembling Programming
307
[68] V. Ortiz, S.O. Nielsen, D.E. Discher, M.L. Klein, R. Lipowsky, J. Shillcock, Dissipative particle dynamics simulations of polymersomes, Journal of Physical Chemistry B 109 (2005) 17708–17714. [69] M. Laradji, P.B. S Kumar, Dynamics of domain growth in self-assembled fluid vesicles, Physical Review Letters 93 (2004) 198105. [70] G.M. Whitesides, B. Grzybowski, Self-assembly at all scales, Science 295 (2002) 2418–2421. [71] G.M. Whitesides, M. Boncheva, Beyond molecules: Self-assembly of mesoscopic and macroscopic components, Proceedings of the National Academy of Science (PNAS) 99 (2002) 4769– 4774.
309
Index
A accretive growth, 200 adaptability, 25, 291 automated software synthesis,
high defect rates, hysteresis, 273 L
296
language theory, 51 large scale randomness, 187 length scale, 32 lithographic fabrication, 181
C carving, 200 cellular complexes, 210 CMOS, 181 competitive interactions, 32 complex spin networks, 268 computing with shapes, 56 cross-carbon nanotube FET, 182 cytoskeleton, 29
M
D decoupled array multiprocessor, 191 defect-tolerance mechanism, 125 diffusion limited aggregation, 205 Dissipative Particle Dynamics (DPD), 81, 301 DNA, 27, 53, 181, 253 E energy dissipation,
187
32
melanophore programs, 165 MGS, 202 micelle, 84, 301 microfabrication, 101, 106, 114 minimum line-based tile system problem, 228 medium, 32 Monte Carlo algorithm, 13 morphology, 8 N nanoparticle, 3, 253 nanoscale active network architecture, natural computation, 281 O optimisation, 83 Oracle, 189
F fault-tolerance, 126 flagella, 30 fluidic self-assembly, 106 Full-Binary Counter problem (FBC),
P 238
G General Purpose Counter problem (GPC), 228 generalised secondary structures, 292 genetic algorithm, 83, 283
P-systems, 59, 299, 300 parameter learning/identification, 285 pattern, 3, 36, 202, 211, 273 photosynthesis, 29 polyominoes, 56 populations, 31 probabilistic defect map, 124 probabilistic design methodology, 133 programmed dynamic self-assembly, 171
H Hamiltonian, 12, 269 hierarchical RAM computing,
193
R 163
RAM programs, 165
310
Index
Random Access Machine (RAM), 154, 156 ring-gated FET, 183 RNA, 27
similarity metric, 287 sticker system, 53 sticky graphs, 250 structured graphs, 269, 297
S
T
self-assembly, 2, 22, 49, 79, 106, 154, 184, 199, 226, 245, 259, 281 self-healing, 26 self-organisation, 2, 22, 281 self-replication, 26 Sierpinsky triangle, 206 silicon networks, 112
template directed ligation, 90 Tile Assembly Model (TAM), 226, 291 topology, 8, 262 U universality,
64, 74