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,24 +0,0 @@
1
- "TruncationSelection(1)", "NullCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.1])", "0.999962499522789, 0.999998652794527, 0.999889058146414, 0.999999462840994, 0.999964619197891, 0.999996319366448, 0.999996990360922, 0.999913425256308, 0.999978663183376, 0.999996003213347"
2
- "TruncationSelection(1)", "NullCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.2])", "0.999524616382211, 0.999965795997746, 0.999941165503104, 0.999784847166319, 0.99988698862193, 0.999807830163559, 0.999957811406837, 0.999997144934828, 0.999984305591952, 0.999926038182766"
3
- "TruncationSelection(1)", "NullCrossover", "ListMutator([:expected_n, 1],[:gaussian, 0.3])", "0.999869842755607, 0.999892331033152, 0.999979406946102, 0.999972591528636, 0.999784439462784, 0.999752665642649, 0.999740123890472, 0.999906754819243, 0.999944285357839, 0.999907859023755"
4
- "TruncationSelection(1)", "NullCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.1])", "0.999996398868055, 0.999923286440425, 0.999832879776912, 0.999892748944274, 0.999990420380703, 0.999953276259769, 0.999784410400789, 0.999968379827551, 0.99993593922602, 0.999996066756061"
5
- "TruncationSelection(1)", "NullCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.2])", "0.999343135533018, 0.999926711262893, 0.999723701235886, 0.998385389176173, 0.99960374988823, 0.999497780277311, 0.99959656163161, 0.999611815491161, 0.998836971142865, 0.999906234874122"
6
- "TruncationSelection(1)", "NullCrossover", "ListMutator([:expected_n, 2],[:gaussian, 0.3])", "0.999793494434735, 0.999633797275551, 0.999194596941602, 0.999850074397869, 0.997909495694274, 0.999644796182133, 0.996492002759438, 0.999473744042548, 0.999305917001027, 0.99967332551967"
7
- "TruncationSelection(1)", "SinglePointCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.1])", "0.9999971319952, 0.999991921899548, 0.999964764266233, 0.999977580241915, 0.999948551101767, 0.999986783308734, 0.999991757211049, 0.999974238526551, 0.999989488053752, 0.999819633057478"
8
- "TruncationSelection(1)", "SinglePointCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.2])", "0.999991310101275, 0.99983338267977, 0.999995744368698, 0.999914766745411, 0.999881518772929, 0.999970075058966, 0.999970487401135, 0.999899102390296, 0.999999957621986, 0.999939851796306"
9
- "TruncationSelection(1)", "SinglePointCrossover", "ListMutator([:expected_n, 1],[:gaussian, 0.3])", "0.999991827247072, 0.999932926806236, 0.99999331651782, 0.999872191844183, 0.999770976313918, 0.999971822331135, 0.999999454917125, 0.999989385555476, 0.999745858753924, 0.999831170133631"
10
- "TruncationSelection(1)", "SinglePointCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.1])", "0.999971824748437, 0.999949336183533, 0.999868568267563, 0.99989083119258, 0.999875164722654, 0.99986225054119, 0.999992275122298, 0.999686586441111, 0.999896624020496, 0.99997362941078"
11
- "TruncationSelection(1)", "SinglePointCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.2])", "0.999738479630165, 0.999967985219808, 0.999505936820591, 0.999574560534565, 0.999655406264264, 0.999512387704762, 0.999319012481885, 0.999910575474045, 0.999843060227573, 0.999785005029499"
12
- "TruncationSelection(1)", "SinglePointCrossover", "ListMutator([:expected_n, 2],[:gaussian, 0.3])", "0.998010952814305, 0.999841298912349, 0.997249244000433, 0.998598454134285, 0.999631417063882, 0.999526723668268, 0.999640439407009, 0.998543339142324, 0.999398873593627, 0.999834731868556"
13
- "TournamentSelection(4,nil)", "NullCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.1])", "0.999962859178539, 0.99993099911141, 0.99999778972254, 0.999971561263259, 0.999985542332273, 0.999996583520511, 0.999900845160406, 0.999860446124241, 0.999830195271072, 0.999992052591085"
14
- "TournamentSelection(4,nil)", "NullCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.2])", "0.999847948389845, 0.999924442111978, 0.999998563789714, 0.999498137315194, 0.999928203397409, 0.999736468187824, 0.999913666262907, 0.999997523963894, 0.999986303322336, 0.999974546651597"
15
- "TournamentSelection(4,nil)", "NullCrossover", "ListMutator([:expected_n, 1],[:gaussian, 0.3])", "0.99997523951925, 0.999799831902702, 0.999973496718586, 0.999789339454646, 0.999997876258809, 0.999686136999988, 0.999712949231541, 0.999112263498314, 0.999977392321691, 0.999635663001978"
16
- "TournamentSelection(4,nil)", "NullCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.1])", "0.999709685780766, 0.999983847750618, 0.999947906538176, 0.999906179421976, 0.999894584882464, 0.999950714939581, 0.999979882243659, 0.999878272195098, 0.999887275508717, 0.99982510422866"
17
- "TournamentSelection(4,nil)", "NullCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.2])", "0.999530041679805, 0.999881190433656, 0.999920648638056, 0.999377865626807, 0.999967490749713, 0.99975600051568, 0.999878802741054, 0.999909772674547, 0.999276642453702, 0.999341386710207"
18
- "TournamentSelection(4,nil)", "NullCrossover", "ListMutator([:expected_n, 2],[:gaussian, 0.3])", "0.999560199535374, 0.998969437171643, 0.99831174829109, 0.997598572065058, 0.999922792252581, 0.999753617352233, 0.998385815289801, 0.999538052841945, 0.998813697061164, 0.999971166169384"
19
- "TournamentSelection(4,nil)", "SinglePointCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.1])", "0.999978310951319, 0.999980820173807, 0.99997304305104, 0.999959406796152, 0.999987205289795, 0.999985975569628, 0.999989968194095, 0.999979560806285, 0.999957095586113, 0.999998449988101"
20
- "TournamentSelection(4,nil)", "SinglePointCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.2])", "0.999983389103737, 0.999978712341735, 0.999997512070279, 0.999999082746093, 0.999781071564421, 0.9998715487472, 0.999984389484904, 0.999905152464202, 0.999948764685367, 0.999913668159967"
21
- "TournamentSelection(4,nil)", "SinglePointCrossover", "ListMutator([:expected_n, 1],[:gaussian, 0.3])", "0.999885932597572, 0.999810544115486, 0.999795636850847, 0.999837868352879, 0.999913826673197, 0.999935063606367, 0.998537969005009, 0.999469125809981, 0.998851932722504, 0.999870871452294"
22
- "TournamentSelection(4,nil)", "SinglePointCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.1])", "0.999924647465301, 0.999923816899236, 0.999978037450553, 0.999998326541939, 0.99997691959613, 0.999989186201665, 0.999922732178471, 0.999914134121092, 0.999980031982811, 0.999771083494558"
23
- "TournamentSelection(4,nil)", "SinglePointCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.2])", "0.999980999928848, 0.999748891380095, 0.999880595938796, 0.999734580387458, 0.999216817440156, 0.999971471483304, 0.999664765568216, 0.999566101896661, 0.999261268276382, 0.999785169479352"
24
- "TournamentSelection(4,nil)", "SinglePointCrossover", "ListMutator([:expected_n, 2],[:gaussian, 0.3])", "0.999983218650085, 0.999849337527656, 0.999861924513055, 0.997844971318218, 0.999223804318303, 0.999663579427152, 0.997755746697795, 0.999759569563935, 0.998877117139741, 0.992976666052269"
@@ -1,384 +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>Hill2</td></tr>
36
- <tr><td>Population size</td><td>10</td></tr>
37
- <tr><td># of generations per run</td><td>20</td></tr>
38
- <tr><td>Number of tests </td><td>24</td></tr>
39
- <tr><td>Tests repeated </td><td>10 times</td></tr>
40
- <tr><td>Number of runs </td><td>240</td></tr>
41
- <tr><td>Total number of generations </td><td>4800</td></tr>
42
- <tr><td>Total time</td><td>3.33 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>0.99298</td>
49
- <td>1.00000</td>
50
- <td>0.99969</td>
51
- <td>0.00066</td>
52
- <td>0.01386</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(1)</td>
58
- <td>0.99649</td>
59
- <td>1.00000</td>
60
- <td>0.99972</td>
61
- <td>0.00053</td>
62
- <td>0.01107</td>
63
- </tr>
64
- <tr>
65
- <td>TournamentSelection(4,nil)</td>
66
- <td>0.99298</td>
67
- <td>1.00000</td>
68
- <td>0.99966</td>
69
- <td>0.00077</td>
70
- <td>0.01665</td>
71
- </tr>
72
- </table><h1>Stats for crossover</h1><table>
73
- <tr><th>crossover</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>avg-time</th></tr>
74
- <tr>
75
- <td>NullCrossover</td>
76
- <td>0.99649</td>
77
- <td>1.00000</td>
78
- <td>0.99970</td>
79
- <td>0.00051</td>
80
- <td>0.01315</td>
81
- </tr>
82
- <tr>
83
- <td>SinglePointCrossover</td>
84
- <td>0.99298</td>
85
- <td>1.00000</td>
86
- <td>0.99968</td>
87
- <td>0.00078</td>
88
- <td>0.01456</td>
89
- </tr>
90
- </table><h1>Stats for mutation</h1><table>
91
- <tr><th>mutation</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>avg-time</th></tr>
92
- <tr>
93
- <td>ListMutator([:expected_n, 1],[:uniform, 0.1])</td>
94
- <td>0.99982</td>
95
- <td>1.00000</td>
96
- <td>0.99996</td>
97
- <td>0.00004</td>
98
- <td>0.01274</td>
99
- </tr>
100
- <tr>
101
- <td>ListMutator([:expected_n, 2],[:uniform, 0.1])</td>
102
- <td>0.99969</td>
103
- <td>1.00000</td>
104
- <td>0.99991</td>
105
- <td>0.00008</td>
106
- <td>0.01417</td>
107
- </tr>
108
- <tr>
109
- <td>ListMutator([:expected_n, 1],[:uniform, 0.2])</td>
110
- <td>0.99950</td>
111
- <td>1.00000</td>
112
- <td>0.99991</td>
113
- <td>0.00011</td>
114
- <td>0.01265</td>
115
- </tr>
116
- <tr>
117
- <td>ListMutator([:expected_n, 1],[:gaussian, 0.3])</td>
118
- <td>0.99854</td>
119
- <td>1.00000</td>
120
- <td>0.99979</td>
121
- <td>0.00030</td>
122
- <td>0.01355</td>
123
- </tr>
124
- <tr>
125
- <td>ListMutator([:expected_n, 2],[:uniform, 0.2])</td>
126
- <td>0.99839</td>
127
- <td>0.99998</td>
128
- <td>0.99962</td>
129
- <td>0.00032</td>
130
- <td>0.01421</td>
131
- </tr>
132
- <tr>
133
- <td>ListMutator([:expected_n, 2],[:gaussian, 0.3])</td>
134
- <td>0.99298</td>
135
- <td>0.99998</td>
136
- <td>0.99895</td>
137
- <td>0.00128</td>
138
- <td>0.01581</td>
139
- </tr>
140
- </table><h1>Raw Stats</h1><table>
141
- <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>
142
- <tr>
143
- <td>TournamentSelection(4,nil)</td>
144
- <td>SinglePointCrossover</td>
145
- <td>ListMutator([:expected_n, 1],[:uniform, 0.1])</td>
146
- <td>0.99996</td>
147
- <td>1.00000</td>
148
- <td>0.99998</td>
149
- <td>0.00001</td>
150
- <td>0.01611</td>
151
- </tr>
152
- <tr>
153
- <td>TruncationSelection(1)</td>
154
- <td>NullCrossover</td>
155
- <td>ListMutator([:expected_n, 1],[:uniform, 0.1])</td>
156
- <td>0.99989</td>
157
- <td>1.00000</td>
158
- <td>0.99997</td>
159
- <td>0.00004</td>
160
- <td>0.00942</td>
161
- </tr>
162
- <tr>
163
- <td>TruncationSelection(1)</td>
164
- <td>SinglePointCrossover</td>
165
- <td>ListMutator([:expected_n, 1],[:uniform, 0.1])</td>
166
- <td>0.99982</td>
167
- <td>1.00000</td>
168
- <td>0.99996</td>
169
- <td>0.00005</td>
170
- <td>0.01068</td>
171
- </tr>
172
- <tr>
173
- <td>TournamentSelection(4,nil)</td>
174
- <td>SinglePointCrossover</td>
175
- <td>ListMutator([:expected_n, 1],[:uniform, 0.2])</td>
176
- <td>0.99978</td>
177
- <td>1.00000</td>
178
- <td>0.99994</td>
179
- <td>0.00007</td>
180
- <td>0.01639</td>
181
- </tr>
182
- <tr>
183
- <td>TournamentSelection(4,nil)</td>
184
- <td>SinglePointCrossover</td>
185
- <td>ListMutator([:expected_n, 2],[:uniform, 0.1])</td>
186
- <td>0.99977</td>
187
- <td>1.00000</td>
188
- <td>0.99994</td>
189
- <td>0.00006</td>
190
- <td>0.01781</td>
191
- </tr>
192
- <tr>
193
- <td>TruncationSelection(1)</td>
194
- <td>SinglePointCrossover</td>
195
- <td>ListMutator([:expected_n, 1],[:uniform, 0.2])</td>
196
- <td>0.99983</td>
197
- <td>1.00000</td>
198
- <td>0.99994</td>
199
- <td>0.00005</td>
200
- <td>0.01037</td>
201
- </tr>
202
- <tr>
203
- <td>TournamentSelection(4,nil)</td>
204
- <td>NullCrossover</td>
205
- <td>ListMutator([:expected_n, 1],[:uniform, 0.1])</td>
206
- <td>0.99983</td>
207
- <td>1.00000</td>
208
- <td>0.99994</td>
209
- <td>0.00006</td>
210
- <td>0.01476</td>
211
- </tr>
212
- <tr>
213
- <td>TruncationSelection(1)</td>
214
- <td>NullCrossover</td>
215
- <td>ListMutator([:expected_n, 2],[:uniform, 0.1])</td>
216
- <td>0.99978</td>
217
- <td>1.00000</td>
218
- <td>0.99993</td>
219
- <td>0.00007</td>
220
- <td>0.01061</td>
221
- </tr>
222
- <tr>
223
- <td>TruncationSelection(1)</td>
224
- <td>SinglePointCrossover</td>
225
- <td>ListMutator([:expected_n, 1],[:gaussian, 0.3])</td>
226
- <td>0.99975</td>
227
- <td>1.00000</td>
228
- <td>0.99991</td>
229
- <td>0.00009</td>
230
- <td>0.01140</td>
231
- </tr>
232
- <tr>
233
- <td>TruncationSelection(1)</td>
234
- <td>SinglePointCrossover</td>
235
- <td>ListMutator([:expected_n, 2],[:uniform, 0.1])</td>
236
- <td>0.99969</td>
237
- <td>0.99999</td>
238
- <td>0.99990</td>
239
- <td>0.00008</td>
240
- <td>0.01204</td>
241
- </tr>
242
- <tr>
243
- <td>TournamentSelection(4,nil)</td>
244
- <td>NullCrossover</td>
245
- <td>ListMutator([:expected_n, 2],[:uniform, 0.1])</td>
246
- <td>0.99971</td>
247
- <td>0.99998</td>
248
- <td>0.99990</td>
249
- <td>0.00008</td>
250
- <td>0.01622</td>
251
- </tr>
252
- <tr>
253
- <td>TournamentSelection(4,nil)</td>
254
- <td>NullCrossover</td>
255
- <td>ListMutator([:expected_n, 1],[:uniform, 0.2])</td>
256
- <td>0.99950</td>
257
- <td>1.00000</td>
258
- <td>0.99988</td>
259
- <td>0.00015</td>
260
- <td>0.01470</td>
261
- </tr>
262
- <tr>
263
- <td>TruncationSelection(1)</td>
264
- <td>NullCrossover</td>
265
- <td>ListMutator([:expected_n, 1],[:gaussian, 0.3])</td>
266
- <td>0.99974</td>
267
- <td>0.99998</td>
268
- <td>0.99988</td>
269
- <td>0.00008</td>
270
- <td>0.00996</td>
271
- </tr>
272
- <tr>
273
- <td>TruncationSelection(1)</td>
274
- <td>NullCrossover</td>
275
- <td>ListMutator([:expected_n, 1],[:uniform, 0.2])</td>
276
- <td>0.99952</td>
277
- <td>1.00000</td>
278
- <td>0.99988</td>
279
- <td>0.00014</td>
280
- <td>0.00915</td>
281
- </tr>
282
- <tr>
283
- <td>TournamentSelection(4,nil)</td>
284
- <td>NullCrossover</td>
285
- <td>ListMutator([:expected_n, 1],[:gaussian, 0.3])</td>
286
- <td>0.99911</td>
287
- <td>1.00000</td>
288
- <td>0.99977</td>
289
- <td>0.00025</td>
290
- <td>0.01569</td>
291
- </tr>
292
- <tr>
293
- <td>TournamentSelection(4,nil)</td>
294
- <td>SinglePointCrossover</td>
295
- <td>ListMutator([:expected_n, 2],[:uniform, 0.2])</td>
296
- <td>0.99922</td>
297
- <td>0.99998</td>
298
- <td>0.99968</td>
299
- <td>0.00025</td>
300
- <td>0.01765</td>
301
- </tr>
302
- <tr>
303
- <td>TruncationSelection(1)</td>
304
- <td>SinglePointCrossover</td>
305
- <td>ListMutator([:expected_n, 2],[:uniform, 0.2])</td>
306
- <td>0.99932</td>
307
- <td>0.99997</td>
308
- <td>0.99968</td>
309
- <td>0.00019</td>
310
- <td>0.01214</td>
311
- </tr>
312
- <tr>
313
- <td>TournamentSelection(4,nil)</td>
314
- <td>NullCrossover</td>
315
- <td>ListMutator([:expected_n, 2],[:uniform, 0.2])</td>
316
- <td>0.99928</td>
317
- <td>0.99997</td>
318
- <td>0.99968</td>
319
- <td>0.00026</td>
320
- <td>0.01626</td>
321
- </tr>
322
- <tr>
323
- <td>TournamentSelection(4,nil)</td>
324
- <td>SinglePointCrossover</td>
325
- <td>ListMutator([:expected_n, 1],[:gaussian, 0.3])</td>
326
- <td>0.99854</td>
327
- <td>0.99994</td>
328
- <td>0.99959</td>
329
- <td>0.00047</td>
330
- <td>0.01714</td>
331
- </tr>
332
- <tr>
333
- <td>TruncationSelection(1)</td>
334
- <td>NullCrossover</td>
335
- <td>ListMutator([:expected_n, 2],[:uniform, 0.2])</td>
336
- <td>0.99839</td>
337
- <td>0.99993</td>
338
- <td>0.99944</td>
339
- <td>0.00046</td>
340
- <td>0.01079</td>
341
- </tr>
342
- <tr>
343
- <td>TruncationSelection(1)</td>
344
- <td>NullCrossover</td>
345
- <td>ListMutator([:expected_n, 2],[:gaussian, 0.3])</td>
346
- <td>0.99649</td>
347
- <td>0.99985</td>
348
- <td>0.99910</td>
349
- <td>0.00102</td>
350
- <td>0.01248</td>
351
- </tr>
352
- <tr>
353
- <td>TournamentSelection(4,nil)</td>
354
- <td>NullCrossover</td>
355
- <td>ListMutator([:expected_n, 2],[:gaussian, 0.3])</td>
356
- <td>0.99760</td>
357
- <td>0.99997</td>
358
- <td>0.99908</td>
359
- <td>0.00076</td>
360
- <td>0.01777</td>
361
- </tr>
362
- <tr>
363
- <td>TruncationSelection(1)</td>
364
- <td>SinglePointCrossover</td>
365
- <td>ListMutator([:expected_n, 2],[:gaussian, 0.3])</td>
366
- <td>0.99725</td>
367
- <td>0.99984</td>
368
- <td>0.99903</td>
369
- <td>0.00084</td>
370
- <td>0.01374</td>
371
- </tr>
372
- <tr>
373
- <td>TournamentSelection(4,nil)</td>
374
- <td>SinglePointCrossover</td>
375
- <td>ListMutator([:expected_n, 2],[:gaussian, 0.3])</td>
376
- <td>0.99298</td>
377
- <td>0.99998</td>
378
- <td>0.99858</td>
379
- <td>0.00202</td>
380
- <td>0.01924</td>
381
- </tr>
382
- </table>
383
- </body>
384
- </html>
@@ -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>RoyalRoad</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>777.69 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>0.00000</td>
49
- <td>5.00000</td>
50
- <td>2.12000</td>
51
- <td>0.89507</td>
52
- <td>0.86408</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>Elitism(RouletteSelection,1)</td>
58
- <td>0.00000</td>
59
- <td>4.00000</td>
60
- <td>2.26111</td>
61
- <td>0.77002</td>
62
- <td>3.13987</td>
63
- </tr>
64
- <tr>
65
- <td>TruncationSelection(0.4)</td>
66
- <td>0.00000</td>
67
- <td>5.00000</td>
68
- <td>2.17778</td>
69
- <td>0.95543</td>
70
- <td>0.24277</td>
71
- </tr>
72
- <tr>
73
- <td>TruncationSelection(0.2)</td>
74
- <td>0.00000</td>
75
- <td>5.00000</td>
76
- <td>2.12778</td>
77
- <td>0.96050</td>
78
- <td>0.24488</td>
79
- </tr>
80
- <tr>
81
- <td>TruncationSelection(0.3)</td>
82
- <td>0.00000</td>
83
- <td>5.00000</td>
84
- <td>2.08889</td>
85
- <td>0.96775</td>
86
- <td>0.24210</td>
87
- </tr>
88
- <tr>
89
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
90
- <td>0.00000</td>
91
- <td>4.00000</td>
92
- <td>1.94445</td>
93
- <td>0.76538</td>
94
- <td>0.45078</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>0.00000</td>
101
- <td>5.00000</td>
102
- <td>2.28333</td>
103
- <td>0.83450</td>
104
- <td>1.09964</td>
105
- </tr>
106
- <tr>
107
- <td>SinglePointCrossover</td>
108
- <td>0.00000</td>
109
- <td>5.00000</td>
110
- <td>2.22333</td>
111
- <td>0.93459</td>
112
- <td>0.65367</td>
113
- </tr>
114
- <tr>
115
- <td>NullCrossover</td>
116
- <td>0.00000</td>
117
- <td>5.00000</td>
118
- <td>1.85333</td>
119
- <td>0.85156</td>
120
- <td>0.83892</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, 4],:flip)</td>
126
- <td>1.00000</td>
127
- <td>5.00000</td>
128
- <td>2.38667</td>
129
- <td>0.89284</td>
130
- <td>0.86114</td>
131
- </tr>
132
- <tr>
133
- <td>ListMutator([:expected_n, 4],:flip)</td>
134
- <td>1.00000</td>
135
- <td>5.00000</td>
136
- <td>2.21333</td>
137
- <td>0.83735</td>
138
- <td>0.93606</td>
139
- </tr>
140
- <tr>
141
- <td>ListMutator([:n_point, 3],:flip)</td>
142
- <td>0.00000</td>
143
- <td>4.00000</td>
144
- <td>2.16000</td>
145
- <td>0.93152</td>
146
- <td>0.83990</td>
147
- </tr>
148
- <tr>
149
- <td>ListMutator([:expected_n, 3],:flip)</td>
150
- <td>1.00000</td>
151
- <td>5.00000</td>
152
- <td>2.12667</td>
153
- <td>0.85866</td>
154
- <td>0.79714</td>
155
- </tr>
156
- <tr>
157
- <td>ListMutator([:n_point, 2],:flip)</td>
158
- <td>0.00000</td>
159
- <td>5.00000</td>
160
- <td>1.94000</td>
161
- <td>0.96768</td>
162
- <td>0.73595</td>
163
- </tr>
164
- <tr>
165
- <td>ListMutator([:expected_n, 2],:flip)</td>
166
- <td>0.00000</td>
167
- <td>4.00000</td>
168
- <td>1.89333</td>
169
- <td>0.77586</td>
170
- <td>1.01429</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(0.3)</td>
176
- <td>SinglePointCrossover</td>
177
- <td>ListMutator([:n_point, 4],:flip)</td>
178
- <td>1.00000</td>
179
- <td>5.00000</td>
180
- <td>3.10000</td>
181
- <td>1.04403</td>
182
- <td>0.19841</td>
183
- </tr>
184
- <tr>
185
- <td>TruncationSelection(0.2)</td>
186
- <td>UniformCrossover</td>
187
- <td>ListMutator([:n_point, 2],:flip)</td>
188
- <td>2.00000</td>
189
- <td>5.00000</td>
190
- <td>3.00000</td>
191
- <td>1.00000</td>
192
- <td>0.24309</td>
193
- </tr>
194
- <tr>
195
- <td>TruncationSelection(0.4)</td>
196
- <td>SinglePointCrossover</td>
197
- <td>ListMutator([:n_point, 3],:flip)</td>
198
- <td>1.00000</td>
199
- <td>4.00000</td>
200
- <td>2.80000</td>
201
- <td>1.07703</td>
202
- <td>0.19736</td>
203
- </tr>
204
- <tr>
205
- <td>TruncationSelection(0.3)</td>
206
- <td>SinglePointCrossover</td>
207
- <td>ListMutator([:expected_n, 3],:flip)</td>
208
- <td>2.00000</td>
209
- <td>5.00000</td>
210
- <td>2.80000</td>
211
- <td>0.97980</td>
212
- <td>0.26371</td>
213
- </tr>
214
- <tr>
215
- <td>TruncationSelection(0.2)</td>
216
- <td>SinglePointCrossover</td>
217
- <td>ListMutator([:n_point, 4],:flip)</td>
218
- <td>1.00000</td>
219
- <td>4.00000</td>
220
- <td>2.80000</td>
221
- <td>0.87178</td>
222
- <td>0.20377</td>
223
- </tr>
224
- <tr>
225
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
226
- <td>NullCrossover</td>
227
- <td>ListMutator([:n_point, 4],:flip)</td>
228
- <td>1.00000</td>
229
- <td>4.00000</td>
230
- <td>2.70000</td>
231
- <td>0.90000</td>
232
- <td>0.36684</td>
233
- </tr>
234
- <tr>
235
- <td>TruncationSelection(0.4)</td>
236
- <td>UniformCrossover</td>
237
- <td>ListMutator([:n_point, 2],:flip)</td>
238
- <td>2.00000</td>
239
- <td>4.00000</td>
240
- <td>2.70000</td>
241
- <td>0.78102</td>
242
- <td>0.24005</td>
243
- </tr>
244
- <tr>
245
- <td>TruncationSelection(0.3)</td>
246
- <td>UniformCrossover</td>
247
- <td>ListMutator([:expected_n, 4],:flip)</td>
248
- <td>2.00000</td>
249
- <td>4.00000</td>
250
- <td>2.70000</td>
251
- <td>0.64031</td>
252
- <td>0.31560</td>
253
- </tr>
254
- <tr>
255
- <td>Elitism(RouletteSelection,1)</td>
256
- <td>UniformCrossover</td>
257
- <td>ListMutator([:n_point, 3],:flip)</td>
258
- <td>2.00000</td>
259
- <td>4.00000</td>
260
- <td>2.70000</td>
261
- <td>0.78102</td>
262
- <td>4.70840</td>
263
- </tr>
264
- <tr>
265
- <td>Elitism(RouletteSelection,1)</td>
266
- <td>SinglePointCrossover</td>
267
- <td>ListMutator([:n_point, 4],:flip)</td>
268
- <td>2.00000</td>
269
- <td>4.00000</td>
270
- <td>2.60000</td>
271
- <td>0.66332</td>
272
- <td>1.33296</td>
273
- </tr>
274
- <tr>
275
- <td>TruncationSelection(0.2)</td>
276
- <td>SinglePointCrossover</td>
277
- <td>ListMutator([:n_point, 3],:flip)</td>
278
- <td>1.00000</td>
279
- <td>4.00000</td>
280
- <td>2.60000</td>
281
- <td>1.28062</td>
282
- <td>0.19291</td>
283
- </tr>
284
- <tr>
285
- <td>TruncationSelection(0.4)</td>
286
- <td>UniformCrossover</td>
287
- <td>ListMutator([:expected_n, 4],:flip)</td>
288
- <td>1.00000</td>
289
- <td>4.00000</td>
290
- <td>2.60000</td>
291
- <td>0.80000</td>
292
- <td>0.31521</td>
293
- </tr>
294
- <tr>
295
- <td>TruncationSelection(0.3)</td>
296
- <td>SinglePointCrossover</td>
297
- <td>ListMutator([:expected_n, 4],:flip)</td>
298
- <td>1.00000</td>
299
- <td>5.00000</td>
300
- <td>2.60000</td>
301
- <td>1.20000</td>
302
- <td>0.26330</td>
303
- </tr>
304
- <tr>
305
- <td>Elitism(RouletteSelection,1)</td>
306
- <td>UniformCrossover</td>
307
- <td>ListMutator([:expected_n, 4],:flip)</td>
308
- <td>2.00000</td>
309
- <td>3.00000</td>
310
- <td>2.60000</td>
311
- <td>0.48990</td>
312
- <td>4.20822</td>
313
- </tr>
314
- <tr>
315
- <td>TruncationSelection(0.2)</td>
316
- <td>UniformCrossover</td>
317
- <td>ListMutator([:n_point, 4],:flip)</td>
318
- <td>1.00000</td>
319
- <td>4.00000</td>
320
- <td>2.60000</td>
321
- <td>1.01980</td>
322
- <td>0.24756</td>
323
- </tr>
324
- <tr>
325
- <td>Elitism(RouletteSelection,1)</td>
326
- <td>SinglePointCrossover</td>
327
- <td>ListMutator([:n_point, 3],:flip)</td>
328
- <td>0.00000</td>
329
- <td>3.00000</td>
330
- <td>2.50000</td>
331
- <td>0.92195</td>
332
- <td>2.24618</td>
333
- </tr>
334
- <tr>
335
- <td>TruncationSelection(0.2)</td>
336
- <td>UniformCrossover</td>
337
- <td>ListMutator([:n_point, 3],:flip)</td>
338
- <td>1.00000</td>
339
- <td>4.00000</td>
340
- <td>2.50000</td>
341
- <td>0.92195</td>
342
- <td>0.24087</td>
343
- </tr>
344
- <tr>
345
- <td>TruncationSelection(0.3)</td>
346
- <td>UniformCrossover</td>
347
- <td>ListMutator([:n_point, 4],:flip)</td>
348
- <td>1.00000</td>
349
- <td>4.00000</td>
350
- <td>2.50000</td>
351
- <td>1.02470</td>
352
- <td>0.24529</td>
353
- </tr>
354
- <tr>
355
- <td>Elitism(RouletteSelection,1)</td>
356
- <td>UniformCrossover</td>
357
- <td>ListMutator([:expected_n, 2],:flip)</td>
358
- <td>2.00000</td>
359
- <td>4.00000</td>
360
- <td>2.50000</td>
361
- <td>0.67082</td>
362
- <td>4.59547</td>
363
- </tr>
364
- <tr>
365
- <td>TruncationSelection(0.4)</td>
366
- <td>SinglePointCrossover</td>
367
- <td>ListMutator([:expected_n, 4],:flip)</td>
368
- <td>1.00000</td>
369
- <td>4.00000</td>
370
- <td>2.50000</td>
371
- <td>0.92195</td>
372
- <td>0.26656</td>
373
- </tr>
374
- <tr>
375
- <td>Elitism(RouletteSelection,1)</td>
376
- <td>NullCrossover</td>
377
- <td>ListMutator([:n_point, 4],:flip)</td>
378
- <td>2.00000</td>
379
- <td>4.00000</td>
380
- <td>2.50000</td>
381
- <td>0.67082</td>
382
- <td>3.07596</td>
383
- </tr>
384
- <tr>
385
- <td>TruncationSelection(0.3)</td>
386
- <td>UniformCrossover</td>
387
- <td>ListMutator([:expected_n, 3],:flip)</td>
388
- <td>1.00000</td>
389
- <td>3.00000</td>
390
- <td>2.40000</td>
391
- <td>0.66332</td>
392
- <td>0.32846</td>
393
- </tr>
394
- <tr>
395
- <td>TruncationSelection(0.4)</td>
396
- <td>SinglePointCrossover</td>
397
- <td>ListMutator([:expected_n, 3],:flip)</td>
398
- <td>1.00000</td>
399
- <td>4.00000</td>
400
- <td>2.40000</td>
401
- <td>0.91652</td>
402
- <td>0.26751</td>
403
- </tr>
404
- <tr>
405
- <td>TruncationSelection(0.4)</td>
406
- <td>SinglePointCrossover</td>
407
- <td>ListMutator([:n_point, 4],:flip)</td>
408
- <td>1.00000</td>
409
- <td>4.00000</td>
410
- <td>2.40000</td>
411
- <td>0.91652</td>
412
- <td>0.19631</td>
413
- </tr>
414
- <tr>
415
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
416
- <td>SinglePointCrossover</td>
417
- <td>ListMutator([:n_point, 4],:flip)</td>
418
- <td>1.00000</td>
419
- <td>3.00000</td>
420
- <td>2.40000</td>
421
- <td>0.66332</td>
422
- <td>0.37334</td>
423
- </tr>
424
- <tr>
425
- <td>TruncationSelection(0.4)</td>
426
- <td>UniformCrossover</td>
427
- <td>ListMutator([:n_point, 3],:flip)</td>
428
- <td>1.00000</td>
429
- <td>4.00000</td>
430
- <td>2.40000</td>
431
- <td>0.91652</td>
432
- <td>0.24074</td>
433
- </tr>
434
- <tr>
435
- <td>TruncationSelection(0.4)</td>
436
- <td>UniformCrossover</td>
437
- <td>ListMutator([:expected_n, 2],:flip)</td>
438
- <td>1.00000</td>
439
- <td>3.00000</td>
440
- <td>2.30000</td>
441
- <td>0.64031</td>
442
- <td>0.30758</td>
443
- </tr>
444
- <tr>
445
- <td>Elitism(RouletteSelection,1)</td>
446
- <td>SinglePointCrossover</td>
447
- <td>ListMutator([:expected_n, 4],:flip)</td>
448
- <td>1.00000</td>
449
- <td>3.00000</td>
450
- <td>2.30000</td>
451
- <td>0.78102</td>
452
- <td>2.00787</td>
453
- </tr>
454
- <tr>
455
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
456
- <td>SinglePointCrossover</td>
457
- <td>ListMutator([:expected_n, 2],:flip)</td>
458
- <td>1.00000</td>
459
- <td>4.00000</td>
460
- <td>2.30000</td>
461
- <td>1.10000</td>
462
- <td>0.49235</td>
463
- </tr>
464
- <tr>
465
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
466
- <td>UniformCrossover</td>
467
- <td>ListMutator([:expected_n, 3],:flip)</td>
468
- <td>1.00000</td>
469
- <td>3.00000</td>
470
- <td>2.30000</td>
471
- <td>0.64031</td>
472
- <td>0.56675</td>
473
- </tr>
474
- <tr>
475
- <td>Elitism(RouletteSelection,1)</td>
476
- <td>UniformCrossover</td>
477
- <td>ListMutator([:n_point, 4],:flip)</td>
478
- <td>2.00000</td>
479
- <td>3.00000</td>
480
- <td>2.30000</td>
481
- <td>0.45826</td>
482
- <td>5.40168</td>
483
- </tr>
484
- <tr>
485
- <td>TruncationSelection(0.2)</td>
486
- <td>UniformCrossover</td>
487
- <td>ListMutator([:expected_n, 4],:flip)</td>
488
- <td>1.00000</td>
489
- <td>3.00000</td>
490
- <td>2.30000</td>
491
- <td>0.78102</td>
492
- <td>0.31225</td>
493
- </tr>
494
- <tr>
495
- <td>TruncationSelection(0.3)</td>
496
- <td>UniformCrossover</td>
497
- <td>ListMutator([:n_point, 3],:flip)</td>
498
- <td>1.00000</td>
499
- <td>4.00000</td>
500
- <td>2.30000</td>
501
- <td>0.78102</td>
502
- <td>0.24445</td>
503
- </tr>
504
- <tr>
505
- <td>TruncationSelection(0.2)</td>
506
- <td>UniformCrossover</td>
507
- <td>ListMutator([:expected_n, 3],:flip)</td>
508
- <td>1.00000</td>
509
- <td>4.00000</td>
510
- <td>2.30000</td>
511
- <td>0.78102</td>
512
- <td>0.30790</td>
513
- </tr>
514
- <tr>
515
- <td>Elitism(RouletteSelection,1)</td>
516
- <td>UniformCrossover</td>
517
- <td>ListMutator([:n_point, 2],:flip)</td>
518
- <td>1.00000</td>
519
- <td>4.00000</td>
520
- <td>2.20000</td>
521
- <td>0.87178</td>
522
- <td>4.19666</td>
523
- </tr>
524
- <tr>
525
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
526
- <td>SinglePointCrossover</td>
527
- <td>ListMutator([:expected_n, 3],:flip)</td>
528
- <td>1.00000</td>
529
- <td>3.00000</td>
530
- <td>2.20000</td>
531
- <td>0.60000</td>
532
- <td>0.48783</td>
533
- </tr>
534
- <tr>
535
- <td>TruncationSelection(0.3)</td>
536
- <td>SinglePointCrossover</td>
537
- <td>ListMutator([:n_point, 3],:flip)</td>
538
- <td>1.00000</td>
539
- <td>4.00000</td>
540
- <td>2.20000</td>
541
- <td>0.87178</td>
542
- <td>0.18808</td>
543
- </tr>
544
- <tr>
545
- <td>Elitism(RouletteSelection,1)</td>
546
- <td>NullCrossover</td>
547
- <td>ListMutator([:expected_n, 4],:flip)</td>
548
- <td>1.00000</td>
549
- <td>4.00000</td>
550
- <td>2.20000</td>
551
- <td>0.87178</td>
552
- <td>3.78436</td>
553
- </tr>
554
- <tr>
555
- <td>Elitism(RouletteSelection,1)</td>
556
- <td>NullCrossover</td>
557
- <td>ListMutator([:expected_n, 3],:flip)</td>
558
- <td>1.00000</td>
559
- <td>3.00000</td>
560
- <td>2.20000</td>
561
- <td>0.74833</td>
562
- <td>4.22184</td>
563
- </tr>
564
- <tr>
565
- <td>Elitism(RouletteSelection,1)</td>
566
- <td>UniformCrossover</td>
567
- <td>ListMutator([:expected_n, 3],:flip)</td>
568
- <td>1.00000</td>
569
- <td>4.00000</td>
570
- <td>2.20000</td>
571
- <td>0.87178</td>
572
- <td>1.85815</td>
573
- </tr>
574
- <tr>
575
- <td>TruncationSelection(0.4)</td>
576
- <td>NullCrossover</td>
577
- <td>ListMutator([:n_point, 4],:flip)</td>
578
- <td>1.00000</td>
579
- <td>4.00000</td>
580
- <td>2.20000</td>
581
- <td>0.97980</td>
582
- <td>0.19213</td>
583
- </tr>
584
- <tr>
585
- <td>TruncationSelection(0.4)</td>
586
- <td>UniformCrossover</td>
587
- <td>ListMutator([:expected_n, 3],:flip)</td>
588
- <td>1.00000</td>
589
- <td>3.00000</td>
590
- <td>2.20000</td>
591
- <td>0.74833</td>
592
- <td>0.31616</td>
593
- </tr>
594
- <tr>
595
- <td>TruncationSelection(0.2)</td>
596
- <td>SinglePointCrossover</td>
597
- <td>ListMutator([:expected_n, 4],:flip)</td>
598
- <td>1.00000</td>
599
- <td>3.00000</td>
600
- <td>2.20000</td>
601
- <td>0.74833</td>
602
- <td>0.26723</td>
603
- </tr>
604
- <tr>
605
- <td>TruncationSelection(0.4)</td>
606
- <td>SinglePointCrossover</td>
607
- <td>ListMutator([:expected_n, 2],:flip)</td>
608
- <td>1.00000</td>
609
- <td>3.00000</td>
610
- <td>2.10000</td>
611
- <td>0.53852</td>
612
- <td>0.26119</td>
613
- </tr>
614
- <tr>
615
- <td>TruncationSelection(0.4)</td>
616
- <td>UniformCrossover</td>
617
- <td>ListMutator([:n_point, 4],:flip)</td>
618
- <td>1.00000</td>
619
- <td>3.00000</td>
620
- <td>2.10000</td>
621
- <td>0.83066</td>
622
- <td>0.24362</td>
623
- </tr>
624
- <tr>
625
- <td>Elitism(RouletteSelection,1)</td>
626
- <td>NullCrossover</td>
627
- <td>ListMutator([:expected_n, 2],:flip)</td>
628
- <td>2.00000</td>
629
- <td>3.00000</td>
630
- <td>2.10000</td>
631
- <td>0.30000</td>
632
- <td>3.60830</td>
633
- </tr>
634
- <tr>
635
- <td>Elitism(RouletteSelection,1)</td>
636
- <td>NullCrossover</td>
637
- <td>ListMutator([:n_point, 3],:flip)</td>
638
- <td>1.00000</td>
639
- <td>3.00000</td>
640
- <td>2.10000</td>
641
- <td>0.53852</td>
642
- <td>2.61549</td>
643
- </tr>
644
- <tr>
645
- <td>TruncationSelection(0.4)</td>
646
- <td>NullCrossover</td>
647
- <td>ListMutator([:expected_n, 4],:flip)</td>
648
- <td>1.00000</td>
649
- <td>4.00000</td>
650
- <td>2.10000</td>
651
- <td>0.94340</td>
652
- <td>0.25818</td>
653
- </tr>
654
- <tr>
655
- <td>TruncationSelection(0.3)</td>
656
- <td>UniformCrossover</td>
657
- <td>ListMutator([:expected_n, 2],:flip)</td>
658
- <td>1.00000</td>
659
- <td>3.00000</td>
660
- <td>2.00000</td>
661
- <td>0.77460</td>
662
- <td>0.30873</td>
663
- </tr>
664
- <tr>
665
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
666
- <td>UniformCrossover</td>
667
- <td>ListMutator([:n_point, 2],:flip)</td>
668
- <td>0.00000</td>
669
- <td>3.00000</td>
670
- <td>2.00000</td>
671
- <td>0.77460</td>
672
- <td>0.44073</td>
673
- </tr>
674
- <tr>
675
- <td>TruncationSelection(0.3)</td>
676
- <td>UniformCrossover</td>
677
- <td>ListMutator([:n_point, 2],:flip)</td>
678
- <td>1.00000</td>
679
- <td>3.00000</td>
680
- <td>2.00000</td>
681
- <td>0.77460</td>
682
- <td>0.23296</td>
683
- </tr>
684
- <tr>
685
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
686
- <td>SinglePointCrossover</td>
687
- <td>ListMutator([:expected_n, 4],:flip)</td>
688
- <td>1.00000</td>
689
- <td>3.00000</td>
690
- <td>2.00000</td>
691
- <td>0.44721</td>
692
- <td>0.48554</td>
693
- </tr>
694
- <tr>
695
- <td>TruncationSelection(0.2)</td>
696
- <td>NullCrossover</td>
697
- <td>ListMutator([:expected_n, 3],:flip)</td>
698
- <td>1.00000</td>
699
- <td>3.00000</td>
700
- <td>2.00000</td>
701
- <td>0.63246</td>
702
- <td>0.30912</td>
703
- </tr>
704
- <tr>
705
- <td>Elitism(RouletteSelection,1)</td>
706
- <td>SinglePointCrossover</td>
707
- <td>ListMutator([:expected_n, 3],:flip)</td>
708
- <td>1.00000</td>
709
- <td>3.00000</td>
710
- <td>2.00000</td>
711
- <td>0.77460</td>
712
- <td>1.78146</td>
713
- </tr>
714
- <tr>
715
- <td>TruncationSelection(0.2)</td>
716
- <td>NullCrossover</td>
717
- <td>ListMutator([:n_point, 4],:flip)</td>
718
- <td>1.00000</td>
719
- <td>3.00000</td>
720
- <td>2.00000</td>
721
- <td>0.77460</td>
722
- <td>0.18839</td>
723
- </tr>
724
- <tr>
725
- <td>Elitism(RouletteSelection,1)</td>
726
- <td>SinglePointCrossover</td>
727
- <td>ListMutator([:n_point, 2],:flip)</td>
728
- <td>0.00000</td>
729
- <td>3.00000</td>
730
- <td>2.00000</td>
731
- <td>0.89443</td>
732
- <td>2.55589</td>
733
- </tr>
734
- <tr>
735
- <td>TruncationSelection(0.3)</td>
736
- <td>SinglePointCrossover</td>
737
- <td>ListMutator([:expected_n, 2],:flip)</td>
738
- <td>1.00000</td>
739
- <td>3.00000</td>
740
- <td>1.90000</td>
741
- <td>0.53852</td>
742
- <td>0.25791</td>
743
- </tr>
744
- <tr>
745
- <td>TruncationSelection(0.4)</td>
746
- <td>NullCrossover</td>
747
- <td>ListMutator([:expected_n, 3],:flip)</td>
748
- <td>1.00000</td>
749
- <td>5.00000</td>
750
- <td>1.90000</td>
751
- <td>1.13578</td>
752
- <td>0.25766</td>
753
- </tr>
754
- <tr>
755
- <td>TruncationSelection(0.2)</td>
756
- <td>NullCrossover</td>
757
- <td>ListMutator([:expected_n, 2],:flip)</td>
758
- <td>1.00000</td>
759
- <td>3.00000</td>
760
- <td>1.90000</td>
761
- <td>0.70000</td>
762
- <td>0.25698</td>
763
- </tr>
764
- <tr>
765
- <td>TruncationSelection(0.2)</td>
766
- <td>SinglePointCrossover</td>
767
- <td>ListMutator([:n_point, 2],:flip)</td>
768
- <td>0.00000</td>
769
- <td>4.00000</td>
770
- <td>1.90000</td>
771
- <td>1.04403</td>
772
- <td>0.19132</td>
773
- </tr>
774
- <tr>
775
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
776
- <td>SinglePointCrossover</td>
777
- <td>ListMutator([:n_point, 3],:flip)</td>
778
- <td>1.00000</td>
779
- <td>3.00000</td>
780
- <td>1.90000</td>
781
- <td>0.53852</td>
782
- <td>0.36626</td>
783
- </tr>
784
- <tr>
785
- <td>Elitism(RouletteSelection,1)</td>
786
- <td>NullCrossover</td>
787
- <td>ListMutator([:n_point, 2],:flip)</td>
788
- <td>1.00000</td>
789
- <td>3.00000</td>
790
- <td>1.90000</td>
791
- <td>0.83066</td>
792
- <td>1.29925</td>
793
- </tr>
794
- <tr>
795
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
796
- <td>SinglePointCrossover</td>
797
- <td>ListMutator([:n_point, 2],:flip)</td>
798
- <td>1.00000</td>
799
- <td>3.00000</td>
800
- <td>1.80000</td>
801
- <td>0.74833</td>
802
- <td>0.36065</td>
803
- </tr>
804
- <tr>
805
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
806
- <td>NullCrossover</td>
807
- <td>ListMutator([:expected_n, 4],:flip)</td>
808
- <td>1.00000</td>
809
- <td>3.00000</td>
810
- <td>1.80000</td>
811
- <td>0.60000</td>
812
- <td>0.48046</td>
813
- </tr>
814
- <tr>
815
- <td>TruncationSelection(0.4)</td>
816
- <td>NullCrossover</td>
817
- <td>ListMutator([:n_point, 2],:flip)</td>
818
- <td>1.00000</td>
819
- <td>3.00000</td>
820
- <td>1.80000</td>
821
- <td>0.74833</td>
822
- <td>0.18272</td>
823
- </tr>
824
- <tr>
825
- <td>TruncationSelection(0.3)</td>
826
- <td>SinglePointCrossover</td>
827
- <td>ListMutator([:n_point, 2],:flip)</td>
828
- <td>1.00000</td>
829
- <td>3.00000</td>
830
- <td>1.80000</td>
831
- <td>0.60000</td>
832
- <td>0.18574</td>
833
- </tr>
834
- <tr>
835
- <td>TruncationSelection(0.3)</td>
836
- <td>NullCrossover</td>
837
- <td>ListMutator([:expected_n, 4],:flip)</td>
838
- <td>1.00000</td>
839
- <td>3.00000</td>
840
- <td>1.80000</td>
841
- <td>0.60000</td>
842
- <td>0.25559</td>
843
- </tr>
844
- <tr>
845
- <td>TruncationSelection(0.3)</td>
846
- <td>NullCrossover</td>
847
- <td>ListMutator([:n_point, 4],:flip)</td>
848
- <td>1.00000</td>
849
- <td>3.00000</td>
850
- <td>1.80000</td>
851
- <td>0.60000</td>
852
- <td>0.20275</td>
853
- </tr>
854
- <tr>
855
- <td>TruncationSelection(0.3)</td>
856
- <td>NullCrossover</td>
857
- <td>ListMutator([:n_point, 3],:flip)</td>
858
- <td>1.00000</td>
859
- <td>3.00000</td>
860
- <td>1.80000</td>
861
- <td>0.74833</td>
862
- <td>0.18449</td>
863
- </tr>
864
- <tr>
865
- <td>TruncationSelection(0.2)</td>
866
- <td>UniformCrossover</td>
867
- <td>ListMutator([:expected_n, 2],:flip)</td>
868
- <td>1.00000</td>
869
- <td>3.00000</td>
870
- <td>1.80000</td>
871
- <td>0.60000</td>
872
- <td>0.30590</td>
873
- </tr>
874
- <tr>
875
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
876
- <td>UniformCrossover</td>
877
- <td>ListMutator([:n_point, 4],:flip)</td>
878
- <td>1.00000</td>
879
- <td>3.00000</td>
880
- <td>1.80000</td>
881
- <td>0.60000</td>
882
- <td>0.44805</td>
883
- </tr>
884
- <tr>
885
- <td>TruncationSelection(0.2)</td>
886
- <td>NullCrossover</td>
887
- <td>ListMutator([:expected_n, 4],:flip)</td>
888
- <td>1.00000</td>
889
- <td>3.00000</td>
890
- <td>1.80000</td>
891
- <td>0.74833</td>
892
- <td>0.25423</td>
893
- </tr>
894
- <tr>
895
- <td>Elitism(RouletteSelection,1)</td>
896
- <td>SinglePointCrossover</td>
897
- <td>ListMutator([:expected_n, 2],:flip)</td>
898
- <td>1.00000</td>
899
- <td>3.00000</td>
900
- <td>1.80000</td>
901
- <td>0.60000</td>
902
- <td>3.01947</td>
903
- </tr>
904
- <tr>
905
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
906
- <td>UniformCrossover</td>
907
- <td>ListMutator([:expected_n, 2],:flip)</td>
908
- <td>1.00000</td>
909
- <td>3.00000</td>
910
- <td>1.80000</td>
911
- <td>0.60000</td>
912
- <td>0.56310</td>
913
- </tr>
914
- <tr>
915
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
916
- <td>UniformCrossover</td>
917
- <td>ListMutator([:expected_n, 4],:flip)</td>
918
- <td>1.00000</td>
919
- <td>3.00000</td>
920
- <td>1.70000</td>
921
- <td>0.64031</td>
922
- <td>0.56633</td>
923
- </tr>
924
- <tr>
925
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
926
- <td>UniformCrossover</td>
927
- <td>ListMutator([:n_point, 3],:flip)</td>
928
- <td>0.00000</td>
929
- <td>3.00000</td>
930
- <td>1.70000</td>
931
- <td>0.78102</td>
932
- <td>0.43919</td>
933
- </tr>
934
- <tr>
935
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
936
- <td>NullCrossover</td>
937
- <td>ListMutator([:expected_n, 3],:flip)</td>
938
- <td>1.00000</td>
939
- <td>3.00000</td>
940
- <td>1.70000</td>
941
- <td>0.78102</td>
942
- <td>0.47472</td>
943
- </tr>
944
- <tr>
945
- <td>TruncationSelection(0.2)</td>
946
- <td>NullCrossover</td>
947
- <td>ListMutator([:n_point, 3],:flip)</td>
948
- <td>1.00000</td>
949
- <td>3.00000</td>
950
- <td>1.70000</td>
951
- <td>0.78102</td>
952
- <td>0.18644</td>
953
- </tr>
954
- <tr>
955
- <td>TruncationSelection(0.2)</td>
956
- <td>SinglePointCrossover</td>
957
- <td>ListMutator([:expected_n, 3],:flip)</td>
958
- <td>1.00000</td>
959
- <td>3.00000</td>
960
- <td>1.70000</td>
961
- <td>0.64031</td>
962
- <td>0.26089</td>
963
- </tr>
964
- <tr>
965
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
966
- <td>NullCrossover</td>
967
- <td>ListMutator([:n_point, 2],:flip)</td>
968
- <td>1.00000</td>
969
- <td>3.00000</td>
970
- <td>1.70000</td>
971
- <td>0.64031</td>
972
- <td>0.36082</td>
973
- </tr>
974
- <tr>
975
- <td>TruncationSelection(0.2)</td>
976
- <td>NullCrossover</td>
977
- <td>ListMutator([:n_point, 2],:flip)</td>
978
- <td>0.00000</td>
979
- <td>4.00000</td>
980
- <td>1.70000</td>
981
- <td>1.18743</td>
982
- <td>0.18594</td>
983
- </tr>
984
- <tr>
985
- <td>TruncationSelection(0.4)</td>
986
- <td>NullCrossover</td>
987
- <td>ListMutator([:n_point, 3],:flip)</td>
988
- <td>1.00000</td>
989
- <td>3.00000</td>
990
- <td>1.60000</td>
991
- <td>0.80000</td>
992
- <td>0.18702</td>
993
- </tr>
994
- <tr>
995
- <td>TruncationSelection(0.4)</td>
996
- <td>SinglePointCrossover</td>
997
- <td>ListMutator([:n_point, 2],:flip)</td>
998
- <td>1.00000</td>
999
- <td>4.00000</td>
1000
- <td>1.60000</td>
1001
- <td>1.01980</td>
1002
- <td>0.18527</td>
1003
- </tr>
1004
- <tr>
1005
- <td>TruncationSelection(0.3)</td>
1006
- <td>NullCrossover</td>
1007
- <td>ListMutator([:expected_n, 3],:flip)</td>
1008
- <td>1.00000</td>
1009
- <td>4.00000</td>
1010
- <td>1.60000</td>
1011
- <td>0.91652</td>
1012
- <td>0.25491</td>
1013
- </tr>
1014
- <tr>
1015
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
1016
- <td>NullCrossover</td>
1017
- <td>ListMutator([:expected_n, 2],:flip)</td>
1018
- <td>0.00000</td>
1019
- <td>3.00000</td>
1020
- <td>1.60000</td>
1021
- <td>0.80000</td>
1022
- <td>0.48048</td>
1023
- </tr>
1024
- <tr>
1025
- <td>Elitism(ScaledRouletteSelection[1,2,3,4,...],1)</td>
1026
- <td>NullCrossover</td>
1027
- <td>ListMutator([:n_point, 3],:flip)</td>
1028
- <td>1.00000</td>
1029
- <td>2.00000</td>
1030
- <td>1.60000</td>
1031
- <td>0.48990</td>
1032
- <td>0.36058</td>
1033
- </tr>
1034
- <tr>
1035
- <td>TruncationSelection(0.2)</td>
1036
- <td>SinglePointCrossover</td>
1037
- <td>ListMutator([:expected_n, 2],:flip)</td>
1038
- <td>1.00000</td>
1039
- <td>3.00000</td>
1040
- <td>1.50000</td>
1041
- <td>0.67082</td>
1042
- <td>0.25297</td>
1043
- </tr>
1044
- <tr>
1045
- <td>TruncationSelection(0.4)</td>
1046
- <td>NullCrossover</td>
1047
- <td>ListMutator([:expected_n, 2],:flip)</td>
1048
- <td>0.00000</td>
1049
- <td>3.00000</td>
1050
- <td>1.50000</td>
1051
- <td>0.92195</td>
1052
- <td>0.25461</td>
1053
- </tr>
1054
- <tr>
1055
- <td>TruncationSelection(0.3)</td>
1056
- <td>NullCrossover</td>
1057
- <td>ListMutator([:expected_n, 2],:flip)</td>
1058
- <td>0.00000</td>
1059
- <td>3.00000</td>
1060
- <td>1.30000</td>
1061
- <td>0.78102</td>
1062
- <td>0.24926</td>
1063
- </tr>
1064
- <tr>
1065
- <td>TruncationSelection(0.3)</td>
1066
- <td>NullCrossover</td>
1067
- <td>ListMutator([:n_point, 2],:flip)</td>
1068
- <td>0.00000</td>
1069
- <td>3.00000</td>
1070
- <td>1.00000</td>
1071
- <td>0.77460</td>
1072
- <td>0.17819</td>
1073
- </tr>
1074
- </table>
1075
- </body>
1076
- </html>