A genetic algorithm (GA) is a search technique used in computing to find exact or approximate solutions to optimization and search problems. Genetic algorithms are categorized as global search heuristics. Genetic algorithms are a particular class of evolutionary algorithms (EA) that use techniques inspired by evolutionary biology such as inheritance, mutation, selection, and crossover.
Methodology
Genetic algorithms are implemented in a computer simulation in which a population of abstract representations (called chromosomes or the genotype of the genome) of candidate solutions (called individuals, creatures, or phenotypes) to an optimization problem evolves toward better solutions. Traditionally, solutions are represented in binary as strings of 0s and 1s, but other encodings are also possible. The evolution usually starts from a population of randomly generated individuals and happens in generations. In each generation, the fitness of every individual in the population is evaluated, multiple individuals are stochastically selected from the current population (based on their fitness), and modified (recombined and possibly randomly mutated) to form a new population. The new population is then used in the next iteration of the algorithm. Commonly, the algorithm terminates when either a maximum number of generations has been produced, or a satisfactory fitness level has been reached for the population. If the algorithm has terminated due to a maximum number of generations, a satisfactory solution may or may not have been reached.
Genetic algorithms find application in bioinformatics, phylogenetics, computational science, engineering, economics, chemistry, manufacturing, mathematics, physics and other fields.
A typical genetic algorithm requires:
- a genetic representation of the solution domain,
- a fitness function to evaluate the solution domain.
A standard representation of the solution is as an array of bits. Arrays of other types and structures can be used in essentially the same way. The main property that makes these genetic representations convenient is that their parts are easily aligned due to their fixed size, which facilitates simple crossover operations. Variable length representations may also be used, but crossover implementation is more complex in this case. Tree-like representations are explored in genetic programming and graph-form representations are explored in evolutionary programming.
The fitness function is defined over the genetic representation and measures the quality of the represented solution. The fitness function is always problem dependent. For instance, in the knapsack problem one wants to maximize the total value of objects that can be put in a knapsack of some fixed capacity. A representation of a solution might be an array of bits, where each bit represents a different object, and the value of the bit (0 or 1) represents whether or not the object is in the knapsack. Not every such representation is valid, as the size of objects may exceed the capacity of the knapsack. The fitness of the solution is the sum of values of all objects in the knapsack if the representation is valid, or 0 otherwise. In some problems, it is hard or even impossible to define the fitness expression; in these cases, interactive genetic algorithms are used.
Once we have the genetic representation and the fitness function defined, GA proceeds to initialize a population of solutions randomly, then improve it through repetitive application of mutation, crossover, inversion and selection operators.
Initialization
Initially many individual solutions are randomly generated to form an initial population. The population size depends on the nature of the problem, but typically contains several hundreds or thousands of possible solutions. Traditionally, the population is generated randomly, covering the entire range of possible solutions (the search space ). Occasionally, the solutions may be "seeded" in areas where optimal solutions are likely to be found.
Selection
Main article: Selection (genetic algorithm)During each successive generation, a proportion of the existing population is selected to breed a new generation. Individual solutions are selected through a fitness-based process, where fitter solutions (as measured by a fitness function) are typically more likely to be selected. Certain selection methods rate the fitness of each solution and preferentially select the best solutions. Other methods rate only a random sample of the population, as this process may be very time-consuming.
Most functions are stochastic and designed so that a small proportion of less fit solutions are selected. This helps keep the diversity of the population large, preventing premature convergence on poor solutions. Popular and well-studied selection methods include roulette wheel selection and tournament selection.
Reproduction
Main articles: crossover (genetic algorithm) and mutation (genetic algorithm)The next step is to generate a second generation population of solutions from those selected through genetic operators: crossover (also called recombination), and/or mutation.
For each new solution to be produced, a pair of "parent" solutions is selected for breeding from the pool selected previously. By producing a "child" solution using the above methods of crossover and mutation, a new solution is created which typically shares many of the characteristics of its "parents". New parents are selected for each new child, and the process continues until a new population of solutions of appropriate size is generated. Although reproduction methods that are based on the use of two parents are more "biology inspired", some research suggests more than two "parents" are better to be used to reproduce a good quality chromosome.
These processes ultimately result in the next generation population of chromosomes that is different from the initial generation. Generally the average fitness will have increased by this procedure for the population, since only the best organisms from the first generation are selected for breeding, along with a small proportion of less fit solutions, for reasons already mentioned above.
Termination
This generational process is repeated until a termination condition has been reached. Common terminating conditions are:
- A solution is found that satisfies minimum criteria
- Fixed number of generations reached
- Allocated budget (computation time/money) reached
- The highest ranking solution's fitness is reaching or has reached a plateau such that successive iterations no longer produce better results
- Manual inspection
- Combinations of the above
Simple generational genetic algorithm pseudocodes.
- Choose the initial population of individuals
- Evaluate the fitness of each individual in that population
- Repeat on this generation until termination: (time limit, sufficient fitness achieved, etc.)
- Select the best-fit individuals for reproduction
- Breed new individuals through crossover and mutation operations to give birth to offspring
- Evaluate the individual fitness of new individuals
- Replace least-fit population with new individuals
Observations
There are several general observations about the generation of solutions via a genetic algorithm:
- Repeated fitness function evaluation for complex problems is often the most prohibitive and limiting segment of artificial evolutionary algorithms. Finding optimal solution to complex high dimensional, multimodal problems often requires very expensive fitness function evaluations. In real world problems such as structural optimization problems, one single function evaluation may require several hours to several days of complete simulation. Typical optimization method can not deal with such a type of problem. In this case, it may be necessary to forgo an exact evaluation and use an approximated fitness that is computationally efficient. It is apparent that amalgamation of approximate models may be one of the most promising approaches to convincingly use GA to solve complex real life problems.
- The "better" is only in comparison to other solution. As a result, the stop criterion is not clear.
- In many problems, GAs may have a tendency to converge towards local optima or even arbitrary points rather than the global optimum of the problem. This means that it does not "know how" to sacrifice short-term fitness to gain longer-term fitness. The likelihood of this occurring depends on the shape of the fitness landscape: certain problems may provide an easy ascent towards a global optimum, others may make it easier for the function to find the local optima. This problem may be alleviated by using a different fitness function, increasing the rate of mutation, or by using selection techniques that maintain a diverse population of solutions, although the No Free Lunch theorem proves that there is no general solution to this problem. A common technique to maintain diversity is to impose a "niche penalty", wherein, any group of individuals of sufficient similarity (niche radius) have a penalty added, which will reduce the representation of that group in subsequent generations, permitting other (less similar) individuals to be maintained in the population. This trick, however, may not be effective, depending on the landscape of the problem. Diversity is important in genetic algorithms (and genetic progr
12848 Fitness Lesson Plans Reviewed by Teachers :: lessons 61 - 70
Search Fitness Lesson Plans to find teacher approved Lesson Plans by grade and rating. From physical fitness to 5 components fitness, youll quickly find lesson plans that inspire ...
Fitness
Lesson Plans: The Basics of Running Mechanics (Grades 1-3) an AskERIC Lesson Plan http://ericir.syr.edu/cgi-bin/printlessons.cgi/Virtual/Lessons/Physical_Education/Skill_Related ...
First Grade Fitness Lesson Plan
© 2005 CSC Brands L.P. All rights reserved. Let us know what you think about this lesson plan at http://www.labelsforeducation.com/lessonplans First Grade Fitness Lesson Plan Page ...
Second Grade Fitness Lesson Plan
Second Grade Fitness Lesson Plan Page 1 of 8 How to Use These Lessons Each of the lessons is comprised of student-centered fitness activities that can be integrated into classroom ...
Fitness and Body Systems Lesson Plans
Health high school lesson plans. Five lesson plans for fitness unit plan and seven lesson plans about body systems.
Fitness Lesson Plans - LessonCorner
1. Boot Camp Fitness Program What is the boot camp workout? How is this workout different from other types of fitness programs? Why do you think people would choose to partake in a ...
Fitness Lesson Plans - LessonCorner
21. Fitness Lab Fitness Lab Home Technology Portfolio Name and Description of Activity: Fitness Lab Shows children the benefits of exercise through active participation Curriculum ...
Fitness - Health / Physical Education Lesson Plan, Thematic Unit ...
A Lesson Plans Page lesson plan, lesson idea, thematic unit, or activity in Health / Physical Education and Health / Physical Education called Fitness.
Lesson & Instruction - Fitness Programs, Exercise Classes, Martial ...
Fitness Programs, Exercise Classes, Martial Arts Academy, Sports Training | Sports & Fitness | 88DB Malaysia
12685 Fitness Lesson Plans Reviewed by Teachers
Search Fitness Lesson Plans to find teacher approved Lesson Plans by grade and rating. From physical fitness to 5 components fitness, youll quickly find lesson plans that inspire ...