6287d3c | Lee Spector | 12 March 2012, 17:30:56 UTC | Version bump. | 12 March 2012, 17:30:56 UTC |
7c24ab6 | Lee Spector | 12 March 2012, 17:27:29 UTC | Added tagged_when_<num> handling and tagged-when-instruction-erc. | 12 March 2012, 17:27:29 UTC |
8de8ed9 | Lee Spector | 11 March 2012, 23:22:23 UTC | Version bump. | 11 March 2012, 23:22:23 UTC |
788680e | Lee Spector | 11 March 2012, 23:20:35 UTC | Cleanup. | 11 March 2012, 23:20:35 UTC |
65c0cac | Lee Spector | 11 March 2012, 23:13:27 UTC | Fixed bug with false literal; added exec_when instruction. | 11 March 2012, 23:13:27 UTC |
779403d | Lee Spector | 11 March 2012, 22:40:02 UTC | Reformulated geometry example. | 11 March 2012, 22:40:02 UTC |
ac871e8 | Lee Spector | 09 March 2012, 20:50:30 UTC | Cleaned up geometry.clj. | 09 March 2012, 20:50:30 UTC |
1a428fc | Lee Spector | 04 March 2012, 18:17:52 UTC | Removed experimental stuff from geometry.clj. | 04 March 2012, 18:17:52 UTC |
b4002c5 | Lee Spector | 03 March 2012, 20:03:06 UTC | Fixed bug that HAH not actually used in select. | 03 March 2012, 20:03:06 UTC |
a7d8b7c | Lee Spector | 03 March 2012, 02:35:37 UTC | version bump | 03 March 2012, 02:35:37 UTC |
0b182e0 | Lee Spector | 03 March 2012, 02:34:46 UTC | Deleted class files. | 03 March 2012, 02:34:46 UTC |
9e51baf | Lee Spector | 03 March 2012, 01:08:24 UTC | version bump | 03 March 2012, 01:08:24 UTC |
205e595 | Lee Spector | 03 March 2012, 01:04:20 UTC | Separated HAH error from total error. | 03 March 2012, 01:04:20 UTC |
0eea0f0 | Lee Spector | 02 March 2012, 20:23:56 UTC | fixed lazy bug in compute-total-error | 02 March 2012, 20:23:56 UTC |
3ccc921 | Lee Spector | 02 March 2012, 20:06:14 UTC | wild experimentation in geometry.clj | 02 March 2012, 20:06:14 UTC |
cec60f7 | Lee Spector | 18 February 2012, 12:55:09 UTC | Version bump. | 18 February 2012, 12:55:09 UTC |
ccfe052 | Lee Spector | 18 February 2012, 12:54:16 UTC | Added historically-assessed hardness feature. | 18 February 2012, 12:54:16 UTC |
3577816 | Lee Spector | 17 February 2012, 21:56:51 UTC | Added geometry.clj example. | 17 February 2012, 21:56:51 UTC |
e234b8f | Lee Spector | 10 February 2012, 22:20:31 UTC | version bump | 10 February 2012, 22:20:31 UTC |
2af4941 | Lee Spector | 10 February 2012, 22:19:07 UTC | Added float_regression.clj example. | 10 February 2012, 22:19:07 UTC |
1546645 | Lee Spector | 07 February 2012, 20:11:28 UTC | version bump | 07 February 2012, 20:11:28 UTC |
ccd25ef | Tom Helmuth | 04 February 2012, 15:00:16 UTC | Logs now print last Git commit hash and link to GitHub. | 04 February 2012, 15:00:16 UTC |
1aad5d2 | Lee Spector | 23 January 2012, 02:42:23 UTC | Version bump. | 23 January 2012, 02:42:23 UTC |
867af8f | Kyle Harrington | 15 December 2011, 01:08:59 UTC | Much better lshuffle, uses Java's shuffle with a custom random source. | 15 December 2011, 01:08:59 UTC |
ea49df3 | Kyle Harrington | 14 December 2011, 15:54:58 UTC | Removing the reverse for lists, as Lee pointed out, order doesnt matter at that point. | 14 December 2011, 15:54:58 UTC |
26cdf4f | Kyle Harrington | 14 December 2011, 15:30:20 UTC | Adding lshuffle. This function is slower than the built-in java shuffle, but it uses a thread-local random generator. | 14 December 2011, 15:30:20 UTC |
dfe2c64 | Lee Spector | 19 November 2011, 16:29:04 UTC | Version bump. | 19 November 2011, 16:29:04 UTC |
7393baf | Kyle Harrington | 19 November 2011, 04:47:22 UTC | Merge branch 'master', remote-tracking branch 'origin' into simplification_fix | 19 November 2011, 04:47:22 UTC |
2efc76b | Lee Spector | 18 November 2011, 20:49:05 UTC | Version bump. | 18 November 2011, 20:49:05 UTC |
7c53c60 | Lee Spector | 18 November 2011, 15:24:36 UTC | Version bump. | 18 November 2011, 15:24:36 UTC |
e1be43b | Tom Helmuth | 18 November 2011, 14:58:13 UTC | Fixed version number printing to catch all errors. Also, will now print version number even if it is not of the form #.#.# | 18 November 2011, 14:58:13 UTC |
048f2b9 | Lee Spector | 18 November 2011, 13:53:57 UTC | Version bump. | 18 November 2011, 13:53:57 UTC |
824b7ca | Kyle Harrington | 17 November 2011, 20:43:01 UTC | Added flatten-seqs for use in auto-simplify, otherwise vectors (such as in examples/dsoar.clj) will by flattened. | 17 November 2011, 20:43:01 UTC |
0f63644 | Tom Helmuth | 16 November 2011, 16:40:32 UTC | Added printing of Clojush version to pushgp output. Also, some minor re-formatting of the pushgp function using Clooj's auto-formatting. | 16 November 2011, 16:40:32 UTC |
da4db60 | Lee Spector | 15 November 2011, 16:04:35 UTC | Bumped version to 1.0.0. | 15 November 2011, 16:04:35 UTC |
1e4c75f | Kyle Harrington | 12 November 2011, 19:52:08 UTC | registered-instructions is now a set. | 12 November 2011, 19:52:08 UTC |
bcb85a7 | Kyle Harrington | 12 November 2011, 19:46:58 UTC | Changing define-registered to update the existing instruction, but not conj to registered-instructions. | 12 November 2011, 19:46:58 UTC |
1d3ce9b | Kyle Harrington | 12 November 2011, 17:09:01 UTC | Merge remote-tracking branch 'origin/master' into optional_single_threading | 12 November 2011, 17:09:01 UTC |
97a57b5 | Lee Spector | 12 November 2011, 16:40:17 UTC | Obsoleted the README version history in favor of the github commit log. | 12 November 2011, 16:40:17 UTC |
f67457a | Kyle Harrington | 12 November 2011, 11:08:14 UTC | Merge branch 'master' of github.com:lspector/Clojush | 12 November 2011, 11:08:14 UTC |
5faf586 | Kyle Harrington | 11 November 2011, 15:47:21 UTC | Merge remote branch 'origin/master' into optional_single_threading | 11 November 2011, 15:47:21 UTC |
34a01b9 | Tom Helmuth | 11 November 2011, 14:52:51 UTC | Added log about string stack to README.txt. | 11 November 2011, 14:52:51 UTC |
c21a53b | Kyle Harrington | 11 November 2011, 13:40:42 UTC | Changing define-registered to check if an instruction already exists in the instruction table. | 11 November 2011, 13:40:42 UTC |
74eb07a | Kyle Harrington | 11 November 2011, 13:33:29 UTC | Merge remote branch 'origin/master' into optional_single_threading | 11 November 2011, 13:33:29 UTC |
0647397 | Kyle Harrington | 11 November 2011, 12:56:55 UTC | Optional single threading, random-seed, lrand-nth, and replacements of non-local random generator calls. | 11 November 2011, 12:56:55 UTC |
09f1c11 | Kyle Harrington | 11 November 2011, 08:25:45 UTC | merge. | 11 November 2011, 08:25:45 UTC |
0eb5de0 | Kyle Harrington | 11 November 2011, 08:19:54 UTC | Overlap adjustment. | 11 November 2011, 08:19:54 UTC |
63eccbc | Tom Helmuth | 05 November 2011, 00:38:35 UTC | Removed testing file string_tests.clj. | 05 November 2011, 00:38:35 UTC |
07f8d2e | Tom Helmuth | 05 November 2011, 00:29:59 UTC | Removed sin_regression.clj. This was just a file to test out using PushGP. | 05 November 2011, 00:29:59 UTC |
e54dbc7 | Tom Helmuth | 05 November 2011, 00:17:11 UTC | Added a second, more interesting PushGP run to string.clj. | 05 November 2011, 00:17:11 UTC |
c9b6b26 | Tom Helmuth | 04 November 2011, 18:40:05 UTC | Modified example problem string.clj. | 04 November 2011, 18:40:05 UTC |
7454314 | Tom Helmuth | 04 November 2011, 18:13:58 UTC | Add string_length. | 04 November 2011, 18:13:58 UTC |
8bc6e43 | Tom Helmuth | 03 November 2011, 23:46:01 UTC | Add string_take, which uses the top of the integer stack to shorten the top of the string stack to that length. | 03 November 2011, 23:48:40 UTC |
eeaab1e | Tom Helmuth | 03 November 2011, 23:28:10 UTC | Add string_concat instruction. | 03 November 2011, 23:28:10 UTC |
a1bc91a | Tom Helmuth | 28 October 2011, 19:37:46 UTC | Got simple pushgp string example working. | 28 October 2011, 19:37:46 UTC |
5941ae1 | Tom Helmuth | 28 October 2011, 19:24:10 UTC | Add simple pushgp problem using strings. | 28 October 2011, 19:24:10 UTC |
d3020bb | Tom Helmuth | 28 October 2011, 17:00:18 UTC | Add string literals in Clojush. | 28 October 2011, 17:00:18 UTC |
a90dd2e | Tom Helmuth | 28 October 2011, 16:17:31 UTC | Added file to test string stack. | 28 October 2011, 16:17:31 UTC |
fabcb34 | Tom Helmuth | 27 October 2011, 20:06:20 UTC | Fix bug in string-rand instruction. | 27 October 2011, 20:06:20 UTC |
7fce375 | Tom Helmuth | 27 October 2011, 16:19:12 UTC | Add instruction string-rand. | 27 October 2011, 16:19:12 UTC |
7ab3e61 | Tom Helmuth | 27 October 2011, 15:35:39 UTC | Add instructions for string stack that are same as for other types. | 27 October 2011, 15:35:39 UTC |
d6cbbdd | Tom Helmuth | 27 October 2011, 15:26:57 UTC | Added a string stack, and reformatted a few things. | 27 October 2011, 15:26:57 UTC |
fcb4545 | Tom Helmuth | 26 October 2011, 22:16:08 UTC | Added an example use of Clojush to the src/examples/ directory. | 26 October 2011, 22:16:08 UTC |
c197910 | Lee Spector | 11 September 2011, 20:56:06 UTC | Merge branch 'master' of github.com:lspector/Clojush | 11 September 2011, 20:56:06 UTC |
b15d8e9 | Lee Spector | 11 September 2011, 19:56:58 UTC | first commit after move to Clooj/Leiningen environment | 11 September 2011, 19:56:58 UTC |
98e05e1 | Lee Spector | 09 August 2011, 22:21:03 UTC | 20110809: - Several additions/enhancements by Kyle Harrington: - Converted problem-specific-report to a parameter in pushgp. - Added reporting of program repeat counts in population. - Added "error-reuse" parameter to pushgp for use in stochastic and dynamic problems (for which reuse would be turned off). - Added examples/mackey_glass_int.clj, a symbolic regression problem as described in Langdon & Banzhaf's 2005 paper (citation in file). - Added examples/pagie_hogeweg.clj problem, a difficult symbolic regression problem when coevolution is not used. Introduced by Pagie & Hogeweg's 1997 paper (citation in file). | 09 August 2011, 22:21:03 UTC |
3c7d9ad | Lee Spector | 14 July 2011, 08:49:12 UTC | Added "trace" argument to eval-push and run-push, for accumulating traces in states. 20110714: - Added "trace" argument to eval-push and run-push. If this is true then the resulting state will map :trace to a list of executed instructions and literals, in reverse order of execution. If the argument is :changes then instructions that have no effect on the state will be excluded. | 14 July 2011, 08:49:12 UTC |
d3e29c1 | Lee Spector | 02 July 2011, 19:04:36 UTC | 20110702: - Several fixes/refinements to tagged-code macros: - Fixed incorrect no-op of arg-free calls with empty tag space. - Added :additional_args to tagged-code macro structure; the value should be a list of items and these will be executed in order before calling the macro's instruction. - Added optional 5th arg to tagged-code-macro-erc; this should be a function of zero args that will be called to produce the value of :additional_args (e.g. if you want to have one random integer arg then you could specify a 5th arg of (fn [] (list (lrand-int 101))). - Changed format produced by abbreviate-tagged-code-macros to handle :additional_args and to be slightly more concise. | 02 July 2011, 19:04:36 UTC |
d9e210f | Lee Spector | 29 June 2011, 17:32:03 UTC | 20110629: - Fixed abbreviate-tagged-code-macros printing of empty lists. - Added seq condition to walklist to permit walking of seqs that aren't actually full-fledged lists. | 29 June 2011, 17:32:03 UTC |
c1b1314 | Lee Spector | 24 June 2011, 21:50:19 UTC | 20110624(b): - Replaced walk-based code-manipulation with walklist functions that only traverse list structure. This fixes an interaction between map literals (e.g. tagged-code macros) and program structure. | 24 June 2011, 21:50:19 UTC |
338057e | Lee Spector | 24 June 2011, 15:58:01 UTC | Tagged-code macros, bug fixes for examples, and other minor changes 20110624: - Replaced lawnmower and dsoar examples with bugfixed versions (thanks to Kyle Harrington). - Added namespace and made miscellaneous other changes to clojush-tests.clj. - Added support for tagged-code macros. Tagged-code macro calls have the effect of code instructions, but they take their code arguments from the tag space and they tag their code return values. They are implemented as macros to leverage the existing code instruction set; note that this means that a single call will contribute more than one iteration step toward the evalpush-limit. Tagged-code macros appear in programs as hash maps that map :tagged_code_macro to true, :instruction to a code instruction, :argument_tags to a sequence of tags to be used to acquire arguments, and :result_tags to a sequence of tags to be used for tagging results. Execution of a macro expands the needed code onto the exec stack to grab arguments from the tag space and push them on the code stack, execute the code instruction, and tag results. Note that results will also be left on the code stack if global-pop-when-tagging is false. Conceptually, tag values are "baked in" to these macros in much the same way that tag values are "baked in" to the instruction names for stackless tag instructions; we use hash maps simply because there is more information to bake in and this prevents us from having to parse the names (which would get messy and also waste time). Because the maps make it difficult to read programs, however, a utility function called abbreviate-tagged-code-macros is provided to produce copies of programs with more human-readable (but not currently executable) representations of tagged-macro calls. A tagged-code-macro-erc is provided to generate random tagged-code macros in pushgp runs. A new example, codesize20, provides a simple demonstration of the use of tagged-code macros. | 24 June 2011, 15:58:01 UTC |
1876afd | Lee Spector | 18 June 2011, 14:08:12 UTC | 20110618: - Switched to Kyle Harrington's version of overlap; it's more clear, possibly faster, and may fix a hard-to-trace bug that cropped up in a long evolutionary run (?). | 18 June 2011, 14:08:12 UTC |
473fb5b | Lee Spector | 08 June 2011, 01:20:07 UTC | Added overlap, overlap-demo, code_overlap; removed complex number support 20110607: - Added overlap utility function, overlap-demo (which just prints some examples to show how overlap works), and code_overlap instruction. Overlap can be applied to any two (possibly nested) things and it returns a number between 0 (meaning no overlap) and 1 (meaning exact match). The overlap utility function returns a ratio, but the code_overlap instruction pushes a float. - Removed complex number support from 20110505. There were previous reports of problems and I've noticed problems from the fact that (apply + ()) => zero (as opposed to 0) in the clojush namespace defined by the code as revised for complex number support. If someone knows how to re-introduce complex number support without such problems then please let me know. | 08 June 2011, 01:20:07 UTC |
76ab89b | Lee Spector | 26 May 2011, 12:43:28 UTC | 20110526: - Enforce size limits on zipper manipulation results. | 26 May 2011, 12:43:28 UTC |
b089c80 | Lee Spector | 17 May 2011, 19:21:19 UTC | Added support for Keijzer-style error scaling. 20110517: - Added a "scaled-errors" function to support error-scaling as described by Maarten Keijzer in Scaled Symbolic Regression, in Genetic Programming and Evolvable Machines 5(3), pp. 259-269, September 2004. This must be used in a problem's error function, and then the outputs of the evolved program must be "unscaled." See the documentation string for scaled-errors and also examples/scaled_sextic.clj for details. - Added examples/scaled_sextic.clj to demonstrate the use of scaled-errors. - Changed examples/sextic.clj to use squared errors and an error threshold, in order to facilitate comparisons between the versions that do and don't use error scaling. - Made minor changes to the korns_regression_p12 example. | 17 May 2011, 19:21:19 UTC |
cb302b8 | Lee Spector | 08 May 2011, 20:44:13 UTC | Complex number support (by Brian Martin) 20110505: - Added complex number support. New instructions for the 'complex' stack include: pop, dup, swap, rot, flush, eq, stackdepth, yank, yankdup, shove, rand, add, sub, mult, divide, fromfloat, frominteger, fromfloats, fromintegers, conjugate, magnitude, and principal_sqrt. (Brian Martin) | 08 May 2011, 20:44:13 UTC |
537a4e7 | Lee Spector | 25 April 2011, 02:18:05 UTC | Gaussian mutation, Gaussian mutation demo, Korns regression example 20110424: - Added Gaussian mutation for floating point literals. This is a genetic operator on par with ordinary mutation, crossover, and simplification, with the probability for applying this operator set with the gaussian-mutation-probability argument to pushgp (which defaults to zero). The behavior of this operator, when used, is controlled by two other arguments to pushgp, gaussian-mutation-per-number-mutation-probability (which is the probability that any particular floating point number in the program will actually be mutated -- this defaults to 0.5) and gaussian-mutation-standard-deviation (which specifies the standard deviation of the Gaussian noise generator that is used to produce changes to numbers -- this defaults to 0.1). - Added examples/gaussian_mutation_demo.clj to demonstrate Gaussian mutation. - Added examples/korns_regression_p12.clj, a symbolic regression problem based on Michael Korns's draft chapter from GPTP11. | 25 April 2011, 02:18:05 UTC |
abb78ec | Lee Spector | 10 April 2011, 02:48:17 UTC | Removed no-pop hackage from mux example (thanks Kyle). | 10 April 2011, 02:48:17 UTC |
58c8560 | Lee Spector | 10 April 2011, 01:28:46 UTC | Added support for no-pop tagging. 20110409: - Added support for no-pop tagging through a var called global-pop-when-tagging (holding an atom with a boolean value) and a boolean argument to pushgp called pop-when-tagging. The defaults are true, for backwards compatibility. If @global-pop-when-tagging is false (which will result from passing false as a :pop-when-tagging keyword argument to pushgp) then executing instructions of the form tag_<type>_<number> will tag a value as usual, but the tagged item will not be popped from its source stack. | 10 April 2011, 01:28:46 UTC |
4c70592 | Lee Spector | 28 March 2011, 02:22:57 UTC | Tag reference bug fixed; mux example added. 20110322: - Tag reference bug fixed in closest-association (>= changed to <=). - Added mux (multiplexer) example (a couple of approaches in one file). | 28 March 2011, 02:22:57 UTC |
63f6974 | Lee Spector | 19 January 2011, 01:22:54 UTC | tagged_code_<number> instructions, evalpush-time-limit=0 (default) means no time limit 20110118: - Added support for tagged_code_<number> instructions. These are like tagged_<number> instructions except that retrieved values are pushed onto the code stack rather than the exec stack. Without these the only way to get tagged values onto the code stack is to wrap values with code_quote prior to tagging. An alternative approach is to add new tagging instructions that automatically perform code_quote wrapping, but for full generality that would require new instructions for each type; also quote-tagged values would always be destined for the code stack, while the scheme adopted here allows any stored value to be retrieved either to exec or to code. - A value of 0 for the evalpush-time-limit parameter of pushgp now means that no time limit will be enforced. This is also now the default. | 19 January 2011, 01:22:54 UTC |
ac0bbf9 | Lee Spector | 14 January 2011, 16:05:10 UTC | Fixed type (bzip_rot -> zip_rot, thanks Kyle). | 14 January 2011, 16:05:10 UTC |
cbc57dd | Lee Spector | 13 January 2011, 13:45:51 UTC | fixed typo in dsoar.clj top-level call ("tournament") (tx Brian) | 13 January 2011, 13:45:51 UTC |
82288b4 | Lee Spector | 12 January 2011, 23:33:28 UTC | Fixed zipper bugs. | 12 January 2011, 23:33:28 UTC |
5a36624 | Lee Spector | 12 January 2011, 23:33:02 UTC | Fixed zipper bugs. | 12 January 2011, 23:33:02 UTC |
3225eba | Lee Spector | 12 January 2011, 06:05:11 UTC | Zippers, registered-nonrandom, and examples/dsoar.clj 20110111: - Added zipper stack and functions (thanks to Kyle Harrington for draft code, although this was re-written). - Added registered-nonrandom function. - Modified odd.clj example to use registered-nonrandom. - Added examples/dsoar.clj, a version of the "Dirt-Sensing, Obstacle-Avoiding Robot" (DSOAR) problem first described in: Spector, L. 1996. Simultaneous Evolution of Programs and their Control Structures. In Advances in Genetic Programming 2, edited by P. Angeline and K. Kinnear, pp. 137-154. Cambridge, MA: MIT Press. http://helios.hampshire.edu/lspector/pubs/AiGP2-post-final-e.pdf This version was written by Brian Martin in 2010-2011. | 12 January 2011, 06:05:11 UTC |
1d57330 | Lee Spector | 09 December 2010, 02:31:25 UTC | Added alternative node selection methods for use in mutation and crossover. | 09 December 2010, 02:31:25 UTC |
bdce86e | Lee Spector | 05 December 2010, 14:08:16 UTC | Minor enhancements/fixes, intertwined spirals. 20101204: - Added pushgp-map, which allows pushgp calls on maps of arguments, and a demonstration of its use in argmap_regression.clj. - Added :gen-class and -main definition (thanks Kyle Harrington). - Fixed eval-push termination to return :abnormal for exceeding time-limit (thanks Kyle Harrington). 20101205: - Added modified version of Kyle's version of the intertwined spirals problem. - Minor changes to this README. | 05 December 2010, 14:08:16 UTC |
71e6bd6 | Lee Spector | 05 December 2010, 14:05:34 UTC | Minor enhancements/fixes, intertwined spirals. 20101204: - Added pushgp-map, which allows pushgp calls on maps of arguments, and a demonstration of its use in argmap_regression.clj. - Added :gen-class and -main definition (thanks Kyle Harrington). - Fixed eval-push termination to return :abnormal for exceeding time-limit (thanks Kyle Harrington). 20101205: - Added modified version of Kyle's version of the intertwined spirals problem. - Minor changes to this README. | 05 December 2010, 14:05:34 UTC |
0fe9b64 | Lee Spector | 05 December 2010, 14:03:14 UTC | Minor enhancements/fixes and intertwined spirals. 20101204: - Added pushgp-map, which allows pushgp calls on maps of arguments, and a demonstration of its use in argmap_regression.clj. - Added :gen-class and -main definition (thanks Kyle Harrington). - Fixed eval-push termination to return :abnormal for exceeding time-limit (thanks Kyle Harrington). 20101205: - Added modified version of Kyle's version of the intertwined spirals problem. - Minor changes to this README. | 05 December 2010, 14:03:14 UTC |
aef3112 | Lee Spector | 07 November 2010, 15:57:35 UTC | 20101106: - Tweaked parameters in ant examples; among other things, increased simplification since bloat was an issue. Also added some evolved solutions in comments. 20101107: - Added Koza's lawnmower problem example; this demonstrates how to add a new type/stack on a problem-specific basis, without altering clojush.clj. | 07 November 2010, 15:57:35 UTC |
73ce5e5 | Lee Spector | 05 November 2010, 02:59:47 UTC | Added stackless tagging, along with several minor fixes and enhancements: 20101102: - Switched to new clojure.core/frequencies from depricated seq-utils/frequencies (h/t Kyle Harrington), and similarly for flatten. - Added :include-randoms keyword argument for registered-for-type. Defaults to true, but if specified as false then instructions ending with "_rand" will be excluded. - Raised invalid output penalty in tg8 (it was lower than reasonable errors for that problem). 20101103: - Converted evalpush-limit and evalpush-time-limit into vars (global-evalupush-limit and global-evalpush-time-limit) bound to atoms that are reset by calls to pushgp (keyword arguments :evalpush-limit and :evalpush-time-limit). - Changed pushgp parameters in the tg8.clj example. 20101104: - Implemented stackless tagging (see http://push.i3ci.hampshire.edu/ 2010/10/28/stackless-tagging/). Tag instructions take one of the following forms: tag_<type>_<number> create tage/value association, with the value taken from the stack of the given type and the number serving as the tag untag_<number> remove the association for the closest-matching tag tagged_<number> push the value associated with the closest-matching tag onto the exec stack (or no-op if no associations). Here "closest-matching" means the tag with lowest number that is greater than or equal to the number of the tag being matched, or the lowest-numbered tag if none meet this criterion. Tag instructions are not implemented in the same way as other instructions; they are detected and handled specially by the interpreter (see execute-instruction). Tag instructions can be included in pushgp runs by using the new ephemeral random constant functions tag-instruction-erc, untag-instruction-erc, and tagged-instruction-erc, each of which takes a limit (for the numerical part) as an argument. - Added examples using tags: tagged_ant, tagged_regression, and tagged_tg8. | 05 November 2010, 02:59:47 UTC |
680cbb2 | Lee Spector | 17 October 2010, 23:05:50 UTC | 20101017: - Reverted from records to structs; wasn't significantly faster and structs allow for greater flexibility in use of state as map. | 17 October 2010, 23:05:50 UTC |
704dd20 | Lee Spector | 14 October 2010, 14:45:50 UTC | Ack NSF | 14 October 2010, 14:45:50 UTC |
5df679b | Lee Spector | 14 October 2010, 14:18:03 UTC | 20101014: - [Artificial ant, krypto, tg8, decimation] - Added articial ant example from Koza (via Luke). - Added "tg8" integer symbolic regression problem. - Added krypto number puzzle example. - Added pushgp "decimation" feature, in which elimination tournaments, conducted after fitness testing, reduce the size of the population to a specified fraction of its original size (specified in a decimation-ratio argument to pushgp; the tournament sized is specified via decimation-tournament-size). The ordinary tournament-size parameter is still used for subsequent selection from the decimated population. Any specified trivial geography applies both to decimation and to subsequent selection. | 14 October 2010, 14:18:03 UTC |
05e96f5 | Lee Spector | 06 October 2010, 01:01:57 UTC | Jars readded (not sure why they were removed). | 06 October 2010, 01:01:57 UTC |
2a8cd79 | Lee Spector | 06 October 2010, 01:01:08 UTC | With agent error-handlers. | 06 October 2010, 01:01:08 UTC |
d0ba989 | Lee Spector | 25 September 2010, 20:15:02 UTC | first commit with auto directory | 25 September 2010, 20:15:02 UTC |
c6a1189 | Lee Spector | 25 September 2010, 19:50:18 UTC | fixed namespace names in examples | 25 September 2010, 19:50:18 UTC |
c44de20 | Lee Spector | 22 September 2010, 02:40:57 UTC | - Converted structures to records (a clojure 1.2 feature, should be faster). | 22 September 2010, 02:40:57 UTC |