 
 (defn valid-moves [state]
   (filter identity (map (partial highest-column (concat (:p1 state) (:p2 state)))
-        cols)))
+                        cols)))
 
 (valid-moves (init))
 

      (update-in (concat (interleave (repeat :children) path) [:visited]) inc)
      (update-in (concat (interleave (repeat :children) path) [:score]) #(+ % result))))



(defn backprop [root path result]
  (if-not (empty? path)
    (recur (update-node root path result)

           :score 0
           :moves #{}
           :children {:move
                       {:visited 0 :score 0 :children {}}}})

(defn uct [node parent-visits]
  (+ (/ (:score node)
