-
Notifications
You must be signed in to change notification settings - Fork 0
ray1729/Markov-Chains
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# Markov-Chains Clojure library for playing with Markov chains. ## Usage (use '[ray1729.clojure.markov.core :only '(build-markov-model build-markov-chain)]) (defn tokenize-line [s] "Split a line into word characters and append a trailing newline to the sequence" (when (seq s) (re-seq #"[\w\n]" (str s "\n")))) (defn tokenize-file [f] "Split lines that begin with a lower-case letter into their component letters" (with-open [r (reader f)] (doall (apply concat (map tokenize-line (filter #(re-seq #"^[a-z]" %) (line-seq r))))))) ;; Build a 3-letter prefix map of /usr/share/dict-words (def m (build-markov-model (tokenize-file "/usr/share/dict/words") 3)) ;; Generate a random "word" using the prefix map (apply str (take-while (partial not= "\n") (build-markov-chain m ["a" "b" "b"]))) ## Installation git clone git://github.com/ray1729/Markov-Chains.git ## License Copyright (C) 2010 Ray Miller <[email protected]> Distributed under the Eclipse Public License, the same as Clojure.
About
Markov chain toy implemented in Clojure
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published