# Genetic Algorithms API Reference

## Functions

`ChemometricsTools.Lifeform`

— Method.`Lifeform(size, onlikelihood, initialscore)`

Constructor for a BinaryLifeForm struct. Binary life forms are basically wrappers for a binary vector, which has a likelihood for being 1(`onlikelihood`

). Each life form also has a `score`

based on it's "fitness". So the GA's in this package can be used to minimize or maximize this is an open parameter, but Inf/-Inf is a good `initialscore`

.

`ChemometricsTools.Mutate`

— Function.`Mutate( L::BinaryLifeform, amount = 0.05 )`

Assesses each element in the gene vector (inside of `L`

). If a randomly drawn value has a binomial probability of `amount`

the element is mutated.

`ChemometricsTools.SinglePointCrossOver`

— Method.`SinglePointCrossOver( L1::BinaryLifeform, L2::BinaryLifeform )`

Creates two offspring (new BinaryLifeForms) by mixing the genes from `L1`

and `L2`

after a random position in the vector.