The Genetic Algorithms & Programming Component Library (GACL) is a powerful genetic algorithms and genetic programming solution for Delphi and Appmethod Win32, Win64, OSX, iOS and Android. The GACL provides simple yet powerful components for designing, evolving, and using genetic algorithms and genetic programs. Genetic Algorithms and Genetic Programming help you automatically solve a wide range of problems, from optimization and search problems using genetic algorithms to data fitting, predition and modelling, or decision strategy and game control using genetic programming.
Key Benefits
• | For Win32, Win64, OSX, iOS and Android |
• | Integrated IDE Help Insight as well as Help File and Online Documentation |
• | Read and write your genetic solutions or progress as XML |
• | Control every aspect of the evolution of your population including fitness evaluation and cutoff and diversity limits |
• | 6 selection methods (Roulette, Random, Tournament, Stochastic Tournament, Elitist, or Custom) |
• | 4 Fitness Search Methods (Minimize, Maximize, Weighted Minimize, and Weighted Maximize) |
• | Multi-threaded evolve and fitness evaluation available for XE7+ |
o | Unlimited Chromosome size |
o | Helper “gene” class to read and write arbitrarily-sized integers, enumerations, and floating point numbers into the bits of the chromosome |
o | 3 Genetic Operations (crossover, mutation, and inversion) |
o | 5 Crossover Methods (gene boundary, bit boundary, byte boundary, word boundary, and long word boundary) |
o | Genetic Algorithms XML Schema for saving and loading genetic algorithms problems and solutions |
o | Specify your problem more intuitively using functions, constants, and variables |
o | Easily add "personality" to your games and programs by evolving different solutions to the same problem (e.g., a cautious AI, a daring AI, etc) |
o | Completely rebuilt from the ground up Tree-based Genetic Programming with Functions, Constants, and Variables |
o | Generics-based Genetic Programming implementation |
o | 6 Initialization Methods (Full, Grow, Half and Half, Ramped Full, Ramped Grow, and Ramped Half and Half) |
o | 3 Basic Genetic Operations (crossover, mutation, and inversion) |
o | 6 Different Mutation Methods (Subtree, Replacement, Constant, Shrink, Hoist, and Point) |
o | 17 Different Bloat Control Strategies (Limit Size or Depth, Tarpeian Size or Depth, Unfit Size or Depth, Shrink Size or Depth, Hoist Size or Depth, Size Fair or Depth Fair Crossover, Size or Depth Parsimony Pressure, Covariant Size or Depth Parsimony Pressure, and Lexicographic Parsimony Pressure) |
o | Executor component for executing your winning genetic programs |
o | Genetic Programming XML Schema for saving and loading genetic programming problems and solutions |
Genetic Algorithms
Genetic algorithms (GA) are computer science techniques that seek to solve optimization or search problems. They are inspired by evolutionary biology and approach the search problem as a task of evolving a group or population of candidate individuals through successive generations, selecting fitter (or better) child individuals for each generation, until a solution is found. It uses evolutionary biology techniques such as inheritance, mutation, selection, and crossover (also called recombination).
Genetic algorithms have been used in bioinformatics, phylogenetics, computational science, engineering, economics, chemistry, manufacturing, mathematics, physics, pharmacometrics and other fields.
Genetic Programming
|
Executing a Cart Centering Genetic Program |
Genetic programming (GP) is a computer science method, inspired by evolutionary biology, for automatically solving problems, without having to know or define the form or structure of optimum problem structure beforehand. You define the basic building blocks (functions, constants, and variables) of the problem and then the component does the rest. Genetic programming solves problems by evolving a group or population of candidate individuals through successive generations, selecting fitter (or better) child individuals for each generation, until a solution is found. It uses evolutionary biology techniques such as inheritance, mutation, selection, and crossover (also called recombination).
Genetic Programming is a specialization of genetic algorithms where each individual is a computer program. It has found success as a automatic programming tool, a machine learning tool or an automatic problem-solving engine. Genetic programming can be used for Curve Fitting, Data Modelling and Symbolic Regression; Decision Strategy, Game Control, and Industrial Process Control; Image and Signal Processing; and Financial Trading, Time Series Prediction and Economic Modelling.