-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
199 lines (176 loc) · 6.09 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
Version 0.0.7 2014-02-09
* GP
- Change output format.
- Rewrite criteria.
- Reduce optimization's steps.
- Multithread GA.
Version 0.0.6 2013-07-19
* VM
- Speep-up by move-constructor of LIST.
- Fix the free chain's consistency.
- Cache Program as Object for speed-up.
- Get fill statistics about the heap.
* GP
- Add type optimization.
- Move functions to base GP folder.
- Remove ADF from generated objects.
- Optimize %0 as returning LIST.
- Optimize IF with TRUE branch equal to FALSE branch.
- Add configurable MUTATUION-RATE-PERCENT parameter.
- Make random SEED configurable.
Version 0.0.5 2012-09-05
- Support for C++0x (GCC 4.5.3)
- Add optimization of programs.
* VM
- Add comparator for WeakObject and Object to use with STL containers.
- Speed-up by using pregenerated parameterless objects.
* GP
- Add optimization.
- Optimization of wrong code returns ERROR.
- Show parents of winner individual.
- Add IF_TOTAL criteria (count of IFs in program).
- Store Program instead its text (good speedup).
- Add STATIC_WORLD_ACCESS and STATIC_MEMORY_ACCESS for check if the program access to memory and world.
- Add NEG_ERROR_TOTAL criteria (count of ERRORs in program after optimization).
- Optimize individual on load.
* Static types
+ Remove types in file.
Version 0.0.4 2012-01-30
- Support for win32.
- Relicense as MIT.
* VM
- Fix function calls with ERROR arguments.
- Make set of objects local for environment.
- Fix Object's debugging for Win32.
* GP
* Static types
+ Move types to file.
Version 0.0.3 2011-12-04
- Use own interpreter for config.
- Remove Guile dependencies.
* VM
- Support for LIST in ADF definition.
- Support for redefinition symbols.
- Automatic symbol definition.
- Fix work with signed INTEGER.
* GP
- Start to define types.
Version 0.0.2 2011-01-31
* VM
- Throw on wrong function number at minimization.
- Closure support.
- Use symbols map for convert from string to Object.
- Add SYMBOL and MACRO object's types.
- Symbol support.
* GP
- Change generation of new population.
- Remove mutations from crossover.
- Stop on non-move answer.
Version 0.0.1 2011-01-04
* Remove GTKmm dependencies.
* Use GNU Guile for scripting and config.
* Move VM into library.
* Catch Scheme exceptions.
* Load options from Scheme file.
* Remove GP test and load other options.
* Append --enable-gprof and --enable-debug options.
Version 0.0.0.10 2011-01-02
* Remove Ruby support.
* Dump full population at the end.
* Make ST_ANSWER_QUALITY, ST_MOVE_DIFF, ST_DIR_DIFF as aggregative.
* Fix overflow in aggregation.
* Append ST_DIRS parameter.
* Append ST_AREA parameter.
* Print world map.
Version 0.0.0.9 2010-12-30
* Remove check for equality in mutation and crossover because it can break good ADF.
* Fix DIR_DIFF status calculating.
* Fix evalation at end of circles.
* Use elitism and tournament selection.
* Change move format from "( CODE DIRECTION )" to "( CODE . DIRECTION )"
* Remove ST_STATIC_CHECK.
* Move run status into CurrentState.
* Shutdown Environment::Eval loop.
* Set maximum number of steps.
* Shutdown Individual::Execute loop.
Version 0.0.0.8 2010-12-05
* Add support for current state.
* Fix for better individuals.
* Set maximum heap size to 196 blocks.
* Refuse get Object from WeakObject.
* Set maximum of object to calculate stack in Environment::Eval.
* Add --enable-static to compile functions statically to avoid stack corruption.
* Speedup output objects with setted width.
* Set maximum stack depth in Environment::Eval.
* Add test for infinity recursion.
* Add Ackermann function for tests.
* Use stack instead recursive check for equality.
* More strong mutation.
* Show more information about evolution.
* Avoiding double individual.
* Speedup comparing objects.
* Dump objects for viewing them in gdb.
Version 0.0.0.7 2010-12-01
* Make GP::CheckForParam more strict.
* Add static check with ERROR in memory and world.
* Fix IF with ERROR condition.
* Fix bug with loading functions.
* Fix bug with loading individual.
* Change memory in static check from ERROR to NIL to test analize of world.
Version 0.0.0.6 2010-11-10
* Fix wrong symbols in reduced output object.
* Support for saving and loading best individual.
* Add IF and EVAL type checking as FUNC.
* Add QUOTE? for QUOTE type ckecking.
* Change probability of any FUNC choosing.
* Fix error in VM::Environment::Eval with LIST type checking.
Version 0.0.0.5 2010-11-09
* Fix bugs with choosing best when next can be worst.
* Support for ios_base::width field for outputting Objects (don't use for store them).
* Set code for moving into 1 to avoid using world as part of answer.
* Fix bugs with removing unused functions from program.
* Add LISP quotation.
Version 0.0.0.4 2010-11-08
* Move map loader into static member of World.
* Add moving in world.
* Add updating world.
* Add first world.
* Add evolution.
Version 0.0.0.3 2010-10-16
* Add map loader.
* Make EVAL as built-in function.
* Speed up VM::Environment::Eval
* Remove circle counter from VM::Environment
* Use IF and QUOTE as in LISP.
Version 0.0.0.2 2010-09-11
* Make ruby's conditional support.
* Implement WeakObject for some speed up.
* Add MS VC compilation.
* Add removing unused functions.
Version 0.0.0.1 2010-08-24
* Fix bugs in allocation.
* Fix bugs in reading streams into objects.
* Fix memory leak.
* Add object's generation and mutation support.
* Add inital generation.
* Add crossover.
* Add mutation.
* Grow some program.
Snapshot 2010-08-12
* Make own binary for test interpreter.
* Prepare for inital generation.
* Add config singleton.
Snapshot 2010-03-27
* Add Ruby support.
* Finish functions.
Snapshot 2010-03-26
* Add support for execution of program.
Snapshot 2010-02-21
* Add all needed files for GNU GPL.
* Start adding of calculation.
* Add LaTeX documentation.
Snapshot 2010-02-20
* Add support for function names and loading functions from shared library.
Snapshot 2010-01-05
* Inital snapshot of new branch and closing dead branch
* Some copying and refactoring old code.