Genetic Algorithms: Difference between revisions

From Computer Science Wiki
No edit summary
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[file:computation.png|right|frame|Advanced programming<ref>http://www.flaticon.com/</ref>]]
[[file:computation.png|right|frame|Advanced programming<ref>http://www.flaticon.com/</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 then review the characteristics of [[Heuristics|heuristics]].


== Start here to understand genetic algorithms ==  
== 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


[[Brute force approach]]
== Use of genetic algorithms ==
[[Combinatorial optimization]]
* [https://en.wikipedia.org/wiki/List_of_genetic_algorithm_applications Click here for a fairly good list]
[[Computational intractability]]
* [https://stackoverflow.com/questions/1538235/what-are-good-examples-of-genetic-algorithms-genetic-programming-solutions Click here for several good examples (scroll down)]
[[Convergence]]
* [https://www.brainz.org/15-real-world-applications-genetic-algorithms/ here are some short examples of GA]
[[Crossover / crossover operator]]
[[Elitism]]
[[Exploration vs exploitation]]
[[Fitness / fitness function / fitness landscape]]
[[Heuristic]]
[[Hill climbing]]
[[Initialization parameters
[[Local extrema]]
[[Mating pool]]
[[Mutation / mutation rate]]
[[Novelty search]]
[[Offspring]]
[[Optimization]]
[[Population]]
[[Premature convergence]]
[[Problem space]]
[[Ranking]]
[[Roulette wheel selection]]
[[Selection strategy]]
[[Simulated annealing]]
[[Stochastic universal sampling]]
[[Termination condition]]
[[Tour]]
[[Tournament selection]]
[[Truncation selection]]


== 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]]
* [[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]]


== References ==
== References ==

Latest revision as of 07:16, 9 May 2022

Advanced programming[1]

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]

  1. A random set of solutions would be generated on the sample documents
  2. And tested against the human labelling
  3. Best fit solutions retained
  4. New generation created by mutating/crossing
  5. Algorithm repeated
  6. Until a good fit obtained

Use of genetic algorithms[edit]


Some videos[edit]



Helpful resources[edit]


Terms associated with genetic algorithms[edit]

References[edit]