For the new project "New Project: Multi-class Classification & Trading Strategies" we implemented 2 new genetic operators: Fixed-Root Mutation and Conservative Fixed-Root Mutation. These genetic operators were implemented in all modeling categories and core algorithms of GeneXproTools (GEP and GEP-RNC). In this post I'll talk about Fixed-Root Mutation and its uses in the context of this new project.
As the name implies, the Fixed-Root Mutation operator implements a different version of the Mutation operator, where the root of each sub-tree is conserved. So, if we have a multigenic system encoding n trees, with the Fixed-Root Mutation operator we can change all the elements in the chromosome except the ones in the first position of each gene (this position encodes the root of the sub-tree).
The Fixed-Root Mutation operator is interesting because it gives us more control over the root position, which might come in handy in problems like the ones we set out to solve with this new project "New Project: Multi-class Classification & Trading Strategies". For example, if we are using a single-tree system for discovering buy-sell-wait rules, by fixing the function of interest (the buy-sell-wait function in this case) at the root of the tree, we might get a faster and more efficient evolution.
The Fixed-Root Mutation operator has also other applications besides fixing the root function in a unigenic system. For example, in multigenic systems we can use it to impose certain structural constraints on our solutions, especially if we use it in combination with other genetic operators. For example, we can warm start the design process with a weak linear solution and then let the learning algorithm discover a better solution to our problem.
In the next post I'll talk about the related Conservative Fixed-Root Mutation operator and its uses.