|
1 | 1 | export const theoryData = { |
2 | 2 | populationSize: { |
3 | | -title: "Population Size", |
4 | | -explanation: "The number of individuals in each generation. A larger population increases genetic diversity and the chance of finding a global optimum but requires more computational power.", |
| 3 | + title: "Population Size", |
| 4 | + explanation: |
| 5 | + "The number of individuals in each generation. A larger population increases genetic diversity and the chance of finding a global optimum but requires more computational power.", |
5 | 6 | }, |
6 | 7 | generations: { |
7 | | -title: "Generations", |
8 | | -explanation: "The total number of iterations the evolutionary process will run. More generations allow the population to converge on better solutions but increase execution time.", |
| 8 | + title: "Generations", |
| 9 | + explanation: |
| 10 | + "The total number of iterations the evolutionary process will run. More generations allow the population to converge on better solutions but increase execution time.", |
9 | 11 | }, |
10 | 12 | cxpb: { |
11 | | -title: "Crossover Probability", |
12 | | -explanation: "The probability that two parent individuals will exchange genetic material. High values promote the recombination of good traits from different individuals.", |
| 13 | + title: "Crossover Probability", |
| 14 | + explanation: |
| 15 | + "The probability that two parent individuals will exchange genetic material. High values promote the recombination of good traits from different individuals.", |
13 | 16 | }, |
14 | 17 | mutpb: { |
15 | | -title: "Mutation Probability", |
16 | | -explanation: "The probability that an individual's genes will be randomly altered. This introduces new genetic material, helping the population escape local optima.", |
| 18 | + title: "Mutation Probability", |
| 19 | + explanation: |
| 20 | + "The probability that an individual's genes will be randomly altered. This introduces new genetic material, helping the population escape local optima.", |
17 | 21 | }, |
18 | 22 | hof: { |
19 | | -title: "Hall of Fame", |
20 | | -explanation: "A special archive that stores the absolute best individuals found throughout the entire run, ensuring that the top solutions are never lost during evolution.", |
| 23 | + title: "Hall of Fame", |
| 24 | + explanation: |
| 25 | + "A special archive that stores the absolute best individuals found throughout the entire run, ensuring that the top solutions are never lost during evolution.", |
21 | 26 | }, |
22 | 27 | mu: { |
23 | | -title: "Mu (μ)", |
24 | | -explanation: "The number of individuals to be selected as parents for the next generation. It defines the size of the breeding pool.", |
| 28 | + title: "Mu (μ)", |
| 29 | + explanation: |
| 30 | + "The number of individuals to be selected as parents for the next generation. It defines the size of the breeding pool.", |
25 | 31 | }, |
26 | 32 | lambda: { |
27 | | -title: "Lambda (λ)", |
28 | | -explanation: "The number of children to be generated in each step. This determines the exploratory capacity of the algorithm per generation.", |
| 33 | + title: "Lambda (λ)", |
| 34 | + explanation: |
| 35 | + "The number of children to be generated in each step. This determines the exploratory capacity of the algorithm per generation.", |
29 | 36 | }, |
30 | 37 | tournamentSize: { |
31 | | -title: "Tournament Size", |
32 | | -explanation: "Used in selection: 'k' individuals are picked at random, and the best one wins. A larger tournament size increases selection pressure.", |
| 38 | + title: "Tournament Size", |
| 39 | + explanation: |
| 40 | + "Used in selection: 'k' individuals are picked at random, and the best one wins. A larger tournament size increases selection pressure.", |
33 | 41 | }, |
34 | 42 | phi1: { |
35 | | -title: "Cognitive Coefficient (φ1)", |
36 | | -explanation: "In PSO, this scales the influence of a particle's personal best performance on its current velocity.", |
| 43 | + title: "Cognitive Coefficient (φ1)", |
| 44 | + explanation: |
| 45 | + "In PSO, this scales the influence of a particle's personal best performance on its current velocity.", |
37 | 46 | }, |
38 | 47 | phi2: { |
39 | | -title: "Social Coefficient (φ2)", |
40 | | -explanation: "In PSO, this scales the influence of the swarm's global best performance on a particle's current velocity.", |
| 48 | + title: "Social Coefficient (φ2)", |
| 49 | + explanation: |
| 50 | + "In PSO, this scales the influence of the swarm's global best performance on a particle's current velocity.", |
41 | 51 | }, |
42 | 52 | dimensions: { |
43 | | - title: "Dimensions", |
44 | | -explanation: "The number of variables or parameters that the algorithm is trying to optimize simultaneously.", |
| 53 | + title: "Dimensions", |
| 54 | + explanation: |
| 55 | + "The number of variables or parameters that the algorithm is trying to optimize simultaneously.", |
45 | 56 | }, |
46 | 57 | algorithmStrategy: { |
47 | | -title: "Algorithm Strategy", |
48 | | -explanation: "The high-level logic governing evolution. 'eaSimple' is a basic generational model, while 'eaMuPlusLambda' and 'eaMuCommaLambda' use more advanced selection and replacement mechanics common in Evolution Strategies.", |
| 58 | + title: "Algorithm Strategy", |
| 59 | + explanation: |
| 60 | + "The high-level logic governing evolution. 'eaSimple' is a basic generational model, while 'eaMuPlusLambda' and 'eaMuCommaLambda' use more advanced selection and replacement mechanics common in Evolution Strategies.", |
49 | 61 | }, |
50 | 62 | psoStrategy: { |
51 | | -title: "PSO Strategy", |
52 | | -explanation: "Defines the velocity and position update logic for particles. 'original' uses the standard PSO formulas, while variants like 'multiswarm' or 'speciation' help the algorithm handle more complex optimization landscapes.", |
| 63 | + title: "PSO Strategy", |
| 64 | + explanation: |
| 65 | + "Defines the velocity and position update logic for particles. 'original' uses the standard PSO formulas, while variants like 'multiswarm' or 'speciation' help the algorithm handle more complex optimization landscapes.", |
53 | 66 | }, |
54 | 67 | benchmarkFunction: { |
55 | | -title: "Benchmark Function", |
56 | | -explanation: "Mathematical functions used to evaluate optimization performance. Each function (like Ackley, Rastrigin, or Rosenbrock) represents a unique 'landscape' with different challenges for the algorithm to solve.", |
| 68 | + title: "Benchmark Function", |
| 69 | + explanation: |
| 70 | + "Mathematical functions used to evaluate optimization performance. Each function (like Ackley, Rastrigin, or Rosenbrock) represents a unique 'landscape' with different challenges for the algorithm to solve.", |
57 | 71 | }, |
58 | 72 | weights: { |
59 | 73 | title: "Weights", |
60 | | - explanation: "Coefficients that determine the importance of different objectives in the fitness function. If you have multiple goals, weights help the algorithm prioritize between them (e.g., maximizing accuracy vs. minimizing complexity).", |
| 74 | + explanation: |
| 75 | + "Coefficients that determine the importance of different objectives in the fitness function. If you have multiple goals, weights help the algorithm prioritize between them (e.g., maximizing accuracy vs. minimizing complexity).", |
61 | 76 | }, |
62 | 77 | matingFunction: { |
63 | 78 | title: "Mating (Crossover)", |
64 | | - explanation: "The mechanism of biological recombination. It combines genetic information from two parents to generate offspring, aiming to produce better solutions by merging high-performing traits.", |
| 79 | + explanation: |
| 80 | + "The mechanism of biological recombination. It combines genetic information from two parents to generate offspring, aiming to produce better solutions by merging high-performing traits.", |
65 | 81 | }, |
66 | 82 | mutationFunction: { |
67 | 83 | title: "Mutation", |
68 | | - explanation: "Introduces random changes to individuals. This prevents premature convergence and ensures the algorithm explores new areas of the search space, maintaining genetic diversity.", |
| 84 | + explanation: |
| 85 | + "Introduces random changes to individuals. This prevents premature convergence and ensures the algorithm explores new areas of the search space, maintaining genetic diversity.", |
69 | 86 | }, |
70 | 87 | selectionFunction: { |
71 | 88 | title: "Selection", |
72 | | - explanation: "The 'survival of the fittest' phase. It determines which individuals from the current population will be kept as parents for the next generation based on their fitness scores.", |
| 89 | + explanation: |
| 90 | + "The 'survival of the fittest' phase. It determines which individuals from the current population will be kept as parents for the next generation based on their fitness scores.", |
73 | 91 | }, |
74 | 92 | datasetUrl: { |
75 | 93 | title: "Dataset Source", |
76 | | - explanation: "The raw data used for training and evaluation. In ML tuning, the algorithm uses this data to test how well different model parameters perform.", |
| 94 | + explanation: |
| 95 | + "The raw data used for training and evaluation. In ML tuning, the algorithm uses this data to test how well different model parameters perform.", |
77 | 96 | }, |
78 | 97 | targetColumn: { |
79 | 98 | title: "Target Variable", |
80 | | - explanation: "The specific column in your dataset that you want the model to predict (the dependent variable).", |
| 99 | + explanation: |
| 100 | + "The specific column in your dataset that you want the model to predict (the dependent variable).", |
81 | 101 | }, |
82 | 102 | mlEvalFunction: { |
83 | 103 | title: "ML Evaluation", |
84 | | - explanation: "The metric used to judge the performance of the machine learning model (e.g., Accuracy, F1-score, or MSE). The EA optimizes this value.", |
| 104 | + explanation: |
| 105 | + "The metric used to judge the performance of the machine learning model (e.g., Accuracy, F1-score, or MSE). The EA optimizes this value.", |
85 | 106 | }, |
86 | 107 | individualSize: { |
87 | 108 | title: "Individual Size", |
88 | | - explanation: "The length of the chromosome or the number of genes representing a solution. For example, in bit manipulation, it's the number of bits per individual.", |
| 109 | + explanation: |
| 110 | + "The length of the chromosome or the number of genes representing a solution. For example, in bit manipulation, it's the number of bits per individual.", |
89 | 111 | }, |
90 | 112 | minMaxBoundaries: { |
91 | 113 | title: "Search Boundaries", |
92 | | - explanation: "The constraints on the search space. Defines the minimum and maximum values that a gene (or particle position) can take.", |
| 114 | + explanation: |
| 115 | + "The constraints on the search space. Defines the minimum and maximum values that a gene (or particle position) can take.", |
93 | 116 | }, |
94 | 117 | gpPrimitiveSet: { |
95 | 118 | title: "Primitive Set", |
96 | | - explanation: "The building blocks for Genetic Programs. It includes functions (operators like +, -, *, /) and terminals (constants like 1, 2, or variables like 'x'). Crossing these creates complex tree structures.", |
| 119 | + explanation: |
| 120 | + "The building blocks for Genetic Programs. It includes functions (operators like +, -, *, /) and terminals (constants like 1, 2, or variables like 'x'). Crossing these creates complex tree structures.", |
97 | 121 | }, |
98 | 122 | treeGenerator: { |
99 | 123 | title: "Tree Generator", |
100 | | - explanation: "The algorithm used to create the initial programs. 'genFull' creates balanced trees where every branch reaches max depth, while 'genHalfAndHalf' provides a mix of short and deep trees for better diversity.", |
| 124 | + explanation: |
| 125 | + "The algorithm used to create the initial programs. 'genFull' creates balanced trees where every branch reaches max depth, while 'genHalfAndHalf' provides a mix of short and deep trees for better diversity.", |
101 | 126 | }, |
102 | 127 | bloatLimits: { |
103 | 128 | title: "Bloat Control", |
104 | | - explanation: "Prevents programs from growing excessively large without improving fitness. By setting a height limit, we ensure the solutions remain computationally efficient and readable.", |
105 | | - } |
| 129 | + explanation: |
| 130 | + "Prevents programs from growing excessively large without improving fitness. By setting a height limit, we ensure the solutions remain computationally efficient and readable.", |
| 131 | + }, |
106 | 132 | }; |
0 commit comments