Advertisement
bsddeamon

genetic-algorithm.ss

Oct 15th, 2016
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 0.61 KB | None | 0 0
  1. (define-library <genetic-algorithm>
  2.   (import (scheme base) (only (srfi 27) random-real))
  3.   (export climb fitness)
  4.   (begin (define (fitness hill) (/ (apply + hill) (length hill)))
  5.     (define (mutate parent percentage)
  6.       (map (lambda (x) (+ x (modulo (random-real) (* x percentage))))
  7.         parent))
  8.     (define (climb fitness percentage parent)
  9.       (let ([fitness-parent (fitness parent)])
  10.         (if (> fitness-parent 0.9) parent
  11.             (climb fitness percentage
  12.               (let ([child (mutate parent percentage)])
  13.                 (if (> fitness-parent (fitness child)) parent child))))))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement