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
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