Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
genetic_algorithm_tool [2012/03/02 03:21]
admin [Inputs]
genetic_algorithm_tool [2015/10/11 21:18]
admin
Line 12: Line 12:
 | Population Size  | [[Positive Int Type|Positive Int]]  | Number of individuals per population. ​ | | Population Size  | [[Positive Int Type|Positive Int]]  | Number of individuals per population. ​ |
 | Individual Genotype ​ | [[Lookup Table Group Type|Lookup Table Group  ]]  | The genotype that defines the template for individuals. ​ | | Individual Genotype ​ | [[Lookup Table Group Type|Lookup Table Group  ]]  | The genotype that defines the template for individuals. ​ |
-| Default Lower Bound  | [[Double ​Type|Double]]  | The default lower value for alleles. ​ | +| Default Lower Bound  | [[Real Value Type|Real Value]]  | The default lower value for alleles. ​ | 
-| Default Upper Bound  | [[Double ​Type|Double]]  | The default upper value for alleles. ​ |+| Default Upper Bound  | [[Real Value Type|Real Value]]  | The default upper value for alleles. ​ |
  
 ===== Optional Inputs ===== ===== Optional Inputs =====
Line 28: Line 28:
 ^ Name ^ Type ^ Description ^ ^ Name ^ Type ^ Description ^
 | Best Individual ​ | [[ Lookup Table Group Type|Lookup Table Group  ]]  | The resulting best individual from all generations. ​ | | Best Individual ​ | [[ Lookup Table Group Type|Lookup Table Group  ]]  | The resulting best individual from all generations. ​ |
-| Best Individual Fitness ​ | [[Double ​Type|Double ​ ​]] ​ | The '​fitness'​ score of the overall best individual. ​ | +| Best Individual Fitness ​ | [[Real Value Type|Real Value  ​]] ​ | The '​fitness'​ score of the overall best individual. ​ | 
-| Worst Fitness Per Generation | [[Double ​Type|Double ​ ​]] ​ | The '​fitness'​ score of the worst individual per generation. ​ |+| Worst Fitness Per Generation | [[Real Value Type|Real Value  ​]] ​ | The '​fitness'​ score of the worst individual per generation. ​ |
  
 ===== Group ===== ===== Group =====
Line 36: Line 36:
  
 ===== Notes ===== ===== Notes =====
 +
 +To calibrate Weights of Evidence coefficients,​ the "​.dcf"​ file representing the Weight of Evidence ranges and coefficients can be converted into the corresponding set of "​.csv"​ tables and back to the original format using the [[weights_of_evidence_file_conversion|ConvertWeightFiles utility]].
 +
 +If the "Meta Heuristic Evaluation Percent"​ parameter is defined, a percent of individuals estimate their corresponding fitness value using the [[wp>​K-nearest_neighbor_algorithm| KNN algorithm]]. To ensure the KNN estimations are accurate, the meta heuristic is used only after a given number of generations (usually after 30% of the total generations).
 +
 +When the convergence is used, it is detected when there is not even a minimum percent (1 - "​Convergence Limit"​) of improvement in the best fitness value in the window formed by the "​Number of Generations"​ last generations.
 +
 +Here is a summary of the algorithm implemented by this functor:
 +
 +1) First, an initial population of "​Population Size" individuals is generated using the initial individual ("​Individual Genotype"​) as a seed and the given bounds as lower and upper limit ("​Upper Bound" and "Lower Bound",​ respectively).
 +
 +2) Basically, there are two different execution modes (controlled by the "Use Convergence Stopping Criteria"​ flag): fixed number of generations ("​Number of Generations"​) or iteration until convergence.
 +
 +3) The fitness value for all individuals is calculated and the individual having the best fitness value is saved internally as the best individual for the current generation.
 +
 +4) A given percent of the individuals is selected based on [[wp>​Tournament_selection|tournament]] results. The selected individuals are reproduced using [[wp>​Crossover_(genetic_algorithm)|crossovers]] and [[wp>​Mutation_(genetic_algorithm)|mutations]] and used to form the next generation.
 +
 +6) If the stopping criteria defined by item 2 was not reached yet, the execution continues at item 3. Otherwise, the individual having the best fitness among all generations is returned. ​
  
 ===== Internal Name =====  ===== Internal Name =====