charlie 0.5.0 → 0.6.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.
- data/History.txt +11 -0
- data/Manifest.txt +5 -1
- data/README.txt +33 -43
- data/Rakefile +30 -5
- data/TODO.txt +11 -9
- data/data/CROSSOVER +6 -1
- data/data/GENOTYPE +5 -2
- data/data/MUTATION +5 -0
- data/data/SELECTION +2 -3
- data/examples/money.rb +35 -0
- data/examples/output/flattened_sombero.html +3849 -3849
- data/examples/output/flattened_sombero2_.html +2321 -2321
- data/examples/output/fopt1_dblopt.html +1276 -1276
- data/examples/output/hill10.html +3906 -3906
- data/examples/output/hill2.csv +24 -24
- data/examples/output/hill2.html +177 -177
- data/examples/output/royalroad1_report.html +531 -531
- data/examples/output/royalroad2_report.html +592 -592
- data/examples/output/royalroadquick_report.html +243 -243
- data/examples/output/tsp.html +947 -403
- data/examples/output/weasel1_report.html +616 -616
- data/examples/output/weasel2_report.html +115 -115
- data/examples/tree.rb +90 -0
- data/examples/tsp.rb +19 -12
- data/lib/charlie/etc/monkey.rb +28 -44
- data/lib/charlie/genotype.rb +30 -1
- data/lib/charlie/permutation/permutation.rb +52 -1
- data/lib/charlie/population.rb +58 -20
- data/lib/charlie/selection.rb +1 -1
- data/lib/charlie/tree/tree.rb +128 -0
- data/lib/charlie.rb +2 -5
- data/test/t_common.rb +18 -2
- data/test/test_benchmark.rb +12 -10
- data/test/test_evolve.rb +87 -0
- data/test/test_permutation.rb +37 -3
- data/test/test_tree.rb +57 -0
- metadata +69 -50
- data/test/test_basic.rb +0 -32
data/examples/output/hill2.csv
CHANGED
@@ -1,24 +1,24 @@
|
|
1
|
-
"TruncationSelection(1)", "NullCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.1])", "0.
|
2
|
-
"TruncationSelection(1)", "NullCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.2])", "0.
|
3
|
-
"TruncationSelection(1)", "NullCrossover", "ListMutator([:expected_n, 1],[:gaussian, 0.3])", "0.
|
4
|
-
"TruncationSelection(1)", "NullCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.1])", "0.
|
5
|
-
"TruncationSelection(1)", "NullCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.2])", "0.
|
6
|
-
"TruncationSelection(1)", "NullCrossover", "ListMutator([:expected_n, 2],[:gaussian, 0.3])", "0.
|
7
|
-
"TruncationSelection(1)", "SinglePointCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.1])", "0.
|
8
|
-
"TruncationSelection(1)", "SinglePointCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.2])", "0.
|
9
|
-
"TruncationSelection(1)", "SinglePointCrossover", "ListMutator([:expected_n, 1],[:gaussian, 0.3])", "0.
|
10
|
-
"TruncationSelection(1)", "SinglePointCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.1])", "0.
|
11
|
-
"TruncationSelection(1)", "SinglePointCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.2])", "0.
|
12
|
-
"TruncationSelection(1)", "SinglePointCrossover", "ListMutator([:expected_n, 2],[:gaussian, 0.3])", "0.
|
13
|
-
"TournamentSelection(4,nil)", "NullCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.1])", "0.
|
14
|
-
"TournamentSelection(4,nil)", "NullCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.2])", "0.
|
15
|
-
"TournamentSelection(4,nil)", "NullCrossover", "ListMutator([:expected_n, 1],[:gaussian, 0.3])", "0.
|
16
|
-
"TournamentSelection(4,nil)", "NullCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.1])", "0.
|
17
|
-
"TournamentSelection(4,nil)", "NullCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.2])", "0.
|
18
|
-
"TournamentSelection(4,nil)", "NullCrossover", "ListMutator([:expected_n, 2],[:gaussian, 0.3])", "0.
|
19
|
-
"TournamentSelection(4,nil)", "SinglePointCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.1])", "0.
|
20
|
-
"TournamentSelection(4,nil)", "SinglePointCrossover", "ListMutator([:expected_n, 1],[:uniform, 0.2])", "0.
|
21
|
-
"TournamentSelection(4,nil)", "SinglePointCrossover", "ListMutator([:expected_n, 1],[:gaussian, 0.3])", "0.
|
22
|
-
"TournamentSelection(4,nil)", "SinglePointCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.1])", "0.
|
23
|
-
"TournamentSelection(4,nil)", "SinglePointCrossover", "ListMutator([:expected_n, 2],[:uniform, 0.2])", "0.
|
24
|
-
"TournamentSelection(4,nil)", "SinglePointCrossover", "ListMutator([:expected_n, 2],[:gaussian, 0.3])", "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"
|
data/examples/output/hill2.html
CHANGED
@@ -39,345 +39,345 @@
|
|
39
39
|
<tr><td>Tests repeated </td><td>10 times</td></tr>
|
40
40
|
<tr><td>Number of runs </td><td>240</td></tr>
|
41
41
|
<tr><td>Total number of generations </td><td>4800</td></tr>
|
42
|
-
<tr><td>Total time</td><td>
|
42
|
+
<tr><td>Total time</td><td>3.33 seconds</td></tr>
|
43
43
|
</table
|
44
44
|
<h1>Stats for all</h1><table>
|
45
45
|
<tr><th>.</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>avg-time</th></tr>
|
46
46
|
<tr>
|
47
47
|
<td>All</td>
|
48
|
-
<td>0.
|
48
|
+
<td>0.99298</td>
|
49
49
|
<td>1.00000</td>
|
50
50
|
<td>0.99969</td>
|
51
|
-
<td>0.
|
52
|
-
<td>0.
|
51
|
+
<td>0.00066</td>
|
52
|
+
<td>0.01386</td>
|
53
53
|
</tr>
|
54
54
|
</table><h1>Stats for selection</h1><table>
|
55
55
|
<tr><th>selection</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>avg-time</th></tr>
|
56
56
|
<tr>
|
57
|
-
<td>
|
58
|
-
<td>0.
|
57
|
+
<td>TruncationSelection(1)</td>
|
58
|
+
<td>0.99649</td>
|
59
59
|
<td>1.00000</td>
|
60
|
-
<td>0.
|
61
|
-
<td>0.
|
62
|
-
<td>0.
|
60
|
+
<td>0.99972</td>
|
61
|
+
<td>0.00053</td>
|
62
|
+
<td>0.01107</td>
|
63
63
|
</tr>
|
64
64
|
<tr>
|
65
|
-
<td>
|
66
|
-
<td>0.
|
65
|
+
<td>TournamentSelection(4,nil)</td>
|
66
|
+
<td>0.99298</td>
|
67
67
|
<td>1.00000</td>
|
68
|
-
<td>0.
|
69
|
-
<td>0.
|
70
|
-
<td>0.
|
68
|
+
<td>0.99966</td>
|
69
|
+
<td>0.00077</td>
|
70
|
+
<td>0.01665</td>
|
71
71
|
</tr>
|
72
72
|
</table><h1>Stats for crossover</h1><table>
|
73
73
|
<tr><th>crossover</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>avg-time</th></tr>
|
74
74
|
<tr>
|
75
75
|
<td>NullCrossover</td>
|
76
|
-
<td>0.
|
76
|
+
<td>0.99649</td>
|
77
77
|
<td>1.00000</td>
|
78
|
-
<td>0.
|
79
|
-
<td>0.
|
80
|
-
<td>0.
|
78
|
+
<td>0.99970</td>
|
79
|
+
<td>0.00051</td>
|
80
|
+
<td>0.01315</td>
|
81
81
|
</tr>
|
82
82
|
<tr>
|
83
83
|
<td>SinglePointCrossover</td>
|
84
|
-
<td>0.
|
84
|
+
<td>0.99298</td>
|
85
85
|
<td>1.00000</td>
|
86
|
-
<td>0.
|
87
|
-
<td>0.
|
88
|
-
<td>0.
|
86
|
+
<td>0.99968</td>
|
87
|
+
<td>0.00078</td>
|
88
|
+
<td>0.01456</td>
|
89
89
|
</tr>
|
90
90
|
</table><h1>Stats for mutation</h1><table>
|
91
91
|
<tr><th>mutation</th><th>min</th><th>max</th><th>avg</th><th>stddev</th><th>avg-time</th></tr>
|
92
92
|
<tr>
|
93
93
|
<td>ListMutator([:expected_n, 1],[:uniform, 0.1])</td>
|
94
|
-
<td>0.
|
94
|
+
<td>0.99982</td>
|
95
95
|
<td>1.00000</td>
|
96
96
|
<td>0.99996</td>
|
97
|
-
<td>0.
|
98
|
-
<td>0.
|
97
|
+
<td>0.00004</td>
|
98
|
+
<td>0.01274</td>
|
99
99
|
</tr>
|
100
100
|
<tr>
|
101
101
|
<td>ListMutator([:expected_n, 2],[:uniform, 0.1])</td>
|
102
|
-
<td>0.
|
102
|
+
<td>0.99969</td>
|
103
103
|
<td>1.00000</td>
|
104
|
-
<td>0.
|
105
|
-
<td>0.
|
106
|
-
<td>0.
|
104
|
+
<td>0.99991</td>
|
105
|
+
<td>0.00008</td>
|
106
|
+
<td>0.01417</td>
|
107
107
|
</tr>
|
108
108
|
<tr>
|
109
109
|
<td>ListMutator([:expected_n, 1],[:uniform, 0.2])</td>
|
110
|
-
<td>0.
|
110
|
+
<td>0.99950</td>
|
111
111
|
<td>1.00000</td>
|
112
|
-
<td>0.
|
113
|
-
<td>0.
|
114
|
-
<td>0.
|
112
|
+
<td>0.99991</td>
|
113
|
+
<td>0.00011</td>
|
114
|
+
<td>0.01265</td>
|
115
115
|
</tr>
|
116
116
|
<tr>
|
117
117
|
<td>ListMutator([:expected_n, 1],[:gaussian, 0.3])</td>
|
118
|
-
<td>0.
|
118
|
+
<td>0.99854</td>
|
119
119
|
<td>1.00000</td>
|
120
|
-
<td>0.
|
121
|
-
<td>0.
|
122
|
-
<td>0.
|
120
|
+
<td>0.99979</td>
|
121
|
+
<td>0.00030</td>
|
122
|
+
<td>0.01355</td>
|
123
123
|
</tr>
|
124
124
|
<tr>
|
125
125
|
<td>ListMutator([:expected_n, 2],[:uniform, 0.2])</td>
|
126
|
-
<td>0.
|
127
|
-
<td>0.
|
128
|
-
<td>0.
|
129
|
-
<td>0.
|
130
|
-
<td>0.
|
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
131
|
</tr>
|
132
132
|
<tr>
|
133
133
|
<td>ListMutator([:expected_n, 2],[:gaussian, 0.3])</td>
|
134
|
-
<td>0.
|
135
|
-
<td>
|
136
|
-
<td>0.
|
137
|
-
<td>0.
|
138
|
-
<td>0.
|
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
139
|
</tr>
|
140
140
|
</table><h1>Raw Stats</h1><table>
|
141
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
142
|
<tr>
|
143
143
|
<td>TournamentSelection(4,nil)</td>
|
144
|
-
<td>
|
144
|
+
<td>SinglePointCrossover</td>
|
145
145
|
<td>ListMutator([:expected_n, 1],[:uniform, 0.1])</td>
|
146
|
-
<td>0.
|
146
|
+
<td>0.99996</td>
|
147
147
|
<td>1.00000</td>
|
148
148
|
<td>0.99998</td>
|
149
|
-
<td>0.
|
150
|
-
<td>0.
|
149
|
+
<td>0.00001</td>
|
150
|
+
<td>0.01611</td>
|
151
151
|
</tr>
|
152
152
|
<tr>
|
153
153
|
<td>TruncationSelection(1)</td>
|
154
154
|
<td>NullCrossover</td>
|
155
155
|
<td>ListMutator([:expected_n, 1],[:uniform, 0.1])</td>
|
156
|
-
<td>0.
|
156
|
+
<td>0.99989</td>
|
157
157
|
<td>1.00000</td>
|
158
158
|
<td>0.99997</td>
|
159
|
-
<td>0.
|
160
|
-
<td>0.
|
159
|
+
<td>0.00004</td>
|
160
|
+
<td>0.00942</td>
|
161
161
|
</tr>
|
162
162
|
<tr>
|
163
163
|
<td>TruncationSelection(1)</td>
|
164
164
|
<td>SinglePointCrossover</td>
|
165
165
|
<td>ListMutator([:expected_n, 1],[:uniform, 0.1])</td>
|
166
|
-
<td>0.
|
166
|
+
<td>0.99982</td>
|
167
167
|
<td>1.00000</td>
|
168
168
|
<td>0.99996</td>
|
169
169
|
<td>0.00005</td>
|
170
|
-
<td>0.
|
170
|
+
<td>0.01068</td>
|
171
171
|
</tr>
|
172
172
|
<tr>
|
173
173
|
<td>TournamentSelection(4,nil)</td>
|
174
174
|
<td>SinglePointCrossover</td>
|
175
|
-
<td>ListMutator([:expected_n, 1],[:uniform, 0.
|
176
|
-
<td>0.
|
177
|
-
<td>1.00000</td>
|
178
|
-
<td>0.99995</td>
|
179
|
-
<td>0.00005</td>
|
180
|
-
<td>0.02188</td>
|
181
|
-
</tr>
|
182
|
-
<tr>
|
183
|
-
<td>TruncationSelection(1)</td>
|
184
|
-
<td>SinglePointCrossover</td>
|
185
|
-
<td>ListMutator([:expected_n, 2],[:uniform, 0.1])</td>
|
186
|
-
<td>0.99986</td>
|
175
|
+
<td>ListMutator([:expected_n, 1],[:uniform, 0.2])</td>
|
176
|
+
<td>0.99978</td>
|
187
177
|
<td>1.00000</td>
|
188
|
-
<td>0.
|
189
|
-
<td>0.
|
190
|
-
<td>0.
|
178
|
+
<td>0.99994</td>
|
179
|
+
<td>0.00007</td>
|
180
|
+
<td>0.01639</td>
|
191
181
|
</tr>
|
192
182
|
<tr>
|
193
183
|
<td>TournamentSelection(4,nil)</td>
|
194
184
|
<td>SinglePointCrossover</td>
|
195
185
|
<td>ListMutator([:expected_n, 2],[:uniform, 0.1])</td>
|
196
|
-
<td>0.
|
186
|
+
<td>0.99977</td>
|
197
187
|
<td>1.00000</td>
|
198
188
|
<td>0.99994</td>
|
199
189
|
<td>0.00006</td>
|
200
|
-
<td>0.
|
190
|
+
<td>0.01781</td>
|
201
191
|
</tr>
|
202
192
|
<tr>
|
203
|
-
<td>
|
193
|
+
<td>TruncationSelection(1)</td>
|
204
194
|
<td>SinglePointCrossover</td>
|
205
195
|
<td>ListMutator([:expected_n, 1],[:uniform, 0.2])</td>
|
206
|
-
<td>0.
|
196
|
+
<td>0.99983</td>
|
207
197
|
<td>1.00000</td>
|
208
|
-
<td>0.
|
209
|
-
<td>0.
|
210
|
-
<td>0.
|
198
|
+
<td>0.99994</td>
|
199
|
+
<td>0.00005</td>
|
200
|
+
<td>0.01037</td>
|
211
201
|
</tr>
|
212
202
|
<tr>
|
213
|
-
<td>
|
203
|
+
<td>TournamentSelection(4,nil)</td>
|
214
204
|
<td>NullCrossover</td>
|
215
|
-
<td>ListMutator([:expected_n, 1],[:uniform, 0.
|
216
|
-
<td>0.
|
205
|
+
<td>ListMutator([:expected_n, 1],[:uniform, 0.1])</td>
|
206
|
+
<td>0.99983</td>
|
217
207
|
<td>1.00000</td>
|
218
|
-
<td>0.
|
219
|
-
<td>0.
|
220
|
-
<td>0.
|
208
|
+
<td>0.99994</td>
|
209
|
+
<td>0.00006</td>
|
210
|
+
<td>0.01476</td>
|
221
211
|
</tr>
|
222
212
|
<tr>
|
223
213
|
<td>TruncationSelection(1)</td>
|
224
214
|
<td>NullCrossover</td>
|
225
215
|
<td>ListMutator([:expected_n, 2],[:uniform, 0.1])</td>
|
226
|
-
<td>0.
|
216
|
+
<td>0.99978</td>
|
227
217
|
<td>1.00000</td>
|
228
|
-
<td>0.
|
218
|
+
<td>0.99993</td>
|
229
219
|
<td>0.00007</td>
|
230
|
-
<td>0.
|
231
|
-
</tr>
|
232
|
-
<tr>
|
233
|
-
<td>TournamentSelection(4,nil)</td>
|
234
|
-
<td>NullCrossover</td>
|
235
|
-
<td>ListMutator([:expected_n, 2],[:uniform, 0.1])</td>
|
236
|
-
<td>0.99968</td>
|
237
|
-
<td>0.99997</td>
|
238
|
-
<td>0.99988</td>
|
239
|
-
<td>0.00008</td>
|
240
|
-
<td>0.02327</td>
|
220
|
+
<td>0.01061</td>
|
241
221
|
</tr>
|
242
222
|
<tr>
|
243
223
|
<td>TruncationSelection(1)</td>
|
244
224
|
<td>SinglePointCrossover</td>
|
245
|
-
<td>ListMutator([:expected_n, 1],[:
|
246
|
-
<td>0.
|
247
|
-
<td>
|
248
|
-
<td>0.
|
249
|
-
<td>0.
|
250
|
-
<td>0.
|
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>
|
251
231
|
</tr>
|
252
232
|
<tr>
|
253
233
|
<td>TruncationSelection(1)</td>
|
254
|
-
<td>
|
255
|
-
<td>ListMutator([:expected_n,
|
256
|
-
<td>0.
|
234
|
+
<td>SinglePointCrossover</td>
|
235
|
+
<td>ListMutator([:expected_n, 2],[:uniform, 0.1])</td>
|
236
|
+
<td>0.99969</td>
|
257
237
|
<td>0.99999</td>
|
258
|
-
<td>0.
|
259
|
-
<td>0.
|
260
|
-
<td>0.
|
238
|
+
<td>0.99990</td>
|
239
|
+
<td>0.00008</td>
|
240
|
+
<td>0.01204</td>
|
261
241
|
</tr>
|
262
242
|
<tr>
|
263
243
|
<td>TournamentSelection(4,nil)</td>
|
264
244
|
<td>NullCrossover</td>
|
265
|
-
<td>ListMutator([:expected_n,
|
266
|
-
<td>0.
|
245
|
+
<td>ListMutator([:expected_n, 2],[:uniform, 0.1])</td>
|
246
|
+
<td>0.99971</td>
|
267
247
|
<td>0.99998</td>
|
268
|
-
<td>0.
|
269
|
-
<td>0.
|
270
|
-
<td>0.
|
248
|
+
<td>0.99990</td>
|
249
|
+
<td>0.00008</td>
|
250
|
+
<td>0.01622</td>
|
271
251
|
</tr>
|
272
252
|
<tr>
|
273
253
|
<td>TournamentSelection(4,nil)</td>
|
274
254
|
<td>NullCrossover</td>
|
275
|
-
<td>ListMutator([:expected_n,
|
276
|
-
<td>0.
|
277
|
-
<td>
|
278
|
-
<td>0.
|
279
|
-
<td>0.
|
280
|
-
<td>0.
|
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>
|
281
261
|
</tr>
|
282
262
|
<tr>
|
283
263
|
<td>TruncationSelection(1)</td>
|
284
|
-
<td>
|
264
|
+
<td>NullCrossover</td>
|
285
265
|
<td>ListMutator([:expected_n, 1],[:gaussian, 0.3])</td>
|
286
|
-
<td>0.99866</td>
|
287
|
-
<td>0.99997</td>
|
288
266
|
<td>0.99974</td>
|
289
|
-
<td>0.
|
290
|
-
<td>0.
|
291
|
-
</
|
292
|
-
<
|
293
|
-
<td>TruncationSelection(1)</td>
|
294
|
-
<td>SinglePointCrossover</td>
|
295
|
-
<td>ListMutator([:expected_n, 2],[:uniform, 0.2])</td>
|
296
|
-
<td>0.99896</td>
|
297
|
-
<td>0.99999</td>
|
298
|
-
<td>0.99973</td>
|
299
|
-
<td>0.00030</td>
|
300
|
-
<td>0.02008</td>
|
267
|
+
<td>0.99998</td>
|
268
|
+
<td>0.99988</td>
|
269
|
+
<td>0.00008</td>
|
270
|
+
<td>0.00996</td>
|
301
271
|
</tr>
|
302
272
|
<tr>
|
303
273
|
<td>TruncationSelection(1)</td>
|
304
274
|
<td>NullCrossover</td>
|
305
|
-
<td>ListMutator([:expected_n,
|
306
|
-
<td>0.
|
307
|
-
<td>
|
308
|
-
<td>0.
|
309
|
-
<td>0.
|
310
|
-
<td>0.
|
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>
|
311
281
|
</tr>
|
312
282
|
<tr>
|
313
283
|
<td>TournamentSelection(4,nil)</td>
|
314
284
|
<td>NullCrossover</td>
|
315
285
|
<td>ListMutator([:expected_n, 1],[:gaussian, 0.3])</td>
|
316
|
-
<td>0.
|
286
|
+
<td>0.99911</td>
|
317
287
|
<td>1.00000</td>
|
318
|
-
<td>0.
|
319
|
-
<td>0.
|
320
|
-
<td>0.
|
288
|
+
<td>0.99977</td>
|
289
|
+
<td>0.00025</td>
|
290
|
+
<td>0.01569</td>
|
321
291
|
</tr>
|
322
292
|
<tr>
|
323
293
|
<td>TournamentSelection(4,nil)</td>
|
324
294
|
<td>SinglePointCrossover</td>
|
325
|
-
<td>ListMutator([:expected_n,
|
326
|
-
<td>0.
|
295
|
+
<td>ListMutator([:expected_n, 2],[:uniform, 0.2])</td>
|
296
|
+
<td>0.99922</td>
|
327
297
|
<td>0.99998</td>
|
328
|
-
<td>0.
|
329
|
-
<td>0.
|
330
|
-
<td>0.
|
298
|
+
<td>0.99968</td>
|
299
|
+
<td>0.00025</td>
|
300
|
+
<td>0.01765</td>
|
331
301
|
</tr>
|
332
302
|
<tr>
|
333
|
-
<td>
|
303
|
+
<td>TruncationSelection(1)</td>
|
334
304
|
<td>SinglePointCrossover</td>
|
335
305
|
<td>ListMutator([:expected_n, 2],[:uniform, 0.2])</td>
|
336
|
-
<td>0.
|
337
|
-
<td>0.
|
338
|
-
<td>0.
|
339
|
-
<td>0.
|
340
|
-
<td>0.
|
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>
|
341
311
|
</tr>
|
342
312
|
<tr>
|
343
313
|
<td>TournamentSelection(4,nil)</td>
|
344
314
|
<td>NullCrossover</td>
|
345
|
-
<td>ListMutator([:expected_n, 2],[:
|
346
|
-
<td>0.
|
347
|
-
<td>0.
|
348
|
-
<td>0.
|
349
|
-
<td>0.
|
350
|
-
<td>0.
|
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>
|
351
321
|
</tr>
|
352
322
|
<tr>
|
353
323
|
<td>TournamentSelection(4,nil)</td>
|
354
324
|
<td>SinglePointCrossover</td>
|
355
|
-
<td>ListMutator([:expected_n,
|
356
|
-
<td>0.
|
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>
|
357
337
|
<td>0.99993</td>
|
358
|
-
<td>0.
|
359
|
-
<td>0.
|
360
|
-
<td>0.
|
338
|
+
<td>0.99944</td>
|
339
|
+
<td>0.00046</td>
|
340
|
+
<td>0.01079</td>
|
361
341
|
</tr>
|
362
342
|
<tr>
|
363
343
|
<td>TruncationSelection(1)</td>
|
364
344
|
<td>NullCrossover</td>
|
365
345
|
<td>ListMutator([:expected_n, 2],[:gaussian, 0.3])</td>
|
366
|
-
<td>0.
|
367
|
-
<td>0.
|
368
|
-
<td>0.
|
369
|
-
<td>0.
|
370
|
-
<td>0.
|
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>
|
371
361
|
</tr>
|
372
362
|
<tr>
|
373
363
|
<td>TruncationSelection(1)</td>
|
374
364
|
<td>SinglePointCrossover</td>
|
375
365
|
<td>ListMutator([:expected_n, 2],[:gaussian, 0.3])</td>
|
376
|
-
<td>0.
|
377
|
-
<td>
|
378
|
-
<td>0.
|
379
|
-
<td>0.
|
380
|
-
<td>0.
|
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
381
|
</tr>
|
382
382
|
</table>
|
383
383
|
</body>
|