elixush v0.0.2 Elixush.Evaluate

Summary

Functions

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)

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

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

Functions

calculate_hah_solution_rates(pop_agents, argmap)

Specs

calculate_hah_solution_rates(Enum.t, map) :: nil
calculate_meta_errors(ind, argmap)

Specs

calculate_meta_errors(map, map) :: Enum.t

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)

compute_hah_error(errors)

Specs

compute_hah_error(Enum.t) :: float
compute_root_mean_squared_error(errors)

Specs

compute_root_mean_squared_error(Enum.t) :: Enum.t
compute_total_error(errors)

Specs

compute_total_error(Enum.t) :: float
evaluate_individual(i, error_function, rand_gen)

Specs

evaluate_individual(map, (... -> any), any) :: map

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

evaluate_individual(i, error_function, , argmap)

Specs

evaluate_individual(map, (... -> any), any, map) :: map
normalize_errors(errors, normalization, max_error)

Specs

normalize_errors(Enum.t, atom, integer) :: Enum.t

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