24 lines
486 B
Elixir
24 lines
486 B
Elixir
genotype = fn -> for _ <- 1..1000, do: Enum.random(0..1) end
|
|
|
|
fitness_function = fn chromosome -> Enum.sum(chromosome) end
|
|
max_fitness = 1000
|
|
|
|
defmodule OneMax do
|
|
@behaviour Problem
|
|
|
|
@impl Problem
|
|
def genotype() do
|
|
for _ <- 1..1000, do: Enum.random(0..
|
|
end
|
|
|
|
@impl Problem
|
|
def fitness_function(chromosome) do
|
|
Enum.sum(chromosome.genes)
|
|
end
|
|
end
|
|
|
|
soln = Genetic.run(fitness_function, genotype, max_fitness)
|
|
|
|
IO.write("\n")
|
|
IO.inspect(soln)
|