Genetic algorithm framework built with JavaScript ES6
This package provides a framework for building applications where genetic algorithm (GA) is used for solving optimization problems based on a natural selection process that mimics biological evolution.
The algorithm repeatedly modifies a population of individual solutions.
Installation
npm install genetic-algorithm-fw
Functions to define
mutation
{ // return a new phenotype}
crossover
{ // using phenoTypeA and phenotypeB create a new list of two phenoTypes // return [phenotype1, phenotype2]}
fitness
{ // return the fitness number // the higher the value the fitter it is}
competition
{ // return true when the fitness value is higher for phenoTypeA // otherwise return false}
Initialize GA object with the previously defined functions
var GeneticAlgorithm = ; var geneticalgorithm = mutation // if not specified, no mutation happens crossover // if not specified, the initial phenoTypes are returned fitness // if not specified, 0 is returned competition // if not specified, no competition happens // initial list of phenoTypes populationSize // by defualt it is 100 chanceOfMutation; // by defautlt it is 50
Evolve our population
// we can run as many iterations as we likegeneticalgorithm;
Get the best result
// we can check the best phenotype in our current populationvar theBestPhenotype = geneticalgorithm;