           ;;----------------------------------------
           :use-single-thread false ;; When true, Clojush will only use a single thread
           :random-seed (random/generate-mersennetwister-seed) ;; The seed for the random number generator
-          :save-initial-population false ;; When true, saves the initial population
           :run-uuid nil ;; This will be set to a new type 4 pseudorandom UUID on every run
           ;;
           ;;----------------------------------------

                                                            (not (some #(random/=byte-array % candidate)
                                                                       seeds))) new-seeds)))); only add seeds that we do not already have
                           seeds)))]
    {:pop-agents (let [pa (doall (for [_ (range population-size)]
                                   (make-individual
                                     :genome (random-plush-genome max-genome-size-in-initial-program
                                                                  atom-generators
                                                                  argmap)
                                     :genetic-operators :random)))
                       f (str "data/" (System/currentTimeMillis) ".ser")]
                   (when save-initial-population
                     (io/make-parents f)
                     (spit f (printable (map individual-string pa))))
                   (vec (map #(if use-single-thread
                                (atom %)
                                (agent % :error-handler agent-error-handler))
                             pa)))
     :child-agents (vec (doall (for [_ (range population-size)]
                                 ((if use-single-thread atom agent)
                                      (make-individual)
                                      :error-handler agent-error-handler))))
     :random-seeds random-seeds
     :rand-gens (vec (doall (for [k (range population-size)]                      
                              (random/make-mersennetwister-rng (nth random-seeds k)))))
     }))

      (timer @push-argmap :initialization)
      (println "\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;")
      (println "\nGenerating initial population...")
      (let [pop-agents (make-pop-agents @push-argmap)
            child-agents (make-child-agents @push-argmap)
            {:keys [rand-gens random-seeds]} (make-rng @push-argmap)]
        ;(print "Random seeds: ")
        ;(doseq [seed random-seeds] (print " " seed))
        ;(println)
