Hierarchical Code Generators

Hierarchically organised recursive virtual machines can be used as a novel dynamic hierarchies modelling technique. Such a technique is based on the traditional notion of computing machines. The discussed technique allows a detailed analysis of different aspects of hierarchical complex system decomposition, together with the analysis of interactions between and within different hierarchical levels. This may help to understand a modelled problem or phenomenon better. Comparisons with other methods from the field of hierarchical evolutionary computation are provided and simple examples (using Boolean algebra) are presented. An approach to code generation called software growing is proposed.

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

[2]  Riccardo Poli,et al.  Solving High-Order Boolean Parity Problems with Smooth Uniform Crossover, Sub-Machine Code GP and Demes , 2000, Genetic Programming and Evolvable Machines.

[3]  Peter Ross,et al.  Tackling the Boolean Even N Parity Problem with Genetic Programming and Limited-Error Fitness , 1997 .

[4]  Riccardo Poli,et al.  Boolean Functions Fitness Spaces , 1999, EuroGP.

[5]  Lee Spector,et al.  Genetic Programming and Autoconstructive Evolution with the Push Programming Language , 2002, Genetic Programming and Evolvable Machines.

[6]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[7]  Corso Elvezia A General Method for Incremental Self-improvement and Multi-agent Learning in Unrestricted Environments , 1996 .

[8]  Michael O'Neill,et al.  Grammatical Evolution: Evolving Programs for an Arbitrary Language , 1998, EuroGP.

[9]  Johan Håstad,et al.  Almost optimal lower bounds for small depth circuits , 1986, STOC '86.

[10]  Ming Li,et al.  An Introduction to Kolmogorov Complexity and Its Applications , 2019, Texts in Computer Science.

[11]  Ronald Olson,et al.  Self-improvement For The ADATE Automatic Programming System , 2002, GECCO.

[12]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[13]  Gary William Flake,et al.  The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems and Adaptation , 1998 .

[14]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[15]  John R. Koza,et al.  Gene Duplication to Enable Genetic Programming to Concurrently Evolve Both the Architecture and Work-Performing Steps of a Computer Program , 1995, IJCAI.

[16]  Neil D. Jones,et al.  Computability and complexity - from a programming perspective , 1997, Foundations of computing series.

[17]  Michael Sipser,et al.  Parity, circuits, and the polynomial-time hierarchy , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[18]  Justinian Rosca,et al.  Hierarchical learning with procedural abstraction mechanisms , 1997 .

[19]  Kwong-Sak Leung,et al.  Evolving recursive functions for the even-parity problem using genetic programming , 1996 .

[20]  Lee Spector,et al.  Hierarchy helps it work that way , 2002 .

[21]  Riccardo Poli,et al.  Why “Building Blocks” Don’t Work on Parity Problems , 1998 .