genetic implements genetic algorithms using Golang's Generics support.
What are Genetic Algorithms?
Genetic algorithms are a form of machine learning software inspired by the process of natural selection. GA's can quickly approximate solutions for problems with very large search spaces. They are often used to tackle NP problems whose solutions can vary in levels of quality. In these kinds of problems, measuring a solution's validity and quality are fast, but yet there is no easy way to determine the optimal solution without guessing and checking. Genetic Algorithms provide a means to get a pretty good solution to any such problem. Examples include:
- Transportation routing & logistics
- Storage Optimization (Knapsack Problem)
- 'Travelling Salesman' problems
- Machine Learning meta-parameter tuning
- Hardware and Engineering Design optimization