Last change
on this file since 1259 was
1190,
checked in by Maciej Komosinski, 2 years ago
|
Added the "evolalg" module for evolutionary optimization
|
File size:
628 bytes
|
Rev | Line | |
---|
[1190] | 1 | import numpy as np |
---|
| 2 | |
---|
| 3 | from ..base.experiment_abc import ExperimentABC |
---|
| 4 | from ..structures.hall_of_fame import HallOfFame |
---|
| 5 | |
---|
| 6 | |
---|
| 7 | class ExperimentNumerical(ExperimentABC): |
---|
| 8 | def __init__(self, hof_size, popsize, save_only_best) -> None: |
---|
| 9 | ExperimentABC.__init__(self,popsize=popsize, |
---|
| 10 | hof_size=hof_size, |
---|
| 11 | save_only_best=save_only_best) |
---|
| 12 | |
---|
| 13 | def mutate(self, gen1): |
---|
| 14 | return list(gen1 + np.random.randint(-10, 10, len(gen1))) |
---|
| 15 | |
---|
| 16 | def cross_over(self, gen1, gen2): |
---|
| 17 | return gen1 |
---|
| 18 | |
---|
| 19 | def evaluate(self, genotype): |
---|
| 20 | return 1/sum([x*x for x in genotype]) |
---|
Note: See
TracBrowser
for help on using the repository browser.