Genetic Algorithms: Difference between revisions

From Computer Science Wiki
No edit summary
 
(15 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 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
 
== 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]]
* [[Combinatorial optimization]]
* [[Computational intractability]]
* [[Computational intractability]]
* [[Convergence]]
* [[Convergence]]
* [[Crossover / crossover operator]]
* [[Crossover / crossover operator]]
* [[Elitism]]
* [[Elitism]]
* [[Exploration vs exploitation]]
* [[Fitness / fitness function / fitness landscape]]
* [[Fitness / fitness function / fitness landscape]]
* [[Heuristic]]
* [[Heuristics]]
* [[Hill climbing]]
* [[Initialization parameters]]
* [[Local extrema]]
* [[Mating pool]]
* [[Mutation / mutation rate]]
* [[Novelty search]]
* [[Offspring]]
* [[Optimization]]
* [[Optimization]]
* [[Population]]
* [[Population]]
* [[Premature convergence]]
* [[Premature convergence]]
* [[Problem space]]
* [[Problem space]]
* [[Ranking]]
* [[Roulette wheel selection]]
* [[Roulette wheel selection]]
* [[Selection strategy]]
* [[Selection strategy]]
* [[Simulated annealing]]
* [[Simulated annealing]]
* [[Stochastic universal sampling]]
* [[Termination condition]]
* [[Termination condition]]
* [[Tour]]
* [[Tournament selection]]
* [[Truncation selection]]


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