We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent b47d15a commit d569050Copy full SHA for d569050
scripts/speller.ex
@@ -0,0 +1,27 @@
1
+defmodule Speller do
2
+ @behaviour Problem
3
+ alias Types.Chromosome
4
+
5
+ @impl true
6
+ def genotype do
7
+ genes = Stream.repeatedly(fn -> Enum.random(?a..?z) end)
8
+ |> Enum.take(6)
9
10
+ %Chromosome{genes: genes, size: 6}
11
+ end
12
13
14
+ def fitness_function(chromosome) do
15
+ target = "sekrit"
16
+ guess = List.to_string(chromosome.genes)
17
+ String.jaro_distance(target, guess)
18
19
20
21
+ def terminate?([best | _]), do: best.fitness == 1
22
+end
23
24
+solution = Genetic.run(Speller)
25
+IO.write("\n")
26
+IO.inspect(solution)
27
0 commit comments