module Talgene::Fittable
Overview
The Talgene::Fittable
module allows genetic model instances to be compared by their
fitness. Equally good solutions are related by the same fitness value.
require "talgene"
class Model
include Talgene::Fittable
getter fitness : Float64 do
rand(10).to_f
end
end
models = Array.new 5 { Model.new }.sort
values = models.map &.fitness
values # => [1.0, 3.0, 5.0, 5.0, 9.0]
Including types must provide a #fitness
method which returns the solution domain.
Included Modules
- Comparable(Talgene::Fittable)
Direct including types
Defined in:
modules/fittable.crInstance Method Summary
-
#<=>(other : Fittable)
The comparison operator.
-
#fitness : Float64
Returns the solution domain.
Instance Method Detail
Description copied from module Comparable(Talgene::Fittable)
The comparison operator. Returns 0
if the two objects are equal,
a negative number if this object is considered less than other,
a positive number if this object is considered greater than other,
or nil
if the two objects are not comparable.
Subclasses define this method to provide class-specific ordering.
The comparison operator is usually used to sort values:
# Sort in a descending way:
[3, 1, 2].sort { |x, y| y <=> x } # => [3, 2, 1]
# Sort in an ascending way:
[3, 1, 2].sort { |x, y| x <=> y } # => [1, 2, 3]