This package provides a framework for building applications where genetic algorithms (GA) are used for solving optimization problems based on a natural selection process that mimics biological evolution.
The algorithm repeatedly modifies a population of individual solutions.
npm install genetic-algorithm-fw
function mutation(oldPhenotype){
// return a new phenotype
}
function crossover (phenoTypeA, phenoTypeB) {
// using phenoTypeA and phenotypeB create a new list of two phenoTypes
// return [phenotype1, phenotype2]
}
function fitness(phenotype) {
// return the fitness number
// the higher the value the fitter it is
}
function competition(phenoTypeA, phenoTypeB) {
// return true when the fitness value is higher for phenoTypeA
// otherwise return false
}
var GeneticAlgorithm = require('genetic-algorithm-fw');
var geneticalgorithm = new 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
// we can run as many iterations as we like
geneticalgorithm.evolve();
// we can check the best phenotype in our current population
var theBestPhenotype = geneticalgorithm.best();