Automatic Machine Code Generation for a Transport Triggered Architecture using Cartesian Genetic Programming

Transport triggered architectures are used for implementing bio-inspired systems due to their simplicity, modularity and fault-tolerance. However, producing efficient, optimised machine code for such architectures is extremely difficult, since computational complexity has moved from the hardware-level to the software-level. Presented is the application of Cartesian Genetic Programming (CGP) to the evolution of machine code for a simple implementation of transport triggered architecture. The effectiveness of the algorithm is demonstrated by evolving machine code for a 4-bit multiplier with three different levels of parallelism. The results show that 100% successful solutions were found by CGP and by further optimising the size of the solutions, it’s possible to find efficient implementations of the 4-bit multiplier. Further analysis of the solutions showed that use of loops within the CGP function set could be beneficial and was demonstrated by repeating the earlier 4-bit multiplier experiment with the addition of a loop function.

[1]  Julian Francis Miller,et al.  Neutrality and the Evolvability of Boolean Function Landscape , 2001, EuroGP.

[2]  Nandish V. Patel Adaptive Evolutionary Information Systems , 2002 .

[3]  Nicoletta Sala,et al.  Reflexing Interfaces: The Complex Coevolution of Information Technology Ecosystems , 2008 .

[4]  Patricia Charlton,et al.  Context-aware Framework for Supporting Personalisation and Adaptation in Creation of Learning Designs , 2012 .

[5]  Julian Francis Miller,et al.  Embedded cartesian genetic programming and the lawnmower and hierarchical-if-and-only-if problems , 2006, GECCO.

[6]  Andrew M. Tyrrell,et al.  Optimising variability tolerant standard cell libraries , 2009, 2009 IEEE Congress on Evolutionary Computation.

[7]  Julian Francis Miller,et al.  Principles in the Evolutionary Design of Digital Circuits—Part II , 2000, Genetic Programming and Evolvable Machines.

[8]  A. Vargha,et al.  A Critique and Improvement of the CL Common Language Effect Size Statistics of McGraw and Wong , 2000 .

[9]  Lukás Sekanina,et al.  An Efficient Selection Strategy for Digital Circuit Evolution , 2010, ICES.

[10]  Gianluca Tempesti,et al.  MOVE Processors That Self-replicate and Differentiate , 2006, BioADIT.

[11]  Tim Haslett Simulating Hamlet: Questions, Cautions, and Critique , 2012, Int. J. Syst. Dyn. Appl..

[12]  Kinshuk,et al.  Intelligent and Adaptive Learning Systems: Technology Enhanced Support for Learners and Teachers , 2011 .

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

[14]  Yvonne Dittrich,et al.  Designing for changing work and business practices , 2003 .

[15]  Ludovic Henrio,et al.  Mixing Workflows and Components to Support Evolving Services , 2010, Int. J. Adapt. Resilient Auton. Syst..

[16]  H. B. Mann,et al.  On a Test of Whether one of Two Random Variables is Stochastically Larger than the Other , 1947 .

[17]  Julian Francis Miller,et al.  Towards the automatic design of more efficient digital circuits , 2000, Proceedings. The Second NASA/DoD Workshop on Evolvable Hardware.

[18]  Jonathan Timmis,et al.  A Self-scaling Instruction Generator Using Cartesian Genetic Programming , 2011, EuroGP.

[19]  Roslina Othman,et al.  Determinants of Knowledge Sharing Behaviour among Academics in United Arab Emirates , 2014, Int. J. Knowl. Syst. Sci..

[20]  Julian Francis Miller,et al.  Cartesian genetic programming , 2000, GECCO '10.

[21]  Mohammed Obaid Mustafa,et al.  International Journal of System Dynamics Applications , 2014 .

[22]  Yang Liu,et al.  Automatic Code Generation on a MOVE Processor Using Cartesian Genetic Programming , 2010, ICES.

[23]  Julian Francis Miller,et al.  The Automatic Acquisition, Evolution and Reuse of Modules in Cartesian Genetic Programming , 2008, IEEE Transactions on Evolutionary Computation.

[24]  Jonathan Timmis,et al.  A Developmental and Immune-Inspired Dynamic Task Allocation Algorithm for Microprocessor Array Systems , 2010, ICARIS.

[25]  Julian Francis Miller,et al.  Redundancy and computational efficiency in Cartesian genetic programming , 2006, IEEE Transactions on Evolutionary Computation.