100 likes | 196 Views
Codebase updates merging strategies and role transformations to simplify and enhance composition in a refactored genome. Operators inherit from Primitive, with roles specified for modules like bubble sort and merge sort. Initial fitness based on terminal satisfaction and tree depth. Wrapper and code injection function pointers are used in the process. Available roles include identity, buffer, low/high index, traversal complexity involved in tree evaluation. Current setup includes 50 generations, 100 individuals, and unknown nodes and height per tree. Time and size complexity analysis presented.
E N D
Genome Encoding 05/03/2013
Agenda • Codebase updates • Codified genome
Codebase Updates • Forked project in order to develop composition strategies separately • Intent to merge with Role transformations • Separating strategies was not a good idea • Made code overly complicated • Refactoring code to build strategies and transforms together • Reviewed symbolic regression and previous SAGE implementation • Refactored composition strategies to mesh with role transforms
Codified Genome • All operators inherit from Primitive • “same level of importance” • In process of refactoring
Terminals • Roles specified for composed module • Bubble sort • int* buffer • Merge sort • int* buffer, int low index, int high index • Quick sort • int* buffer, int low index, int high index • Initial fitness determined by normalized satisfaction of terminals and depth of tree
Wrapper Create Wrapper Transforms In Transforms Out Argument 0 Argument 1
Function Pointer Create Function Pointer Function Transforms In Transforms Out Argument 0 Argument 1 Class attribute: function to be called (passed upon creation of node)
Code Injection No notion of before/after in this case, so therefore there is a path for each possible transform to be written in order of traversal. Code Injection Line number 1..n Argument 0 Argument n-1 Class attribute: line number for code insertion in main program
Transforms Transform • Similar to Sumit’s implementation • Available roles: • Identity • Buffer • Buffer size • Low index • High index • Index • Unified? Role Argument 0
Complexity • Traversal of tree at each evaluation • Current setup: • 50 generations • 100 individuals • Unknown number of nodes per tree – n • Unknown height per tree - h • Max number of leaves per nodes - 2 • Time Complexity = traversal (n) * 50 * 100 = O(5000n) • Size Complexity =