
Evolving Graphs by Graph Programming Timothy Atkinson PhD Computer Science University of York March 2020 Abstract Graphs are a ubiquitous data structure in computer science and can be used to represent solutions to difficult problems in many distinct domains. This motivates the use of Evolu- tionary Algorithms to search over graphs and efficiently find approximate solutions. However, existing techniques often represent and manipulate graphs in an ad-hoc manner. In contrast, rule-based graph programming offers a formal mechanism for describing relations over graphs. This thesis proposes the use of rule-based graph programming for representing and im- plementing genetic operators over graphs. We present the Evolutionary Algorithm Evolving Graphs by Graph Programming and a number of its extensions which are capable of learning stateful and stateless digital circuits, symbolic expressions and Artificial Neural Networks. We demonstrate that rule-based graph programming may be used to implement new and ef- fective constraint-respecting mutation operators and show that these operators may strictly generalise others found in the literature. Through our proposal of Semantic Neutral Drift, we accelerate the search process by building plateaus into the fitness landscape using domain knowledge of equivalence. We also present Horizontal Gene Transfer, a mechanism whereby graphs may be passively recombined without disrupting their fitness. Through rigorous evaluation and analysis of over 20,000 independent executions of Evolu- tionary Algorithms, we establish numerous benefits of our approach. We find that on many problems, Evolving Graphs by Graph Programming and its variants may significantly out- perform other approaches from the literature. Additionally, our empirical results provide further evidence that neutral drift aids the efficiency of evolutionary search. 3 Contents Abstract 3 List of Figures 13 List of Tables 16 List of Acronyms 17 Acknowledgements 19 Declaration 21 1 Introduction 23 1.1 Motivation..................................... 23 1.2 Thesis Aims.................................... 25 1.3 Thesis Contributions................................ 25 1.4 Thesis Outline................................... 27 2 Context 31 2.1 Introduction.................................... 32 2.2 Graph Programming................................ 34 2.2.1 Graphs and Graph Transformation................... 34 2.2.2 Double-Pushout Approach........................ 36 2.2.3 GP 2.................................... 42 2.2.4 Probabilistic Approaches to Graph Transformation.......... 49 2.3 Evolutionary Computation............................ 50 2.3.1 Genetic Algorithms............................ 53 2.3.2 Evolution Strategies............................ 54 2.3.3 Genetic Programming........................... 55 2.3.4 Neuroevolution.............................. 58 5 Contents 2.4 Graphs in Evolutionary Computation...................... 61 2.4.1 Cartesian Genetic Programming..................... 62 2.4.2 Parallel Distributed Genetic Programming................ 64 2.4.3 Neuroevolution of Augmenting Topologies................ 67 2.4.4 Other Graph-Based Evolutionary Algorithms.............. 69 2.5 Conclusions and Directions for Research..................... 73 3 Probabilistic Graph Programming 75 3.1 Introduction..................................... 76 3.2 Probabilistic Graph Programming........................ 78 3.2.1 Syntax and Semantics........................... 78 3.2.2 Existence of a Markov Chain....................... 81 3.2.3 Implementation of P-GP 2........................ 83 3.3 Example Probabilistic Graph Programs..................... 85 3.3.1 Probabilistic Vertex Colouring...................... 85 3.3.2 Karger's Minimum Cut Algorithm.................... 88 3.3.3 G(n; p) model for Random Graphs.................... 90 3.3.4 D(n; M) model for Directed Random Graphs.............. 92 3.4 Related Work................................... 93 3.5 Conclusions and Future Work.......................... 95 4 Function Graphs 97 4.1 Introduction..................................... 98 4.2 Intuition and Example Function Graphs..................... 99 4.2.1 1-Bit Adder: Multiple Outputs and Intronic Material......... 101 4.2.2 Newton's Law of Gravitation: Ordered Edges............. 102 4.2.3 Fibonacci Sequence: Recurrent Edges and Stateful Programs..... 103 4.2.4 A Simple Neural Network: Weighted Edges and Biased Nodes.... 105 4.3 Semantics of Function Graphs........................... 107 4.3.1 Definition of Function Graphs...................... 107 4.3.2 Behaviour of Function Graphs...................... 111 4.4 Conclusions and Future Work.......................... 112 5 Evolving Graphs by Graph Programming 117 5.1 Introduction..................................... 118 5.2 Initialisation.................................... 119 6 Contents 5.3 Mutation...................................... 124 5.3.1 Edge Mutation............................... 125 5.3.2 Node Mutation............................... 129 5.3.3 Binomial Mutation............................ 132 5.4 1 + λ Evolutionary Algorithm........................... 134 5.5 Example: Learning an XOR Gate......................... 136 5.6 Related Work................................... 137 5.6.1 Cartesian Genetic Programming..................... 137 5.6.2 Comparison with Cartesian Genetic Programming........... 138 5.7 Conclusions and Future Work.......................... 140 6 Benchmarking EGGP 143 6.1 Introduction..................................... 144 6.2 Statistical Comparison throughout this Thesis................. 145 6.3 Digital Circuit Experiments........................... 145 6.4 Digital Circuit Results.............................. 148 6.5 Digital Circuit Discussion............................. 151 6.6 Symbolic Regression Experiments........................ 153 6.7 Symbolic Regression Results........................... 156 6.8 General Discussion................................. 159 6.9 Conclusions and Future Work.......................... 160 7 Evolving Recurrent Graphs by Graph Programming 163 7.1 Introduction..................................... 164 7.2 Initialisation.................................... 166 7.3 Mutation...................................... 169 7.3.1 Non-Recurrent Edge Mutation...................... 172 7.3.2 Recurrent Edge Mutation......................... 175 7.4 Comparison with Recurrent Cartesian Genetic Programming......... 176 7.5 Digital Counter Experiments........................... 177 7.6 Digital Counter Results.............................. 179 7.7 Mathematical Sequence Experiments...................... 181 7.8 Mathematical Sequence Results......................... 182 7.9 Generalising n-bit Parity Check Experiments.................. 183 7.10 Generalising n-bit Parity Check Results..................... 184 7 Contents 7.11 Conclusions and Future Work.......................... 185 8 Evolving Graphs with Semantic Neutral Drift 187 8.1 Introduction.................................... 188 8.2 Neutrality in Genetic Programming........................ 190 8.3 Semantic Neutral Drift............................... 192 8.3.1 The Concept................................ 192 8.3.2 Designing Semantic Neutral Drift..................... 194 8.3.3 Variations on our approach........................ 197 8.4 Digital Circuit Experiments........................... 199 8.5 Digital Circuit Results.............................. 201 8.6 Analysis...................................... 203 8.6.1 Neutral Drift or Neutral Growth?..................... 203 8.6.2 DMN and ID in Combination....................... 205 8.6.3 fAND, OR, NOTg: A Harder Function Set?................. 206 8.7 Conclusions and Future Work.......................... 208 9 Evolving Graphs with Horizontal Gene Transfer 211 9.1 Introduction..................................... 212 9.2 Depth Control................................... 215 9.3 Horizontal Gene Transfer in Evolving Graphs by Graph Programming.... 216 9.3.1 Active-Neutral Transfer.......................... 216 9.3.2 The µ × λ Evolutionary Algorithm................... 218 9.4 Symbolic Regression Experiments........................ 219 9.4.1 Experimental Settings........................... 220 9.4.2 Implementation............................... 221 9.5 Symbolic Regression Results........................... 221 9.5.1 Building EGGPHGT : H1;H2, H3, H4 ................... 221 9.5.2 EGGPHGT vs. TGP & CGP: H4, H6 .................. 224 9.6 Neuroevolution Experiments........................... 225 9.6.1 Pole Balancing Benchmarks....................... 225 9.6.2 Representation and Genetic Operators................. 228 9.6.3 Experimental Settings........................... 229 9.7 Neuroevolution Results.............................. 230 9.8 Conclusions and Future Work.......................... 233 8 Contents 10 Conclusions and Future Work 237 10.1 Overall Conclusions................................ 237 10.2 Future Work.................................... 244 10.2.1 New Domains............................... 244 10.2.2 Evolving Hierarchical Graphs...................... 248 10.2.3 Meta-Learning of Landscapes...................... 249 References 251 9 List of Figures 2.1 A simple graph.................................... 34 2.2 A simple double-pushout rule............................ 37 2.3 The commutative diagram formed by the application of a double-pushout rule. 38 2.4 Application of a simple double-pushout rule to a graph............. 39 2.5 An attempted rule application that fails the dangling condition........
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages276 Page
-
File Size-