Genetic algorithms: Difference between revisions

From Computer Science Wiki
 
Line 27: Line 27:


== Terms associated with genetic algorithms ==  
== Terms associated with genetic algorithms ==  
=== Initial population ===
Set of sub-optimal solutions which are provided as inputs to a genetic algorithm and from which an optimal solution evolves<ref>https://www.igi-global.com/dictionary/initial-population/14655</ref>


=== Fitness function ===
* [[Brute force approach]]
Fitness Function (also known as the Evaluation Function) evaluates how close a given solution is to the optimum solution of the desired problem. It determines how fit a solution is.
* [[Combinatorial optimization]]
 
* [[Computational intractability]]
In genetic algorithms, each solution is generally represented as a string of binary numbers, known as a chromosome. We have to test these solutions and come up with the best set of solutions to solve a given problem. Each solution, therefore, needs to be awarded a score, to indicate how close it came to meeting the overall specification of the desired solution. This score is generated by applying the fitness function to the test, or results obtained from the tested solution.<ref>https://towardsdatascience.com/how-to-define-a-fitness-function-in-a-genetic-algorithm-be572b9ea3b4</ref>
* [[Convergence]]
 
* [[Crossover / crossover operator]]
=== Selection ===
* [[Elitism]]
Selection rules select the individuals, called parents, that contribute to the population at the next generation.
* [[Exploration vs exploitation]]
 
* [[Fitness / fitness function / fitness landscape]]
=== Crossover ===
* [[Heuristics]]
Crossover rules combine two parents to form children for the next generation.
* [[Hill climbing]]
 
* [[Initialization parameters]]
=== Mutation ===
* [[Local extrema]]
Mutation rules apply random changes to individual parents to form children.
* [[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 ==
== Helpful resources ==

Latest revision as of 09: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]