Module TreeCrossover
In: lib/charlie/tree/tree.rb

TreeCrossover does a standard subtree swapping crossover for trees.

Methods

cross  

Public Instance methods

[Source]

     # File lib/charlie/tree/tree.rb, line 166
166:   def cross(parent1,parent2)
167:     child1 = parent1.dup
168:     child2 = parent2.dup
169:     c1_st = child1.random_subtree
170:     c2_st = child1.random_subtree
171:     c1_copy = dup_tree(c1_st) 
172:     c1_st.replace dup_tree(c2_st)
173:     c2_st.replace c1_copy
174:     [child1,child2]
175:   end

[Validate]