1 / 10

Genome Encoding

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.

quasar
Download Presentation

Genome Encoding

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Genome Encoding 05/03/2013

  2. Agenda • Codebase updates • Codified genome

  3. 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

  4. Codified Genome • All operators inherit from Primitive • “same level of importance” • In process of refactoring

  5. 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

  6. Wrapper Create Wrapper Transforms In Transforms Out Argument 0 Argument 1

  7. 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)

  8. 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

  9. Transforms Transform • Similar to Sumit’s implementation • Available roles: • Identity • Buffer • Buffer size • Low index • High index • Index • Unified? Role Argument 0

  10. 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 =

More Related