Pass argmap to plushy->push
This commit is contained in:
parent
f47e5e924a
commit
4516339412
3
.gitignore
vendored
3
.gitignore
vendored
@ -10,3 +10,6 @@ pom.xml.asc
|
|||||||
/.nrepl-port
|
/.nrepl-port
|
||||||
.hgignore
|
.hgignore
|
||||||
.hg/
|
.hg/
|
||||||
|
*.iml
|
||||||
|
.idea/
|
||||||
|
out
|
||||||
|
@ -5,18 +5,33 @@
|
|||||||
<output-test url="file://$MODULE_DIR$/target/classes" />
|
<output-test url="file://$MODULE_DIR$/target/classes" />
|
||||||
<exclude-output />
|
<exclude-output />
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<sourceFolder url="file://C:\Users\user\Documents\GitHub\propeller\dev-resources" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/resources" isTestSource="false" />
|
||||||
<sourceFolder url="file://C:\Users\user\Documents\GitHub\propeller\resources" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/dev-resources" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="library" name="Leiningen: args4j:2.33" level="project" />
|
||||||
<orderEntry type="library" name="Leiningen: clojure-complete:0.2.5" level="project" />
|
<orderEntry type="library" name="Leiningen: clojure-complete:0.2.5" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: com.google.code.findbugs/jsr305:3.0.1" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: com.google.code.gson/gson:2.7" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: com.google.errorprone/error_prone_annotations:2.0.18" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: com.google.guava/guava:20.0" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: com.google.javascript/closure-compiler-externs:v20170910" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: com.google.javascript/closure-compiler-unshaded:v20170910" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: com.google.jsinterop/jsinterop-annotations:1.0.0" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: com.google.protobuf/protobuf-java:3.0.2" level="project" />
|
||||||
<orderEntry type="library" name="Leiningen: nrepl:0.6.0" level="project" />
|
<orderEntry type="library" name="Leiningen: nrepl:0.6.0" level="project" />
|
||||||
<orderEntry type="library" name="Leiningen: org.clojure/clojure:1.10.0" level="project" />
|
<orderEntry type="library" name="Leiningen: org.clojure/clojure:1.10.0" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: org.clojure/clojurescript:1.9.946" level="project" />
|
||||||
<orderEntry type="library" name="Leiningen: org.clojure/core.specs.alpha:0.2.44" level="project" />
|
<orderEntry type="library" name="Leiningen: org.clojure/core.specs.alpha:0.2.44" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: org.clojure/data.json:0.2.6" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: org.clojure/google-closure-library-third-party:0.0-20170809-b9c14c6b" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: org.clojure/google-closure-library:0.0-20170809-b9c14c6b" level="project" />
|
||||||
<orderEntry type="library" name="Leiningen: org.clojure/spec.alpha:0.2.176" level="project" />
|
<orderEntry type="library" name="Leiningen: org.clojure/spec.alpha:0.2.176" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: org.clojure/tools.reader:1.1.0" level="project" />
|
||||||
|
<orderEntry type="library" name="Leiningen: org.mozilla/rhino:1.7R5" level="project" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
(defn plushy->push
|
(defn plushy->push
|
||||||
"Returns the Push program expressed by the given plushy representation."
|
"Returns the Push program expressed by the given plushy representation."
|
||||||
[plushy]
|
[plushy argmap]
|
||||||
(let [opener? #(and (vector? %) (= (first %) 'open))] ;; [open <n>] marks opens
|
(let [opener? #(and (vector? %) (= (first %) 'open))] ;; [open <n>] marks opens
|
||||||
(loop [push () ;; iteratively build the Push program from the plushy
|
(loop [push () ;; iteratively build the Push program from the plushy
|
||||||
plushy (mapcat #(if-let [n (get push/opens %)] [% ['open n]] [%]) plushy)]
|
plushy (mapcat #(if-let [n (get push/opens %)] [% ['open n]] [%]) plushy)]
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
or 1000000 if no behavior is produced. The behavior is here defined as the
|
or 1000000 if no behavior is produced. The behavior is here defined as the
|
||||||
final top item on the INTEGER stack."
|
final top item on the INTEGER stack."
|
||||||
[argmap individual]
|
[argmap individual]
|
||||||
(let [program (genome/plushy->push (:plushy individual))
|
(let [program (genome/plushy->push (:plushy individual) argmap)
|
||||||
inputs (range -10 11)
|
inputs (range -10 11)
|
||||||
correct-outputs (map target-function inputs)
|
correct-outputs (map target-function inputs)
|
||||||
outputs (map (fn [input]
|
outputs (map (fn [input]
|
||||||
|
@ -63,7 +63,7 @@
|
|||||||
([argmap individual]
|
([argmap individual]
|
||||||
(error-function argmap individual :train))
|
(error-function argmap individual :train))
|
||||||
([argmap individual subset]
|
([argmap individual subset]
|
||||||
(let [program (genome/plushy->push (:plushy individual))
|
(let [program (genome/plushy->push (:plushy individual) argmap)
|
||||||
data (get train-and-test-data subset)
|
data (get train-and-test-data subset)
|
||||||
inputs (:inputs data)
|
inputs (:inputs data)
|
||||||
correct-outputs (:outputs data)
|
correct-outputs (:outputs data)
|
||||||
|
@ -65,7 +65,7 @@
|
|||||||
([argmap individual]
|
([argmap individual]
|
||||||
(error-function argmap individual :train))
|
(error-function argmap individual :train))
|
||||||
([argmap individual subset]
|
([argmap individual subset]
|
||||||
(let [program (genome/plushy->push (:plushy individual))
|
(let [program (genome/plushy->push (:plushy individual) argmap)
|
||||||
data (get train-and-test-data subset)
|
data (get train-and-test-data subset)
|
||||||
inputs (:inputs data)
|
inputs (:inputs data)
|
||||||
correct-outputs (:outputs data)
|
correct-outputs (:outputs data)
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
behavior is produced. The behavior is here defined as the final top item on
|
behavior is produced. The behavior is here defined as the final top item on
|
||||||
the BOOLEAN stack."
|
the BOOLEAN stack."
|
||||||
[argmap individual]
|
[argmap individual]
|
||||||
(let [program (genome/plushy->push (:plushy individual))
|
(let [program (genome/plushy->push (:plushy individual) argmap)
|
||||||
inputs ["GCG" "GACAG" "AGAAG" "CCCA" "GATTACA" "TAGG" "GACT"]
|
inputs ["GCG" "GACAG" "AGAAG" "CCCA" "GATTACA" "TAGG" "GACT"]
|
||||||
correct-outputs [false false false false true true true]
|
correct-outputs [false false false false true true true]
|
||||||
outputs (map (fn [input]
|
outputs (map (fn [input]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user