xegaDerivationTrees

From MaRDI portal
Software:5975585



CRANxegaDerivationTreesMaRDI QIDQ5975585

Generating and Manipulating Derivation Trees

Andreas Geyer-Schulz

Last update: 13 February 2024

Copyright license: MIT license, File License

Software version identifier: 1.0.0.0

Derivation tree operations are needed for implementing grammar-based genetic programming and grammatical evolution: Generating of a random derivation trees of a context-free grammar of bounded depth, decoding a derivation tree, choosing a random node in a derivation tree, extracting a tree whose root is a specified node, and inserting a subtree into a derivation tree at a specified node. These operations are necessary for the initializiation and for decoders of a random population of programs, as well as for implementing crossover and mutation operators. Depth-bounds are guaranteed by switching to a grammar without recursive production rules. For executing the examples, the package 'BNF' is needed. The basic tree operations of generating, extracting, and inserting of derivation trees as well as the conditions for guaranteeing complete derivation trees have been presented in Geyer-Schulz (1997, ISBN:978-3-7908-0830-X). The use of random integer vectors for the generation of derivation trees has been introduced in Ryan, C., Collins, J. J., and O'Neill, M. (1998) <doi:10.1007/BFb0055930>.




Related Items (2)


This page was built for software: xegaDerivationTrees