Binary and Real Coded genetic Algorithms and Application

Introduction

Genetic Algorithms are a form of Artificial Intelligence. They learn by evolving a fit set of solution to previously specified problem. The fundamental idea behind genetic algorithms is the same idea behind Darwinian evolution, survival of the fittest. Each potential solution to a problem in a genetic algorithm is represented by one individual. The fitter individuals are allowed to breed more often. By allowing fitter individuals to breed more often, the population tends toward the desired solution with time. This ability to tend towards a solution is comparable to reasoning capability.

Genetic algorithms have wonderfully diverse capabilities extending beyond those of Neural Networks. Genetic algorithms can solve simple linear problems and they can also solve much more complex higher dimensional problems, too. These capabilities are not different from Neural Networks, though. The power of genetic algorithms lies in there ability to do problems that rely on recursion and outside data structures. Genetic algorithms can solve recursive sequence like Fibbonnacci and process stacks; things no Neural Network can do. Genetic algorithms can even assume the form of a simple computer program. These capabilities are the most interesting (at least in my opinion). When coupled with an interpreted language like Java or Lisp, they can dynamically generate programs to solve the programmers needs.

Examples of real world genetic algorithm capabilities include:

  • Artificial Limbs
  • Stock market forecasting
  • Intelligent Agents