Thanks for the advice, but at present I'm simply aiming to get the
very basics of a neural net up and running without having to worry
about a training algorithm at all.  Here's what I have so far (again,
very basic)


;; Net0

(def nodes {})

(defn insertNode [node]
  (do (def nodes (assoc nodes (:name node) node)) node) )

(defn addNode [#^String name]
  (let [node {:inputs {}, :outputs {}, :activation 0, :name name}]
    (insertNode node) ))

(defn connectNode [a b weight]
  (do
    (insertNode (assoc a :outputs (assoc (:outputs a) (:name b)
weight)))
    (insertNode (assoc b :inputs  (assoc (:inputs  b) (:name a)
weight))) ))


(defn getWeight [a b]
  (get (:outputs a) (:name b)) )

; Now, we do some actual testing:

(def n1 (addNode "Node1"))
(def n2 (addNode "Node2"))
(connectNode n1 n2 40)
(println (getWeight (nodes "Node1") (nodes "Node2")))


I've had a look at the concurrent ant simulation Rich Hickey
presented, but the code's a little more advanced than my own reading-
are 'sync' and 'alter' the sort of things I should be looking into,
and, if so, is there any way I can abstract them away with macros?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to