229 Commits

Author SHA1 Message Date
Shuzo Katayama
fe5fd97aae storage 2021-07-12 17:38:09 -04:00
Shuzo Katayama
82f41520a1 some PSB2 problems added 2021-07-12 17:26:19 -04:00
Shuzo Katayama
6cb1bd1ff2 more problems added 2021-07-09 11:30:54 -04:00
klingliu
d47bfc4aaf Change instructions output to string format for analysis scripts 2021-07-06 17:56:50 -04:00
klingliu
d92507b062 Revert "Change outputs to turn instructions list into string for the analysis scripts"
This reverts commit 744ab184baac945acdee4e0c7aa533cc1729cc6a.
2021-07-06 17:46:17 -04:00
klingliu
744ab184ba Change outputs to turn instructions list into string for the analysis scripts 2021-07-06 17:44:45 -04:00
Shuzo Katayama
8fb2f772d4 path names in argmap 2021-07-06 16:51:01 -04:00
Shuzo Katayama
6bd8a60c41 changed path to map 2021-07-03 14:40:26 -04:00
Shuzo Katayama
829b41e253 path function changed 2021-07-01 18:04:18 -04:00
Shuzo Katayama
a831990c35 merge 2021-07-01 16:14:16 -04:00
Shuzo Katayama
3075d8a35a fixed fuel cost 2021-07-01 16:02:31 -04:00
klingliu
51ff11c362 Change max-number-magnitude and min-number-magnitude to be more reasonable 2021-06-29 17:30:07 -04:00
klingliu
fc5827e711 Change final output map to display total error 2021-06-29 16:52:17 -04:00
Lee Spector
390c880291
Merge pull request #19 from klingliu/outputs
Change outputs from strings to maps
2021-06-29 15:43:12 -04:00
klingliu
1437b16bfc Change outputs from strings to maps 2021-06-29 12:20:04 -04:00
klingliu
4c2db8a19a Add rumad variation 2021-06-29 12:15:37 -04:00
Shuzo Katayama
98270691e0 fuel cost working 2021-06-24 17:18:19 -04:00
Shuzo Katayama
6def4035c3 train-and-test function added 2021-06-22 16:41:55 -04:00
Shuzo Katayama
62ac9e570c user specified path 2021-06-22 12:39:09 -04:00
Tom Helmuth
e6a0b05e8e Added example for how to use datasets for PSB2. 2021-06-19 22:55:17 -04:00
Lee Spector
6fa77812ec Merge remote-tracking branch 'origin/master' 2021-06-16 16:09:42 -04:00
Lee Spector
d7c26902ca
Merge pull request #15 from NicMcPhee/test-string-instructions
Test string instructions
2021-04-29 17:23:56 -04:00
Lee Spector
fcefa83afc
Merge pull request #14 from NicMcPhee/limit-type-size
Limit type size
2021-04-29 17:22:36 -04:00
Lee Spector
209e256913 Handle -main args correctly in REPL or from command line; update README for specifying problem 2021-04-22 20:39:23 -04:00
Lee Spector
6dac92f15f Add deep_dup instructions 2021-04-22 20:21:24 -04:00
mcgirjau
847372ea1a Fix polymorphic stack instructions 2021-04-19 17:28:24 -04:00
Erik Rauer
e3d7963355 Fix string/set-char
This changes `string/set-char` to throw `:ignore-instruction` when the string is empty. Otherwise the instruction throws a Divide by Zero error.
2021-04-01 12:04:56 -05:00
Erik Rauer
695e08506e Fix string/nth instruction
This changes `string/nth` to return `:ignore-instruction` when the string is empty. Otherwise it would throw an error due to dividing by zero.
2021-03-29 21:05:35 -05:00
Erik Rauer
7aad934b96 Change string/last
Changes `string/last` to return `:ignore-instruction` if the given string is empty
2021-03-23 22:42:49 -05:00
Erik Rauer
9cd4f875c2 Fix string/indexof-char
Changes `string/indexof-char` to return :ignore-instruction if the character is not present in the string. This makes it consistent with it's description
2021-03-21 01:02:11 -05:00
Erik Rauer
39a25fa7e3 Change the string/first instruction
This changes the `string/first` instruction to return :ignore-instruction if the string is empty.
2021-03-18 22:49:44 -05:00
Erik Rauer
ca311c9f36 Fix string/contains
This fixes `string/contains` to be consistent with it's descriptions, as well as it's implementation in Clojush
2021-03-16 22:47:41 -05:00
Erik Rauer
156bbb91e3 Make limiting work in ClojureScript
Change `keep-number-reasonable` so that it doesn't use Java's Double class when running in ClojureScript.

I believe this should work, but I haven't tested it with ClojureScript yet.
2021-03-04 16:02:31 -06:00
Lee Spector
d07bb0a75a Specify opens for all exec instructions 2021-01-29 19:32:28 -05:00
Erik Rauer
7f5168769d Add methods to prevent numbers, vectors and strings from getting too big
This should prevent numbers from getting too big or small, as well as prevent strings and vectors from getting too long.

All the code was written by @mcgirjau and can be found here:
b75e000a38
2021-01-28 16:25:00 -06:00
Nic McPhee
5c4d033c4f Merge remote-tracking branch 'upstream/master' 2021-01-23 17:41:39 -06:00
Lee Spector
b64d40e1b0 Resolve merge conflicts 2021-01-23 16:46:40 -05:00
Lee Spector
864c8fb8ee Print behavioral diversity and avg total error; add tail-aligned crossover and diploid operators; fix valiant problem 2021-01-23 16:14:09 -05:00
Erik Rauer
68802a9e45 Merge branch 'master' into test-vector-instructions 2021-01-21 15:19:11 -06:00
Erik Rauer
beed85b5c0 Change vector/_replacefirst
This changes `vector/_replacefirst` to just return the original vector if the value that will be replaced was not found. This change was made in order to be more consistent with Clojush.
2021-01-07 14:23:41 -06:00
Erik Rauer
7613f18c70 Fix vector/_set
This makes it so that `vector/_set` returns `:ignore-instruction` if the given vector is empty.
2021-01-05 15:47:37 -06:00
Erik Rauer
d5f115f81c Fix vector/_replacefirst
This changes the function to throw `:ignore-instruction` if the replacement value is not present in the vector.
2021-01-03 18:31:12 -06:00
Erik Rauer
99dbabcb82 Fix error in vector/_nth
Similar to `vector/_first` and `vector/_last`, `vector/_nth` would not check for the case of an empty vector and would divide by 0. This changes the instruction so that it simply throws `:ignore-instruction` in that case.
2020-12-29 16:21:15 -06:00
Nic McPhee
91df21dba5 Fix error in vector/_last
Similar to `vector/_first`, this didn't check for the empty vector case, so I've changed it to return `:ignore-instruction` in that case.

There's a lot of duplication between `_first` and `_last`, which makes me think there's some refactoring opportunities.
2020-12-18 17:03:56 -06:00
Nic McPhee
66ec0a1ebd Address the possibility of vectors being empty in vector/_first
The original version just used the built-in `first`, which returns `nil` if you give it an empty collection, which is almost certainly not a useful behavior.

This changes it to return `:ignore-instruction` if the vector is empty, thereby leaving all the stacks unchanged.
2020-12-17 18:45:06 -06:00
Erik Rauer
b3d9d89f4c Allow instructions to indicate they should be ignored
`make-instruction` will ignore any instructions that return `:ignore-instruction`. This allows instructions to be skipped without consuming their arguments.
2020-12-17 18:32:41 -06:00
Nic McPhee
fc26886815 Fix bugs in vector/_subvec
There were two independent bugs in `vector/_subvec` that were turned up by our `test.check` testing.

The first was that the order of the arguments was wrong and `stop-raw` and `start-raw` were flipped.

The second was that `stop` wasn't max'ed with 0, which meant it could sometimes be negative, leading to an `IndexOutOfBoundsException`.
2020-12-17 15:58:11 -06:00
Lee Spector
8cd1a79da3 Pass argmap to report 2020-12-09 10:50:49 -05:00
Lee Spector
2f4adfde7a Pass argmap to report 2020-12-09 10:49:53 -05:00
Lee Spector
b68cf4ad75 Pass argmap to plushy->post in report 2020-12-09 10:46:02 -05:00