replaces a random node by one of its children. does nothing if the randomly chosen node is a terminal.
[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]