charlie 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. data/History.txt +14 -0
  2. data/Manifest.txt +13 -22
  3. data/README.txt +3 -3
  4. data/Rakefile +1 -1
  5. data/TODO.txt +11 -21
  6. data/data/BENCHMARK +25 -23
  7. data/data/CROSSOVER +5 -1
  8. data/data/GENOTYPE +6 -6
  9. data/data/MUTATION +19 -7
  10. data/data/SELECTION +2 -1
  11. data/data/template.html +2 -1
  12. data/examples/EXAMPLES_README.txt +70 -0
  13. data/examples/bitstring.rb +72 -0
  14. data/examples/{gladiatorial_sunburn.rb → coevolution.rb} +80 -22
  15. data/examples/function_optimization.rb +113 -0
  16. data/examples/output/{royalroad1_report.html → bitstring_royalroad.html} +822 -655
  17. data/examples/output/function_optimization_sombrero.html +2289 -0
  18. data/examples/output/function_optimization_twopeak.csv +210 -0
  19. data/examples/output/function_optimization_twopeak.html +2477 -0
  20. data/examples/output/string_weasel.html +513 -0
  21. data/examples/output/tsp.html +633 -882
  22. data/examples/{money.rb → permutation.rb} +20 -8
  23. data/examples/string.rb +98 -0
  24. data/examples/tree.rb +37 -12
  25. data/examples/tsp.rb +34 -22
  26. data/lib/charlie.rb +5 -1
  27. data/lib/charlie/1.9fixes.rb +46 -0
  28. data/lib/charlie/crossover.rb +31 -14
  29. data/lib/charlie/etc/minireport.rb +5 -4
  30. data/lib/charlie/etc/monkey.rb +11 -8
  31. data/lib/charlie/gabenchmark.rb +230 -0
  32. data/lib/charlie/genotype.rb +4 -0
  33. data/lib/charlie/list/list_crossover.rb +25 -5
  34. data/lib/charlie/mutate.rb +34 -7
  35. data/lib/charlie/permutation/permutation.rb +34 -6
  36. data/lib/charlie/population.rb +12 -122
  37. data/lib/charlie/selection.rb +1 -0
  38. data/lib/charlie/tree/tree.rb +179 -17
  39. data/test/t_common.rb +1 -1
  40. data/test/test_benchmark.rb +19 -5
  41. data/test/test_cross.rb +23 -1
  42. data/test/test_evolve.rb +14 -1
  43. data/test/test_mutator.rb +28 -2
  44. data/test/test_permutation.rb +23 -1
  45. data/test/test_sel.rb +3 -1
  46. data/test/test_tree.rb +63 -1
  47. metadata +17 -25
  48. data/examples/bit.rb +0 -10
  49. data/examples/function_opt_2peak.rb +0 -24
  50. data/examples/function_opt_sombero.rb +0 -38
  51. data/examples/gladiatorial_simple.rb +0 -17
  52. data/examples/gridwalk.rb +0 -29
  53. data/examples/output/flattened_sombero.html +0 -6400
  54. data/examples/output/flattened_sombero2_.html +0 -3576
  55. data/examples/output/fopt1_dblopt.html +0 -2160
  56. data/examples/output/hill10.html +0 -5816
  57. data/examples/output/hill2.csv +0 -24
  58. data/examples/output/hill2.html +0 -384
  59. data/examples/output/royalroad2_report.html +0 -1076
  60. data/examples/output/royalroadquick_report.html +0 -504
  61. data/examples/output/weasel1_report.html +0 -1076
  62. data/examples/output/weasel2_report.html +0 -240
  63. data/examples/royalroad.rb +0 -26
  64. data/examples/royalroad2.rb +0 -18
  65. data/examples/simple_climb_hill2.rb +0 -47
  66. data/examples/weasel.rb +0 -36
@@ -1,1076 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
-
3
- <html xmlns="http://www.w3.org/1999/xhtml">
4
- <head>
5
- <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
6
- <title>GA Benchmark Report</title>
7
- <style type='text/css'>
8
- table{
9
- background: #ccc;
10
- font-family: Verdana, Helvetica, sans-serif;
11
- }
12
- th {
13
- background: #666;
14
- color: white;
15
- padding: 3px;
16
- font-weight: bold;
17
- }
18
- td {
19
- color: #333;
20
- background: #e2e2e2;
21
- padding: 2px;
22
- text-align: center;
23
- }
24
- </style>
25
-
26
- </script>
27
- <script type="text/javascript">
28
-
29
- </script>
30
- </head>
31
- <body>
32
- <h1>Information</h1>
33
-
34
- <table>
35
- <tr><td>Genotype class</td><td>Weasel</td></tr>
36
- <tr><td>Population size</td><td>20</td></tr>
37
- <tr><td># of generations per run</td><td>50</td></tr>
38
- <tr><td>Number of tests </td><td>90</td></tr>
39
- <tr><td>Tests repeated </td><td>10 times</td></tr>
40
- <tr><td>Number of runs </td><td>900</td></tr>
41
- <tr><td>Total number of generations </td><td>45000</td></tr>
42
- <tr><td>Total time</td><td>259.96 seconds</td></tr>
43
- </table
44
- <h1>Stats for all</h1><table>
45
- <tr><th>.</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>avg-time</th></tr>
46
- <tr>
47
- <td>All</td>
48
- <td>1.00000</td>
49
- <td>22.00000</td>
50
- <td>11.54444</td>
51
- <td>4.55719</td>
52
- <td>0.28876</td>
53
- </tr>
54
- </table><h1>Stats for selection</h1><table>
55
- <tr><th>selection</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>avg-time</th></tr>
56
- <tr>
57
- <td>TruncationSelection(0.3)</td>
58
- <td>11.00000</td>
59
- <td>22.00000</td>
60
- <td>16.20000</td>
61
- <td>2.29347</td>
62
- <td>0.20567</td>
63
- </tr>
64
- <tr>
65
- <td>TruncationSelection(1)</td>
66
- <td>9.00000</td>
67
- <td>22.00000</td>
68
- <td>16.16667</td>
69
- <td>2.50000</td>
70
- <td>0.21160</td>
71
- </tr>
72
- <tr>
73
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
74
- <td>7.00000</td>
75
- <td>15.00000</td>
76
- <td>10.71111</td>
77
- <td>1.64819</td>
78
- <td>0.39368</td>
79
- </tr>
80
- <tr>
81
- <td>Elitism(RouletteSelection,1)</td>
82
- <td>6.00000</td>
83
- <td>12.00000</td>
84
- <td>8.86667</td>
85
- <td>1.48099</td>
86
- <td>0.39656</td>
87
- </tr>
88
- <tr>
89
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
90
- <td>1.00000</td>
91
- <td>11.00000</td>
92
- <td>5.77778</td>
93
- <td>1.80603</td>
94
- <td>0.23631</td>
95
- </tr>
96
- </table><h1>Stats for crossover</h1><table>
97
- <tr><th>crossover</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>avg-time</th></tr>
98
- <tr>
99
- <td>UniformCrossover</td>
100
- <td>2.00000</td>
101
- <td>22.00000</td>
102
- <td>12.40667</td>
103
- <td>5.14535</td>
104
- <td>0.31242</td>
105
- </tr>
106
- <tr>
107
- <td>SinglePointCrossover</td>
108
- <td>1.00000</td>
109
- <td>21.00000</td>
110
- <td>11.61667</td>
111
- <td>4.60540</td>
112
- <td>0.28160</td>
113
- </tr>
114
- <tr>
115
- <td>NullCrossover</td>
116
- <td>2.00000</td>
117
- <td>17.00000</td>
118
- <td>10.61000</td>
119
- <td>3.60526</td>
120
- <td>0.27228</td>
121
- </tr>
122
- </table><h1>Stats for mutation</h1><table>
123
- <tr><th>mutation</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>avg-time</th></tr>
124
- <tr>
125
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
126
- <td>3.00000</td>
127
- <td>22.00000</td>
128
- <td>12.23333</td>
129
- <td>4.80058</td>
130
- <td>0.26647</td>
131
- </tr>
132
- <tr>
133
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
134
- <td>3.00000</td>
135
- <td>20.00000</td>
136
- <td>11.70667</td>
137
- <td>4.49822</td>
138
- <td>0.28006</td>
139
- </tr>
140
- <tr>
141
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
142
- <td>2.00000</td>
143
- <td>21.00000</td>
144
- <td>11.59333</td>
145
- <td>4.63479</td>
146
- <td>0.31108</td>
147
- </tr>
148
- <tr>
149
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
150
- <td>2.00000</td>
151
- <td>22.00000</td>
152
- <td>11.56000</td>
153
- <td>4.69110</td>
154
- <td>0.25163</td>
155
- </tr>
156
- <tr>
157
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
158
- <td>3.00000</td>
159
- <td>21.00000</td>
160
- <td>11.41333</td>
161
- <td>4.70345</td>
162
- <td>0.32141</td>
163
- </tr>
164
- <tr>
165
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
166
- <td>1.00000</td>
167
- <td>19.00000</td>
168
- <td>10.76000</td>
169
- <td>3.81869</td>
170
- <td>0.30193</td>
171
- </tr>
172
- </table><h1>Raw Stats</h1><table>
173
- <tr><th>selection</th><th>crossover</th><th>mutation</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>avg-time</th></tr>
174
- <tr>
175
- <td>TruncationSelection(1)</td>
176
- <td>UniformCrossover</td>
177
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
178
- <td>17.00000</td>
179
- <td>22.00000</td>
180
- <td>19.40000</td>
181
- <td>1.68523</td>
182
- <td>0.21347</td>
183
- </tr>
184
- <tr>
185
- <td>TruncationSelection(0.3)</td>
186
- <td>UniformCrossover</td>
187
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
188
- <td>17.00000</td>
189
- <td>22.00000</td>
190
- <td>18.80000</td>
191
- <td>1.46969</td>
192
- <td>0.20534</td>
193
- </tr>
194
- <tr>
195
- <td>TruncationSelection(1)</td>
196
- <td>UniformCrossover</td>
197
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
198
- <td>16.00000</td>
199
- <td>21.00000</td>
200
- <td>18.70000</td>
201
- <td>1.34536</td>
202
- <td>0.25288</td>
203
- </tr>
204
- <tr>
205
- <td>TruncationSelection(0.3)</td>
206
- <td>UniformCrossover</td>
207
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
208
- <td>17.00000</td>
209
- <td>21.00000</td>
210
- <td>18.60000</td>
211
- <td>1.35647</td>
212
- <td>0.19316</td>
213
- </tr>
214
- <tr>
215
- <td>TruncationSelection(0.3)</td>
216
- <td>UniformCrossover</td>
217
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
218
- <td>16.00000</td>
219
- <td>20.00000</td>
220
- <td>18.30000</td>
221
- <td>1.26886</td>
222
- <td>0.21617</td>
223
- </tr>
224
- <tr>
225
- <td>TruncationSelection(1)</td>
226
- <td>UniformCrossover</td>
227
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
228
- <td>14.00000</td>
229
- <td>22.00000</td>
230
- <td>18.30000</td>
231
- <td>2.60960</td>
232
- <td>0.20165</td>
233
- </tr>
234
- <tr>
235
- <td>TruncationSelection(1)</td>
236
- <td>UniformCrossover</td>
237
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
238
- <td>15.00000</td>
239
- <td>20.00000</td>
240
- <td>18.30000</td>
241
- <td>1.55242</td>
242
- <td>0.24639</td>
243
- </tr>
244
- <tr>
245
- <td>TruncationSelection(0.3)</td>
246
- <td>UniformCrossover</td>
247
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
248
- <td>16.00000</td>
249
- <td>20.00000</td>
250
- <td>18.20000</td>
251
- <td>1.32665</td>
252
- <td>0.24456</td>
253
- </tr>
254
- <tr>
255
- <td>TruncationSelection(0.3)</td>
256
- <td>UniformCrossover</td>
257
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
258
- <td>15.00000</td>
259
- <td>20.00000</td>
260
- <td>18.00000</td>
261
- <td>1.54919</td>
262
- <td>0.25238</td>
263
- </tr>
264
- <tr>
265
- <td>TruncationSelection(1)</td>
266
- <td>UniformCrossover</td>
267
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
268
- <td>14.00000</td>
269
- <td>19.00000</td>
270
- <td>17.80000</td>
271
- <td>1.32665</td>
272
- <td>0.22145</td>
273
- </tr>
274
- <tr>
275
- <td>TruncationSelection(1)</td>
276
- <td>SinglePointCrossover</td>
277
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
278
- <td>16.00000</td>
279
- <td>21.00000</td>
280
- <td>17.60000</td>
281
- <td>1.42829</td>
282
- <td>0.18827</td>
283
- </tr>
284
- <tr>
285
- <td>TruncationSelection(0.3)</td>
286
- <td>SinglePointCrossover</td>
287
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
288
- <td>15.00000</td>
289
- <td>20.00000</td>
290
- <td>17.20000</td>
291
- <td>1.24900</td>
292
- <td>0.16548</td>
293
- </tr>
294
- <tr>
295
- <td>TruncationSelection(0.3)</td>
296
- <td>SinglePointCrossover</td>
297
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
298
- <td>15.00000</td>
299
- <td>19.00000</td>
300
- <td>17.10000</td>
301
- <td>1.04403</td>
302
- <td>0.17995</td>
303
- </tr>
304
- <tr>
305
- <td>TruncationSelection(1)</td>
306
- <td>SinglePointCrossover</td>
307
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
308
- <td>15.00000</td>
309
- <td>19.00000</td>
310
- <td>17.00000</td>
311
- <td>1.26491</td>
312
- <td>0.19736</td>
313
- </tr>
314
- <tr>
315
- <td>TruncationSelection(0.3)</td>
316
- <td>SinglePointCrossover</td>
317
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
318
- <td>15.00000</td>
319
- <td>19.00000</td>
320
- <td>17.00000</td>
321
- <td>1.00000</td>
322
- <td>0.22310</td>
323
- </tr>
324
- <tr>
325
- <td>TruncationSelection(0.3)</td>
326
- <td>SinglePointCrossover</td>
327
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
328
- <td>15.00000</td>
329
- <td>19.00000</td>
330
- <td>16.90000</td>
331
- <td>1.04403</td>
332
- <td>0.21077</td>
333
- </tr>
334
- <tr>
335
- <td>TruncationSelection(1)</td>
336
- <td>SinglePointCrossover</td>
337
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
338
- <td>14.00000</td>
339
- <td>21.00000</td>
340
- <td>16.80000</td>
341
- <td>1.93907</td>
342
- <td>0.22236</td>
343
- </tr>
344
- <tr>
345
- <td>TruncationSelection(1)</td>
346
- <td>SinglePointCrossover</td>
347
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
348
- <td>13.00000</td>
349
- <td>19.00000</td>
350
- <td>16.50000</td>
351
- <td>1.56525</td>
352
- <td>0.17716</td>
353
- </tr>
354
- <tr>
355
- <td>TruncationSelection(1)</td>
356
- <td>SinglePointCrossover</td>
357
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
358
- <td>15.00000</td>
359
- <td>18.00000</td>
360
- <td>16.30000</td>
361
- <td>1.00499</td>
362
- <td>0.23049</td>
363
- </tr>
364
- <tr>
365
- <td>TruncationSelection(0.3)</td>
366
- <td>SinglePointCrossover</td>
367
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
368
- <td>14.00000</td>
369
- <td>18.00000</td>
370
- <td>16.30000</td>
371
- <td>1.34536</td>
372
- <td>0.21604</td>
373
- </tr>
374
- <tr>
375
- <td>TruncationSelection(0.3)</td>
376
- <td>UniformCrossover</td>
377
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
378
- <td>13.00000</td>
379
- <td>19.00000</td>
380
- <td>16.20000</td>
381
- <td>1.83303</td>
382
- <td>0.23726</td>
383
- </tr>
384
- <tr>
385
- <td>TruncationSelection(1)</td>
386
- <td>NullCrossover</td>
387
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
388
- <td>15.00000</td>
389
- <td>17.00000</td>
390
- <td>15.80000</td>
391
- <td>0.60000</td>
392
- <td>0.18462</td>
393
- </tr>
394
- <tr>
395
- <td>TruncationSelection(0.3)</td>
396
- <td>SinglePointCrossover</td>
397
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
398
- <td>13.00000</td>
399
- <td>19.00000</td>
400
- <td>15.70000</td>
401
- <td>1.73494</td>
402
- <td>0.21307</td>
403
- </tr>
404
- <tr>
405
- <td>TruncationSelection(0.3)</td>
406
- <td>NullCrossover</td>
407
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
408
- <td>14.00000</td>
409
- <td>17.00000</td>
410
- <td>15.40000</td>
411
- <td>0.91652</td>
412
- <td>0.16039</td>
413
- </tr>
414
- <tr>
415
- <td>TruncationSelection(1)</td>
416
- <td>UniformCrossover</td>
417
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
418
- <td>12.00000</td>
419
- <td>18.00000</td>
420
- <td>15.20000</td>
421
- <td>1.83303</td>
422
- <td>0.23930</td>
423
- </tr>
424
- <tr>
425
- <td>TruncationSelection(1)</td>
426
- <td>NullCrossover</td>
427
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
428
- <td>13.00000</td>
429
- <td>17.00000</td>
430
- <td>14.80000</td>
431
- <td>1.16619</td>
432
- <td>0.19402</td>
433
- </tr>
434
- <tr>
435
- <td>TruncationSelection(1)</td>
436
- <td>SinglePointCrossover</td>
437
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
438
- <td>12.00000</td>
439
- <td>18.00000</td>
440
- <td>14.70000</td>
441
- <td>1.84662</td>
442
- <td>0.21586</td>
443
- </tr>
444
- <tr>
445
- <td>TruncationSelection(1)</td>
446
- <td>NullCrossover</td>
447
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
448
- <td>12.00000</td>
449
- <td>16.00000</td>
450
- <td>14.00000</td>
451
- <td>1.09545</td>
452
- <td>0.21681</td>
453
- </tr>
454
- <tr>
455
- <td>TruncationSelection(0.3)</td>
456
- <td>NullCrossover</td>
457
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
458
- <td>12.00000</td>
459
- <td>15.00000</td>
460
- <td>14.00000</td>
461
- <td>1.00000</td>
462
- <td>0.23716</td>
463
- </tr>
464
- <tr>
465
- <td>TruncationSelection(0.3)</td>
466
- <td>NullCrossover</td>
467
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
468
- <td>13.00000</td>
469
- <td>16.00000</td>
470
- <td>14.00000</td>
471
- <td>0.89443</td>
472
- <td>0.17465</td>
473
- </tr>
474
- <tr>
475
- <td>TruncationSelection(1)</td>
476
- <td>NullCrossover</td>
477
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
478
- <td>11.00000</td>
479
- <td>16.00000</td>
480
- <td>13.80000</td>
481
- <td>1.40000</td>
482
- <td>0.17297</td>
483
- </tr>
484
- <tr>
485
- <td>TruncationSelection(0.3)</td>
486
- <td>NullCrossover</td>
487
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
488
- <td>11.00000</td>
489
- <td>16.00000</td>
490
- <td>13.80000</td>
491
- <td>1.46969</td>
492
- <td>0.14808</td>
493
- </tr>
494
- <tr>
495
- <td>TruncationSelection(0.3)</td>
496
- <td>NullCrossover</td>
497
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
498
- <td>12.00000</td>
499
- <td>15.00000</td>
500
- <td>13.80000</td>
501
- <td>0.97980</td>
502
- <td>0.22095</td>
503
- </tr>
504
- <tr>
505
- <td>TruncationSelection(1)</td>
506
- <td>NullCrossover</td>
507
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
508
- <td>12.00000</td>
509
- <td>17.00000</td>
510
- <td>13.80000</td>
511
- <td>1.32665</td>
512
- <td>0.22418</td>
513
- </tr>
514
- <tr>
515
- <td>TruncationSelection(0.3)</td>
516
- <td>NullCrossover</td>
517
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
518
- <td>11.00000</td>
519
- <td>15.00000</td>
520
- <td>12.30000</td>
521
- <td>1.34536</td>
522
- <td>0.20360</td>
523
- </tr>
524
- <tr>
525
- <td>TruncationSelection(1)</td>
526
- <td>NullCrossover</td>
527
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
528
- <td>9.00000</td>
529
- <td>15.00000</td>
530
- <td>12.20000</td>
531
- <td>1.98997</td>
532
- <td>0.20951</td>
533
- </tr>
534
- <tr>
535
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
536
- <td>UniformCrossover</td>
537
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
538
- <td>9.00000</td>
539
- <td>14.00000</td>
540
- <td>11.70000</td>
541
- <td>1.48661</td>
542
- <td>0.39961</td>
543
- </tr>
544
- <tr>
545
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
546
- <td>UniformCrossover</td>
547
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
548
- <td>8.00000</td>
549
- <td>15.00000</td>
550
- <td>11.40000</td>
551
- <td>1.80000</td>
552
- <td>0.40962</td>
553
- </tr>
554
- <tr>
555
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
556
- <td>NullCrossover</td>
557
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
558
- <td>8.00000</td>
559
- <td>14.00000</td>
560
- <td>11.40000</td>
561
- <td>1.90788</td>
562
- <td>0.39958</td>
563
- </tr>
564
- <tr>
565
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
566
- <td>UniformCrossover</td>
567
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
568
- <td>9.00000</td>
569
- <td>14.00000</td>
570
- <td>11.30000</td>
571
- <td>1.61555</td>
572
- <td>0.44608</td>
573
- </tr>
574
- <tr>
575
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
576
- <td>UniformCrossover</td>
577
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
578
- <td>10.00000</td>
579
- <td>13.00000</td>
580
- <td>11.20000</td>
581
- <td>1.24900</td>
582
- <td>0.45803</td>
583
- </tr>
584
- <tr>
585
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
586
- <td>NullCrossover</td>
587
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
588
- <td>9.00000</td>
589
- <td>15.00000</td>
590
- <td>11.20000</td>
591
- <td>1.88680</td>
592
- <td>0.33278</td>
593
- </tr>
594
- <tr>
595
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
596
- <td>NullCrossover</td>
597
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
598
- <td>10.00000</td>
599
- <td>13.00000</td>
600
- <td>11.10000</td>
601
- <td>0.94340</td>
602
- <td>0.34797</td>
603
- </tr>
604
- <tr>
605
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
606
- <td>SinglePointCrossover</td>
607
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
608
- <td>7.00000</td>
609
- <td>14.00000</td>
610
- <td>11.00000</td>
611
- <td>1.84391</td>
612
- <td>0.39965</td>
613
- </tr>
614
- <tr>
615
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
616
- <td>UniformCrossover</td>
617
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
618
- <td>8.00000</td>
619
- <td>13.00000</td>
620
- <td>10.70000</td>
621
- <td>1.61555</td>
622
- <td>0.38150</td>
623
- </tr>
624
- <tr>
625
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
626
- <td>UniformCrossover</td>
627
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
628
- <td>9.00000</td>
629
- <td>13.00000</td>
630
- <td>10.50000</td>
631
- <td>1.56525</td>
632
- <td>0.43519</td>
633
- </tr>
634
- <tr>
635
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
636
- <td>SinglePointCrossover</td>
637
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
638
- <td>9.00000</td>
639
- <td>12.00000</td>
640
- <td>10.50000</td>
641
- <td>1.02470</td>
642
- <td>0.41064</td>
643
- </tr>
644
- <tr>
645
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
646
- <td>SinglePointCrossover</td>
647
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
648
- <td>9.00000</td>
649
- <td>13.00000</td>
650
- <td>10.40000</td>
651
- <td>1.28062</td>
652
- <td>0.34503</td>
653
- </tr>
654
- <tr>
655
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
656
- <td>SinglePointCrossover</td>
657
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
658
- <td>8.00000</td>
659
- <td>13.00000</td>
660
- <td>10.30000</td>
661
- <td>1.67631</td>
662
- <td>0.36069</td>
663
- </tr>
664
- <tr>
665
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
666
- <td>SinglePointCrossover</td>
667
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
668
- <td>8.00000</td>
669
- <td>14.00000</td>
670
- <td>10.20000</td>
671
- <td>1.66132</td>
672
- <td>0.42234</td>
673
- </tr>
674
- <tr>
675
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
676
- <td>SinglePointCrossover</td>
677
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
678
- <td>8.00000</td>
679
- <td>11.00000</td>
680
- <td>10.20000</td>
681
- <td>1.07703</td>
682
- <td>0.37647</td>
683
- </tr>
684
- <tr>
685
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
686
- <td>NullCrossover</td>
687
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
688
- <td>8.00000</td>
689
- <td>11.00000</td>
690
- <td>10.10000</td>
691
- <td>0.94340</td>
692
- <td>0.36336</td>
693
- </tr>
694
- <tr>
695
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
696
- <td>NullCrossover</td>
697
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
698
- <td>7.00000</td>
699
- <td>12.00000</td>
700
- <td>9.90000</td>
701
- <td>1.70000</td>
702
- <td>0.38802</td>
703
- </tr>
704
- <tr>
705
- <td>Elitism(RouletteSelection,1)</td>
706
- <td>NullCrossover</td>
707
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
708
- <td>8.00000</td>
709
- <td>12.00000</td>
710
- <td>9.90000</td>
711
- <td>1.22066</td>
712
- <td>0.35524</td>
713
- </tr>
714
- <tr>
715
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
716
- <td>NullCrossover</td>
717
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
718
- <td>7.00000</td>
719
- <td>13.00000</td>
720
- <td>9.70000</td>
721
- <td>1.90000</td>
722
- <td>0.40975</td>
723
- </tr>
724
- <tr>
725
- <td>Elitism(RouletteSelection,1)</td>
726
- <td>NullCrossover</td>
727
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
728
- <td>7.00000</td>
729
- <td>12.00000</td>
730
- <td>9.40000</td>
731
- <td>1.74356</td>
732
- <td>0.36832</td>
733
- </tr>
734
- <tr>
735
- <td>Elitism(RouletteSelection,1)</td>
736
- <td>NullCrossover</td>
737
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
738
- <td>7.00000</td>
739
- <td>12.00000</td>
740
- <td>9.30000</td>
741
- <td>1.61555</td>
742
- <td>0.41325</td>
743
- </tr>
744
- <tr>
745
- <td>Elitism(RouletteSelection,1)</td>
746
- <td>SinglePointCrossover</td>
747
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
748
- <td>8.00000</td>
749
- <td>12.00000</td>
750
- <td>9.20000</td>
751
- <td>1.16619</td>
752
- <td>0.37805</td>
753
- </tr>
754
- <tr>
755
- <td>Elitism(RouletteSelection,1)</td>
756
- <td>NullCrossover</td>
757
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
758
- <td>8.00000</td>
759
- <td>12.00000</td>
760
- <td>9.20000</td>
761
- <td>1.32665</td>
762
- <td>0.40384</td>
763
- </tr>
764
- <tr>
765
- <td>Elitism(RouletteSelection,1)</td>
766
- <td>UniformCrossover</td>
767
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
768
- <td>7.00000</td>
769
- <td>12.00000</td>
770
- <td>9.20000</td>
771
- <td>1.32665</td>
772
- <td>0.44727</td>
773
- </tr>
774
- <tr>
775
- <td>Elitism(RouletteSelection,1)</td>
776
- <td>UniformCrossover</td>
777
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
778
- <td>6.00000</td>
779
- <td>12.00000</td>
780
- <td>9.10000</td>
781
- <td>1.70000</td>
782
- <td>0.38334</td>
783
- </tr>
784
- <tr>
785
- <td>Elitism(RouletteSelection,1)</td>
786
- <td>UniformCrossover</td>
787
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
788
- <td>7.00000</td>
789
- <td>11.00000</td>
790
- <td>9.10000</td>
791
- <td>1.13578</td>
792
- <td>0.41384</td>
793
- </tr>
794
- <tr>
795
- <td>Elitism(RouletteSelection,1)</td>
796
- <td>UniformCrossover</td>
797
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
798
- <td>7.00000</td>
799
- <td>12.00000</td>
800
- <td>9.10000</td>
801
- <td>1.44568</td>
802
- <td>0.39982</td>
803
- </tr>
804
- <tr>
805
- <td>Elitism(RouletteSelection,1)</td>
806
- <td>NullCrossover</td>
807
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
808
- <td>7.00000</td>
809
- <td>10.00000</td>
810
- <td>8.70000</td>
811
- <td>1.10000</td>
812
- <td>0.33857</td>
813
- </tr>
814
- <tr>
815
- <td>Elitism(RouletteSelection,1)</td>
816
- <td>SinglePointCrossover</td>
817
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
818
- <td>7.00000</td>
819
- <td>10.00000</td>
820
- <td>8.70000</td>
821
- <td>1.10000</td>
822
- <td>0.40404</td>
823
- </tr>
824
- <tr>
825
- <td>Elitism(RouletteSelection,1)</td>
826
- <td>SinglePointCrossover</td>
827
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
828
- <td>6.00000</td>
829
- <td>12.00000</td>
830
- <td>8.70000</td>
831
- <td>1.90000</td>
832
- <td>0.41032</td>
833
- </tr>
834
- <tr>
835
- <td>Elitism(RouletteSelection,1)</td>
836
- <td>UniformCrossover</td>
837
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
838
- <td>6.00000</td>
839
- <td>10.00000</td>
840
- <td>8.60000</td>
841
- <td>1.11355</td>
842
- <td>0.45862</td>
843
- </tr>
844
- <tr>
845
- <td>Elitism(RouletteSelection,1)</td>
846
- <td>NullCrossover</td>
847
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
848
- <td>7.00000</td>
849
- <td>11.00000</td>
850
- <td>8.50000</td>
851
- <td>1.43178</td>
852
- <td>0.39340</td>
853
- </tr>
854
- <tr>
855
- <td>Elitism(RouletteSelection,1)</td>
856
- <td>SinglePointCrossover</td>
857
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
858
- <td>6.00000</td>
859
- <td>11.00000</td>
860
- <td>8.50000</td>
861
- <td>1.74642</td>
862
- <td>0.36392</td>
863
- </tr>
864
- <tr>
865
- <td>Elitism(RouletteSelection,1)</td>
866
- <td>SinglePointCrossover</td>
867
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
868
- <td>6.00000</td>
869
- <td>10.00000</td>
870
- <td>8.50000</td>
871
- <td>1.20416</td>
872
- <td>0.42345</td>
873
- </tr>
874
- <tr>
875
- <td>Elitism(RouletteSelection,1)</td>
876
- <td>UniformCrossover</td>
877
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
878
- <td>6.00000</td>
879
- <td>10.00000</td>
880
- <td>8.40000</td>
881
- <td>1.28062</td>
882
- <td>0.43669</td>
883
- </tr>
884
- <tr>
885
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
886
- <td>UniformCrossover</td>
887
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
888
- <td>5.00000</td>
889
- <td>11.00000</td>
890
- <td>7.70000</td>
891
- <td>1.61555</td>
892
- <td>0.23961</td>
893
- </tr>
894
- <tr>
895
- <td>Elitism(RouletteSelection,1)</td>
896
- <td>SinglePointCrossover</td>
897
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
898
- <td>6.00000</td>
899
- <td>9.00000</td>
900
- <td>7.50000</td>
901
- <td>1.02470</td>
902
- <td>0.34603</td>
903
- </tr>
904
- <tr>
905
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
906
- <td>SinglePointCrossover</td>
907
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
908
- <td>6.00000</td>
909
- <td>10.00000</td>
910
- <td>7.00000</td>
911
- <td>1.09545</td>
912
- <td>0.21670</td>
913
- </tr>
914
- <tr>
915
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
916
- <td>UniformCrossover</td>
917
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
918
- <td>4.00000</td>
919
- <td>8.00000</td>
920
- <td>6.40000</td>
921
- <td>1.42829</td>
922
- <td>0.27791</td>
923
- </tr>
924
- <tr>
925
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
926
- <td>SinglePointCrossover</td>
927
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
928
- <td>4.00000</td>
929
- <td>10.00000</td>
930
- <td>6.40000</td>
931
- <td>1.74356</td>
932
- <td>0.20427</td>
933
- </tr>
934
- <tr>
935
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
936
- <td>NullCrossover</td>
937
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
938
- <td>4.00000</td>
939
- <td>9.00000</td>
940
- <td>6.30000</td>
941
- <td>1.67631</td>
942
- <td>0.17777</td>
943
- </tr>
944
- <tr>
945
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
946
- <td>NullCrossover</td>
947
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
948
- <td>3.00000</td>
949
- <td>9.00000</td>
950
- <td>6.20000</td>
951
- <td>1.72047</td>
952
- <td>0.23226</td>
953
- </tr>
954
- <tr>
955
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
956
- <td>SinglePointCrossover</td>
957
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
958
- <td>2.00000</td>
959
- <td>10.00000</td>
960
- <td>6.00000</td>
961
- <td>2.52982</td>
962
- <td>0.25207</td>
963
- </tr>
964
- <tr>
965
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
966
- <td>UniformCrossover</td>
967
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
968
- <td>3.00000</td>
969
- <td>8.00000</td>
970
- <td>5.70000</td>
971
- <td>1.55242</td>
972
- <td>0.29879</td>
973
- </tr>
974
- <tr>
975
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
976
- <td>UniformCrossover</td>
977
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
978
- <td>2.00000</td>
979
- <td>8.00000</td>
980
- <td>5.70000</td>
981
- <td>1.95192</td>
982
- <td>0.22350</td>
983
- </tr>
984
- <tr>
985
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
986
- <td>SinglePointCrossover</td>
987
- <td>ListMutator(:single_point,[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
988
- <td>4.00000</td>
989
- <td>9.00000</td>
990
- <td>5.60000</td>
991
- <td>1.42829</td>
992
- <td>0.18741</td>
993
- </tr>
994
- <tr>
995
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
996
- <td>SinglePointCrossover</td>
997
- <td>ListMutator([:expected_n, 1],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
998
- <td>1.00000</td>
999
- <td>8.00000</td>
1000
- <td>5.50000</td>
1001
- <td>2.06155</td>
1002
- <td>0.24320</td>
1003
- </tr>
1004
- <tr>
1005
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
1006
- <td>UniformCrossover</td>
1007
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
1008
- <td>3.00000</td>
1009
- <td>8.00000</td>
1010
- <td>5.50000</td>
1011
- <td>1.43178</td>
1012
- <td>0.28679</td>
1013
- </tr>
1014
- <tr>
1015
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
1016
- <td>NullCrossover</td>
1017
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
1018
- <td>4.00000</td>
1019
- <td>7.00000</td>
1020
- <td>5.30000</td>
1021
- <td>0.78102</td>
1022
- <td>0.20783</td>
1023
- </tr>
1024
- <tr>
1025
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
1026
- <td>SinglePointCrossover</td>
1027
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
1028
- <td>3.00000</td>
1029
- <td>10.00000</td>
1030
- <td>5.20000</td>
1031
- <td>2.08806</td>
1032
- <td>0.26373</td>
1033
- </tr>
1034
- <tr>
1035
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
1036
- <td>UniformCrossover</td>
1037
- <td>ListMutator([:n_point, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
1038
- <td>3.00000</td>
1039
- <td>7.00000</td>
1040
- <td>5.10000</td>
1041
- <td>1.37477</td>
1042
- <td>0.25225</td>
1043
- </tr>
1044
- <tr>
1045
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
1046
- <td>NullCrossover</td>
1047
- <td>ListMutator([:expected_n, 3],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
1048
- <td>3.00000</td>
1049
- <td>7.00000</td>
1050
- <td>5.00000</td>
1051
- <td>1.09545</td>
1052
- <td>0.25302</td>
1053
- </tr>
1054
- <tr>
1055
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
1056
- <td>NullCrossover</td>
1057
- <td>ListMutator([:n_point, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
1058
- <td>3.00000</td>
1059
- <td>7.00000</td>
1060
- <td>4.70000</td>
1061
- <td>1.61555</td>
1062
- <td>0.19390</td>
1063
- </tr>
1064
- <tr>
1065
- <td>ScaledRouletteSelection[1,2,3,4,...]</td>
1066
- <td>NullCrossover</td>
1067
- <td>ListMutator([:expected_n, 2],[:replace, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " "])</td>
1068
- <td>2.00000</td>
1069
- <td>6.00000</td>
1070
- <td>4.70000</td>
1071
- <td>1.34536</td>
1072
- <td>0.24249</td>
1073
- </tr>
1074
- </table>
1075
- </body>
1076
- </html>