charlie 0.7.1 → 0.8.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.
@@ -0,0 +1,24 @@
1
+ require 't_common'
2
+
3
+ class WTUP < NeuralNetworkGenotype(2,4,1)
4
+ def fitness
5
+ output([rand,rand])[0].abs
6
+ end
7
+ use ListMutator(:n_point[2],:gaussian[0.33])
8
+ end
9
+
10
+ class MatrixTests < Test::Unit::TestCase
11
+ def test_evolve
12
+ p=nil
13
+ assert_nothing_raised{
14
+ p=Population.new(WTUP,20).evolve_silent(50)
15
+ }
16
+ p.each{|s|
17
+ assert s.genes[0..8].map(&:abs).sum > 4 # all > average start - with very high prb
18
+ assert s.genes.is_a?(Array) && s.genes.size == 2*4 + 4 + 4 + 1
19
+ }
20
+ end
21
+
22
+ end
23
+
24
+
@@ -13,6 +13,19 @@ $sel_mth += [TournamentSelection(3),TournamentSelection(4,1),TournamentSelection
13
13
 
14
14
  $sel_mth = $sel_mth.uniq
15
15
 
16
+
17
+ class CoEvTest < FloatListGenotype(2)
18
+ def fight(other)
19
+ rand < 0.5 ? genes[0] >= other.genes[0] : genes[1] <= other.genes[1]
20
+ end
21
+ def fight_points(other)
22
+ fight(other) ? [1,0] : [0,1]
23
+ end
24
+ use GladiatorialSelection, UniformCrossover, ListMutator(:expected_n[1],:gaussian[0.25])
25
+ end
26
+
27
+
28
+
16
29
  class TestSelection < Test::Unit::TestCase
17
30
  def test_selection
18
31
  $sel_mth.each{|s|
@@ -38,4 +51,27 @@ class TestSelection < Test::Unit::TestCase
38
51
  }
39
52
  end
40
53
 
54
+ def test_coev
55
+ assert_nothing_raised{ Population.new(CoEvTest,21).evolve_silent(10) }
56
+ [[4,false,23],[3,true,nil],[7,false,5],[9,false,nil]].each{|co_arg|
57
+ klass = Class.new(CoEvTest) { use CoTournamentSelection(*co_arg) }
58
+ assert_nothing_raised{ Population.new(klass,co_arg[0]*2+1).evolve_silent(10) }
59
+ }
60
+ end
61
+
62
+
63
+ def test_gp
64
+ [0,1.0,0.5].each{|k|
65
+ $sel_mth.map{|s| GP(s,k) }.each{|s|
66
+ klass = TestClass(s)
67
+ assert_nothing_raised{ Population.new(klass,10).evolve_silent(10) }
68
+ }
69
+ }
70
+ klass = TestClass( Module.new{ def cross(*a); raise RuntimeError, "CROSSOVER REACHED"; end } )
71
+ klass.use TournamentSelection
72
+ assert_raises(RuntimeError) { Population.new(klass,10).evolve_silent(10) }
73
+ klass.use GP(TournamentSelection,0.0)
74
+ assert_nothing_raised { Population.new(klass,10).evolve_silent(10) }
75
+ end
76
+
41
77
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: charlie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sander Land
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-01-12 00:00:00 +01:00
12
+ date: 2008-02-12 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -54,7 +54,8 @@ files:
54
54
  - examples/bitstring.rb
55
55
  - examples/coevolution.rb
56
56
  - examples/function_optimization.rb
57
- - examples/output/bitstring_royalroad.html
57
+ - examples/matrix.rb
58
+ - examples/neural.rb
58
59
  - examples/output/function_optimization_sombrero.html
59
60
  - examples/output/function_optimization_twopeak.csv
60
61
  - examples/output/function_optimization_twopeak.html
@@ -74,6 +75,8 @@ files:
74
75
  - lib/charlie/list/list_crossover.rb
75
76
  - lib/charlie/list/list_genotype.rb
76
77
  - lib/charlie/list/list_mutate.rb
78
+ - lib/charlie/list/matrix.rb
79
+ - lib/charlie/list/neural.rb
77
80
  - lib/charlie/mutate.rb
78
81
  - lib/charlie/permutation/permutation.rb
79
82
  - lib/charlie/population.rb
@@ -83,7 +86,9 @@ files:
83
86
  - test/test_benchmark.rb
84
87
  - test/test_cross.rb
85
88
  - test/test_evolve.rb
89
+ - test/test_matrix.rb
86
90
  - test/test_mutator.rb
91
+ - test/test_neural.rb
87
92
  - test/test_permutation.rb
88
93
  - test/test_sel.rb
89
94
  - test/test_tree.rb
@@ -117,10 +122,12 @@ signing_key:
117
122
  specification_version: 2
118
123
  summary: A genetic algorithms library for Ruby.
119
124
  test_files:
125
+ - test/test_neural.rb
120
126
  - test/test_mutator.rb
121
127
  - test/test_cross.rb
122
128
  - test/test_evolve.rb
123
129
  - test/test_sel.rb
124
130
  - test/test_benchmark.rb
131
+ - test/test_matrix.rb
125
132
  - test/test_tree.rb
126
133
  - test/test_permutation.rb
@@ -1,1243 +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
- 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.0</td></tr>
39
- <tr><td>Charlie Version</td><td>0.7.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>298.91 seconds</td></tr>
49
- <tr><th colspan=2>Best Solution Info</th></tr>
50
- <tr><td>Fitness</td><td>6</td></tr>
51
- <tr><td>Solution</td><td><textarea rows=3 cols=40>1100101011111111010111011111111111111111111111111111111111011011</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>6.00000</td>
59
- <td>3.10381</td>
60
- <td>1.16851</td>
61
- <td>0.28465</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>6.00000</td>
69
- <td>3.48571</td>
70
- <td>1.00583</td>
71
- <td>0.41682</td>
72
- </tr>
73
- <tr>
74
- <td>Elitism(RouletteSelection,1)</td>
75
- <td>1.00000</td>
76
- <td>6.00000</td>
77
- <td>3.39048</td>
78
- <td>0.97096</td>
79
- <td>0.29556</td>
80
- </tr>
81
- <tr>
82
- <td>TruncationSelection(0.3)</td>
83
- <td>1.00000</td>
84
- <td>6.00000</td>
85
- <td>3.32381</td>
86
- <td>1.16697</td>
87
- <td>0.25603</td>
88
- </tr>
89
- <tr>
90
- <td>TruncationSelection(1)</td>
91
- <td>1.00000</td>
92
- <td>6.00000</td>
93
- <td>3.29524</td>
94
- <td>1.20652</td>
95
- <td>0.17240</td>
96
- </tr>
97
- <tr>
98
- <td>RouletteSelection</td>
99
- <td>1.00000</td>
100
- <td>5.00000</td>
101
- <td>2.02381</td>
102
- <td>0.75870</td>
103
- <td>0.28244</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>6.00000</td>
111
- <td>3.27429</td>
112
- <td>1.14101</td>
113
- <td>0.36107</td>
114
- </tr>
115
- <tr>
116
- <td>SinglePointCrossover</td>
117
- <td>1.00000</td>
118
- <td>6.00000</td>
119
- <td>3.21714</td>
120
- <td>1.18743</td>
121
- <td>0.24264</td>
122
- </tr>
123
- <tr>
124
- <td>NullCrossover</td>
125
- <td>1.00000</td>
126
- <td>6.00000</td>
127
- <td>2.82000</td>
128
- <td>1.12334</td>
129
- <td>0.25025</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, 4],:flip)</td>
135
- <td>1.00000</td>
136
- <td>6.00000</td>
137
- <td>3.39333</td>
138
- <td>1.13076</td>
139
- <td>0.34510</td>
140
- </tr>
141
- <tr>
142
- <td>ListMutator([:expected_n, 2],:flip)</td>
143
- <td>1.00000</td>
144
- <td>5.00000</td>
145
- <td>3.35333</td>
146
- <td>1.06544</td>
147
- <td>0.27928</td>
148
- </tr>
149
- <tr>
150
- <td>ListMutator([:expected_n, 6],:flip)</td>
151
- <td>1.00000</td>
152
- <td>6.00000</td>
153
- <td>3.34667</td>
154
- <td>1.10143</td>
155
- <td>0.30490</td>
156
- </tr>
157
- <tr>
158
- <td>ListMutator([:expected_n, 3],:flip)</td>
159
- <td>1.00000</td>
160
- <td>6.00000</td>
161
- <td>3.32667</td>
162
- <td>1.13429</td>
163
- <td>0.29910</td>
164
- </tr>
165
- <tr>
166
- <td>ListMutator([:expected_n, 5],:flip)</td>
167
- <td>1.00000</td>
168
- <td>6.00000</td>
169
- <td>3.29333</td>
170
- <td>1.11682</td>
171
- <td>0.31883</td>
172
- </tr>
173
- <tr>
174
- <td>ListMutator([:expected_n, 1],:flip)</td>
175
- <td>1.00000</td>
176
- <td>6.00000</td>
177
- <td>3.12000</td>
178
- <td>1.01928</td>
179
- <td>0.28793</td>
180
- </tr>
181
- <tr>
182
- <td>NullMutator</td>
183
- <td>1.00000</td>
184
- <td>4.00000</td>
185
- <td>1.89333</td>
186
- <td>0.77586</td>
187
- <td>0.15743</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>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
193
- <td>SinglePointCrossover</td>
194
- <td>ListMutator([:expected_n, 2],:flip)</td>
195
- <td>3.00000</td>
196
- <td>5.00000</td>
197
- <td>4.60000</td>
198
- <td>0.66332</td>
199
- <td>0.43901</td>
200
- </tr>
201
- <tr>
202
- <td>TruncationSelection(0.3)</td>
203
- <td>SinglePointCrossover</td>
204
- <td>ListMutator([:expected_n, 6],:flip)</td>
205
- <td>3.00000</td>
206
- <td>6.00000</td>
207
- <td>4.40000</td>
208
- <td>0.91652</td>
209
- <td>0.26571</td>
210
- </tr>
211
- <tr>
212
- <td>TruncationSelection(1)</td>
213
- <td>UniformCrossover</td>
214
- <td>ListMutator([:expected_n, 5],:flip)</td>
215
- <td>3.00000</td>
216
- <td>5.00000</td>
217
- <td>4.40000</td>
218
- <td>0.66332</td>
219
- <td>0.17702</td>
220
- </tr>
221
- <tr>
222
- <td>TruncationSelection(0.3)</td>
223
- <td>UniformCrossover</td>
224
- <td>ListMutator([:expected_n, 6],:flip)</td>
225
- <td>4.00000</td>
226
- <td>6.00000</td>
227
- <td>4.40000</td>
228
- <td>0.66332</td>
229
- <td>0.46481</td>
230
- </tr>
231
- <tr>
232
- <td>TruncationSelection(1)</td>
233
- <td>UniformCrossover</td>
234
- <td>ListMutator([:expected_n, 4],:flip)</td>
235
- <td>2.00000</td>
236
- <td>6.00000</td>
237
- <td>4.30000</td>
238
- <td>1.00499</td>
239
- <td>0.17555</td>
240
- </tr>
241
- <tr>
242
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
243
- <td>SinglePointCrossover</td>
244
- <td>ListMutator([:expected_n, 3],:flip)</td>
245
- <td>3.00000</td>
246
- <td>5.00000</td>
247
- <td>4.30000</td>
248
- <td>0.78102</td>
249
- <td>0.41142</td>
250
- </tr>
251
- <tr>
252
- <td>TruncationSelection(0.3)</td>
253
- <td>UniformCrossover</td>
254
- <td>ListMutator([:expected_n, 4],:flip)</td>
255
- <td>3.00000</td>
256
- <td>5.00000</td>
257
- <td>4.20000</td>
258
- <td>0.87178</td>
259
- <td>0.35718</td>
260
- </tr>
261
- <tr>
262
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
263
- <td>UniformCrossover</td>
264
- <td>ListMutator([:expected_n, 1],:flip)</td>
265
- <td>2.00000</td>
266
- <td>6.00000</td>
267
- <td>4.20000</td>
268
- <td>1.16619</td>
269
- <td>0.70355</td>
270
- </tr>
271
- <tr>
272
- <td>TruncationSelection(1)</td>
273
- <td>SinglePointCrossover</td>
274
- <td>ListMutator([:expected_n, 6],:flip)</td>
275
- <td>2.00000</td>
276
- <td>5.00000</td>
277
- <td>4.20000</td>
278
- <td>0.87178</td>
279
- <td>0.15625</td>
280
- </tr>
281
- <tr>
282
- <td>TruncationSelection(1)</td>
283
- <td>UniformCrossover</td>
284
- <td>ListMutator([:expected_n, 2],:flip)</td>
285
- <td>2.00000</td>
286
- <td>5.00000</td>
287
- <td>4.20000</td>
288
- <td>1.16619</td>
289
- <td>0.17824</td>
290
- </tr>
291
- <tr>
292
- <td>TruncationSelection(0.3)</td>
293
- <td>SinglePointCrossover</td>
294
- <td>ListMutator([:expected_n, 3],:flip)</td>
295
- <td>2.00000</td>
296
- <td>6.00000</td>
297
- <td>4.10000</td>
298
- <td>1.22066</td>
299
- <td>0.26211</td>
300
- </tr>
301
- <tr>
302
- <td>Elitism(RouletteSelection,1)</td>
303
- <td>SinglePointCrossover</td>
304
- <td>ListMutator([:expected_n, 3],:flip)</td>
305
- <td>3.00000</td>
306
- <td>5.00000</td>
307
- <td>4.10000</td>
308
- <td>0.83066</td>
309
- <td>0.22152</td>
310
- </tr>
311
- <tr>
312
- <td>Elitism(RouletteSelection,1)</td>
313
- <td>UniformCrossover</td>
314
- <td>ListMutator([:expected_n, 1],:flip)</td>
315
- <td>3.00000</td>
316
- <td>6.00000</td>
317
- <td>4.10000</td>
318
- <td>0.94340</td>
319
- <td>0.27537</td>
320
- </tr>
321
- <tr>
322
- <td>Elitism(RouletteSelection,1)</td>
323
- <td>SinglePointCrossover</td>
324
- <td>ListMutator([:expected_n, 4],:flip)</td>
325
- <td>3.00000</td>
326
- <td>5.00000</td>
327
- <td>4.10000</td>
328
- <td>0.70000</td>
329
- <td>0.26065</td>
330
- </tr>
331
- <tr>
332
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
333
- <td>UniformCrossover</td>
334
- <td>ListMutator([:expected_n, 2],:flip)</td>
335
- <td>3.00000</td>
336
- <td>5.00000</td>
337
- <td>4.00000</td>
338
- <td>0.63246</td>
339
- <td>0.52307</td>
340
- </tr>
341
- <tr>
342
- <td>Elitism(RouletteSelection,1)</td>
343
- <td>UniformCrossover</td>
344
- <td>ListMutator([:expected_n, 2],:flip)</td>
345
- <td>2.00000</td>
346
- <td>5.00000</td>
347
- <td>4.00000</td>
348
- <td>1.00000</td>
349
- <td>0.27788</td>
350
- </tr>
351
- <tr>
352
- <td>TruncationSelection(0.3)</td>
353
- <td>UniformCrossover</td>
354
- <td>ListMutator([:expected_n, 3],:flip)</td>
355
- <td>3.00000</td>
356
- <td>6.00000</td>
357
- <td>4.00000</td>
358
- <td>0.89443</td>
359
- <td>0.20564</td>
360
- </tr>
361
- <tr>
362
- <td>TruncationSelection(1)</td>
363
- <td>SinglePointCrossover</td>
364
- <td>ListMutator([:expected_n, 4],:flip)</td>
365
- <td>2.00000</td>
366
- <td>6.00000</td>
367
- <td>4.00000</td>
368
- <td>1.09545</td>
369
- <td>0.28654</td>
370
- </tr>
371
- <tr>
372
- <td>TruncationSelection(0.3)</td>
373
- <td>SinglePointCrossover</td>
374
- <td>ListMutator([:expected_n, 5],:flip)</td>
375
- <td>2.00000</td>
376
- <td>6.00000</td>
377
- <td>4.00000</td>
378
- <td>1.09545</td>
379
- <td>0.27468</td>
380
- </tr>
381
- <tr>
382
- <td>TruncationSelection(1)</td>
383
- <td>SinglePointCrossover</td>
384
- <td>ListMutator([:expected_n, 5],:flip)</td>
385
- <td>2.00000</td>
386
- <td>5.00000</td>
387
- <td>4.00000</td>
388
- <td>0.89443</td>
389
- <td>0.19630</td>
390
- </tr>
391
- <tr>
392
- <td>Elitism(RouletteSelection,1)</td>
393
- <td>SinglePointCrossover</td>
394
- <td>ListMutator([:expected_n, 6],:flip)</td>
395
- <td>3.00000</td>
396
- <td>4.00000</td>
397
- <td>3.90000</td>
398
- <td>0.30000</td>
399
- <td>0.22704</td>
400
- </tr>
401
- <tr>
402
- <td>TruncationSelection(1)</td>
403
- <td>UniformCrossover</td>
404
- <td>ListMutator([:expected_n, 6],:flip)</td>
405
- <td>3.00000</td>
406
- <td>5.00000</td>
407
- <td>3.90000</td>
408
- <td>0.83066</td>
409
- <td>0.17722</td>
410
- </tr>
411
- <tr>
412
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
413
- <td>SinglePointCrossover</td>
414
- <td>ListMutator([:expected_n, 4],: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.40753</td>
420
- </tr>
421
- <tr>
422
- <td>TruncationSelection(0.3)</td>
423
- <td>NullCrossover</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.24894</td>
430
- </tr>
431
- <tr>
432
- <td>Elitism(RouletteSelection,1)</td>
433
- <td>SinglePointCrossover</td>
434
- <td>ListMutator([:expected_n, 2],:flip)</td>
435
- <td>2.00000</td>
436
- <td>5.00000</td>
437
- <td>3.80000</td>
438
- <td>0.74833</td>
439
- <td>0.29247</td>
440
- </tr>
441
- <tr>
442
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
443
- <td>UniformCrossover</td>
444
- <td>ListMutator([:expected_n, 3],:flip)</td>
445
- <td>3.00000</td>
446
- <td>5.00000</td>
447
- <td>3.80000</td>
448
- <td>0.60000</td>
449
- <td>0.50903</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>3.00000</td>
456
- <td>5.00000</td>
457
- <td>3.80000</td>
458
- <td>0.74833</td>
459
- <td>0.48052</td>
460
- </tr>
461
- <tr>
462
- <td>TruncationSelection(0.3)</td>
463
- <td>UniformCrossover</td>
464
- <td>ListMutator([:expected_n, 5],:flip)</td>
465
- <td>2.00000</td>
466
- <td>5.00000</td>
467
- <td>3.80000</td>
468
- <td>0.74833</td>
469
- <td>0.48712</td>
470
- </tr>
471
- <tr>
472
- <td>TruncationSelection(0.3)</td>
473
- <td>NullCrossover</td>
474
- <td>ListMutator([:expected_n, 5],:flip)</td>
475
- <td>2.00000</td>
476
- <td>5.00000</td>
477
- <td>3.80000</td>
478
- <td>0.87178</td>
479
- <td>0.23736</td>
480
- </tr>
481
- <tr>
482
- <td>TruncationSelection(1)</td>
483
- <td>NullCrossover</td>
484
- <td>ListMutator([:expected_n, 5],:flip)</td>
485
- <td>2.00000</td>
486
- <td>5.00000</td>
487
- <td>3.80000</td>
488
- <td>1.16619</td>
489
- <td>0.13827</td>
490
- </tr>
491
- <tr>
492
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
493
- <td>UniformCrossover</td>
494
- <td>ListMutator([:expected_n, 4],:flip)</td>
495
- <td>3.00000</td>
496
- <td>4.00000</td>
497
- <td>3.70000</td>
498
- <td>0.45826</td>
499
- <td>0.50773</td>
500
- </tr>
501
- <tr>
502
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
503
- <td>UniformCrossover</td>
504
- <td>ListMutator([:expected_n, 5],:flip)</td>
505
- <td>3.00000</td>
506
- <td>4.00000</td>
507
- <td>3.70000</td>
508
- <td>0.45826</td>
509
- <td>0.49364</td>
510
- </tr>
511
- <tr>
512
- <td>Elitism(RouletteSelection,1)</td>
513
- <td>NullCrossover</td>
514
- <td>ListMutator([:expected_n, 4],:flip)</td>
515
- <td>3.00000</td>
516
- <td>5.00000</td>
517
- <td>3.70000</td>
518
- <td>0.64031</td>
519
- <td>0.39287</td>
520
- </tr>
521
- <tr>
522
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
523
- <td>NullCrossover</td>
524
- <td>ListMutator([:expected_n, 2],:flip)</td>
525
- <td>3.00000</td>
526
- <td>4.00000</td>
527
- <td>3.70000</td>
528
- <td>0.45826</td>
529
- <td>0.52503</td>
530
- </tr>
531
- <tr>
532
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
533
- <td>NullCrossover</td>
534
- <td>ListMutator([:expected_n, 4],:flip)</td>
535
- <td>2.00000</td>
536
- <td>5.00000</td>
537
- <td>3.70000</td>
538
- <td>0.78102</td>
539
- <td>0.35015</td>
540
- </tr>
541
- <tr>
542
- <td>Elitism(RouletteSelection,1)</td>
543
- <td>NullCrossover</td>
544
- <td>ListMutator([:expected_n, 3],:flip)</td>
545
- <td>2.00000</td>
546
- <td>5.00000</td>
547
- <td>3.70000</td>
548
- <td>0.78102</td>
549
- <td>0.40055</td>
550
- </tr>
551
- <tr>
552
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
553
- <td>NullCrossover</td>
554
- <td>ListMutator([:expected_n, 6],:flip)</td>
555
- <td>3.00000</td>
556
- <td>5.00000</td>
557
- <td>3.60000</td>
558
- <td>0.66332</td>
559
- <td>0.36986</td>
560
- </tr>
561
- <tr>
562
- <td>Elitism(RouletteSelection,1)</td>
563
- <td>UniformCrossover</td>
564
- <td>ListMutator([:expected_n, 4],: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.45052</td>
570
- </tr>
571
- <tr>
572
- <td>TruncationSelection(0.3)</td>
573
- <td>UniformCrossover</td>
574
- <td>ListMutator([:expected_n, 2],:flip)</td>
575
- <td>2.00000</td>
576
- <td>5.00000</td>
577
- <td>3.60000</td>
578
- <td>0.91652</td>
579
- <td>0.17007</td>
580
- </tr>
581
- <tr>
582
- <td>TruncationSelection(1)</td>
583
- <td>NullCrossover</td>
584
- <td>ListMutator([:expected_n, 6],:flip)</td>
585
- <td>3.00000</td>
586
- <td>4.00000</td>
587
- <td>3.60000</td>
588
- <td>0.48990</td>
589
- <td>0.14215</td>
590
- </tr>
591
- <tr>
592
- <td>Elitism(RouletteSelection,1)</td>
593
- <td>NullCrossover</td>
594
- <td>ListMutator([:expected_n, 2],:flip)</td>
595
- <td>3.00000</td>
596
- <td>4.00000</td>
597
- <td>3.60000</td>
598
- <td>0.48990</td>
599
- <td>0.28348</td>
600
- </tr>
601
- <tr>
602
- <td>Elitism(RouletteSelection,1)</td>
603
- <td>SinglePointCrossover</td>
604
- <td>ListMutator([:expected_n, 5],:flip)</td>
605
- <td>3.00000</td>
606
- <td>4.00000</td>
607
- <td>3.60000</td>
608
- <td>0.48990</td>
609
- <td>0.23044</td>
610
- </tr>
611
- <tr>
612
- <td>Elitism(RouletteSelection,1)</td>
613
- <td>UniformCrossover</td>
614
- <td>ListMutator([:expected_n, 3],:flip)</td>
615
- <td>3.00000</td>
616
- <td>5.00000</td>
617
- <td>3.60000</td>
618
- <td>0.66332</td>
619
- <td>0.27655</td>
620
- </tr>
621
- <tr>
622
- <td>Elitism(RouletteSelection,1)</td>
623
- <td>SinglePointCrossover</td>
624
- <td>ListMutator([:expected_n, 1],:flip)</td>
625
- <td>2.00000</td>
626
- <td>5.00000</td>
627
- <td>3.60000</td>
628
- <td>0.91652</td>
629
- <td>0.26112</td>
630
- </tr>
631
- <tr>
632
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
633
- <td>SinglePointCrossover</td>
634
- <td>ListMutator([:expected_n, 6],:flip)</td>
635
- <td>3.00000</td>
636
- <td>4.00000</td>
637
- <td>3.50000</td>
638
- <td>0.50000</td>
639
- <td>0.33809</td>
640
- </tr>
641
- <tr>
642
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
643
- <td>SinglePointCrossover</td>
644
- <td>ListMutator([:expected_n, 5],:flip)</td>
645
- <td>3.00000</td>
646
- <td>4.00000</td>
647
- <td>3.50000</td>
648
- <td>0.50000</td>
649
- <td>0.35022</td>
650
- </tr>
651
- <tr>
652
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
653
- <td>SinglePointCrossover</td>
654
- <td>ListMutator([:expected_n, 1],:flip)</td>
655
- <td>2.00000</td>
656
- <td>6.00000</td>
657
- <td>3.50000</td>
658
- <td>1.11803</td>
659
- <td>0.37598</td>
660
- </tr>
661
- <tr>
662
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
663
- <td>NullCrossover</td>
664
- <td>ListMutator([:expected_n, 1],:flip)</td>
665
- <td>2.00000</td>
666
- <td>5.00000</td>
667
- <td>3.40000</td>
668
- <td>0.80000</td>
669
- <td>0.49311</td>
670
- </tr>
671
- <tr>
672
- <td>TruncationSelection(1)</td>
673
- <td>UniformCrossover</td>
674
- <td>ListMutator([:expected_n, 1],:flip)</td>
675
- <td>2.00000</td>
676
- <td>4.00000</td>
677
- <td>3.40000</td>
678
- <td>0.80000</td>
679
- <td>0.18084</td>
680
- </tr>
681
- <tr>
682
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
683
- <td>UniformCrossover</td>
684
- <td>ListMutator([:expected_n, 6],:flip)</td>
685
- <td>3.00000</td>
686
- <td>4.00000</td>
687
- <td>3.40000</td>
688
- <td>0.48990</td>
689
- <td>0.47934</td>
690
- </tr>
691
- <tr>
692
- <td>TruncationSelection(0.3)</td>
693
- <td>SinglePointCrossover</td>
694
- <td>ListMutator([:expected_n, 4],:flip)</td>
695
- <td>2.00000</td>
696
- <td>4.00000</td>
697
- <td>3.40000</td>
698
- <td>0.80000</td>
699
- <td>0.26182</td>
700
- </tr>
701
- <tr>
702
- <td>Elitism(RouletteSelection,1)</td>
703
- <td>NullCrossover</td>
704
- <td>ListMutator([:expected_n, 6],:flip)</td>
705
- <td>3.00000</td>
706
- <td>4.00000</td>
707
- <td>3.30000</td>
708
- <td>0.45826</td>
709
- <td>0.28409</td>
710
- </tr>
711
- <tr>
712
- <td>TruncationSelection(0.3)</td>
713
- <td>NullCrossover</td>
714
- <td>ListMutator([:expected_n, 3],:flip)</td>
715
- <td>2.00000</td>
716
- <td>5.00000</td>
717
- <td>3.30000</td>
718
- <td>0.90000</td>
719
- <td>0.27589</td>
720
- </tr>
721
- <tr>
722
- <td>Elitism(RouletteSelection,1)</td>
723
- <td>UniformCrossover</td>
724
- <td>ListMutator([:expected_n, 5],:flip)</td>
725
- <td>3.00000</td>
726
- <td>4.00000</td>
727
- <td>3.30000</td>
728
- <td>0.45826</td>
729
- <td>0.50118</td>
730
- </tr>
731
- <tr>
732
- <td>TruncationSelection(0.3)</td>
733
- <td>SinglePointCrossover</td>
734
- <td>ListMutator([:expected_n, 2],:flip)</td>
735
- <td>2.00000</td>
736
- <td>4.00000</td>
737
- <td>3.30000</td>
738
- <td>0.78102</td>
739
- <td>0.26322</td>
740
- </tr>
741
- <tr>
742
- <td>TruncationSelection(0.3)</td>
743
- <td>NullCrossover</td>
744
- <td>ListMutator([:expected_n, 4],:flip)</td>
745
- <td>2.00000</td>
746
- <td>5.00000</td>
747
- <td>3.30000</td>
748
- <td>1.26886</td>
749
- <td>0.24437</td>
750
- </tr>
751
- <tr>
752
- <td>RouletteSelection</td>
753
- <td>UniformCrossover</td>
754
- <td>ListMutator([:expected_n, 1],:flip)</td>
755
- <td>2.00000</td>
756
- <td>5.00000</td>
757
- <td>3.20000</td>
758
- <td>0.74833</td>
759
- <td>0.26701</td>
760
- </tr>
761
- <tr>
762
- <td>TruncationSelection(1)</td>
763
- <td>UniformCrossover</td>
764
- <td>ListMutator([:expected_n, 3],:flip)</td>
765
- <td>2.00000</td>
766
- <td>5.00000</td>
767
- <td>3.20000</td>
768
- <td>0.97980</td>
769
- <td>0.21431</td>
770
- </tr>
771
- <tr>
772
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
773
- <td>NullCrossover</td>
774
- <td>ListMutator([:expected_n, 5],:flip)</td>
775
- <td>2.00000</td>
776
- <td>4.00000</td>
777
- <td>3.20000</td>
778
- <td>0.60000</td>
779
- <td>0.35140</td>
780
- </tr>
781
- <tr>
782
- <td>TruncationSelection(1)</td>
783
- <td>SinglePointCrossover</td>
784
- <td>ListMutator([:expected_n, 3],:flip)</td>
785
- <td>2.00000</td>
786
- <td>5.00000</td>
787
- <td>3.20000</td>
788
- <td>0.97980</td>
789
- <td>0.15296</td>
790
- </tr>
791
- <tr>
792
- <td>TruncationSelection(1)</td>
793
- <td>SinglePointCrossover</td>
794
- <td>ListMutator([:expected_n, 2],:flip)</td>
795
- <td>2.00000</td>
796
- <td>5.00000</td>
797
- <td>3.20000</td>
798
- <td>1.07703</td>
799
- <td>0.14720</td>
800
- </tr>
801
- <tr>
802
- <td>TruncationSelection(1)</td>
803
- <td>NullCrossover</td>
804
- <td>ListMutator([:expected_n, 4],:flip)</td>
805
- <td>2.00000</td>
806
- <td>6.00000</td>
807
- <td>3.20000</td>
808
- <td>1.16619</td>
809
- <td>0.18263</td>
810
- </tr>
811
- <tr>
812
- <td>Elitism(RouletteSelection,1)</td>
813
- <td>NullCrossover</td>
814
- <td>ListMutator([:expected_n, 5],:flip)</td>
815
- <td>2.00000</td>
816
- <td>5.00000</td>
817
- <td>3.20000</td>
818
- <td>0.87178</td>
819
- <td>0.26565</td>
820
- </tr>
821
- <tr>
822
- <td>Elitism(RouletteSelection,1)</td>
823
- <td>NullCrossover</td>
824
- <td>ListMutator([:expected_n, 1],:flip)</td>
825
- <td>2.00000</td>
826
- <td>4.00000</td>
827
- <td>3.10000</td>
828
- <td>0.70000</td>
829
- <td>0.22308</td>
830
- </tr>
831
- <tr>
832
- <td>RouletteSelection</td>
833
- <td>SinglePointCrossover</td>
834
- <td>ListMutator([:expected_n, 1],:flip)</td>
835
- <td>1.00000</td>
836
- <td>4.00000</td>
837
- <td>3.10000</td>
838
- <td>0.83066</td>
839
- <td>0.22115</td>
840
- </tr>
841
- <tr>
842
- <td>Elitism(RouletteSelection,1)</td>
843
- <td>UniformCrossover</td>
844
- <td>ListMutator([:expected_n, 6],:flip)</td>
845
- <td>3.00000</td>
846
- <td>4.00000</td>
847
- <td>3.10000</td>
848
- <td>0.30000</td>
849
- <td>0.50515</td>
850
- </tr>
851
- <tr>
852
- <td>TruncationSelection(0.3)</td>
853
- <td>UniformCrossover</td>
854
- <td>ListMutator([:expected_n, 1],:flip)</td>
855
- <td>2.00000</td>
856
- <td>4.00000</td>
857
- <td>2.80000</td>
858
- <td>0.60000</td>
859
- <td>0.33851</td>
860
- </tr>
861
- <tr>
862
- <td>TruncationSelection(1)</td>
863
- <td>NullCrossover</td>
864
- <td>ListMutator([:expected_n, 3],:flip)</td>
865
- <td>2.00000</td>
866
- <td>5.00000</td>
867
- <td>2.80000</td>
868
- <td>0.97980</td>
869
- <td>0.25760</td>
870
- </tr>
871
- <tr>
872
- <td>TruncationSelection(0.3)</td>
873
- <td>SinglePointCrossover</td>
874
- <td>ListMutator([:expected_n, 1],:flip)</td>
875
- <td>1.00000</td>
876
- <td>4.00000</td>
877
- <td>2.70000</td>
878
- <td>0.78102</td>
879
- <td>0.24046</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>4.00000</td>
887
- <td>2.60000</td>
888
- <td>0.66332</td>
889
- <td>0.29243</td>
890
- </tr>
891
- <tr>
892
- <td>RouletteSelection</td>
893
- <td>SinglePointCrossover</td>
894
- <td>ListMutator([:expected_n, 2],:flip)</td>
895
- <td>2.00000</td>
896
- <td>3.00000</td>
897
- <td>2.60000</td>
898
- <td>0.48990</td>
899
- <td>0.21255</td>
900
- </tr>
901
- <tr>
902
- <td>TruncationSelection(1)</td>
903
- <td>NullCrossover</td>
904
- <td>ListMutator([:expected_n, 2],:flip)</td>
905
- <td>1.00000</td>
906
- <td>5.00000</td>
907
- <td>2.60000</td>
908
- <td>1.11355</td>
909
- <td>0.24780</td>
910
- </tr>
911
- <tr>
912
- <td>TruncationSelection(1)</td>
913
- <td>SinglePointCrossover</td>
914
- <td>ListMutator([:expected_n, 1],:flip)</td>
915
- <td>2.00000</td>
916
- <td>4.00000</td>
917
- <td>2.60000</td>
918
- <td>0.80000</td>
919
- <td>0.14266</td>
920
- </tr>
921
- <tr>
922
- <td>TruncationSelection(0.3)</td>
923
- <td>NullCrossover</td>
924
- <td>ListMutator([:expected_n, 2],:flip)</td>
925
- <td>1.00000</td>
926
- <td>4.00000</td>
927
- <td>2.60000</td>
928
- <td>0.80000</td>
929
- <td>0.15178</td>
930
- </tr>
931
- <tr>
932
- <td>TruncationSelection(1)</td>
933
- <td>UniformCrossover</td>
934
- <td>NullMutator</td>
935
- <td>2.00000</td>
936
- <td>4.00000</td>
937
- <td>2.50000</td>
938
- <td>0.67082</td>
939
- <td>0.09374</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>4.00000</td>
947
- <td>2.50000</td>
948
- <td>0.67082</td>
949
- <td>0.27884</td>
950
- </tr>
951
- <tr>
952
- <td>RouletteSelection</td>
953
- <td>NullCrossover</td>
954
- <td>ListMutator([:expected_n, 1],:flip)</td>
955
- <td>1.00000</td>
956
- <td>4.00000</td>
957
- <td>2.40000</td>
958
- <td>0.80000</td>
959
- <td>0.20736</td>
960
- </tr>
961
- <tr>
962
- <td>RouletteSelection</td>
963
- <td>SinglePointCrossover</td>
964
- <td>ListMutator([:expected_n, 3],:flip)</td>
965
- <td>1.00000</td>
966
- <td>3.00000</td>
967
- <td>2.40000</td>
968
- <td>0.66332</td>
969
- <td>0.21864</td>
970
- </tr>
971
- <tr>
972
- <td>TruncationSelection(1)</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.40000</td>
978
- <td>0.91652</td>
979
- <td>0.24828</td>
980
- </tr>
981
- <tr>
982
- <td>TruncationSelection(0.3)</td>
983
- <td>NullCrossover</td>
984
- <td>ListMutator([:expected_n, 1],:flip)</td>
985
- <td>2.00000</td>
986
- <td>3.00000</td>
987
- <td>2.30000</td>
988
- <td>0.45826</td>
989
- <td>0.14045</td>
990
- </tr>
991
- <tr>
992
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
993
- <td>UniformCrossover</td>
994
- <td>NullMutator</td>
995
- <td>2.00000</td>
996
- <td>4.00000</td>
997
- <td>2.30000</td>
998
- <td>0.64031</td>
999
- <td>0.21077</td>
1000
- </tr>
1001
- <tr>
1002
- <td>RouletteSelection</td>
1003
- <td>UniformCrossover</td>
1004
- <td>ListMutator([:expected_n, 2],:flip)</td>
1005
- <td>2.00000</td>
1006
- <td>3.00000</td>
1007
- <td>2.30000</td>
1008
- <td>0.45826</td>
1009
- <td>0.26454</td>
1010
- </tr>
1011
- <tr>
1012
- <td>TruncationSelection(1)</td>
1013
- <td>SinglePointCrossover</td>
1014
- <td>NullMutator</td>
1015
- <td>1.00000</td>
1016
- <td>4.00000</td>
1017
- <td>2.20000</td>
1018
- <td>0.74833</td>
1019
- <td>0.06512</td>
1020
- </tr>
1021
- <tr>
1022
- <td>TruncationSelection(0.3)</td>
1023
- <td>SinglePointCrossover</td>
1024
- <td>NullMutator</td>
1025
- <td>2.00000</td>
1026
- <td>3.00000</td>
1027
- <td>2.20000</td>
1028
- <td>0.40000</td>
1029
- <td>0.11993</td>
1030
- </tr>
1031
- <tr>
1032
- <td>RouletteSelection</td>
1033
- <td>NullCrossover</td>
1034
- <td>ListMutator([:expected_n, 2],:flip)</td>
1035
- <td>2.00000</td>
1036
- <td>3.00000</td>
1037
- <td>2.20000</td>
1038
- <td>0.40000</td>
1039
- <td>0.21286</td>
1040
- </tr>
1041
- <tr>
1042
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
1043
- <td>SinglePointCrossover</td>
1044
- <td>NullMutator</td>
1045
- <td>1.00000</td>
1046
- <td>3.00000</td>
1047
- <td>2.10000</td>
1048
- <td>0.70000</td>
1049
- <td>0.29011</td>
1050
- </tr>
1051
- <tr>
1052
- <td>RouletteSelection</td>
1053
- <td>NullCrossover</td>
1054
- <td>ListMutator([:expected_n, 4],:flip)</td>
1055
- <td>2.00000</td>
1056
- <td>3.00000</td>
1057
- <td>2.10000</td>
1058
- <td>0.30000</td>
1059
- <td>0.21207</td>
1060
- </tr>
1061
- <tr>
1062
- <td>RouletteSelection</td>
1063
- <td>NullCrossover</td>
1064
- <td>ListMutator([:expected_n, 3],:flip)</td>
1065
- <td>1.00000</td>
1066
- <td>3.00000</td>
1067
- <td>1.90000</td>
1068
- <td>0.53852</td>
1069
- <td>0.21919</td>
1070
- </tr>
1071
- <tr>
1072
- <td>RouletteSelection</td>
1073
- <td>SinglePointCrossover</td>
1074
- <td>ListMutator([:expected_n, 4],:flip)</td>
1075
- <td>1.00000</td>
1076
- <td>3.00000</td>
1077
- <td>1.90000</td>
1078
- <td>0.53852</td>
1079
- <td>0.22340</td>
1080
- </tr>
1081
- <tr>
1082
- <td>RouletteSelection</td>
1083
- <td>UniformCrossover</td>
1084
- <td>NullMutator</td>
1085
- <td>1.00000</td>
1086
- <td>4.00000</td>
1087
- <td>1.90000</td>
1088
- <td>0.94340</td>
1089
- <td>0.23057</td>
1090
- </tr>
1091
- <tr>
1092
- <td>RouletteSelection</td>
1093
- <td>NullCrossover</td>
1094
- <td>ListMutator([:expected_n, 5],:flip)</td>
1095
- <td>1.00000</td>
1096
- <td>2.00000</td>
1097
- <td>1.80000</td>
1098
- <td>0.40000</td>
1099
- <td>0.21692</td>
1100
- </tr>
1101
- <tr>
1102
- <td>RouletteSelection</td>
1103
- <td>UniformCrossover</td>
1104
- <td>ListMutator([:expected_n, 4],:flip)</td>
1105
- <td>1.00000</td>
1106
- <td>3.00000</td>
1107
- <td>1.80000</td>
1108
- <td>0.74833</td>
1109
- <td>0.86347</td>
1110
- </tr>
1111
- <tr>
1112
- <td>Elitism(RouletteSelection,1)</td>
1113
- <td>SinglePointCrossover</td>
1114
- <td>NullMutator</td>
1115
- <td>1.00000</td>
1116
- <td>3.00000</td>
1117
- <td>1.80000</td>
1118
- <td>0.74833</td>
1119
- <td>0.12783</td>
1120
- </tr>
1121
- <tr>
1122
- <td>RouletteSelection</td>
1123
- <td>SinglePointCrossover</td>
1124
- <td>ListMutator([:expected_n, 6],:flip)</td>
1125
- <td>1.00000</td>
1126
- <td>3.00000</td>
1127
- <td>1.80000</td>
1128
- <td>0.60000</td>
1129
- <td>0.21983</td>
1130
- </tr>
1131
- <tr>
1132
- <td>RouletteSelection</td>
1133
- <td>NullCrossover</td>
1134
- <td>ListMutator([:expected_n, 6],:flip)</td>
1135
- <td>1.00000</td>
1136
- <td>2.00000</td>
1137
- <td>1.80000</td>
1138
- <td>0.40000</td>
1139
- <td>0.21084</td>
1140
- </tr>
1141
- <tr>
1142
- <td>RouletteSelection</td>
1143
- <td>UniformCrossover</td>
1144
- <td>ListMutator([:expected_n, 3],:flip)</td>
1145
- <td>1.00000</td>
1146
- <td>2.00000</td>
1147
- <td>1.70000</td>
1148
- <td>0.45826</td>
1149
- <td>0.38061</td>
1150
- </tr>
1151
- <tr>
1152
- <td>RouletteSelection</td>
1153
- <td>UniformCrossover</td>
1154
- <td>ListMutator([:expected_n, 5],:flip)</td>
1155
- <td>1.00000</td>
1156
- <td>2.00000</td>
1157
- <td>1.70000</td>
1158
- <td>0.45826</td>
1159
- <td>0.64173</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.60000</td>
1168
- <td>0.48990</td>
1169
- <td>0.22051</td>
1170
- </tr>
1171
- <tr>
1172
- <td>RouletteSelection</td>
1173
- <td>NullCrossover</td>
1174
- <td>NullMutator</td>
1175
- <td>1.00000</td>
1176
- <td>2.00000</td>
1177
- <td>1.50000</td>
1178
- <td>0.50000</td>
1179
- <td>0.09608</td>
1180
- </tr>
1181
- <tr>
1182
- <td>TruncationSelection(1)</td>
1183
- <td>NullCrossover</td>
1184
- <td>NullMutator</td>
1185
- <td>1.00000</td>
1186
- <td>2.00000</td>
1187
- <td>1.50000</td>
1188
- <td>0.50000</td>
1189
- <td>0.05968</td>
1190
- </tr>
1191
- <tr>
1192
- <td>Elitism(RouletteSelection,1)</td>
1193
- <td>NullCrossover</td>
1194
- <td>NullMutator</td>
1195
- <td>1.00000</td>
1196
- <td>2.00000</td>
1197
- <td>1.40000</td>
1198
- <td>0.48990</td>
1199
- <td>0.15696</td>
1200
- </tr>
1201
- <tr>
1202
- <td>RouletteSelection</td>
1203
- <td>SinglePointCrossover</td>
1204
- <td>NullMutator</td>
1205
- <td>1.00000</td>
1206
- <td>2.00000</td>
1207
- <td>1.40000</td>
1208
- <td>0.48990</td>
1209
- <td>0.10787</td>
1210
- </tr>
1211
- <tr>
1212
- <td>RouletteSelection</td>
1213
- <td>UniformCrossover</td>
1214
- <td>ListMutator([:expected_n, 6],:flip)</td>
1215
- <td>1.00000</td>
1216
- <td>2.00000</td>
1217
- <td>1.40000</td>
1218
- <td>0.48990</td>
1219
- <td>0.48410</td>
1220
- </tr>
1221
- <tr>
1222
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
1223
- <td>NullCrossover</td>
1224
- <td>NullMutator</td>
1225
- <td>1.00000</td>
1226
- <td>2.00000</td>
1227
- <td>1.30000</td>
1228
- <td>0.45826</td>
1229
- <td>0.14371</td>
1230
- </tr>
1231
- <tr>
1232
- <td>TruncationSelection(0.3)</td>
1233
- <td>NullCrossover</td>
1234
- <td>NullMutator</td>
1235
- <td>1.00000</td>
1236
- <td>2.00000</td>
1237
- <td>1.20000</td>
1238
- <td>0.40000</td>
1239
- <td>0.08780</td>
1240
- </tr>
1241
- </table>
1242
- </body>
1243
- </html>