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

replaces a random node by one of its children. does nothing if the randomly chosen node is a terminal.

Methods

mutate!  

Public Instance methods

[Source]

     # File lib/charlie/tree/tree.rb, line 225
225:   def mutate!
226:     st = random_subtree
227:     return self if st.first==:term
228:     st.replace st[1..-1].at_rand
229:     self
230:   end

[Validate]