                                      :fill "rgba(0,0,255,1)"
                                      :size 2))))
        )
-     ))
+     "log-progress" ;; read log.csv and graph generation performance
+     (with-open [rdr (clojure.java.io/reader "log.csv")]
+       (let [lines (drop 1 (line-seq rdr))
+             vecs (for [line lines] (clojure.string/split line #","))
+             points (vec (for [[gen in error size] vecs] [(read-string gen)
+                                                     (read-string error)]))
+
+             ]
+         (spit (str "progress.csv")
+               (clojure.string/join "\n"
+                                    (for [point points]
+                                      (clojure.string/join "," point))))))))
   ([]
    (pushgp
      {:error-function error-function
       ;; try to beat paper's best average
-      :error-threshold (average (run-tests Selector/NUM_UNINFORMED))
+      :error-threshold (average (run-tests Selector/NUM_UNINFORMED test-graphs))
       :atom-generators atoms
       ; :use-single-thread true
       :population-size 500
-      :max-generations 100
+      :max-generations 200
       :max-points 500
       :max-points-in-initial-program 200
       :evalpush-limit 500

        [clojush.instructions.common]
        [clojush.instructions.return]
        [clojure.math.numeric-tower]
        [clojure.set])
  (:require [analemma.charts :as chart])
  (:import [spellcast.core Graph Graph$P HCABS Selector]
           [java.util BitSet]
           [org.uncommons.maths.random MersenneTwisterRNG])
  (:gen-class))

;;;;;;;;;;;;
;; To make the integer stack less overloaded, define some similar

      :ultra-probability 0.0
      :print-timings false
      :print-csv-logs true
      :save-initial-population true
      :initial-population "1398667653967.ser"
      :report-simplifications 0
      :print-history false})
   (shutdown-agents)))
