The Architectures of GeneXproTools Learning Algorithms

The Architecture of GEP-RNC Programs
 
Random numerical constants (RNCs) can be easily implemented in Gene Expression Programming (GEP). For that an additional domain Dc is introduced in GEP genes. Structurally, the Dc comes after the tail, has a length t equal to the length of the tail, and is composed of the symbols used to represent the random constants. Therefore, another region (besides the head and tail) with defined boundaries and its own alphabet is created in the gene.

Although this extra domain Dc is essential for handling numerical constants, GeneXproTools 4.0 hides the Dc from the user and takes care of all the decoding. However, if you want to understand the workings of essential features for fine-tuning numerical constants such as special genetic operators and initial diversity of random numerical constants, it's a plus if you know a little about its structure and organization.

For each gene, the numerical constants are randomly generated at the beginning of a run, but their circulation is guaranteed by the usual genetic operators of mutation, transposition, inversion, and recombination. Besides, a special mutation operator (RNC mutation) allows the permanent introduction of variation in the set of random constants; and three Dc specific operators – Dc Mutation, Dc IS transposition, and Dc inversion – guarantee the effective shuffling of the constants through the programs of the population.

Consider the single-gene chromosome with a head size h = 7 (the Dc is shown in blue):

01234567890123456789012
+?*+?**aaa??aaa68083295

where the terminal “?” represents the random constants. The expression of this kind of chromosome is done exactly as in the basic gene expression algorithm, obtaining:

Then the ?’s in the expression tree (ET) are replaced from left to right and from top to bottom by the symbols (numerals, for simplicity) in Dc, obtaining:

The values corresponding to these symbols are kept in an array. For simplicity, the number represented by the numeral indicates the order in the array. For instance, for the 10 elements array:

A = {0.611, 1.184, 2.449, 2.98, 0.496, 2.286, 0.93, 2.305, 2.737, 0.755}

the chromosome above gives:

Obviously, the GEP-RNC algorithm can also be used to evolve highly sophisticated programs composed of multiple sub-programs through the use of multigenic chromosomes. The only difference is that the genes in the GEP-RNC algorithm carry an extra domain for encoding the random numerical constants.

Home | Contents | Previous  | Next