charlie 0.8.0 → 0.8.1

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.
@@ -1,3 +1,9 @@
1
+ == 0.8.1
2
+ * Added PartiallyMappedCrossover for permutations, thanks to Nikos Dimitrakopoulos
3
+ * Fixed small incompatibility with activesupport, also thanks to Nikos.
4
+ * Fixed typo in ThreePointCrossover [bug:19743]
5
+ * Small fix for compatibility with Ruby 1.9.1
6
+
1
7
  == 0.8.0 / 2008-02-12
2
8
  * Added BlendingCrossover
3
9
  * Benchmark setup/teardown blocks
@@ -15,6 +15,7 @@ examples/coevolution.rb
15
15
  examples/function_optimization.rb
16
16
  examples/matrix.rb
17
17
  examples/neural.rb
18
+ examples/output/bitstring_royalroad.html
18
19
  examples/output/function_optimization_sombrero.html
19
20
  examples/output/function_optimization_twopeak.csv
20
21
  examples/output/function_optimization_twopeak.html
data/README.txt CHANGED
@@ -1,4 +1,4 @@
1
- == Charlie version 0.8.0
1
+ == Charlie version 0.8.1
2
2
  * http://rubyforge.org/projects/charlie/
3
3
  * http://charlie.rubyforge.org
4
4
  * mailto:sander.land+ruby@gmail.com
data/TODO.txt CHANGED
@@ -3,13 +3,13 @@ This is my todo list. Contributions and suggestions don't have to be restricted
3
3
  === Small stuff
4
4
  * Brood crossover?
5
5
  === Bigger stuff
6
- * More builtin genotypes:
7
- * Tree-based, extending into genetic programming. mostly done. add option for ADFs?
8
6
  * More selection algorithms: multiple populations with migration? Niching?
7
+ * More builtin genotypes:
8
+ * Tree-based, extending into genetic programming. mostly done. add option for ADFs? Cartesian GP?
9
9
  * Extend benchmarking options:
10
10
  * Extend dsl to have options for manual test cases given by sel/cross/mut/etc options, or even free code blocks.
11
11
  * Option to compare several generation/population size settings. Especially both of them together while keeping the number of fitness evaluations roughly constant.
12
- * Detailed stats for use in comparing a small number of strategies? Including population stats for every generation and run, graphs?
12
+ * Detailed stats for use in comparing a small number of strategies? graphs?
13
13
 
14
14
 
15
15
 
@@ -44,6 +44,8 @@ It is fairly destructive, which can lead to poor performance.
44
44
  EdgeRecombinationCrossover is a less destructive crossover for permutations.
45
45
  It's reasonably effective, but fairly slow and only works for permutations of 0...n, so you have to look up the actual elements in the fitness function.
46
46
 
47
+ PartiallyMappedCrossover aka Two point Partial Preservation Crossover.
48
+
47
49
  === For FloatMatrixGenotype, BitMatrixGenotype
48
50
  * MatrixUniformCrossover does a uniform crossover (per-element) on matrices.
49
51
  * The normal SinglePointCrossover, UniformCrossover, NPointCrossover can also be used. They act on rows as single elements.
@@ -0,0 +1,1243 @@
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
+ font-size: small;
12
+ }
13
+ th {
14
+ background: #666;
15
+ color: white;
16
+ padding: 3px;
17
+ font-weight: bold;
18
+ }
19
+ td {
20
+ color: #333;
21
+ background: #e2e2e2;
22
+ padding: 2px 3px;
23
+ text-align: center;
24
+ }
25
+ </style>
26
+
27
+ </script>
28
+ <script type="text/javascript">
29
+
30
+ </script>
31
+ </head>
32
+ <body>
33
+ <h1>Information</h1>
34
+
35
+ <table>
36
+ <tr><th colspan=2>Version Info</th></tr>
37
+ <tr><td>Ruby Install Name</td><td>ruby1.9</td></tr>
38
+ <tr><td>Ruby Version</td><td>1.9.1</td></tr>
39
+ <tr><td>Charlie Version</td><td>0.8.1</td></tr>
40
+ <tr><th colspan=2>Benchmark Info</th></tr>
41
+ <tr><td>Genotype class</td><td>RoyalRoad</td></tr>
42
+ <tr><td>Population size</td><td>20</td></tr>
43
+ <tr><td>Number of generations per run</td><td>100</td></tr>
44
+ <tr><td>Number of tests </td><td>105</td></tr>
45
+ <tr><td>Tests repeated </td><td>10 times</td></tr>
46
+ <tr><td>Number of runs </td><td>1050</td></tr>
47
+ <tr><td>Total number of generations </td><td>105000</td></tr>
48
+ <tr><td>Total time</td><td>146.12 seconds</td></tr>
49
+ <tr><th colspan=2>Best Solution Info</th></tr>
50
+ <tr><td>Fitness</td><td>7</td></tr>
51
+ <tr><td>Solution</td><td><textarea rows=3 cols=40>1111111111111111000011001111111111111111000111101111111111111111</textarea></td></tr>
52
+ </table>
53
+ <h1>Stats for all</h1><table>
54
+ <tr><th></th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>time</th></tr>
55
+ <tr>
56
+ <td>All</td>
57
+ <td>1.00000</td>
58
+ <td>7.00000</td>
59
+ <td>2.99905</td>
60
+ <td>1.28025</td>
61
+ <td>0.13915</td>
62
+ </tr>
63
+ </table><h1>Stats for selection</h1><table>
64
+ <tr><th>selection</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>time</th></tr>
65
+ <tr>
66
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
67
+ <td>1.00000</td>
68
+ <td>7.00000</td>
69
+ <td>3.46190</td>
70
+ <td>1.05152</td>
71
+ <td>0.15609</td>
72
+ </tr>
73
+ <tr>
74
+ <td>Elitism(RouletteSelection,1)</td>
75
+ <td>1.00000</td>
76
+ <td>6.00000</td>
77
+ <td>3.45238</td>
78
+ <td>0.96615</td>
79
+ <td>0.15965</td>
80
+ </tr>
81
+ <tr>
82
+ <td>TruncationSelection(0.3)</td>
83
+ <td>1.00000</td>
84
+ <td>6.00000</td>
85
+ <td>3.33333</td>
86
+ <td>1.20844</td>
87
+ <td>0.11000</td>
88
+ </tr>
89
+ <tr>
90
+ <td>TruncationSelection(1)</td>
91
+ <td>1.00000</td>
92
+ <td>7.00000</td>
93
+ <td>3.26190</td>
94
+ <td>1.17229</td>
95
+ <td>0.10881</td>
96
+ </tr>
97
+ <tr>
98
+ <td>RouletteSelection</td>
99
+ <td>1.00000</td>
100
+ <td>4.00000</td>
101
+ <td>1.48571</td>
102
+ <td>0.65631</td>
103
+ <td>0.16118</td>
104
+ </tr>
105
+ </table><h1>Stats for crossover</h1><table>
106
+ <tr><th>crossover</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>time</th></tr>
107
+ <tr>
108
+ <td>UniformCrossover</td>
109
+ <td>1.00000</td>
110
+ <td>7.00000</td>
111
+ <td>3.20000</td>
112
+ <td>1.30712</td>
113
+ <td>0.16472</td>
114
+ </tr>
115
+ <tr>
116
+ <td>SinglePointCrossover</td>
117
+ <td>1.00000</td>
118
+ <td>6.00000</td>
119
+ <td>3.04000</td>
120
+ <td>1.29993</td>
121
+ <td>0.12816</td>
122
+ </tr>
123
+ <tr>
124
+ <td>NullCrossover</td>
125
+ <td>1.00000</td>
126
+ <td>6.00000</td>
127
+ <td>2.75714</td>
128
+ <td>1.19087</td>
129
+ <td>0.12455</td>
130
+ </tr>
131
+ </table><h1>Stats for mutation</h1><table>
132
+ <tr><th>mutation</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>time</th></tr>
133
+ <tr>
134
+ <td>ListMutator([:expected_n, 3],:flip)</td>
135
+ <td>1.00000</td>
136
+ <td>6.00000</td>
137
+ <td>3.29333</td>
138
+ <td>1.30918</td>
139
+ <td>0.14998</td>
140
+ </tr>
141
+ <tr>
142
+ <td>ListMutator([:expected_n, 2],:flip)</td>
143
+ <td>1.00000</td>
144
+ <td>6.00000</td>
145
+ <td>3.27333</td>
146
+ <td>1.22690</td>
147
+ <td>0.14915</td>
148
+ </tr>
149
+ <tr>
150
+ <td>ListMutator([:expected_n, 5],:flip)</td>
151
+ <td>1.00000</td>
152
+ <td>6.00000</td>
153
+ <td>3.21333</td>
154
+ <td>1.33959</td>
155
+ <td>0.15124</td>
156
+ </tr>
157
+ <tr>
158
+ <td>ListMutator([:expected_n, 4],:flip)</td>
159
+ <td>1.00000</td>
160
+ <td>7.00000</td>
161
+ <td>3.18667</td>
162
+ <td>1.31345</td>
163
+ <td>0.15071</td>
164
+ </tr>
165
+ <tr>
166
+ <td>ListMutator([:expected_n, 6],:flip)</td>
167
+ <td>1.00000</td>
168
+ <td>6.00000</td>
169
+ <td>3.11333</td>
170
+ <td>1.23037</td>
171
+ <td>0.15410</td>
172
+ </tr>
173
+ <tr>
174
+ <td>ListMutator([:expected_n, 1],:flip)</td>
175
+ <td>1.00000</td>
176
+ <td>7.00000</td>
177
+ <td>2.90667</td>
178
+ <td>1.12159</td>
179
+ <td>0.14835</td>
180
+ </tr>
181
+ <tr>
182
+ <td>NullMutator</td>
183
+ <td>1.00000</td>
184
+ <td>5.00000</td>
185
+ <td>2.00667</td>
186
+ <td>0.84456</td>
187
+ <td>0.07049</td>
188
+ </tr>
189
+ </table><h1>Detailed Stats</h1><table>
190
+ <tr><th>selection</th><th>crossover</th><th>mutation</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>time</th></tr>
191
+ <tr>
192
+ <td>TruncationSelection(1)</td>
193
+ <td>UniformCrossover</td>
194
+ <td>ListMutator([:expected_n, 6],:flip)</td>
195
+ <td>3.00000</td>
196
+ <td>6.00000</td>
197
+ <td>4.40000</td>
198
+ <td>1.01980</td>
199
+ <td>0.13897</td>
200
+ </tr>
201
+ <tr>
202
+ <td>TruncationSelection(0.3)</td>
203
+ <td>SinglePointCrossover</td>
204
+ <td>ListMutator([:expected_n, 5],:flip)</td>
205
+ <td>3.00000</td>
206
+ <td>6.00000</td>
207
+ <td>4.40000</td>
208
+ <td>1.20000</td>
209
+ <td>0.11002</td>
210
+ </tr>
211
+ <tr>
212
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
213
+ <td>SinglePointCrossover</td>
214
+ <td>ListMutator([:expected_n, 3],:flip)</td>
215
+ <td>4.00000</td>
216
+ <td>5.00000</td>
217
+ <td>4.30000</td>
218
+ <td>0.45826</td>
219
+ <td>0.15719</td>
220
+ </tr>
221
+ <tr>
222
+ <td>TruncationSelection(1)</td>
223
+ <td>SinglePointCrossover</td>
224
+ <td>ListMutator([:expected_n, 5],:flip)</td>
225
+ <td>2.00000</td>
226
+ <td>6.00000</td>
227
+ <td>4.30000</td>
228
+ <td>1.18743</td>
229
+ <td>0.11102</td>
230
+ </tr>
231
+ <tr>
232
+ <td>TruncationSelection(1)</td>
233
+ <td>UniformCrossover</td>
234
+ <td>ListMutator([:expected_n, 4],:flip)</td>
235
+ <td>3.00000</td>
236
+ <td>7.00000</td>
237
+ <td>4.30000</td>
238
+ <td>1.10000</td>
239
+ <td>0.13993</td>
240
+ </tr>
241
+ <tr>
242
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
243
+ <td>SinglePointCrossover</td>
244
+ <td>ListMutator([:expected_n, 2],:flip)</td>
245
+ <td>3.00000</td>
246
+ <td>5.00000</td>
247
+ <td>4.30000</td>
248
+ <td>0.64031</td>
249
+ <td>0.15652</td>
250
+ </tr>
251
+ <tr>
252
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
253
+ <td>UniformCrossover</td>
254
+ <td>ListMutator([:expected_n, 2],:flip)</td>
255
+ <td>3.00000</td>
256
+ <td>6.00000</td>
257
+ <td>4.30000</td>
258
+ <td>0.90000</td>
259
+ <td>0.19649</td>
260
+ </tr>
261
+ <tr>
262
+ <td>Elitism(RouletteSelection,1)</td>
263
+ <td>SinglePointCrossover</td>
264
+ <td>ListMutator([:expected_n, 3],:flip)</td>
265
+ <td>4.00000</td>
266
+ <td>5.00000</td>
267
+ <td>4.30000</td>
268
+ <td>0.45826</td>
269
+ <td>0.16098</td>
270
+ </tr>
271
+ <tr>
272
+ <td>Elitism(RouletteSelection,1)</td>
273
+ <td>UniformCrossover</td>
274
+ <td>ListMutator([:expected_n, 2],:flip)</td>
275
+ <td>3.00000</td>
276
+ <td>6.00000</td>
277
+ <td>4.30000</td>
278
+ <td>0.78102</td>
279
+ <td>0.20164</td>
280
+ </tr>
281
+ <tr>
282
+ <td>Elitism(RouletteSelection,1)</td>
283
+ <td>SinglePointCrossover</td>
284
+ <td>ListMutator([:expected_n, 2],:flip)</td>
285
+ <td>3.00000</td>
286
+ <td>5.00000</td>
287
+ <td>4.20000</td>
288
+ <td>0.74833</td>
289
+ <td>0.16165</td>
290
+ </tr>
291
+ <tr>
292
+ <td>TruncationSelection(0.3)</td>
293
+ <td>SinglePointCrossover</td>
294
+ <td>ListMutator([:expected_n, 4],:flip)</td>
295
+ <td>3.00000</td>
296
+ <td>6.00000</td>
297
+ <td>4.20000</td>
298
+ <td>1.07703</td>
299
+ <td>0.10966</td>
300
+ </tr>
301
+ <tr>
302
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
303
+ <td>UniformCrossover</td>
304
+ <td>ListMutator([:expected_n, 1],:flip)</td>
305
+ <td>3.00000</td>
306
+ <td>7.00000</td>
307
+ <td>4.10000</td>
308
+ <td>1.22066</td>
309
+ <td>0.19700</td>
310
+ </tr>
311
+ <tr>
312
+ <td>TruncationSelection(0.3)</td>
313
+ <td>UniformCrossover</td>
314
+ <td>ListMutator([:expected_n, 2],:flip)</td>
315
+ <td>2.00000</td>
316
+ <td>6.00000</td>
317
+ <td>4.10000</td>
318
+ <td>1.13578</td>
319
+ <td>0.13778</td>
320
+ </tr>
321
+ <tr>
322
+ <td>TruncationSelection(0.3)</td>
323
+ <td>UniformCrossover</td>
324
+ <td>ListMutator([:expected_n, 6],:flip)</td>
325
+ <td>3.00000</td>
326
+ <td>5.00000</td>
327
+ <td>4.10000</td>
328
+ <td>0.83066</td>
329
+ <td>0.15444</td>
330
+ </tr>
331
+ <tr>
332
+ <td>TruncationSelection(0.3)</td>
333
+ <td>UniformCrossover</td>
334
+ <td>ListMutator([:expected_n, 5],:flip)</td>
335
+ <td>3.00000</td>
336
+ <td>6.00000</td>
337
+ <td>4.10000</td>
338
+ <td>1.04403</td>
339
+ <td>0.14198</td>
340
+ </tr>
341
+ <tr>
342
+ <td>TruncationSelection(1)</td>
343
+ <td>UniformCrossover</td>
344
+ <td>ListMutator([:expected_n, 5],:flip)</td>
345
+ <td>3.00000</td>
346
+ <td>6.00000</td>
347
+ <td>4.00000</td>
348
+ <td>1.00000</td>
349
+ <td>0.13821</td>
350
+ </tr>
351
+ <tr>
352
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
353
+ <td>NullCrossover</td>
354
+ <td>ListMutator([:expected_n, 4],:flip)</td>
355
+ <td>3.00000</td>
356
+ <td>5.00000</td>
357
+ <td>4.00000</td>
358
+ <td>0.63246</td>
359
+ <td>0.15188</td>
360
+ </tr>
361
+ <tr>
362
+ <td>TruncationSelection(1)</td>
363
+ <td>UniformCrossover</td>
364
+ <td>ListMutator([:expected_n, 3],:flip)</td>
365
+ <td>3.00000</td>
366
+ <td>6.00000</td>
367
+ <td>4.00000</td>
368
+ <td>0.89443</td>
369
+ <td>0.13744</td>
370
+ </tr>
371
+ <tr>
372
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
373
+ <td>UniformCrossover</td>
374
+ <td>ListMutator([:expected_n, 4],:flip)</td>
375
+ <td>3.00000</td>
376
+ <td>5.00000</td>
377
+ <td>3.90000</td>
378
+ <td>0.70000</td>
379
+ <td>0.19705</td>
380
+ </tr>
381
+ <tr>
382
+ <td>Elitism(RouletteSelection,1)</td>
383
+ <td>SinglePointCrossover</td>
384
+ <td>ListMutator([:expected_n, 1],:flip)</td>
385
+ <td>3.00000</td>
386
+ <td>5.00000</td>
387
+ <td>3.90000</td>
388
+ <td>0.70000</td>
389
+ <td>0.16000</td>
390
+ </tr>
391
+ <tr>
392
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
393
+ <td>SinglePointCrossover</td>
394
+ <td>ListMutator([:expected_n, 4],:flip)</td>
395
+ <td>3.00000</td>
396
+ <td>5.00000</td>
397
+ <td>3.90000</td>
398
+ <td>0.70000</td>
399
+ <td>0.15724</td>
400
+ </tr>
401
+ <tr>
402
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
403
+ <td>UniformCrossover</td>
404
+ <td>ListMutator([:expected_n, 3],:flip)</td>
405
+ <td>3.00000</td>
406
+ <td>5.00000</td>
407
+ <td>3.90000</td>
408
+ <td>0.70000</td>
409
+ <td>0.19699</td>
410
+ </tr>
411
+ <tr>
412
+ <td>Elitism(RouletteSelection,1)</td>
413
+ <td>UniformCrossover</td>
414
+ <td>ListMutator([:expected_n, 3],:flip)</td>
415
+ <td>3.00000</td>
416
+ <td>5.00000</td>
417
+ <td>3.90000</td>
418
+ <td>0.53852</td>
419
+ <td>0.20050</td>
420
+ </tr>
421
+ <tr>
422
+ <td>TruncationSelection(0.3)</td>
423
+ <td>SinglePointCrossover</td>
424
+ <td>ListMutator([:expected_n, 6],:flip)</td>
425
+ <td>3.00000</td>
426
+ <td>5.00000</td>
427
+ <td>3.90000</td>
428
+ <td>0.70000</td>
429
+ <td>0.11000</td>
430
+ </tr>
431
+ <tr>
432
+ <td>Elitism(RouletteSelection,1)</td>
433
+ <td>NullCrossover</td>
434
+ <td>ListMutator([:expected_n, 3],:flip)</td>
435
+ <td>2.00000</td>
436
+ <td>5.00000</td>
437
+ <td>3.90000</td>
438
+ <td>0.83066</td>
439
+ <td>0.15523</td>
440
+ </tr>
441
+ <tr>
442
+ <td>Elitism(RouletteSelection,1)</td>
443
+ <td>SinglePointCrossover</td>
444
+ <td>ListMutator([:expected_n, 5],:flip)</td>
445
+ <td>3.00000</td>
446
+ <td>4.00000</td>
447
+ <td>3.80000</td>
448
+ <td>0.40000</td>
449
+ <td>0.16171</td>
450
+ </tr>
451
+ <tr>
452
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
453
+ <td>NullCrossover</td>
454
+ <td>ListMutator([:expected_n, 3],:flip)</td>
455
+ <td>2.00000</td>
456
+ <td>5.00000</td>
457
+ <td>3.80000</td>
458
+ <td>0.87178</td>
459
+ <td>0.15183</td>
460
+ </tr>
461
+ <tr>
462
+ <td>Elitism(RouletteSelection,1)</td>
463
+ <td>SinglePointCrossover</td>
464
+ <td>ListMutator([:expected_n, 4],:flip)</td>
465
+ <td>3.00000</td>
466
+ <td>5.00000</td>
467
+ <td>3.80000</td>
468
+ <td>0.60000</td>
469
+ <td>0.16076</td>
470
+ </tr>
471
+ <tr>
472
+ <td>TruncationSelection(0.3)</td>
473
+ <td>UniformCrossover</td>
474
+ <td>ListMutator([:expected_n, 3],:flip)</td>
475
+ <td>2.00000</td>
476
+ <td>6.00000</td>
477
+ <td>3.80000</td>
478
+ <td>1.07703</td>
479
+ <td>0.14563</td>
480
+ </tr>
481
+ <tr>
482
+ <td>TruncationSelection(0.3)</td>
483
+ <td>UniformCrossover</td>
484
+ <td>ListMutator([:expected_n, 4],:flip)</td>
485
+ <td>2.00000</td>
486
+ <td>5.00000</td>
487
+ <td>3.80000</td>
488
+ <td>1.07703</td>
489
+ <td>0.14931</td>
490
+ </tr>
491
+ <tr>
492
+ <td>TruncationSelection(1)</td>
493
+ <td>NullCrossover</td>
494
+ <td>ListMutator([:expected_n, 5],:flip)</td>
495
+ <td>2.00000</td>
496
+ <td>5.00000</td>
497
+ <td>3.70000</td>
498
+ <td>1.00499</td>
499
+ <td>0.10796</td>
500
+ </tr>
501
+ <tr>
502
+ <td>TruncationSelection(0.3)</td>
503
+ <td>NullCrossover</td>
504
+ <td>ListMutator([:expected_n, 6],:flip)</td>
505
+ <td>2.00000</td>
506
+ <td>5.00000</td>
507
+ <td>3.70000</td>
508
+ <td>0.78102</td>
509
+ <td>0.10774</td>
510
+ </tr>
511
+ <tr>
512
+ <td>Elitism(RouletteSelection,1)</td>
513
+ <td>NullCrossover</td>
514
+ <td>ListMutator([:expected_n, 2],:flip)</td>
515
+ <td>2.00000</td>
516
+ <td>4.00000</td>
517
+ <td>3.60000</td>
518
+ <td>0.66332</td>
519
+ <td>0.15381</td>
520
+ </tr>
521
+ <tr>
522
+ <td>TruncationSelection(1)</td>
523
+ <td>NullCrossover</td>
524
+ <td>ListMutator([:expected_n, 6],:flip)</td>
525
+ <td>2.00000</td>
526
+ <td>5.00000</td>
527
+ <td>3.60000</td>
528
+ <td>0.91652</td>
529
+ <td>0.10756</td>
530
+ </tr>
531
+ <tr>
532
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
533
+ <td>SinglePointCrossover</td>
534
+ <td>ListMutator([:expected_n, 5],:flip)</td>
535
+ <td>3.00000</td>
536
+ <td>5.00000</td>
537
+ <td>3.60000</td>
538
+ <td>0.66332</td>
539
+ <td>0.15625</td>
540
+ </tr>
541
+ <tr>
542
+ <td>TruncationSelection(1)</td>
543
+ <td>SinglePointCrossover</td>
544
+ <td>ListMutator([:expected_n, 6],:flip)</td>
545
+ <td>3.00000</td>
546
+ <td>5.00000</td>
547
+ <td>3.60000</td>
548
+ <td>0.66332</td>
549
+ <td>0.11053</td>
550
+ </tr>
551
+ <tr>
552
+ <td>Elitism(RouletteSelection,1)</td>
553
+ <td>UniformCrossover</td>
554
+ <td>ListMutator([:expected_n, 1],:flip)</td>
555
+ <td>3.00000</td>
556
+ <td>4.00000</td>
557
+ <td>3.60000</td>
558
+ <td>0.48990</td>
559
+ <td>0.20026</td>
560
+ </tr>
561
+ <tr>
562
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
563
+ <td>NullCrossover</td>
564
+ <td>ListMutator([:expected_n, 5],:flip)</td>
565
+ <td>3.00000</td>
566
+ <td>4.00000</td>
567
+ <td>3.60000</td>
568
+ <td>0.48990</td>
569
+ <td>0.15340</td>
570
+ </tr>
571
+ <tr>
572
+ <td>TruncationSelection(0.3)</td>
573
+ <td>SinglePointCrossover</td>
574
+ <td>ListMutator([:expected_n, 3],:flip)</td>
575
+ <td>2.00000</td>
576
+ <td>5.00000</td>
577
+ <td>3.50000</td>
578
+ <td>0.92195</td>
579
+ <td>0.10845</td>
580
+ </tr>
581
+ <tr>
582
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
583
+ <td>UniformCrossover</td>
584
+ <td>ListMutator([:expected_n, 5],:flip)</td>
585
+ <td>3.00000</td>
586
+ <td>4.00000</td>
587
+ <td>3.50000</td>
588
+ <td>0.50000</td>
589
+ <td>0.19829</td>
590
+ </tr>
591
+ <tr>
592
+ <td>Elitism(RouletteSelection,1)</td>
593
+ <td>UniformCrossover</td>
594
+ <td>ListMutator([:expected_n, 4],:flip)</td>
595
+ <td>3.00000</td>
596
+ <td>6.00000</td>
597
+ <td>3.50000</td>
598
+ <td>1.02470</td>
599
+ <td>0.20031</td>
600
+ </tr>
601
+ <tr>
602
+ <td>Elitism(RouletteSelection,1)</td>
603
+ <td>UniformCrossover</td>
604
+ <td>ListMutator([:expected_n, 6],:flip)</td>
605
+ <td>3.00000</td>
606
+ <td>4.00000</td>
607
+ <td>3.50000</td>
608
+ <td>0.50000</td>
609
+ <td>0.20085</td>
610
+ </tr>
611
+ <tr>
612
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
613
+ <td>SinglePointCrossover</td>
614
+ <td>ListMutator([:expected_n, 6],:flip)</td>
615
+ <td>3.00000</td>
616
+ <td>4.00000</td>
617
+ <td>3.50000</td>
618
+ <td>0.50000</td>
619
+ <td>0.15643</td>
620
+ </tr>
621
+ <tr>
622
+ <td>TruncationSelection(0.3)</td>
623
+ <td>UniformCrossover</td>
624
+ <td>ListMutator([:expected_n, 1],:flip)</td>
625
+ <td>2.00000</td>
626
+ <td>6.00000</td>
627
+ <td>3.50000</td>
628
+ <td>1.02470</td>
629
+ <td>0.13709</td>
630
+ </tr>
631
+ <tr>
632
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
633
+ <td>NullCrossover</td>
634
+ <td>ListMutator([:expected_n, 2],:flip)</td>
635
+ <td>2.00000</td>
636
+ <td>4.00000</td>
637
+ <td>3.50000</td>
638
+ <td>0.67082</td>
639
+ <td>0.15120</td>
640
+ </tr>
641
+ <tr>
642
+ <td>TruncationSelection(1)</td>
643
+ <td>SinglePointCrossover</td>
644
+ <td>ListMutator([:expected_n, 3],:flip)</td>
645
+ <td>2.00000</td>
646
+ <td>5.00000</td>
647
+ <td>3.50000</td>
648
+ <td>1.02470</td>
649
+ <td>0.10943</td>
650
+ </tr>
651
+ <tr>
652
+ <td>Elitism(RouletteSelection,1)</td>
653
+ <td>SinglePointCrossover</td>
654
+ <td>ListMutator([:expected_n, 6],:flip)</td>
655
+ <td>3.00000</td>
656
+ <td>4.00000</td>
657
+ <td>3.40000</td>
658
+ <td>0.48990</td>
659
+ <td>0.16215</td>
660
+ </tr>
661
+ <tr>
662
+ <td>Elitism(RouletteSelection,1)</td>
663
+ <td>NullCrossover</td>
664
+ <td>ListMutator([:expected_n, 6],:flip)</td>
665
+ <td>3.00000</td>
666
+ <td>5.00000</td>
667
+ <td>3.40000</td>
668
+ <td>0.66332</td>
669
+ <td>0.15561</td>
670
+ </tr>
671
+ <tr>
672
+ <td>Elitism(RouletteSelection,1)</td>
673
+ <td>UniformCrossover</td>
674
+ <td>ListMutator([:expected_n, 5],:flip)</td>
675
+ <td>3.00000</td>
676
+ <td>4.00000</td>
677
+ <td>3.40000</td>
678
+ <td>0.48990</td>
679
+ <td>0.20258</td>
680
+ </tr>
681
+ <tr>
682
+ <td>TruncationSelection(1)</td>
683
+ <td>NullCrossover</td>
684
+ <td>ListMutator([:expected_n, 4],:flip)</td>
685
+ <td>2.00000</td>
686
+ <td>5.00000</td>
687
+ <td>3.40000</td>
688
+ <td>1.01980</td>
689
+ <td>0.10672</td>
690
+ </tr>
691
+ <tr>
692
+ <td>TruncationSelection(0.3)</td>
693
+ <td>SinglePointCrossover</td>
694
+ <td>ListMutator([:expected_n, 2],:flip)</td>
695
+ <td>2.00000</td>
696
+ <td>5.00000</td>
697
+ <td>3.40000</td>
698
+ <td>1.11355</td>
699
+ <td>0.10754</td>
700
+ </tr>
701
+ <tr>
702
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
703
+ <td>NullCrossover</td>
704
+ <td>ListMutator([:expected_n, 1],:flip)</td>
705
+ <td>2.00000</td>
706
+ <td>5.00000</td>
707
+ <td>3.30000</td>
708
+ <td>0.90000</td>
709
+ <td>0.15017</td>
710
+ </tr>
711
+ <tr>
712
+ <td>Elitism(RouletteSelection,1)</td>
713
+ <td>NullCrossover</td>
714
+ <td>ListMutator([:expected_n, 4],:flip)</td>
715
+ <td>2.00000</td>
716
+ <td>4.00000</td>
717
+ <td>3.30000</td>
718
+ <td>0.78102</td>
719
+ <td>0.15449</td>
720
+ </tr>
721
+ <tr>
722
+ <td>TruncationSelection(0.3)</td>
723
+ <td>NullCrossover</td>
724
+ <td>ListMutator([:expected_n, 3],:flip)</td>
725
+ <td>2.00000</td>
726
+ <td>6.00000</td>
727
+ <td>3.30000</td>
728
+ <td>1.10000</td>
729
+ <td>0.10464</td>
730
+ </tr>
731
+ <tr>
732
+ <td>Elitism(RouletteSelection,1)</td>
733
+ <td>NullCrossover</td>
734
+ <td>ListMutator([:expected_n, 5],:flip)</td>
735
+ <td>3.00000</td>
736
+ <td>4.00000</td>
737
+ <td>3.20000</td>
738
+ <td>0.40000</td>
739
+ <td>0.15415</td>
740
+ </tr>
741
+ <tr>
742
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
743
+ <td>UniformCrossover</td>
744
+ <td>ListMutator([:expected_n, 6],:flip)</td>
745
+ <td>3.00000</td>
746
+ <td>4.00000</td>
747
+ <td>3.20000</td>
748
+ <td>0.40000</td>
749
+ <td>0.19682</td>
750
+ </tr>
751
+ <tr>
752
+ <td>TruncationSelection(1)</td>
753
+ <td>SinglePointCrossover</td>
754
+ <td>ListMutator([:expected_n, 2],:flip)</td>
755
+ <td>1.00000</td>
756
+ <td>4.00000</td>
757
+ <td>3.20000</td>
758
+ <td>0.97980</td>
759
+ <td>0.11014</td>
760
+ </tr>
761
+ <tr>
762
+ <td>Elitism(RouletteSelection,1)</td>
763
+ <td>NullCrossover</td>
764
+ <td>ListMutator([:expected_n, 1],:flip)</td>
765
+ <td>1.00000</td>
766
+ <td>5.00000</td>
767
+ <td>3.20000</td>
768
+ <td>1.16619</td>
769
+ <td>0.15235</td>
770
+ </tr>
771
+ <tr>
772
+ <td>TruncationSelection(1)</td>
773
+ <td>NullCrossover</td>
774
+ <td>ListMutator([:expected_n, 3],:flip)</td>
775
+ <td>2.00000</td>
776
+ <td>5.00000</td>
777
+ <td>3.20000</td>
778
+ <td>1.07703</td>
779
+ <td>0.10642</td>
780
+ </tr>
781
+ <tr>
782
+ <td>TruncationSelection(0.3)</td>
783
+ <td>NullCrossover</td>
784
+ <td>ListMutator([:expected_n, 5],:flip)</td>
785
+ <td>2.00000</td>
786
+ <td>5.00000</td>
787
+ <td>3.20000</td>
788
+ <td>1.07703</td>
789
+ <td>0.10597</td>
790
+ </tr>
791
+ <tr>
792
+ <td>TruncationSelection(0.3)</td>
793
+ <td>NullCrossover</td>
794
+ <td>ListMutator([:expected_n, 4],:flip)</td>
795
+ <td>2.00000</td>
796
+ <td>5.00000</td>
797
+ <td>3.10000</td>
798
+ <td>0.83066</td>
799
+ <td>0.10550</td>
800
+ </tr>
801
+ <tr>
802
+ <td>TruncationSelection(1)</td>
803
+ <td>UniformCrossover</td>
804
+ <td>ListMutator([:expected_n, 1],:flip)</td>
805
+ <td>2.00000</td>
806
+ <td>5.00000</td>
807
+ <td>3.10000</td>
808
+ <td>0.94340</td>
809
+ <td>0.13547</td>
810
+ </tr>
811
+ <tr>
812
+ <td>TruncationSelection(1)</td>
813
+ <td>NullCrossover</td>
814
+ <td>ListMutator([:expected_n, 2],:flip)</td>
815
+ <td>2.00000</td>
816
+ <td>5.00000</td>
817
+ <td>3.10000</td>
818
+ <td>1.04403</td>
819
+ <td>0.10561</td>
820
+ </tr>
821
+ <tr>
822
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
823
+ <td>NullCrossover</td>
824
+ <td>ListMutator([:expected_n, 6],:flip)</td>
825
+ <td>2.00000</td>
826
+ <td>4.00000</td>
827
+ <td>3.10000</td>
828
+ <td>0.53852</td>
829
+ <td>0.15951</td>
830
+ </tr>
831
+ <tr>
832
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
833
+ <td>SinglePointCrossover</td>
834
+ <td>ListMutator([:expected_n, 1],:flip)</td>
835
+ <td>1.00000</td>
836
+ <td>5.00000</td>
837
+ <td>3.00000</td>
838
+ <td>1.18322</td>
839
+ <td>0.15498</td>
840
+ </tr>
841
+ <tr>
842
+ <td>TruncationSelection(1)</td>
843
+ <td>SinglePointCrossover</td>
844
+ <td>ListMutator([:expected_n, 4],:flip)</td>
845
+ <td>2.00000</td>
846
+ <td>4.00000</td>
847
+ <td>2.90000</td>
848
+ <td>0.53852</td>
849
+ <td>0.10866</td>
850
+ </tr>
851
+ <tr>
852
+ <td>TruncationSelection(1)</td>
853
+ <td>UniformCrossover</td>
854
+ <td>ListMutator([:expected_n, 2],:flip)</td>
855
+ <td>2.00000</td>
856
+ <td>5.00000</td>
857
+ <td>2.90000</td>
858
+ <td>0.94340</td>
859
+ <td>0.13572</td>
860
+ </tr>
861
+ <tr>
862
+ <td>TruncationSelection(1)</td>
863
+ <td>UniformCrossover</td>
864
+ <td>NullMutator</td>
865
+ <td>2.00000</td>
866
+ <td>4.00000</td>
867
+ <td>2.80000</td>
868
+ <td>0.74833</td>
869
+ <td>0.07442</td>
870
+ </tr>
871
+ <tr>
872
+ <td>TruncationSelection(0.3)</td>
873
+ <td>NullCrossover</td>
874
+ <td>ListMutator([:expected_n, 2],:flip)</td>
875
+ <td>1.00000</td>
876
+ <td>4.00000</td>
877
+ <td>2.80000</td>
878
+ <td>0.97980</td>
879
+ <td>0.10439</td>
880
+ </tr>
881
+ <tr>
882
+ <td>Elitism(RouletteSelection,1)</td>
883
+ <td>UniformCrossover</td>
884
+ <td>NullMutator</td>
885
+ <td>2.00000</td>
886
+ <td>5.00000</td>
887
+ <td>2.70000</td>
888
+ <td>1.00499</td>
889
+ <td>0.11519</td>
890
+ </tr>
891
+ <tr>
892
+ <td>TruncationSelection(0.3)</td>
893
+ <td>SinglePointCrossover</td>
894
+ <td>ListMutator([:expected_n, 1],:flip)</td>
895
+ <td>2.00000</td>
896
+ <td>4.00000</td>
897
+ <td>2.60000</td>
898
+ <td>0.80000</td>
899
+ <td>0.10669</td>
900
+ </tr>
901
+ <tr>
902
+ <td>TruncationSelection(1)</td>
903
+ <td>SinglePointCrossover</td>
904
+ <td>ListMutator([:expected_n, 1],:flip)</td>
905
+ <td>2.00000</td>
906
+ <td>4.00000</td>
907
+ <td>2.50000</td>
908
+ <td>0.80623</td>
909
+ <td>0.10862</td>
910
+ </tr>
911
+ <tr>
912
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
913
+ <td>UniformCrossover</td>
914
+ <td>NullMutator</td>
915
+ <td>1.00000</td>
916
+ <td>5.00000</td>
917
+ <td>2.50000</td>
918
+ <td>1.02470</td>
919
+ <td>0.10960</td>
920
+ </tr>
921
+ <tr>
922
+ <td>TruncationSelection(0.3)</td>
923
+ <td>NullCrossover</td>
924
+ <td>ListMutator([:expected_n, 1],:flip)</td>
925
+ <td>2.00000</td>
926
+ <td>4.00000</td>
927
+ <td>2.40000</td>
928
+ <td>0.66332</td>
929
+ <td>0.10311</td>
930
+ </tr>
931
+ <tr>
932
+ <td>TruncationSelection(1)</td>
933
+ <td>NullCrossover</td>
934
+ <td>ListMutator([:expected_n, 1],:flip)</td>
935
+ <td>1.00000</td>
936
+ <td>4.00000</td>
937
+ <td>2.40000</td>
938
+ <td>0.80000</td>
939
+ <td>0.10442</td>
940
+ </tr>
941
+ <tr>
942
+ <td>TruncationSelection(0.3)</td>
943
+ <td>UniformCrossover</td>
944
+ <td>NullMutator</td>
945
+ <td>2.00000</td>
946
+ <td>3.00000</td>
947
+ <td>2.40000</td>
948
+ <td>0.48990</td>
949
+ <td>0.07495</td>
950
+ </tr>
951
+ <tr>
952
+ <td>RouletteSelection</td>
953
+ <td>UniformCrossover</td>
954
+ <td>ListMutator([:expected_n, 1],:flip)</td>
955
+ <td>1.00000</td>
956
+ <td>4.00000</td>
957
+ <td>2.20000</td>
958
+ <td>0.97980</td>
959
+ <td>0.19881</td>
960
+ </tr>
961
+ <tr>
962
+ <td>TruncationSelection(0.3)</td>
963
+ <td>SinglePointCrossover</td>
964
+ <td>NullMutator</td>
965
+ <td>1.00000</td>
966
+ <td>4.00000</td>
967
+ <td>2.20000</td>
968
+ <td>0.97980</td>
969
+ <td>0.04548</td>
970
+ </tr>
971
+ <tr>
972
+ <td>RouletteSelection</td>
973
+ <td>NullCrossover</td>
974
+ <td>ListMutator([:expected_n, 1],:flip)</td>
975
+ <td>1.00000</td>
976
+ <td>4.00000</td>
977
+ <td>2.20000</td>
978
+ <td>0.74833</td>
979
+ <td>0.15529</td>
980
+ </tr>
981
+ <tr>
982
+ <td>Elitism(RouletteSelection,1)</td>
983
+ <td>SinglePointCrossover</td>
984
+ <td>NullMutator</td>
985
+ <td>1.00000</td>
986
+ <td>3.00000</td>
987
+ <td>2.10000</td>
988
+ <td>0.83066</td>
989
+ <td>0.07432</td>
990
+ </tr>
991
+ <tr>
992
+ <td>RouletteSelection</td>
993
+ <td>UniformCrossover</td>
994
+ <td>NullMutator</td>
995
+ <td>1.00000</td>
996
+ <td>3.00000</td>
997
+ <td>2.10000</td>
998
+ <td>0.70000</td>
999
+ <td>0.11077</td>
1000
+ </tr>
1001
+ <tr>
1002
+ <td>TruncationSelection(1)</td>
1003
+ <td>SinglePointCrossover</td>
1004
+ <td>NullMutator</td>
1005
+ <td>1.00000</td>
1006
+ <td>3.00000</td>
1007
+ <td>2.00000</td>
1008
+ <td>0.63246</td>
1009
+ <td>0.04548</td>
1010
+ </tr>
1011
+ <tr>
1012
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
1013
+ <td>SinglePointCrossover</td>
1014
+ <td>NullMutator</td>
1015
+ <td>1.00000</td>
1016
+ <td>3.00000</td>
1017
+ <td>2.00000</td>
1018
+ <td>0.89443</td>
1019
+ <td>0.06783</td>
1020
+ </tr>
1021
+ <tr>
1022
+ <td>RouletteSelection</td>
1023
+ <td>SinglePointCrossover</td>
1024
+ <td>ListMutator([:expected_n, 2],:flip)</td>
1025
+ <td>1.00000</td>
1026
+ <td>3.00000</td>
1027
+ <td>2.00000</td>
1028
+ <td>0.63246</td>
1029
+ <td>0.16065</td>
1030
+ </tr>
1031
+ <tr>
1032
+ <td>RouletteSelection</td>
1033
+ <td>SinglePointCrossover</td>
1034
+ <td>NullMutator</td>
1035
+ <td>1.00000</td>
1036
+ <td>3.00000</td>
1037
+ <td>1.80000</td>
1038
+ <td>0.60000</td>
1039
+ <td>0.06948</td>
1040
+ </tr>
1041
+ <tr>
1042
+ <td>RouletteSelection</td>
1043
+ <td>NullCrossover</td>
1044
+ <td>ListMutator([:expected_n, 2],:flip)</td>
1045
+ <td>1.00000</td>
1046
+ <td>2.00000</td>
1047
+ <td>1.70000</td>
1048
+ <td>0.45826</td>
1049
+ <td>0.15541</td>
1050
+ </tr>
1051
+ <tr>
1052
+ <td>RouletteSelection</td>
1053
+ <td>UniformCrossover</td>
1054
+ <td>ListMutator([:expected_n, 2],:flip)</td>
1055
+ <td>1.00000</td>
1056
+ <td>3.00000</td>
1057
+ <td>1.70000</td>
1058
+ <td>0.64031</td>
1059
+ <td>0.19863</td>
1060
+ </tr>
1061
+ <tr>
1062
+ <td>TruncationSelection(1)</td>
1063
+ <td>NullCrossover</td>
1064
+ <td>NullMutator</td>
1065
+ <td>1.00000</td>
1066
+ <td>2.00000</td>
1067
+ <td>1.60000</td>
1068
+ <td>0.48990</td>
1069
+ <td>0.04223</td>
1070
+ </tr>
1071
+ <tr>
1072
+ <td>RouletteSelection</td>
1073
+ <td>NullCrossover</td>
1074
+ <td>ListMutator([:expected_n, 3],:flip)</td>
1075
+ <td>1.00000</td>
1076
+ <td>3.00000</td>
1077
+ <td>1.60000</td>
1078
+ <td>0.66332</td>
1079
+ <td>0.15573</td>
1080
+ </tr>
1081
+ <tr>
1082
+ <td>RouletteSelection</td>
1083
+ <td>SinglePointCrossover</td>
1084
+ <td>ListMutator([:expected_n, 1],:flip)</td>
1085
+ <td>1.00000</td>
1086
+ <td>2.00000</td>
1087
+ <td>1.60000</td>
1088
+ <td>0.48990</td>
1089
+ <td>0.16100</td>
1090
+ </tr>
1091
+ <tr>
1092
+ <td>RouletteSelection</td>
1093
+ <td>NullCrossover</td>
1094
+ <td>NullMutator</td>
1095
+ <td>1.00000</td>
1096
+ <td>2.00000</td>
1097
+ <td>1.50000</td>
1098
+ <td>0.50000</td>
1099
+ <td>0.06257</td>
1100
+ </tr>
1101
+ <tr>
1102
+ <td>Elitism(RouletteSelection,1)</td>
1103
+ <td>NullCrossover</td>
1104
+ <td>NullMutator</td>
1105
+ <td>1.00000</td>
1106
+ <td>2.00000</td>
1107
+ <td>1.50000</td>
1108
+ <td>0.50000</td>
1109
+ <td>0.06416</td>
1110
+ </tr>
1111
+ <tr>
1112
+ <td>TruncationSelection(0.3)</td>
1113
+ <td>NullCrossover</td>
1114
+ <td>NullMutator</td>
1115
+ <td>1.00000</td>
1116
+ <td>2.00000</td>
1117
+ <td>1.50000</td>
1118
+ <td>0.50000</td>
1119
+ <td>0.03959</td>
1120
+ </tr>
1121
+ <tr>
1122
+ <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
1123
+ <td>NullCrossover</td>
1124
+ <td>NullMutator</td>
1125
+ <td>1.00000</td>
1126
+ <td>2.00000</td>
1127
+ <td>1.40000</td>
1128
+ <td>0.48990</td>
1129
+ <td>0.06124</td>
1130
+ </tr>
1131
+ <tr>
1132
+ <td>RouletteSelection</td>
1133
+ <td>NullCrossover</td>
1134
+ <td>ListMutator([:expected_n, 4],:flip)</td>
1135
+ <td>1.00000</td>
1136
+ <td>2.00000</td>
1137
+ <td>1.30000</td>
1138
+ <td>0.45826</td>
1139
+ <td>0.15794</td>
1140
+ </tr>
1141
+ <tr>
1142
+ <td>RouletteSelection</td>
1143
+ <td>SinglePointCrossover</td>
1144
+ <td>ListMutator([:expected_n, 3],:flip)</td>
1145
+ <td>1.00000</td>
1146
+ <td>3.00000</td>
1147
+ <td>1.30000</td>
1148
+ <td>0.64031</td>
1149
+ <td>0.16070</td>
1150
+ </tr>
1151
+ <tr>
1152
+ <td>RouletteSelection</td>
1153
+ <td>NullCrossover</td>
1154
+ <td>ListMutator([:expected_n, 6],:flip)</td>
1155
+ <td>1.00000</td>
1156
+ <td>2.00000</td>
1157
+ <td>1.20000</td>
1158
+ <td>0.40000</td>
1159
+ <td>0.18586</td>
1160
+ </tr>
1161
+ <tr>
1162
+ <td>RouletteSelection</td>
1163
+ <td>SinglePointCrossover</td>
1164
+ <td>ListMutator([:expected_n, 5],:flip)</td>
1165
+ <td>1.00000</td>
1166
+ <td>2.00000</td>
1167
+ <td>1.20000</td>
1168
+ <td>0.40000</td>
1169
+ <td>0.16113</td>
1170
+ </tr>
1171
+ <tr>
1172
+ <td>RouletteSelection</td>
1173
+ <td>SinglePointCrossover</td>
1174
+ <td>ListMutator([:expected_n, 4],:flip)</td>
1175
+ <td>1.00000</td>
1176
+ <td>2.00000</td>
1177
+ <td>1.20000</td>
1178
+ <td>0.40000</td>
1179
+ <td>0.16129</td>
1180
+ </tr>
1181
+ <tr>
1182
+ <td>RouletteSelection</td>
1183
+ <td>UniformCrossover</td>
1184
+ <td>ListMutator([:expected_n, 4],:flip)</td>
1185
+ <td>1.00000</td>
1186
+ <td>2.00000</td>
1187
+ <td>1.20000</td>
1188
+ <td>0.40000</td>
1189
+ <td>0.19998</td>
1190
+ </tr>
1191
+ <tr>
1192
+ <td>RouletteSelection</td>
1193
+ <td>NullCrossover</td>
1194
+ <td>ListMutator([:expected_n, 5],:flip)</td>
1195
+ <td>1.00000</td>
1196
+ <td>2.00000</td>
1197
+ <td>1.20000</td>
1198
+ <td>0.40000</td>
1199
+ <td>0.16567</td>
1200
+ </tr>
1201
+ <tr>
1202
+ <td>RouletteSelection</td>
1203
+ <td>UniformCrossover</td>
1204
+ <td>ListMutator([:expected_n, 6],:flip)</td>
1205
+ <td>1.00000</td>
1206
+ <td>2.00000</td>
1207
+ <td>1.10000</td>
1208
+ <td>0.30000</td>
1209
+ <td>0.20333</td>
1210
+ </tr>
1211
+ <tr>
1212
+ <td>RouletteSelection</td>
1213
+ <td>UniformCrossover</td>
1214
+ <td>ListMutator([:expected_n, 3],:flip)</td>
1215
+ <td>1.00000</td>
1216
+ <td>2.00000</td>
1217
+ <td>1.10000</td>
1218
+ <td>0.30000</td>
1219
+ <td>0.19854</td>
1220
+ </tr>
1221
+ <tr>
1222
+ <td>RouletteSelection</td>
1223
+ <td>UniformCrossover</td>
1224
+ <td>ListMutator([:expected_n, 5],:flip)</td>
1225
+ <td>1.00000</td>
1226
+ <td>1.00000</td>
1227
+ <td>1.00000</td>
1228
+ <td>0.00000</td>
1229
+ <td>0.20031</td>
1230
+ </tr>
1231
+ <tr>
1232
+ <td>RouletteSelection</td>
1233
+ <td>SinglePointCrossover</td>
1234
+ <td>ListMutator([:expected_n, 6],:flip)</td>
1235
+ <td>1.00000</td>
1236
+ <td>1.00000</td>
1237
+ <td>1.00000</td>
1238
+ <td>0.00000</td>
1239
+ <td>0.16165</td>
1240
+ </tr>
1241
+ </table>
1242
+ </body>
1243
+ </html>