clojush.pushgp.breed
breed
(breed agt location rand-gen population {:keys [genetic-operator-probabilities], :as argmap})
Returns an individual bred from the given population using the given parameters.
perform-genetic-operator
(perform-genetic-operator operator population location rand-gen {:keys [max-points track-instruction-maps], :as argmap})
Takes a single genetic operator keyword or a sequence of operator keywords, and performs them to create a new individual. Uses recursive helper function even with a single operator by putting that operator in a vector.
perform-genetic-operator-list
(perform-genetic-operator-list operator-list first-parent population location rand-gen argmap)
Recursively applies the genetic operators in operator-list, using first-parent as the first parent for each operator call, to create a new child.
revert-to-parent-if-worse
(revert-to-parent-if-worse child parent rand-gen {:keys [error-function parent-reversion-probability], :as argmap})
Evaluates child and parent, returning the child if it is at least as good as the parent on every test case.
revert-too-big-child
(revert-too-big-child parent child {:keys [replace-child-that-exceeds-size-limit-with atom-generators max-genome-size-in-initial-program max-points], :as argmap})
Determines what individual should replace a child program that exceeds the size limit. Options are: :parent – one of the parents :empty – an empty program :truncate – truncate child after max points :random – a random program In future, may implement :delete, which deletes some of the instructions in a parent.
update-instruction-map-uuids
(update-instruction-map-uuids individual)
Takes an individual and updates the UUIDs on every instruction-map in its :genome, except for the ones which are a random insertion.