Artificial Life Models in Software Second Edition Maciej Komosinski • Andrew Adamatzky Editors Artificial Life Models in Software Second Edition 123 Editors Maciej Komosinski Andrew Adamatzky Poznan University of Technology University of the West of England Poznan Bristol Poland UK ISBN 978 -1-84882- 284-9 e-ISBN 978-1-84882-285-6 DOI 10.1007/978-1-84882-285-6 Springer Dordrecht Heidelberg London New York British Library Cataloguing in Publication Data A catalogue record for this book is available from the British Library Library of Congress Control Number: 2009928773 © Springer-Verlag London Limited 2009 Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers, or in the case of reprographic reproduction in accordance with the terms of licenses issued by the Copyright Licensing Agency. Enquiries concerning reproduction outside those terms should be sent to the publishers. The use of registered names, trademarks, etc., in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant laws and regulations and therefore free for general use. The publisher makes no representation, express or implied, with regard to the accuracy of the informa- tion contained in this book and cannot accept any legal responsibility or liability for any errors or omissions that may be made. Cover design: KünkelLopka GmbH; Cover artwork: Szymon Ulatowski Printed on acid-free paper Springer is part of Springer Science+Business Media (www.springer.com) Preface Artificial Life is an interdisciplinary field of science comprised of experts fromcomputerscience,biology,physics,chemistry,andmathematics,aswell as philosophers and artists. Artificial Life focuses on studying the phenom- ena of life at all levels of complexity and organization – molecular, cellular, organismic,andpopulation.Thesestudiesnotonlyemployconventionalcom- puters (using both software and hardware) but also take place in wetware, using techniques from the biochemical laboratory. Artificial Life research is notlimitedtolife-formsthatcurrentlyexistontheEarth.Rather,itattempts tostudythe generalprinciplesoflifethatarecommontoallinstancesoflife, those both already recognized and yet unknown. Contemporarymodelsoflifethatareimplementedinthehardwaremedium are covered in the sister book Artificial Life Models in Hardware, which is also published by Springer and edited by Andrew Adamatzky and Maciej Komosinski. The book you are reading now is dedicated to software, the most popular and widely employed medium in the artificial life research. Software environments offer nearly unlimited opportunities for experiments that are relatively inexpensive, and easily arranged and modified. Such ex- periments can be performed with very precise descriptions of experimental conditions and a high degree of reproducibility. Advances in computational performance and efficiency allow for the collection of large amounts of data at a density and resolution that are unavailable in the wetware biological research environment. This monograph1 provides an introduction and guide to modern software toolsformodelingandsimulatinglife-likephenomena.Researchers,academi- cians,andstudentsusethissoftwaretoverifymodelsandconceptsrelatedto evolutionarydynamics, self-organization,the origins oflife, the development ofmulticellularorganisms,naturalandartificialmorphogenesis,autonomous 1 Thepresentbookisanadvancement ofearlierpublications: A.AdamatzkyandM.Komosinski,editors.ArtificialLifeModelsinSoftware,firstedition. Springer,2005. A.Adamatzky, editor.Kybernetes,32(1/2,specialissueonartificiallifesoftware),2003. v vi Preface andevolutionaryrobotics,evolvablehardware,emergentcollectivebehaviors, swarmintelligence, the evolution of communication, and the evolution of so- cialbehaviors.Theartificiallifesoftwarepackagesdescribedhereareessential componentsinundergraduateandpostgraduatecoursesinartificiallife,com- plex adaptive systems, multi-agent systems, evolutionary biology, collective robotics, and nature-inspired computing. Software systems covered in this book are actively developed and sup- ported by world experts in artificial life and software design. In most cases, theseprogramsarecreatedwithbothprofessionalandamateurusersinmind, andthesimulatorsareemployedinpublishedresearch.Eachchapterdescribes a single, usually free-to-use software platform, but references to other simi- lar software packages and related scientific works are included as well. The origins of software packages, milestones in their development, and the most important or interesting experiments are also reported. Every chapter is self-contained and can be read independently. While the compendiumofchaptersisdividedintofoursections,thepropertiesofthein- dividualsoftwaremodelsoverlapsotherearenodistinctboundariesbetween partsofthebook.Furthermore,whileeachpackagehasitsownspecificprop- erties, the models presented in each chapter are quite general and can be extended relatively easily to develop and utilize additional features depend- ing upon their desired use. The first part of the book – Virtual Environments – presents originalset- tingsforagent-basedsimulation.ThechaptersintroduceAvida:adigitallab- oratory for studying populations of evolving programs;Repast: an advanced agent-basedsimulation toolkitfor studying developmentof naturaland arti- ficialsocialstructures;Sodarace: anonline-basedinterface,learningsupport, and environment for construction and competition between two-dimensional mobilestructures;breve:apackagethatfacilitatesbuildingthree-dimensional simulations of multi-agentsystems; and Framsticks: a platform for modeling 3D creatures that allows for simulation, evolution, and advanced analysis of artificial life-forms and prototypes of bio-inspired robots. Two-andthree-dimensionalgridmodelsaredealtwithinthesecondpart– LatticeWorlds.Thefollowingsoftwareplatformsarediscussedinthissection – StarLogo: an educational programming language for simulation of life-like phenomena,frompopulationdynamicstoemergentbehaviorofcomplexsys- tems;NetLogo:ageneralpurposeagent-basedenvironmentformodelingcom- plex systems, describedhere from a specific biomedicalperspective; Discrete Dynamics Lab: an interactive tool for designing and investigating dynam- ics ofdiscrete dynamicalnetworks,including simulationof cellularautomata anddecisionnetworks,generatingattractionbasins,andautomaticdiscovery of mobile patterns; and EINSTein: a multi-agent simulator of land combat, modeling individual traits of combatants. The third part, Artificial Chemistries, comprises models capable of repre- senting diverse systems of interacting and reacting molecules while abstract- ingnaturalmolecularprocesses.Thispowerfulapproachisusedtostudyphe- Preface vii nomena in a variety of fields, including social and ecological modeling, and evolutionary and chemical computing. Two chapters on artificial chemistries discuss modeling of complex molecules in a mixed reactor and the behavior ofsimple molecules inspatially extendednon-stirredreactors.Bothchapters provide a review of available software tools. The fourth and concluding section – Artificial Life Arts – includes three chaptersfocusingonaesthetic issuesofartificiallife.The firstchapterinthis section shows how to breed images and sounds using SBEAT (for graphics) and SBART (for music) software packages; the computer programs allow the selectionandbreeding ofgenotypesthatrepresentgraphicalandmusical pieces. The next chapter brings out Eden: an interactive artwork including hardwareimplementationofcellularautomataandagents,allowingobservers tointeractwiththeinstallationandtoinfluencethedevelopmentoftheartifi- cialecosystem.The lastchapterofthe book searchesfora phenomenological understanding of what makes artificial life appealing to scientists, artists, and laymen and presents an explanation of why people become attracted to certain forms of creative computer art. The Appendix contains a table that summarizes software packages de- scribed in this book. For each environment, the table includes a short de- scription, information about availability on various platforms and operating systems, software requirements, license type, and the Internet web site ad- dress. The book covers hot topics related to computer science, evolutionary and computational biology, simulation, robotics, cognitive science, cybernetics, artificialintelligence,optimization,multi-agentsocieties,virtualworlds,com- putergraphicsandanimation,neuroscience,andphilosophy.Webelieve that academics, researchers, graduate students, and amateurs interested in these fieldswillfindthismonographavaluableguidetoArtificialLifeandexcellent supplementary reading. Maciej Komosinski May 2009 Andrew Adamatzky Contents Part I Virtual Environments 1 Avida: A Software Platform for Research in Computational Evolutionary Biology ..................... 3 Charles Ofria, David M. Bryson and Claus O. Wilke 1.1 Introduction to Avida.................................. 3 1.1.1 History of Digital Life .......................... 4 1.2 The Scientific Motivation for Avida...................... 7 1.3 The Avida Software ................................... 8 1.3.1 Avida Organisms .............................. 8 1.3.2 The Avida World .............................. 17 1.3.3 Test Environments ............................. 22 1.3.4 Performing Avida Experiments .................. 23 1.3.5 Analyze Mode ................................. 24 1.4 A Summary of Avida Research.......................... 27 1.4.1 The Evolution of Complex Features .............. 27 1.4.2 Survival of the Flattest ......................... 28 1.4.3 Evolution of Digital Ecosystems ................. 30 1.5 Outlook.............................................. 31 References ................................................. 32 2 Foundations of and Recent Advances in Artificial Life Modeling with Repast 3 and Repast Simphony ........... 37 Michael J. North and Charles M. Macal 2.1 Introduction.......................................... 37 2.1.1 Artificial Life.................................. 37 2.1.2 Agent-Based Modeling for Artificial Life .......... 38 2.1.3 Chapter Organization .......................... 40 2.2 REPAST............................................. 40 2.2.1 Repast 3...................................... 41 2.2.2 Repast Simphony .............................. 50 ix x Contents 2.2.3 Using Repast 3 and Repast Simphony ............ 52 2.3 Repast Artificial Life Models ........................... 53 2.4 Conclusions .......................................... 57 References ................................................. 58 3 Sodarace: Continuing Adventures in Artificial Life........ 61 Peter W. McOwan and Edward J. Burton 3.1 The Sodarace Project.................................. 61 3.2 Introduction.......................................... 62 3.2.1 Sodarace: The Story Begins ..................... 62 3.2.2 Previous Work................................. 63 3.3 Sodarace, the Scientific Background ..................... 64 3.3.1 Sodaconstructor:The Physics Engine of Sodarace .. 64 3.3.2 Sodarace: The Racing Environmental Variables .... 65 3.3.3 Taking Sodarace Out and About................. 66 3.4 Software for Artificial Life in Sodarace ................... 67 3.5 LessonsLearnedonApproachesfor Artificial Life in Sodarace 67 3.5.1 Easy-to-Use Point-and-Click Racing .............. 68 3.5.2 Amoebamatic: An Easy Start for the New Engineer 69 3.5.3 AI and the Travelling Kiosk Software............. 69 3.6 Interactions in Sodarace: The Evolution of the Forums ..... 71 3.6.1 Community Development of Peer-to-PeerLearning Web Sites..................................... 72 3.6.2 The Pandora’s Box: An Example of the Spontaneous Development of Scientific Method .... 72 3.6.3 Interdisciplinary Interaction: Art and Music Meet Science and Engineering in Sodarace ............. 73 3.6.4 Sodarace in Schools ............................ 74 3.7 Experiments with Sodarace............................. 74 3.8 Summary: The Future of Sodarace ...................... 76 References ................................................. 77 4 3D Multi-Agent Simulations in the breve Simulation Environment ............................................. 79 Jon Klein and Lee Spector 4.1 Overview............................................. 79 4.1.1 Agent-Based Modeling Paradigms................ 80 4.1.2 ComparisontoOtherAgent-BasedModelingSystems 82 4.2 Motivations .......................................... 84 4.2.1 A PersonalMotivation.......................... 84 4.2.2 Design Principles and Goals..................... 84 4.3 Writing Simulations in breve............................ 86 4.3.1 Object Orientation and the Built-in breve Classes.. 86 4.3.2 The Controller Object .......................... 86 4.3.3 The breve Simulation Loop...................... 87 4.3.4 Defining Callbacks and Agent Behaviors .......... 89 Contents xi 4.3.5 The steve Programming Language ............... 90 4.3.6 The Python Programming Language ............. 91 4.4 Breve Features and Technical Details .................... 91 4.4.1 3D Spatial Simulation .......................... 91 4.4.2 Physical Simulations ........................... 92 4.4.3 Visualization .................................. 93 4.4.4 The Push ProgrammingLanguage ............... 94 4.5 Development History and Future Development ............ 95 4.5.1 Transition to Open Source ...................... 95 4.5.2 Push3 ........................................ 95 4.5.3 Python Integration............................. 96 4.5.4 Future Development............................ 96 4.6 ALife/AI Research with breve .......................... 96 4.6.1 Evolving Swarms .............................. 97 4.6.2 Evolution of Cooperation ....................... 98 4.6.3 Division Blocks ................................ 98 4.6.4 Genetic Programming Research.................. 98 4.7 Educational Applications of breve ....................... 100 4.7.1 Artificial Life and Braitenberg Vehicles ........... 100 4.7.2 Reactive Bouncy Balls for Kids .................. 100 4.7.3 Biology and SuperDuperWalker.................. 101 4.7.4 Artificial Intelligence in 3D Virtual Worlds ........ 102 4.7.5 Algorithmic Art ............................... 103 4.8 Conclusion ........................................... 104 References ................................................. 104 5 Framsticks: Creating and Understanding Complexity of Life....................................................... 107 Maciej Komosinski and Szymon Ulatowski 5.1 Available Software and Tools ........................... 108 5.2 Simulation ........................................... 111 5.2.1 Creature Model................................ 111 5.2.2 The Three Modes of Body Simulation ............ 111 5.2.3 Brain......................................... 114 5.2.4 Receptors and Effectors......................... 116 5.2.5 Communication................................ 116 5.2.6 Environment .................................. 119 5.3 Genetics and Evolution ................................ 120 5.4 Scripting ............................................. 123 5.4.1 Creating Custom Script-Based Neurons........... 124 5.4.2 Experiment Definitions ......................... 125 5.4.3 Illustrative Example (“Standard Experiment” Definition) .................................... 126 5.4.4 Popular Experiment Definitions.................. 127 5.5 Advanced Features for Research and Education ........... 129
Description: