Imitation Programming

Many nature-inspired mechanisms have been presented for computational design and optimization. This paper introduces a population-based approach inspired by a form of cultural learning - imitation. Imitation is typically defined as learning through the copying of others. In particular, it is used in this paper to design simple circuits using a discrete dynamical system representation - Turing's unorganised machines. Initial results suggest the imitation computation approach presented is competitive with evolutionary computation, i.e., another class of stochastic population-based search, to design circuits from such recurrent NAND gate networks. Synchronous and asynchronous circuits are considered.

[1]  Andres Upegui,et al.  Evolving Hardware with Self-reconfigurable connectivity in Xilinx FPGAs , 2006, First NASA/ESA Conference on Adaptive Hardware and Systems (AHS'06).

[2]  D. M. Hutton,et al.  The Essential Turing , 2007 .

[3]  Craig Boutilier,et al.  Implicit Imitation in Multiagent Reinforcement Learning , 1999, ICML.

[4]  John von Neumann,et al.  Theory Of Self Reproducing Automata , 1967 .

[5]  Larry Bull,et al.  A Memetic Learning Classifier System for Describing Continuous-Valued Problem Spaces , 2005 .

[6]  Charles E. Taylor,et al.  Artificial Life II , 1991 .

[7]  Stefan Schaal,et al.  Robot Learning From Demonstration , 1997, ICML.

[8]  John R. Koza,et al.  Genetic Programming III - Darwinian Invention and Problem Solving , 1999, Evolutionary Computation.

[9]  Aude Billard,et al.  Experiments in Learning by Imitation - Grounding and Use of Communication in Robotic Agents , 1999, Adapt. Behav..

[10]  Rainer Storn,et al.  Differential Evolution – A Simple and Efficient Heuristic for global Optimization over Continuous Spaces , 1997, J. Glob. Optim..

[11]  A. E. Eiben,et al.  Social learning in Population-based Adaptive Systems , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[12]  John R. Koza Genetic programming : proceedings of the first annual conference, 1996 , 1996 .

[13]  Peter J. Angeline,et al.  Evolutionary Optimization Versus Particle Swarm Optimization: Philosophy and Performance Differences , 1998, Evolutionary Programming.

[14]  Zbigniew Michalewicz,et al.  Evolutionary Computation 1 , 2018 .

[15]  Michael F. Shlesinger,et al.  Dynamic patterns in complex systems , 1988 .

[16]  Larry Bull,et al.  Discrete dynamical genetic programming in XCS , 2009, GECCO.

[17]  Marco Tomassini,et al.  Evolving asynchronous and scalable cellular automata , 1998 .

[18]  James Kennedy,et al.  Particle swarm optimization , 2002, Proceedings of ICNN'95 - International Conference on Neural Networks.

[19]  O. Bhabha The Essential Turing , 2011 .

[20]  Scott Brave,et al.  Evolving deterministic finite automata using cellular encoding , 1996 .

[21]  Lee Spector,et al.  Evolving Graphs and Networks with Edge Encoding: Preliminary Report , 1996 .

[22]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[23]  Jia Di,et al.  Cellular Array-based Delay-insensitive Asynchronous Circuits Design and Test for Nanocomputing Systems , 2007, J. Electron. Test..

[24]  Moshe Sipper,et al.  Evolution of Parallel Cellular Machines , 1997, Lecture Notes in Computer Science.

[25]  James P. Crutchfield,et al.  Revisiting the Edge of Chaos: Evolving Cellular Automata to Perform Computations , 1993, Complex Syst..

[26]  L. Darrell Whitley,et al.  Adding Learning to the Cellular Development of Neural Networks: Evolution and the Baldwin Effect , 1993, Evolutionary Computation.

[27]  William E. Hart,et al.  Recent Advances in Memetic Algorithms , 2008 .

[28]  Vidroha Debroy,et al.  Genetic Programming , 1998, Lecture Notes in Computer Science.

[29]  Marco Tomassini,et al.  Towards Evolvable Hardware , 1996, Lecture Notes in Computer Science.

[30]  Brian Hazlehurst,et al.  Learning in the Cultural Process , 2000 .

[31]  R. Reynolds AN INTRODUCTION TO CULTURAL ALGORITHMS , 2008 .

[32]  John R. Koza,et al.  Genetic Programming II , 1992 .

[33]  Carlos Gershenson,et al.  Classification of Random Boolean Networks , 2002, ArXiv.

[34]  W S McCulloch,et al.  A logical calculus of the ideas immanent in nervous activity , 1990, The Philosophy of Artificial Intelligence.

[35]  Inman Harvey,et al.  Unconstrained Evolution and Hard Consequences , 1995, Towards Evolvable Hardware.

[36]  Astro Teller,et al.  Neural Programming and an Internal Reinforcement Policy , 1996 .

[37]  A. E. Eiben,et al.  Evolutionary Programming VII , 1998, Lecture Notes in Computer Science.

[38]  Stuart A. Kauffman,et al.  ORIGINS OF ORDER , 2019, Origins of Order.

[39]  Moshe Sipper,et al.  Evolution of Parallel Cellular Machines: The Cellular Programming Approach , 1997 .

[40]  Peter J. Angeline,et al.  An evolutionary algorithm that constructs recurrent neural networks , 1994, IEEE Trans. Neural Networks.

[41]  John R. Koza,et al.  Genetic programming (videotape): the movie , 1992 .

[42]  Riccardo Poli,et al.  Parallel Distributed Genetic Programming , 1996 .

[43]  Marco Dorigo,et al.  New Ideas in Optimisation , 1999 .

[44]  P. Cluzel,et al.  A natural class of robust networks , 2003, Proceedings of the National Academy of Sciences of the United States of America.

[45]  R. Lewontin ‘The Selfish Gene’ , 1977, Nature.

[46]  Christof Teuscher,et al.  Turing's Connectionism , 2001 .

[47]  Venkatesh Akella,et al.  Asynchronous Processor Survey , 1997, Computer.

[48]  J. Miller An empirical study of the efficiency of learning boolean functions using a Cartesian Genetic Programming approach , 1999 .