Both genetic algorithms and simulated annealing are evolutionary processes that may be utilized to solve search space and optimization problems. The genetic algorithm differs substantially from simulated annealing.
Simulated annealing is based on a thermodynamic evolutionary process, whereas genetic algorithms are based on the principles of Darwin’s theory of evolution and the field of biology. Two features introduced by GAs’ distinguishing them from simulated annealing are the inclusion of a population and using a genetic operator composed of two parents called “cross over” or recombination. These features will be discussed in more detail later in this chapter.
A key component of evolution is natural selection. Organisms less suited to their
environment tend to die off. Organisms that are more suited to their current environment are most likely to survive. These surviving organisms produce offspring that will have many of the better qualities possessed by their parents. As a result, these children will tend to be “more suited” to their environment. These children will be more likely to survive to mate in future generations. This is analogous to Darwin’s “survival of the fittest” theory. This ongoing process of evolution allows life to continue to improve over time. The same concepts that apply to natural selection apply to genetic algorithms as well.
It is important to note when discussing evolution, sometimes a distinction is made
between microevolution and macroevolution. Microevolution refers to small changes in the overall genetic makeup of a population that occurs over a small number of generations. These changes are generally small adaptations to an existing species, and not a the introduction of a whole new species. Microevolution is caused by factors such as natural selection and mutation. Macroevolution refers to significant changes in a population over a long time period. These changes may result in the evolution of a new species. The
concepts of genetic algorithms are consistent with microevolution.
Genetic Algorithm Background
John Holland, a professor at the University of Michigan, performed research with his colleagues and students to develop the concepts for genetic algorithms. In 1975 he published a book, Adaptation in Natural and Artificial Systems, in which he presents the theory behind genetic algorithms and explores practical applications. Holland is considered the father of genetic algorithms.
Another significant contributor in the area of genetic algorithms is David Goldberg. Goldberg studied under Holland at the University of Michigan and has written multiple books including, Genetic Algorithms in Search, Optimization and Machine Learning
published in 1989 and more recently (2002), The Design of Innovation. Now that you understand the history behind genetic algorithms we will examine some of their uses.
Uses for Genetic Algorithms
Genetic algorithms are adaptive search algorithms, which can be used for many purposes. GAs' are based upon the principles of evolution and natural selection. GAs’ are adept at searching large, non-linear search spaces. A non-linear search space refers to such a large number of potential solutions that the optimal solution can not be solved by conventional iterative means. GAs’ are most efficient and appropriate for situations such as the following:
• Search space is large, complex, or not easily understood
• There is no programmatic method that can be used to narrow the search space • Traditional optimization methods are not sufficient
Genetic algorithms may be utilized in solving a wide range of problems across multiple fields such as science, business, engineering, and medicine. The following provides a few examples:
• Optimization: production scheduling, call routing for call centers, routing for transportation, determining electrical circuit layouts
• Machine learning: designing neural networks, designing and controlling robots • Business applications: utilized in financial trading, credit evaluation, budget
allocation, fraud detection
Many optimization problems are non-linear in behavior and are too complex for traditional methods. The set of possible solutions for these problems can be enormous. For example, determining the optimum route for a traveling sales person or determining the optimum design for an electrical circuit layout. Genetic algorithms possess the ability to search large and complex search spaces to efficiently determine near optimal solutions in reasonable time frames by simulating biological evolution. Now that you have been introduced to some of the uses for genetic algorithms we must examine how to actually construct one.
Chapter 8: Understanding Genetic Algorithms
Article Title: Chapter 8: Understanding Genetic Algorithms Category: Artificial Intelligence Most Popular
From Series: Programming Neural Networks in Java
Posted: Wednesday, November 16, 2005 05:16 PM Author: JeffHeaton
Page: 3/5
Understanding Genetic Algorithms
In this section we will review the structure of genetic algorithms. In addition the structure or components of GAs’ will be discussed on a technical level. This will allow you to see how GAs’ actually work. This section will conclude by providing a general understanding of genetic algorithms which may be used as a foundation for future chapters and studies.
What is the Structure of a Genetic Algorithm
Genetic algorithms very closely resemble the biological model of chromosomes and genes. Individual organisms in a genetic algorithm are generally composed of single
chromosomes. These chromosomes are composed of genes. By manipulating the genes new chromosomes are created that have different traits. These manipulations occur through cross over and mutation, just as they occur in nature. Cross over is analogous to the biological process of mating. Mutation is a way that new information can be introduced into an existing population.