Genetic algorithms: Difference between revisions

From Computer Science Wiki
(Created page with "right|frame|HL CONTENT: Modeling & Simulation<ref>http://www.flaticon.com/</ref> === Initial population === === Fitness function === === Selection ==...")
 
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[file:simulation.png|right|frame|HL CONTENT: Modeling & Simulation<ref>http://www.flaticon.com/</ref>]]
[[file:simulation.png|right|frame|HL CONTENT: Modeling & Simulation<ref>http://www.flaticon.com/</ref>]]


The genetic algorithm is a method for solving both constrained and unconstrained optimization problems that is based on natural selection, the process that drives biological evolution. The genetic algorithm repeatedly modifies a population of individual solutions. At each step, the genetic algorithm selects individuals at random from the current population to be parents and uses them to produce the children for the next generation. Over successive generations, the population "evolves" toward an optimal solution. You can apply the genetic algorithm to solve a variety of optimization problems that are not well suited for standard optimization algorithms, including problems in which the objective function is discontinuous, nondifferentiable, stochastic, or highly nonlinear. The genetic algorithm can address problems of mixed integer programming, where some components are restricted to be integer-valued.<ref>https://www.mathworks.com/help/gads/what-is-the-genetic-algorithm.html</ref>
<br />


=== Initial population ===
== Two videos to get you started ==
=== Fitness function ===
<html>
=== Selection ===
<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>
=== Crossover ===
</html>
=== Mutation ===
<br />
<html>
<iframe width="560" height="315" src="https://www.youtube.com/embed/1i8muvzZkPw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</html>
 
== 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]
 
== 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
 
== Terms associated with genetic algorithms ==  
 
* [[Brute force approach]]
* [[Combinatorial optimization]]
* [[Computational intractability]]
* [[Convergence]]
* [[Crossover / crossover operator]]
* [[Elitism]]
* [[Exploration vs exploitation]]
* [[Fitness / fitness function / fitness landscape]]
* [[Heuristics]]
* [[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]]
 
== 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


== Standards ==
== Standards ==
* Discuss the time and memory considerations of 3D animation in a given scenario.
* Outline the use of genetic algorithms.


== References ==
== References ==

Latest revision as of 10:32, 9 December 2021

HL CONTENT: Modeling & Simulation[1]

The genetic algorithm is a method for solving both constrained and unconstrained optimization problems that is based on natural selection, the process that drives biological evolution. The genetic algorithm repeatedly modifies a population of individual solutions. At each step, the genetic algorithm selects individuals at random from the current population to be parents and uses them to produce the children for the next generation. Over successive generations, the population "evolves" toward an optimal solution. You can apply the genetic algorithm to solve a variety of optimization problems that are not well suited for standard optimization algorithms, including problems in which the objective function is discontinuous, nondifferentiable, stochastic, or highly nonlinear. The genetic algorithm can address problems of mixed integer programming, where some components are restricted to be integer-valued.[2]

Two videos to get you started[edit]


Use of genetic algorithms[edit]

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

Terms associated with genetic algorithms[edit]

Helpful resources[edit]

Standards[edit]

  • Outline the use of genetic algorithms.

References[edit]