• Corpus ID: 210473642

Fast Generation of Big Random Binary Trees

  title={Fast Generation of Big Random Binary Trees},
  author={William B. Langdon},
  • W. Langdon
  • Published 13 January 2020
  • Computer Science
  • ArXiv
random_tree() is a linear time and space C++ implementation able to create trees of up to a billion nodes for genetic programming and genetic improvement experiments. A 3.60GHz CPU can generate more than 18 million random nodes for GP program trees per second. 

Figures from this paper

Measuring failed disruption propagation in genetic programming

Information theory explains the robustness of deep GP trees, with on average up to 83.3% of crossover run time disruptions failing to propagate to the root node, and so having no impact on fitness,

Genetic Programming Convergence [Hot of the Press]

Both genotypic and phenotypic convergence in GP float-ing point continuous domain symbolic regression over thousands of generations are studied and near zero crossover disruption suggests improved GP systems.

Deep Genetic Programming Trees Are Robust

  • W. Langdon
  • Computer Science
    ACM Transactions on Evolutionary Learning and Optimization
  • 2022
The genetic programming tree search space is sample and it is smooth, since many mutations on many test cases have little or no fitness impact, and deeply nested expressions are robust to crossover syntax changes, bugs, errors, run time glitches, perturbations, and so on.

Evolving open complexity

It is suggested that to evolve very large, very complex programs, it will be necessary to adopt an open architecture where most mutation sites are within 10--100 levels of the organism's environment.

Genetic programming convergence

  • W. Langdon
  • Computer Science
    Genet. Program. Evolvable Mach.
  • 2022
Despite large regions of zero variation, fitness continues to evolve and near zero crossover disruption suggests improved GP systems within existing memory use.

Dissipative polynomials

Limited precision floating point computer implementations of large polynomial arithmetic expressions are nonlinear and dissipative, so even with a large number of test cases, both large and small changes deep within software typically have no effect and are invisible externally.

Incremental Evaluation in Genetic Programming

Sometimes GP evolves side effect free trees, which gives rise to functional resilience to source code changes, and GP convergence is viewed via information theory as evolving a smooth landscape and software plasticity.



Continuous Long-Term Evolution of Genetic Programming

This work evolves floating point Sextic polynomial populations of genetic programming binary trees for up to a million generations and uses both SIMD parallel AVX 512 bit instructions and 48 threads to yield performance of up to 149 billion GP operations per second.

Parallel GPQUICK

We modified GPQuick to use SIMD parallel floating point AVX 512 bit instructions and 48 threads to give up to 139 billion GP operations per second, 139 giga GPops, on a single Intel Xeon Gold 6126

Faster Genetic Programming GPquick via multicore and Advanced Vector Extensions

To support unbounded Long-Term Evolution Experiment LTEE GP, both SIMD parallel AVX 512 bit instructions and 48 threads are used to yield performance of up to 139 billion GP operations per second, 139 giga GPops, on a single Intel Xeon Gold 6126 2.60GHz server.

Exact Uniform Initialization For Genetic Programming

Random Tree Generation for Genetic Programming

  • H. Iba
  • Computer Science
  • 1996
It is shown how to use a 1–1 correspondence between a tree with n nodes and some simple word composed by letters x and y to generate a GP tree and how GP search is improved by using this “randomness”.

On the use of a directed acyclic graph to represent a population of computer programs

  • S. Handley
  • Computer Science
    Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence
  • 1994
This paper demonstrates a technique that reduces the time and space requirements of genetic programming. The population of parse trees is stored as a directed acyclic graph (DAG), rather than as a

Genetic programming - on the programming of computers by means of natural selection

  • J. Koza
  • Computer Science
    Complex adaptive systems
  • 1993
This book discusses the evolution of architecture, primitive functions, terminals, sufficiency, and closure, and the role of representation and the lens effect in genetic programming.

Long-term evolution of genetic programming populations

Evolving binary mux-6 trees for up to 100 000 generations, during which some programs grow to more than a hundred million nodes, suggests the landscape which GP explores contains some very smooth

Random number generators: good ones are hard to find

Practical and theoretical issues are presented concerning the design, implementation, and use of a good, minimal standard random number generator that will port to virtually all systems.

GP on SPMD parallel graphics hardware for mega Bioinformatics data mining

We demonstrate a SIMD C++ genetic programming system on a single 128 node parallel nVidia GeForce 8800 GTX GPU under RapidMind’s GPGPU Linux software by predicting ten year+ outcome of breast cancer