Genetic Algorithms: Difference between revisions
Mr. MacKenty (talk | contribs) No edit summary |
|||
(14 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems by relying on biologically inspired operators such as mutation, crossover and selection<ref>https://en.wikipedia.org/wiki/Genetic_algorith</ref> | In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems by relying on biologically inspired operators such as mutation, crossover and selection<ref>https://en.wikipedia.org/wiki/Genetic_algorith</ref> | ||
Please first review the characteristics of [[Algorithms|algorithms]]. | * Please first review the characteristics of [[Algorithms|algorithms]]. | ||
* Please then review the characteristics of [[Heuristics|heuristics]]. | |||
== | == The basic pattern of genetic algorithms == | ||
# A random set of solutions would be generated on the sample documents | |||
# And tested against the human labelling | |||
# Best fit solutions retained | |||
# New generation created by mutating/crossing | |||
# Algorithm repeated | |||
# Until a good fit obtained | |||
== Use of genetic algorithms == | |||
* [https://en.wikipedia.org/wiki/List_of_genetic_algorithm_applications Click here for a fairly good list] | |||
* [https://stackoverflow.com/questions/1538235/what-are-good-examples-of-genetic-algorithms-genetic-programming-solutions Click here for several good examples (scroll down)] | |||
* [https://www.brainz.org/15-real-world-applications-genetic-algorithms/ here are some short examples of GA] | |||
== Some videos == | |||
<html> | |||
<iframe width="560" height="315" src="https://www.youtube.com/embed/05rEefXlmhI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> | |||
</html> | |||
<html> | |||
<iframe width="560" height="315" src="https://www.youtube.com/embed/uQj5UNhCPuo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> | |||
</html> | |||
<br /> | |||
<br /> | |||
<html> | |||
<iframe width="560" height="315" src="https://www.youtube.com/embed/9zfeTw-uFCw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> | |||
</html> | |||
== Helpful resources == | |||
* [https://www.analyticsvidhya.com/blog/2017/07/introduction-to-genetic-algorithm/ This article is a good place to get started] | |||
* a good game: https://andymakes.itch.io/combat-genetics | |||
* a better game to help you understand genetic algorithms: https://david-birge-cotte.itch.io/evolution-sandbox | |||
== Terms associated with genetic algorithms == | |||
* [[Brute force approach]] | * [[Brute force approach]] | ||
* [[Computational intractability]] | * [[Computational intractability]] | ||
* [[Convergence]] | * [[Convergence]] | ||
* [[Crossover / crossover operator]] | * [[Crossover / crossover operator]] | ||
* [[Elitism]] | * [[Elitism]] | ||
* [[Fitness / fitness function / fitness landscape]] | * [[Fitness / fitness function / fitness landscape]] | ||
* [[ | * [[Heuristics]] | ||
* [[Optimization]] | * [[Optimization]] | ||
* [[Population]] | * [[Population]] | ||
* [[Premature convergence]] | * [[Premature convergence]] | ||
* [[Problem space]] | * [[Problem space]] | ||
* [[Roulette wheel selection]] | * [[Roulette wheel selection]] | ||
* [[Selection strategy]] | * [[Selection strategy]] | ||
* [[Simulated annealing]] | * [[Simulated annealing]] | ||
* [[Termination condition]] | * [[Termination condition]] | ||
== References == | == References == |
Latest revision as of 06:16, 9 May 2022
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems by relying on biologically inspired operators such as mutation, crossover and selection[2]
- Please first review the characteristics of algorithms.
- Please then review the characteristics of heuristics.
The basic pattern of genetic algorithms[edit]
- A random set of solutions would be generated on the sample documents
- And tested against the human labelling
- Best fit solutions retained
- New generation created by mutating/crossing
- Algorithm repeated
- Until a good fit obtained
Use of genetic algorithms[edit]
- Click here for a fairly good list
- Click here for several good examples (scroll down)
- here are some short examples of GA
Some videos[edit]
Helpful resources[edit]
- This article is a good place to get started
- a good game: https://andymakes.itch.io/combat-genetics
- a better game to help you understand genetic algorithms: https://david-birge-cotte.itch.io/evolution-sandbox
Terms associated with genetic algorithms[edit]
- Brute force approach
- Computational intractability
- Convergence
- Crossover / crossover operator
- Elitism
- Fitness / fitness function / fitness landscape
- Heuristics
- Optimization
- Population
- Premature convergence
- Problem space
- Roulette wheel selection
- Selection strategy
- Simulated annealing
- Termination condition