i am utilizing parenthesis to represent a tree structure within a
genetic algorithm

I am trying to write a function that can strip all parenthesis such
that I can perform crossovers/mutations on the permutation.

Ex.

( 1 2 3 4 (5 6 7 8) ((9 10 11 12)) (((13 14 15 16))) )

into

( 1 2 3 4 5 6 7 8 9 10 11 12 14 15 16 )

the numbers are unique and can be in any order, and parenthesis can
occur anywhere in the representation [ another possible representation
is ( (5 6 7 8)  1 2 3 4 (((13 14 15 16))) ((9 10 11 12)) )  -- in this
case an operator must order the representation before applying the
removal of parenthesis]

so far I hacked something like:

(use 'clojure.contrib.str-utils)

(defn  genome-to-list [mytree]
  (apply list (re-gsub #"[()]*" "" (str mytree)  )
)

but I am sure there is a better option via regression, any ideas?
-- 
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