| 1234567891011121314151617181920212223242526272829303132333435 |
- #lang typed/racket
- ;; A simple genetic algorithm
- ;; Computer Exercise #1 from Intro to GA by Mitchell
- ;;
- ;; Uses:
- ;; - fitness-proportionate selection
- ;; - routlette-wheel sampling
- (require math)
- ; population size and individual chromosome length
- (define popsize 100)
- (define chromlen 100)
- ; single-point crossover rate
- (define p-cross 0.7)
- ; bitwise mutation rate
- (define p-mutate 0.001)
- ; Fitness assessment is the number of 1's in the population member
- (: fitness (-> (Listof Integer) Real))
- (define (fitness member)
- (/ (sum member)
- (length member)))
- ; mutate an individual
- (: mutate (-> (Listof Integer) (Listof Integer)))
- (define (mutate member)
- )
- (: genpop (-> (Listof Integer)))
- (define genpop
- )
|