364 Commits

Author SHA1 Message Date
Lee Spector
b6a9a410c1 Call diploid-flip when appropriate; make new-individual robust to missing rates 2020-11-22 21:40:57 -05:00
Lee Spector
224d33c19d Add diploid-flip genetic operator 2020-11-22 21:32:49 -05:00
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
Lee Spector
f47e5e924a
Merge pull request #7 from NicMcPhee/fix-random-int-generation
Fix bug in `random-int`
2020-11-10 21:06:22 -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
Lee Spector
db085080b3
Merge pull request #6 from skwak22/master
This version of propeller has full CLJS functionality and compiles with shadow-cljs
2020-07-23 15:21:37 -04:00
Sunghoon Kwak
bdff94091b
Update license info 2020-07-15 22:44:25 +09:00
skwak22
baf28a3e79 Working cljs version of propeller 2020-07-15 22:23:42 +09:00
Sunghoon Kwak
689536b735
Update README.md 2020-07-15 21:24:56 +09:00
skwak22
44aaf4a156 introduce shadow-cljs as ClojureScript compiler 2020-07-15 21:19:38 +09:00
Maria-Cristiana Gîrjău
4de782c50a
Merge pull request #6 from skwak22/master
ClojureScript namespace changes and small tweaks with dependencies
2020-07-14 09:57:05 -04:00
Sunghoon Kwak
16b353faf9
Delete .DS_Store 2020-07-14 16:06:03 +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
Maria-Cristiana Gîrjău
c1e3f7e45f
Merge pull request #4 from skwak22/master
Converted to cljc (without xml files)
2020-06-30 09:42:42 -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
ca33a46627 Remove .xml 2020-06-29 19:27:00 -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
Maria-Cristiana Gîrjău
07956a0eca
Merge pull request #2 from skwak22/master
More namespace compatibility changes
2020-06-25 13:17:50 -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
Maria-Cristiana Gîrjău
64d43756b6
Merge pull request #1 from skwak22/master
Replace :refer :all with :require
2020-06-25 12:12:48 -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