Understanding evolutionary and genetic algorithms
A genetic algorithm is a type of evolutionary algorithm. So, in order to understand genetic algorithms, we need to discuss evolutionary algorithms. An evolutionary algorithm is a meta-heuristic optimization algorithm that applies the principles of evolution to solve problems. The concept of evolution is like the one we find in nature; much like the environment actively drives the "solution" arrived at through evolution, we directly use the problem's functions and variables to arrive at a solution. But in a genetic algorithm, any given problem is encoded in bit patterns that are manipulated by the algorithm.
Computer solving of problems autonomously is the central goal of Artificial Intelligence and machine learning. Genetic Algorithms (GAs) are an evolutionary computation technique that automatically solves problems without requiring the user to know or specify the form or structure of the solution in advance...