150 Commits

Author SHA1 Message Date
Lee Spector
4df6ea7fdd Use diploid operators when called for; fix bug in diploid-uniform-addition 2020-11-22 21:27:07 -05:00
Lee Spector
67fcdb13b5 Undo deletion rate adjustment (done elsewhere), remove argmap arguments to genetic operators, define diploid genetic operators 2020-11-22 21:18:30 -05:00
Lee Spector
55644a9b6d Make crossover, uniform-addition, and uniform-deletion take argmap arguments 2020-11-22 21:06:39 -05:00
Lee Spector
aadc28d371 Make plushy->push use an empty argmap if none was passed. 2020-11-22 16:35:46 -05:00
Lee Spector
0a5e17195e Scale UMAD deletion rate from addion rate for size neutrality 2020-11-22 16:30:25 -05:00
Lee Spector
bd5f4aba40 Remove extraneous 2 2020-11-22 16:25:37 -05:00
Lee Spector
12002d17a6 Make plushy->push obey :diploid setting 2020-11-22 16:19:24 -05:00
Lee Spector
4516339412 Pass argmap to plushy->push 2020-11-22 16:14:01 -05:00
Nic McPhee
bfa557c6a1 Fix bug in random-int
The `random-int` function in both `number-io` and `smallest` subtracted a floating point value (`100.0`), which means they were both _actually_ returning a float instead of an int.

This removes both of the ".0"s so that they return integers as advertised.
2020-11-10 16:59:32 -06:00
Nic McPhee
1a882836de Limit number of duplications onto a stack
Both `_dup_times` and `_dup_items` are risky and can place very large numbers of items on a stack if the value on the `:integer` is large. This limits both `_dup_times` and `_dup_items` so they never make a stack have more than `max-stack-items` entries.

This change was motivated by `OutOfMemory` errors we were receiving when doing runs. This is somewhat modeled after similar limits in Clojush, but we chose to not introduce an `atom` and to instead just define a constant in this namespace. That may not be as flexible as people would like, and we can move to the `atom` solution if necessary.
2020-11-10 16:17:50 -06:00
Nic McPhee
89f0f3568a Add stack-size
Adds a function that returns the size of the specified stack in a given state.
2020-11-10 16:14:23 -06:00
skwak22
baf28a3e79 Working cljs version of propeller 2020-07-15 22:23:42 +09:00
skwak22
44aaf4a156 introduce shadow-cljs as ClojureScript compiler 2020-07-15 21:19:38 +09:00
skwak22
bf54db427b Some changes for CLJS compatibility 2020-07-14 16:05:20 +09:00
mcgirjau
7820d5529b Clean up macros 2020-07-14 00:14:04 -04:00
mcgirjau
3f5c2fd8a7 Add string instructions 2020-07-13 21:24:43 -04:00
mcgirjau
3e820407f3 Cleanup and metadata fix 2020-07-13 17:04:05 -04:00
mcgirjau
7ce624d4ba Add Number IO and Smallest problems 2020-07-01 13:07:13 -04:00
Sunghoon Kwak
b555e1300e
Converted files to cljc & ns changes for cljs 2020-06-30 20:39:36 +09:00
skwak22
9eae13a89d removed clj files 2020-06-30 20:36:40 +09:00
mcgirjau
74515bd11b Add output instructions 2020-06-30 00:08:48 -04:00
mcgirjau
69142757ce Add input handler and refactor interpreter 2020-06-29 22:52:41 -04:00
mcgirjau
7184cd6644 Finish polymorphic and vector instructions 2020-06-29 19:19:55 -04:00
mcgirjau
66856cf99f Remove some stacks 2020-06-26 10:34:04 -04:00
Lee Spector
fa9befd8b0 Remove :zip 2020-06-25 16:40:10 -04:00
Lee Spector
d4140096a6 Reformat 2020-06-25 16:36:52 -04:00
mcgirjau
5ff0fbed77 Move require to top level 2020-06-25 13:26:11 -04:00
mcgirjau
11a2534f67 Alphabetize namespace dependencies 2020-06-25 13:21:41 -04:00
skwak22
b417e4c2aa more namespace compatibility changes 2020-06-26 02:09:28 +09:00
mcgirjau
4bd92503a3 Move tools module for ClojureScript compatibility, and style fixes 2020-06-25 12:57:20 -04:00
skwak22
e324ee95ef replaced :refer :all with :require 2020-06-26 01:04:06 +09:00
mcgirjau
9e0a8d51b7 Remove symbols from instruction names, and use 1 instead of NOOP for division 2020-06-25 09:40:29 -04:00
mcgirjau
f04804b00b Namespace cleanup and add polymorphic instructions 2020-06-24 22:30:25 -04:00
mcgirjau
73b3963b90 Port numeric instructions 2020-06-24 19:57:20 -04:00
mcgirjau
bb5f74823c Refactor instructions 2020-06-24 16:16:53 -04:00
mcgirjau
af033c1b0e New structure 2020-06-23 11:09:15 -04:00
Lee Spector
c6f9b58556 Merge edited version of Mahran-Yousef:master pull request 2020-06-20 00:15:40 -04:00
Lee Spector
eed44cfc06 Reduce code duplication; additions before/after each gene; deletion runs on result of addition; tweak default parameters 2020-06-20 00:05:09 -04:00
Mahran-Yousef
ef6899d690 Using lexicase in the demo and reformatting 2020-06-19 11:12:19 -04:00
Mahran-Yousef
1d12a36566 Fixing previous issues and adding elitism as an option 2020-06-18 22:38:45 -04:00
mcgirjau
94d7547fc0 Add normal distribution, calculus, and basic math 2020-06-17 21:36:00 -04:00
Mahran-Yousef
6f930841fc Adding UMAD Rate and variation
Adding the ability for the user to modify the UMAD rate that controls the addition and deletion rates and the ability to specify the percentages of new individuals created bu UMAD or crossover
2020-06-17 20:09:35 -04:00
Lee Spector
47f3c70b1d Add newline 2020-06-08 00:03:45 -04:00
Lee Spector
f2f0804d75 Add "session" file with expressions for REPL 2020-06-07 16:59:53 -04:00
Lee Spector
601f53f6b1 Use resolve and var-get instead of eval 2020-06-07 16:43:34 -04:00
Lee Spector
bef1c112ff Print diversity and lengths 2020-06-07 16:37:02 -04:00
Lee Spector
c8e096e9c3 Split into multiple namespaces 2020-06-07 16:28:10 -04:00
Lee Spector
7d2fdbb723 Add :main in project.clj and fix namespace reference in core 2020-06-07 15:55:05 -04:00
Lee Spector
8236d1fbed Start with code from propel 2020-06-07 15:36:23 -04:00
Lee Spector
62dc09ec32 Create empty project 2020-06-07 11:13:33 -04:00