To Download the PDF File
Total Page:16
File Type:pdf, Size:1020Kb
EXAPTATION AND FUNCTIONAL SHIFT IN EVOLUTIONARY COMPUTING By Lee Graham, B.C.S., M.C.S. A thesis submitted to The Faculty of Graduate Studies and Research In partial fulfillment of the requirements for the degree of Doctor of Philosophy Ottawa-Carleton Institute for Computer Science School of Computer Science Carleton University Ottawa, Ontario December 2008 © Copyright 2008, Lee Graham Library and Bibliotheque et 1*1 Archives Canada Archives Canada Published Heritage Direction du Branch Patrimoine de I'edition 395 Wellington Street 395, rue Wellington Ottawa ON K1A0N4 Ottawa ON K1A0N4 Canada Canada Your file Votre reference ISBN: 978-0-494-47465-5 Our file Notre reference ISBN: 978-0-494-47465-5 NOTICE: AVIS: The author has granted a non L'auteur a accorde une licence non exclusive exclusive license allowing Library permettant a la Bibliotheque et Archives and Archives Canada to reproduce, Canada de reproduire, publier, archiver, publish, archive, preserve, conserve, sauvegarder, conserver, transmettre au public communicate to the public by par telecommunication ou par Plntemet, prefer, telecommunication or on the Internet, distribuer et vendre des theses partout dans loan, distribute and sell theses le monde, a des fins commerciales ou autres, worldwide, for commercial or non sur support microforme, papier, electronique commercial purposes, in microform, et/ou autres formats. paper, electronic and/or any other formats. The author retains copyright L'auteur conserve la propriete du droit d'auteur ownership and moral rights in et des droits moraux qui protege cette these. this thesis. Neither the thesis Ni la these ni des extraits substantiels de nor substantial extracts from it celle-ci ne doivent etre imprimes ou autrement may be printed or otherwise reproduits sans son autorisation. reproduced without the author's permission. In compliance with the Canadian Conformement a la loi canadienne Privacy Act some supporting sur la protection de la vie privee, forms may have been removed quelques formulaires secondaires from this thesis. ont ete enleves de cette these. While these forms may be included Bien que ces formulaires in the document page count, aient inclus dans la pagination, their removal does not represent il n'y aura aucun contenu manquant. any loss of content from the thesis. Canada Abstract The field of evolutionary computing includes a variety of simulation algorithms and problem-solving techniques, such as genetic algorithms and genetic programming, that use abstract versions of principles and mechanisms from biological evolution. There still remain many ideas, principles, and mechanisms from evolution, including molecular evolution and evolutionary developmental biology, that await adoption or further exploration in evolutionary computing. Many principles and mechanisms are already widely adopted and developed, such as mutation, recombination, selection, adaptation, and co-evolution, but plenty more that are known to contribute to the power of evolution in nature have barely begun to be explored, developed, and harnessed. One such mechanism is that of exaptation. Exaptations occur when a trait is co-opted to a serve a new role that it previously had not. Exaptation in nature is a valuable source of variation and innovation that augments the variation and innovation generated by mutation at the genetic level. When exaptations occur, complete 'fully- evolved' structures, behaviors, and entities are made available to serve or enhance a new function without having to be built up from scratch. Side-effects of old traits can be amplified by selection, enriching the repertoire of abilities for an evolutionary lineage of organisms. ii As processing power continues to increase, evolutionary computing systems will be able to take steps that bring them closer to the levels of complexity and power found in biological evolution. Better study and development, and more widespread adoption of the mechanisms that drive natural evolution will need to take place to help realize the full potential of evolutionary computing in the coming years. This work examines the current use of exaptation in evolutionary computing, proposes a framework of categorization for different types of exaptation and functional shift mechanisms, and develops a number of example exaptive systems to test and demonstrate the utility of exaptation in a computational context. iii Acknowledgments I would like to thank my supervisor, Franz Oppacher, for his pointers, guidance, suggestions, and support during the time in which this research and writing took place. The ample freedom he provided me, allowing me to tackle those issues and subjects that most interested me, is much appreciated. Many thanks are also due to my thesis examination committee: Stan Matwin, Mark Lanthier, George Carmody, and Dan Ashlock. Their patience in reading and constructively criticizing this document, each from a different perspective and base of expertise and experience, was most helpful. Many suggestions and encouragement for this research came from meetings of the Artificial Life and Evolutionary Computing (ALEC) group at Carleton University. The mixture of a relaxed informal atmosphere with engaging and thought-provoking presentations and discussions was always a pleasure. Many of the ideas and experiments in this work were shaped both directly and indirectly by discussion with others at ALEC, especially Rob Cattral, Steffen Christensen, Yandu Oppacher, and Hassan Masum. Finally, the administrative and technical staff in the School of Computer Science at Carleton University were always very helpful in terms of support and information. The efforts of Claire Ryan, Linda Pfeiffer, Sandy Herbert, Sharmila Namasivayampillai, Andrew Miles, and Gerardo Reynaga are much appreciated. iv Table of Contents CHAPTER 1 INTRODUCTION AND OUTLINE 15 1.1 EVOLUTIONARY COMPUTING 15 1.2 EXAPTATION AND FUNCTIONAL SHIFT 16 1.3 OBJECTIVES 17 1.3.1 Primary Goals 17 1.3.2 Contributions 18 1.3.3 Summary of Contributions 21 1.4 THESIS OUTLINE 22 CHAPTER 2 INTRODUCTION TO EVOLUTIONARY COMPUTING 25 2.1 GENETIC ALGORITHMS 29 2.1.1 Representation 29 2.1.2 Selection 30 2.1.3 Crossover 30 2.1.4 Mutation 32 2.2 GENETIC PROGRAMMING 32 2.2.1 Representation 32 2.2.2 Selection 34 2.2.3 Crossover 34 2.2.4 Mutation 34 2.2.5 Exaptive Approaches 35 CHAPTER 3 EXAPTATION IN BIOLOGICAL EVOLUTION 36 3.1 ORIGINS OF THE TERM 36 3.2 HISTORY OF THE IDEA 39 3.3 THE IMPORTANCE OF EXAPTATION IN BIOLOGY 43 3.4 DEFINITIONS 46 3.5 EXAMPLES OF EXAPTATION IN BIOLOGY 48 CHAPTER 4 EXAPTATION IN EVOLUTIONARY COMPUTING 50 4.1 EXAPTATION SYSTEMS WITH IMPLICIT FITNESS 50 4.1.1 Spandrels in an ALife 2D Cellular Automaton 50 4.1.2 Preadaptation of Neural Networks in a Changing Environment 51 4.2 EXAPTATION IN SYSTEMS WITH EXPLICIT FITNESS 51 4.2.1 Incremental Approaches in the Evolution of Neural Network Robot Control Systems 51 4.2.2 Symbiotic Composition for Crossing Fitness Saddles 54 4.2.3 Exaptation in Dynamic Landscapes 56 4.2.4 Gradual Functional Change for Evolving Differentiation in Gene Regulatory Networks 59 CHAPTER 5 THE CARRYOVER TO EVOLUTIONARY COMPUTING 61 5.1 USE OF THE TERM "PREADAPTATION" IN EC 63 5.2 CONFUSION OF CURRENT UTILITY WITH HISTORICAL ORIGIN 64 5.3 TYPES OF EXAPTATION AND FUNCTIONAL SHIFT IN EC 65 5.3.1 Deliberate vs. Emergent Exaptation 65 5.3.2 Strong vs. Weak Exaptations 66 5.3.3 Cumulative vs. Replacement Exaptations 67 5.3.4 Composition as a Form of Weak Exaptation 68 5.4 SHARED GENOTYPE-PHENOTYPE MAPPING IN EXAPTIVE SYSTEMS 69 CHAPTER 6 EXAPTATION EXPERIMENTS WITH A SIMPLE GENETIC ALGORITHM 71 6.1 GENERAL DESCRIPTION 71 v 6.1.1 GA Parameters 75 6.1.2 Representation 76 6.1.3 Crossover Operator 77 6.1.4 Mutation Operators 78 6.1.5 The BG Niche Fitness Function 79 6.1.5.1 The Effect of Each Box Type on the Game Ball 80 6.1.5.2 Population Initialization 81 6.2 THE SINGLE NICHE EXAPTIVEGA 83 6.2.1 Interlocking, or "Irreducible", Complexity 83 6.2.2 The Functional Change Mechanism 84 6.2.3 The Complexity Check 85 6.2.4 Results 86 6.2.5 Conclusions 89 6.3 THE Two NICHE EXAPTIVEGA 92 6.3.1 Speciation Facilitated by Exaptation 92 6.3.2 The BG Niche Fitness Function 95 6.3.3 The LEA Niche Fitness Function 95 6.3.4 Migration 97 6.3.5 Results 99 6.3.6 Visualizing Exaptation and Secondary Adaptation in Fitness Space 104 6.3.7 Conclusions 107 6.4 THE FOUR NICHE EXAPTIVEGA 109 6.4.1 The BG Niche Fitness Function 770 6.4.2 The PLCR Niche Fitness Function 770 6.4.3 The Sieve Niche Fitness Function 772 6.4.4 The CRD Niche Fitness Function 775 6.4.5 Migration 114 6.4.6 Results 116 6.4.6.1 Appearance of Viable Individuals 117 6.4.6.2 Potential vs. Actual Migration Routes 118 6.4.6.3 Exaptation Events: Sequence and Rates 118 6.4.7 Conclusions 121 6.5 THE COMBINATION-FITNESS EXAPTIVEGA 122 6.5.7 The Fitness Function before Exaptation 122 6.5.2 The Fitness Function after Exaptation 123 6.5.3 GA Parameters 124 6.5.4 Fitness Trajectories 124 6.5.4.1 LEA Fitness Trajectories 125 6.5.4.2 LEA Fitness Improvement vs. Generation 128 6.5.4.3 Success Rates 130 6.5.4.4 Trajectories in 2D Fitness Space 132 6.5.5 The Role of Plateau- and Valley-Crossing. 133 6.5.5.1 Results 135 6.5.6 Conclusions 139 CHAPTER 7 EXAPTATION EXPERIMENTS WITH A 2D GP NAVIGATOR 141 7.1 VERSION 1 141 7.7.7 Description 141 7.1.1.1 The Environment 141 7.1.1.2 The Learning Tasks 143 7.1.1.3 The Navigator 149 7.1.1.4 Early Termination of Evaluations 152 7.1.2 Results 752 7.2 VERSION Two 156 7.2.7 Description 756 7.2.1.1 The Environment 157 7.2.1.2 The Learning Tasks