Data update
This commit is contained in:
parent
796d366b97
commit
35bcdeebf8
504 changed files with 7045 additions and 610 deletions
|
|
@ -0,0 +1,7 @@
|
|||
(var c 100) ;number of children in each generation
|
||||
(var p 0.05) ;mutation probability
|
||||
|
||||
(var target "METHINKS IT IS LIKE A WEASEL")
|
||||
(var tsize (len target))
|
||||
|
||||
(var alphabet (to-vec " ABCDEFGHIJLKLMNOPQRSTUVWXYZ"))
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
(var fitness (comp @(map = target) (count val)))
|
||||
(var perfect-fit? (comp fitness (= tsize)))
|
||||
|
||||
(var rand-char #(rand-pick alphabet))
|
||||
(var mutate (map #(if (< (rand) p) (rand-char) %)))
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
(function evolve generation parent
|
||||
|
||||
(print (pad-left " " 3 generation) " " (... str parent) " " (fitness parent))
|
||||
|
||||
(return-when (perfect-fit? parent))
|
||||
|
||||
(let children (times c #(mutate parent))
|
||||
fittest (max-by fitness (... vec parent children)))
|
||||
|
||||
(recur (inc generation) fittest))
|
||||
|
||||
(evolve 1 (times tsize rand-char))
|
||||
Loading…
Add table
Add a link
Reference in a new issue