clojush.evaluate

calculate-hah-solution-rates

(calculate-hah-solution-rates pop-agents {:keys [total-error-method error-threshold population-size]})

calculate-meta-errors

(calculate-meta-errors ind {:keys [meta-error-categories error-threshold], :as argmap})

Calculates one meta-error for each meta-error category provided. Each meta-error-category should either be a keyword for a built-in meta category or a function that takes an individual and an argmap and returns a meta error value. The built-in meta categories include: :size (minimize size of program) :compressibility (minimize ammount a program compresses compared to itself) :total-error (minimize total error) :unsolved-cases (maximize number of cases with zero error) :rand (a random floating-point value) :rand-bit (randomly 0 or 1) :age (minimize genealogical age of program)

compute-hah-error

(compute-hah-error errors)

compute-root-mean-square-error

(compute-root-mean-square-error errors)

compute-total-error

(compute-total-error errors)

evaluate-individual

(evaluate-individual i error-function rand-gen)(evaluate-individual i error-function rand-gen {:keys [reuse-errors print-history total-error-method normalization max-error], :as argmap})

Returns the given individual with errors, total-errors, and weighted-errors, computing them if necessary.

normalize-errors

(normalize-errors errors normalization max-error)

Normalizes errors to [0,1] if normalize isn’t :none.