Computing in Nonlinear Media and Automata Collectives
Total Page:16
File Type:pdf, Size:1020Kb
Computing in Nonlinear Media and Automata Collectives Computing in Nonlinear Media and Automata Collectives Andrew Adamatzky University of the West of England, Bristol Institute of Physics Publishing Bristol and Philadelphia c IOP Publishing Ltd 2001 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the publisher. Multiple copying is permitted in accordance with the terms of licences issued by the Copyright Licensing Agency under the terms of its agreement with the Committee of Vice-Chancellors and Principals. British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library. ISBN 0 7503 0751 X Library of Congress Cataloging-in-Publication Data are available Commissioning Editor: James Revill Production Editor: Simon Laurenson Production Control: Sarah Plenty Cover Design: Fr´ed´erique Swist Marketing Executive: Colin Fenton Published by Institute of Physics Publishing, wholly owned by The Institute of Physics, London Institute of Physics Publishing, Dirac House, Temple Back, Bristol BS1 6BE, UK US Office: Institute of Physics Publishing, The Public Ledger Building, Suite 1035, 150 South Independence Mall West, Philadelphia, PA 19106, USA Typeset in TEX using the IOP Bookmaker Macros Printed in the UK by MPG Books Ltd, Bodmin Contents Preface ix 1 Reaction–diffusion, excitation and computation 1 1.1 Unconventional computing 1 1.2 Waves in reaction–diffusion and excitable media 4 1.3 Cellular automata 11 1.4 Modelling reaction–diffusion and excitable media 18 1.5 Computing in nonlinear active media 26 1.6 Reaction–diffusion media with smart molecules 33 2 Subdivision of space 35 2.1 Voronoi diagram 36 2.1.1 Planar Voronoi diagram 37 2.1.2 Discrete Voronoi diagram 39 2.1.3 Bisectors 40 2.1.4 O(n)-algorithm 45 2.1.5 O(1)-algorithm 50 2.1.6 Quality of the bisectors 54 2.1.7 Generalized Voronoi diagram 56 2.1.8 Inversion of Voronoi diagram 60 2.2 Skeleton 66 2.3 Chemical processors for tesselation and skeletonization 69 2.3.1 Grass fire in Belousov–Zhabotinsky reaction: Rambidi’s approach 69 2.3.2 Chemical processors for the approximation of Voronoi diagrams and skeletons 71 2.4 Voronoi diagram in a lattice swarm 75 2.4.1 One experiment with Tapinoma karavaevi 75 2.4.2 Probabilistic diffusion 77 2.4.3 Collectives of automata 77 2.4.4 Analysis of algorithms 82 2.4.5 Shapes of Voronoi diagram 86 2.5 Rational geography 91 vi Contents 2.6 Convex hull 92 2.6.1 Topology-based algorithm 98 2.6.2 Two-state algorithm 99 2.6.3 Excitable computation 102 3 Computation on and with graphs 105 3.1 Shortest paths and trees 105 3.2 Random walk, electricity and tree approximation 108 3.3 Field computing on graphs 109 3.4 Computation of shortest paths in cellular automata 112 3.5 Computation of trees by neurites 122 3.6 Spanning trees on random lattices 129 3.7 Construction of graphs by diffusive families of ants 135 3.7.1 Graph dynamics in real ants 137 3.7.2 Ant-approximation of planar proximity graphs 140 3.8 Exploring the complex space 145 3.9 Load balancing in communication networks 153 3.9.1 Diffusion-like algorithms 154 3.9.2 Ants on the net 157 3.9.3 How good is ant diffusion at balancing communication networks? 162 3.10 Chemical processors that compute shortest paths 165 4 Computational universality of nonlinear media 171 4.1 Artificial and natural universality 173 4.2 Architecture-based universality 175 4.3 Sand-piles 175 4.4 Mass-transfer-based gates 180 4.5 Wave gates 181 4.6 Employing collisions: billiard ball model 183 4.7 Game of Life 185 4.8 The excitable lattice 186 4.9 Minimal particle-like waves 187 4.10 Particle guns: the generators of the particle-like waves 191 4.11 Collisions and interaction gates 197 4.12 Reflectors, counters and registers 209 4.13 Excitation or Life? 213 4.14 Search for universality 215 4.15 Solitons, light bullets and gaussons 216 4.15.1 Solitons 216 4.15.2 Light bullets 219 4.15.3 Gaussons 222 4.16 Breathers 224 4.16.1 When are breathers born? 227 4.16.2 How do breathers collide? 228 Contents vii 4.16.3 Collision of breather with impurity 230 4.17 Collision gates in DNA 232 4.18 Scheibe aggregates and excitons 243 4.19 Microtubule computing 245 4.20 Automata models of Scheibe aggregates and microtubules 246 4.21 Localizations in granular materials 250 4.22 Worms in liquid crystals and automata lattices 252 4.23 Reaction–diffusion and active particles 259 5 Emergence of computation in excitable lattices 264 5.1 Three types of excitation rules 265 5.1.1 Threshold excitation rule 266 5.1.2 Interval excitation rule 266 5.1.3 Vector excitation rule 267 5.1.4 Relations between the rules 267 5.2 Lattices with interval excitation 268 5.2.1 Basics of classification 268 5.2.2 Findings 268 5.2.3 Analysis of excitation dynamic 269 5.2.4 Morphological diversity 273 5.3 Interval excitation controllers for mobile robots 275 5.3.1 Architecture of the excitable controller 276 5.3.2 Activity patterns and vector fields 278 5.3.3 Taxonomy of robot trajectories 284 5.3.4 Robot’s performance and excitation intervals 287 5.3.5 Fault tolerance of interval excitation lattice controllers 287 5.3.6 Simulated controllers in real robots 290 5.3.7 Real-life candidates for excitable controllers 290 5.4 Lattices with vector excitation rules 295 5.4.1 λ-like parameter of excitation rules 296 5.4.2 Initial conditions 297 5.4.3 Characteristics of the global dynamic 297 5.4.4 Morphological characteristics 298 5.4.5 Morphological classification 299 5.4.6 How initial conditions influence the structure of the classes 302 5.4.7 Morphological diversity 307 5.4.8 Excitation generators 314 5.4.9 Integral dynamics 320 5.4.10 Parametric classification 322 5.5 Computation in excitable lattices 332 5.5.1 Specialized computation: image transformation 334 5.5.2 Universal computation 344 5.5.3 Parametrizations of computational abilities 344 viii Contents 5.6 Motility-based classification of excitable lattices with vector excitation rules 345 Bibliography 357 Index 389 Preface This book aims to show how to design parallel processors from a massive pool of simple locally interacting uniform substances. Computing in excitable lattices, processing in chemical thin liquid layers and construction from amorphous swarms of social insects form the core subject of this volume which guides the reader from mathematical models of reaction–diffusion and excitable media to automata implementation of massively parallel processors to fabrication of real- life computing devices. Numerous amusing examples aim to entertain those already bored with dry theories or grounded applications. The structure of this book is fairly logical: introduction, intuitive examples from computational geometry and graph theory, universal computing and the emergence of computation. In the first chapter we introduce the basics of unconventional computing. This class of computation deals with either new computational paradigms (e.g. evolutionary computing and ant colony optimization); advanced architectures (e.g. cellular automata); or novel materials (e.g. DNA molecules and microtubules). Computing in reaction–diffusion and excitable media amalgamates all three approaches. We paradigmatically represent the structure of the information by chemicals, waves or localizations. We architecturally implement chemistry- or wave-based algorithms in cellular- automata machines. We design laboratory prototypes of reaction–diffusion and excitable processors from natural components. The spreading and interaction of substances are the main tools of reaction– diffusion computing. Various types of propagation fronts are the essential attributes of all natural systems from heat transfer to population dynamics to neural activity. Most of these phenomena can be adequately described in terms of reaction–diffusion systems, where reactants are converted into products during the propagation of a wavefront. Most imagined, simulated and real-life chemical processors obey a very simple scheme of action. A medium is at rest at the beginning of a computation. Data are transformed into the spatial configuration of a geometrical object. This configuration is cast onto the medium. After projection, the elements of the data configuration form an ornament of local disturbances in the medium’s characteristics, e.g. drops of a reagent or an excitation pattern. The local disturbances generate waves. The waves spread in the medium. Eventually ix x Preface the waves, originating from different data sources, meet each other. They somehow interact and produce either a concentration profile of a precipitate or a stationary excitation structure. The emerging pattern represents the result of the computation. This scenario is exemplified in the second chapter. From the first chapter we obtain a clue as to how a reaction–diffusion medium can compute. We are ready now to apply wave phenomenology to the solution of real problems. Reasonably we start with a problem that has an underlying spatial structure and is open for intuitive solutions. We picked out three problems, which can be straightforwardly solved in either a reaction– diffusion or excitable medium. So, the second chapter deals with the construction of Voronoi diagrams, skeletons and convex hulls. To construct a Voronoi diagram or a skeleton we employ distance-to-time transformations implemented in the spread of diffusive or phase waves. Thus, for example, in the Voronoi diagram of a planar set, waves are generated at given sites of data space, they spread out, interact with each other and form a stationary structure as a result of the interaction.