gcd problem implemented

This commit is contained in:
Ryan Boldi 2022-06-11 10:30:51 -04:00
parent cddb60c63f
commit 039769eaf6
3 changed files with 11 additions and 7 deletions

View File

@ -20,8 +20,8 @@
; Source: https://arxiv.org/pdf/2106.06086.pdf ; Source: https://arxiv.org/pdf/2106.06086.pdf
; ============================================================ ; ============================================================
(def train-data (dc/read-data-that-has-no-strings "fuel-cost" "train")) (def train-data (dc/read-data-formatted "fuel-cost" "train"))
(def test-data (dc/read-data-that-has-no-strings "fuel-cost" "test")) (def test-data (dc/read-data-formatted "fuel-cost" "test"))
; Random integer between -100 and 100 (from smallest) ; Random integer between -100 and 100 (from smallest)
(defn random-int [] (- (rand-int 201) 100)) (defn random-int [] (- (rand-int 201) 100))

View File

@ -2,6 +2,7 @@
(:require [psb2.core :as psb2] (:require [psb2.core :as psb2]
[propeller.genome :as genome] [propeller.genome :as genome]
[propeller.push.interpreter :as interpreter] [propeller.push.interpreter :as interpreter]
[propeller.problems.data-creation :as dc]
[propeller.utils :as utils] [propeller.utils :as utils]
[propeller.push.instructions :refer [get-stack-instructions]] [propeller.push.instructions :refer [get-stack-instructions]]
[propeller.push.state :as state] [propeller.push.state :as state]
@ -17,7 +18,10 @@
; Source: https://arxiv.org/pdf/2106.06086.pdf ; Source: https://arxiv.org/pdf/2106.06086.pdf
; ================================================================== ; ==================================================================
(def train-and-test-data (psb2/fetch-examples "data" "gcd" 200 2000)) ;(def train-and-test-data (psb2/fetch-examples "data" "gcd" 200 2000))
(def train-data (dc/read-data-formatted "gcd" "train"))
(def test-data (dc/read-data-formatted "gcd" "test"))
(defn random-int [] (- (rand-int 201) 100)) (defn random-int [] (- (rand-int 201) 100))
@ -76,9 +80,9 @@
(merge (merge
{:instructions instructions {:instructions instructions
:error-function error-function :error-function error-function
:training-data (:train train-and-test-data) :training-data train-data
:testing-data (:test train-and-test-data) :testing-data test-data
:case-t-size (count (:train train-and-test-data)) :case-t-size (count train-data)
:case-parent-rate 0 :case-parent-rate 0
:case-parent-gens 1 :case-parent-gens 1
:max-generations 300 :max-generations 300

View File

@ -77,7 +77,7 @@
(str before) (str before)
before))) before)))
(defn read-data-that-has-no-strings [problem train-or-test] (defn read-data-formatted [problem train-or-test]
(apply list (with-open [reader (io/reader (str "picked/" problem "-" train-or-test ".csv"))] (apply list (with-open [reader (io/reader (str "picked/" problem "-" train-or-test ".csv"))]
(let [csv-data (csv/read-csv reader)] (let [csv-data (csv/read-csv reader)]
(mapv zipmap (mapv zipmap