Evolving Gene Expression to Reconfigure Analogue Devices
Total Page:16
File Type:pdf, Size:1020Kb
EVOLVING GENE EXPRESSION TO RECONFIGURE ANALOGUE DEVICES Kester Dean Clegg Thesis submitted in partial fulfilment of the requirements for the degree of Doctor of Philosophy. Department of Computer Science May, 2008 Abstract Repeated, morphological functionality, from limbs to leaves, is widespread in nature. Pattern formation in early embryo development has shed light on how and why the same genes are expressed in different locations or at different times. Practitioners working in evolutionary computation have long regarded nature’s reuse of modular functionality with admiration. But repeating na- ture’s trick has proven difficult. To date, no one has managed to evolve the design for a car, a house or a plane. Or indeed anything where the number of interdependent parts exposed to random mutation is large. It seems that while we can use evolutionary algorithms for search-based optimisation with great success, we cannot use them to tackle large, complex designs where functional reuse is essential. This thesis argues that the modular functionality provided by gene reuse could play an important part in evolutionary computation being able to scale, and that by expressing subsets of genes in specific contexts, successive stages of phenotype configuration can be controlled by evolutionary search. We present a conceptual model of context-specific gene expression and show how a ge- nome representation can hold many genes, only a few of which need be ex- pressed in a solution. As genes are expressed in different contexts, their func- tional role in a solution changes. By allowing gene expression to discover phe- notype solutions, evolutionary search can guide itself across multiple search domains. The work here describes the design and implementation of a prototype sys- tem to demonstrates the above features and evolve genomes that are able to use gene expression to find and deploy solutions, permitting mechanisms of dynamic control to be discovered by evolutionary computation. i Acknowledgements I gratefully acknowledge financial support from the EPSRC and Microsoft Research (UK). Additional equipment and software costs were met by pump- prime funding from the University of York for the York Centre for Complex Systems Analysis. Without these two sources of funding, this work would not have been possible. A PhD is a long, and at times lonely, task. While every PhD student gives thanks for the many hours of supervision they receive, I feel exceptionally for- tunate to have had Susan Stepney’s inexhaustible energy and good humour driving me on. I cannot think of anyone else with whom I could have done a PhD, and maintained such a harmonious and productive relationship. It was a thoroughly enjoyable experience, and long may the cooperation continue! Along the way, many people contributed ideas and suggestions. Particular thanks must go to Julian Miller, with whom I often discussed core elements of my work and whose belief in an academic way of life is one I admire. Others who helped with the disentangling of ideas include Tim Clarke, Dave Lovell (of Anadigm), James Walker, Simon Harding, Dave Chesmore, Cristina Costa Santini and Simon Poulding. My thanks to Tim Crosby for sanity checking some chapters, to John Clarke and George Tsoulas for their interest in my work and to Fiona Polack for her close reading of the text. Further afield, I would like to express my thanks to Pauline Haddow for or- ganising the Workshop on Development near Trondheim in 2008, which helped me write part of the conclusion to this work. I would also like to thank Michael Hubner¨ for inviting me to Karlsruhe in 2008 to disseminate the results of our experiments, and Una-May O’Reilly of MIT for a helpful discussion on the ca- pabilities of the Anadigm FPAA at GECCO 2007. Away from the whiteboards, I must say an enormous, heartfelt thank you to my friends and family, whose support has been crucial to Cecile´ and myself in what have been some difficult years. Many of you helped more than you may realise, and more than we were able to let you know at the time. The final word must of course, go to Cecile,´ whose unstinting support as my number one fan makes me thank my lucky stars each night that our paths crossed all those years ago. ii Author’s Declaration This thesis is the work of Kester Dean Clegg and was carried out at the Uni- versity of York. Work appearing here has appeared in print (in collaboration with other authors) as follows: • Clegg, K., Stepney, S., Clarke, T.: Using feedback to regulate gene expres- sion in a developmental control architecture. In Lipson, H., ed.: GECCO, ACM (2007), pg. 966–973, 19. • Clegg, K., Stepney, S., Clarke, T.: Evolutionary search applied to recon- figurable analogue control. In: Field-Programmable Logic and Applica- tions: FPL07, Amsterdam, IEEE Press (2007) • Clegg, K., Stepney, S.: Analogue circuit control through gene expression. In press, accepted for EvoHOT 2008 (part of EuroGP 2008). Chapter2 was issued in its entirety as Department of Computer Science Tech- nical Report YCS-2008-425, An Introduction to Evolution for Computer Scientists (Jan, 2008).1 The conceptual architecture described in Chapters3 and4 was first pre- sented at the 4th European Conference on Intelligent Systems and Technolo- gies (ECIT, Romania, 2006) and the results in Chapter6 were first presented at a seminar for the Department of Electrical Engineering and Information Tech- nology, University of Karlsruhe, Germany (Feb, 2008). 1 http://www.cs.york.ac.uk/ftpdir/reports/YCS-2008-425.pdf. iii Contents 1 Outline of work presented5 1.1 Research hypothesis and interpretation..............5 1.2 Overview of Thesis Structure....................6 2 An Introduction to Evolution9 2.1 Background..............................9 2.2 The Inspiration of Nature...................... 12 2.3 Darwin’s Theory of Natural Selection............... 14 2.3.1 The three generalisations.................. 16 2.3.2 Neo-Darwinism........................ 17 2.3.3 The role of complexity in evolution............ 20 2.4 Aspects of Development....................... 22 2.4.1 Cells.............................. 23 2.4.2 Proteins............................ 25 2.4.3 Genes code for proteins................... 26 2.5 Evolutionary Developmental Biology............... 29 2.5.1 The development of complexity.............. 30 2.5.2 Evolutionary development................. 33 2.5.3 Gene expression and reuse................. 35 2.5.4 Binding signatures...................... 36 2.6 Models of Evolution and Complexity................ 37 2.6.1 Fitness landscapes...................... 38 2.6.2 The NK model........................ 41 2.6.3 Coevolution.......................... 44 2.6.4 Deforming landscapes of development.......... 46 2.7 Concluding Remarks on Biological Evolution........... 47 2.8 Evolutionary Computation..................... 48 2.8.1 A brief history of evolutionary computation....... 49 2.8.2 The canonical genetic algorithm.............. 54 2.9 Weaknesses in EC Models...................... 59 2.9.1 Obsessed by optimisation.................. 59 2.9.2 The black art of decomposition............... 60 2.9.3 Towards richer invention.................. 63 2.9.4 The gap between genotype and phenotype........ 65 2.9.5 Models of development................... 67 2.10 Summary................................ 71 2.10.1 Key points from Literature Review and Background... 73 1 2 CONTENTS 3 Hypothesis and Experiment Aims 75 3.1 Conceptual Requirements...................... 75 3.2 Experiment Requirements...................... 77 3.3 Research Hypothesis......................... 77 4 System Architecture 79 4.1 Selecting a complex design domain................. 79 4.1.1 Reconfigurable Analogue Hardware............ 81 4.1.2 An overview of FPAA technology............. 83 4.2 Recap of evolutionary developmental biology.......... 86 4.3 Summary of system architecture.................. 90 5 Implementation 91 5.1 Overview................................ 91 5.2 Encoding the genome......................... 93 5.2.1 Requirements......................... 93 5.2.2 CAM IDs and parameters.................. 94 5.2.3 Connecting CAMs together................. 96 5.2.4 Encoding circuit connections in the genome....... 97 5.2.5 Binding Sites......................... 98 5.3 Expressing a subset of genes..................... 100 5.4 Evolving the genome......................... 101 5.5 Search Domain feedback and response............... 102 5.5.1 An overview of wavelets.................. 103 5.5.2 The binding process..................... 106 5.6 Implementation Issues........................ 107 5.6.1 The Anadigm API...................... 108 5.6.2 Matlab scripts and processes................ 110 5.7 Summary................................ 111 6 Experiments 113 6.1 Overview................................ 113 6.1.1 Aims.............................. 113 6.1.2 Summary........................... 115 6.2 Tasks.................................. 116 6.2.1 Task requirements...................... 116 6.2.2 Task description........................ 117 6.3 Preliminary Experiments....................... 118 6.3.1 Noise.............................. 119 6.3.2 Hysteresis........................... 121 6.3.3 Tackling noise and hysteresis................ 122 6.3.4 Search space coverage.................... 124 6.4 The Evolutionary Harness...................... 130 6.5 Evolutionary parameters....................... 131 6.6 Main experiment........................... 132 6.7 Main results.............................. 133 6.8 Further investigations.......................