Genetic algorithms (GAs) use many of same biologically-inspired principles that are used in neural networks, although this method of programming uses the genetic model of the human system as opposed to the brain model. This allows evolution through natural selection, recombination and mutation, the same way that living organisms survive and prosper. What starts as many programs performing rather poorly ends with the less successful ones dying off and the more successful ones Breeding by sharing their information. The more relevant information gets combined together, and the program comes closer to solving whatever task that has been put before it.
How They Work
Genetic algorithms mimic the same properties that exist in human DNA and genetic replication. The chromosome of a GA is a bit string that contains the information needed to solve the problem. Genetic recombination is analogous to the merging of the bit strings with that display the best fitness. Each bit string could be seen as representing a certain trait (genotype) of the program, the same way a gene in a human would determine the color of their eyes or height.
First, programmers begin with a large population of random chromosomes. Each chromosome represents a potential solution to the problem they wish to solve. Tests are run to determine fitness, and each chromosome is assigned a score. Those with the highest fitness scores are chosen mostly at random (more weight is given to those chromosomes with higher scores) to “breed” with each other, sharing information and creating information possibilities. A small chance of mutation is sometimes added into the program to create a more organic model. Once the new population is generated, the tests are run again.
The result of genetic strands pairing off does not always produce a better product, however, and the potential for mutation can work both for and against the fitness of a chromosome. This can lead to some very unique solutions to problems, some of them unforeseen by the programmers.
The Results of Mating
The pieces of the genetic strand that are chosen to create the new genetic offspring are not always the best pieces. While a high fitness can be present in the chromosome overall, when the recombination occurs, there is no way to know which part of the bit string is the efficient part and which part is holding it back. The only thing that helps to balance this is the weight of the fitness of the chromosome as a whole during the selection for breeding. The extra chance of mutating a gene has the potential to destroy a bit string’s usefulness or create a very functional chromosome from one that was otherwise mediocre. Problems are successfully solved by GAs mainly because of the sheer numbers of chromosomes in the population. Just like with natural selection, the dead ends of evolution die off and the more successful results keep going.
Interactive Genetic Algorithms
Sometimes a problem has no definite answer that can be coded into the program. These sorts of problems usually have to do with aesthetic issues which require human judgment to evaluate, such as whether apples or oranges are better. Interactive GAs allow the programmer to assign his or her own fitness based on preference. Thus, the program adjusts to suit its user. This type of program is more representative of the relationship that a parent and child might have, the computer learning what is “good’ or “bad” through reinforcement from an authority figure. The advantage that GAs have over human children, however, is that GAs do not say “no” to their parent (yet).
The Field Programmable Gate Array Chip
The FPGA chip is a piece of technology that is able to be upgraded and modified to suit the purposes of whatever a user might need their computer to do. The versatility of this chip make it a likely next step in computer development, with hardware being configured to specification by software and less subject to limitations in architecture.
The potential for GAs to have hardware that is customizable to their needs adds a whole new level to the idea of evolution for fitness. Not only could the GA work its genetic “mind” to solve the problem, but it could also make all the hardware changes necessary to increase its efficiency and power. One could see this process as the computer equivalent of working out at the gym and gaining more muscle to lift heavier objects.
Potential of Genetic Algorithm Use in AI Development
The number of bits in a given chromosome can be potentially endless, limited only by hardware functions and the patience of programmers. This gives rise to the possibility of mapping out incredibly complex sequences that may exhibit something that resembles creative and decisive human behavior.
The best use for GAs at this time is in finding solutions to problems that humans have found no way to solve as of yet. The GA can run and experiment and provide potential solutions while researchers look on, attempt to guide the program and record the results. Even if a GA is unsuccessful in finding the correct solution, this still may help scientists get closer to their goal.