Genetic Algorithms in Elixir (Pragmatic Bookshelf)
Hot This:
Most Active This Week
Most Active This Month
Most Active This Year
Most Active Last Three Years

@seanmor5
In the code example on page 49, the fitness_function suddenly switches to using charlists instead of the previously used strin...
New

@seanmor5
In the paragraph about Optimizing Cargo Loads, I think there is the word project incorrectly used, and it should be probably p...
New

@seanmor5
130 trillion paths should be 1.3 trillion paths.
Quite a lot paths as well, but still, it’s a two-order magnitude error.
New

Should this section of text on page 134:
Finally, test your problem with uniform reinsertion. To do this, take the same
approach you to...
New

@seanmor5
On page 77, the following text:
“Change run to look like this:”
should be “Change evolve to look like this”
and lower on th...
New

At the bottom of page 128 the reader is instructed to add the following:
soln = Genetic.run(Schedule)
IO.write("\n")
IO.inspect(soln.gen...
New

@seanmor5
Should the following line of code in fitness_function:
|> Kernel.-(Enum.at(chromosome.genes), j)
be:
|> Kernel.-(Enum...
New

@seanmor5
In the repair_helper function on page 104 the following line:
if MapSet.size(chromosome) >= k do
should be:
if MapSet.si...
New

In the flip function this line of code:
%Chromosomes{genes: genes, size: chromosome.size}
should be
%Chromosome{genes: genes, size: ch...
New
Most Active Over Three Years

Now working through chapter 2.
An underscore makes a better placeholder than …
Intialize is added above the two rum functions. We only ...
New

@seanmor5
On page 43, changes were made to the Genetic.crossover function to support a new shiny Chromosome struct.
On page 93, the cod...
New

@seanmor5
Genetic.run call on page 30 doesn’t match function signature defined on page 28.
Page 28
def run(genotype, fitness_function,...
New

Provided source code has some problems when dealing with the reinsertions.
scripts/schedule.exs example has a default reinsertion strat...
New

At the beginning of page 59, in chapter 4
alter the evolve function to track a generation parameter, like this:
def evolve(problem, g...
New

Hi, the use of ^^^ is now deprecated
So, from this
$ iex
iex(1)> use Bitwise
Bitwise
iex(2)> key = 2491717835680677893
24917...
New

Text reads:
“The :rand.uniform/1 function produces a uniform integer between 0 and N-1…”
I believe this should be:
“The :rand.uniform/...
New

The definition of evolve(…) on page 61 is missing the first population parameter.
New

Please use the following format for the title of this thread (then simply delete/replace this text with the content for the thread):
Tit...
New

The diagram of the generated child is incorrect.
Removing the sliced genes of parent one from the genes of parent two should give a list...
New

def fitness_function(chromosome) do
chromosome
|> Enum.map(fn {roi, risk} -> 2 * roi - risk end)
|> Enum.sum()
end
sh...
New

@seanmor5
On page 92: the order_one crossover type is declared as
def order_one_crossover(p1, p2) do
On page 94: The default is set to...
New

There is a small error on page 159.
The text says:
[…] you’ll decrease the population size to 5
But the code shows the population si...
New

The average_tiger function is written like so in the book:
def average_tiger(population) do
genes = Enum.map(population, & &am...
New

On page 151, the id for each new Chromosome struct is set via a default value like:
defmodule Types.Chromosome do
@enforce_keys :genes...
New
Book Info
Publisher:
Pragmatic Bookshelf
Get money off!

The Pragmatic Bookshelf
35% off any eBook
Simply use coupon code "devtalk.com" at checkout. See full details here.