genetic-algorithms

A Node.js framework for implementing and testing genetic algorithms.

Usage no npm install needed!

<script type="module">
  import geneticAlgorithms from 'https://cdn.skypack.dev/genetic-algorithms';
</script>

README

genetic-algorithms

A Node.js framework for implementing and testing genetic algorithms.

Genetic Algorithms

Genetic Algorithms are used in AI as a special kind of directed search based on the principles of evolution and natural selection. There is a population of individuals (phenotypes) whose properties are encoded in their genotype. The algorithm iterates through individuals and evaluates them using a fitness function and assigns each phenotype a score. It is then used in deciding which members of the population should be kept and chosen for reproduction more often than others, and which members are to die. Genetic Algorithms have a number of applications in Computer Science and in industry, and can be a fun way to learn about concepts from AI, such as how to define a problem, make hypotheses and test them by designing and running experiments.

A designer of a genetic algorithm must consider a number of things specific to the problem at hand: which evaluation function to use, how to represent individuals and when to consider search completed. In addition to that, there are many properties that can affect how fast a particular algorithm converges and the maximum score that can be achieved. These include whether to use generational (batch) or steady-state (sequential) evaluations of a population, chances of mutations and cross-overs, parent selection technique, etc. This framework aims to contribute a collection of different techniques so that an appropriate one can be selected for each problem. We hope that it will provide a bootstrap for experimenting with GAs and their parameters and lead to novel approaches and amazing applications in Computer Science.

Resources and Bibliography