Les stratégies évolutives ont été simples!
Utilisez Evopy pour optimiser facilement un vecteur de flotteurs dans Python.
Tout ce dont vous avez besoin pour utiliser Evopy est Python 3! Exécutez cette commande pour récupérer Evopy de PYPI:
pip install evopy
Ensuite, vous pouvez importer EvoPy comme ceci:
from evopy import EvoPy Disons que nous voulions trouver l'optimum d'une parabole, sans utiliser de méthodes exactes du calcul! Avec Evopy, c'est aussi simple que d'écrire les deux lignes suivantes:
evopy = EvoPy ( lambda x : pow ( x , 2 ), 1 )
best_coordinates = evopy . run () L'ingrédient principal ici est la fonction de fitness (la lambda). Cela peut également être une référence de fonction normale, assurez-vous simplement qu'il accepte un flotteur ou un tableau de flotteurs et sorti un seul flotteur. L'autre ingrédient est le 1 à la fin de la première ligne: il s'agit de la dimensionnalité des entrées que vous attendez dans votre fonction de fitness. best_coordinates contiendra un tableau avec un seul élément, qui est la meilleure valeur x que l'algorithme pourrait trouver dans le nombre par défaut de générations.
Si l'exemple précédent vous semblait trop simple, nous pouvons également regarder l'optimum d'une fonction bidimensionnelle plus complexe, comme la fonction Rastrigin. Nous n'avons pas à modifier beaucoup dans notre extrait de code précédent pour faire fonctionner cela:
evopy = EvoPy (
lambda X : 5 + sum ([( x ** 2 - 5 * np . cos ( 2 * np . pi * x )) for x in X ]),
2 ,
generations = 1000 ,
population_size = 100
)
best_coordinates = evopy . run () Par rapport au premier exemple, nous avons échangé la fonction de fitness pour une fonction plus complexe, définie la dimensionnalité sur 2 , et étant donné l'algorithme plus de temps pour en trouver un optimum en définissant une génération plus élevée et un nombre individuel que la valeur par défaut.
Pour des informations plus détaillées sur la fonctionnalité d'Evopy, jetez un œil aux documents!
Clone ce référentiel et récupérer toutes les dépendances à partir du répertoire cloné:
pip install -r requirements.dev.txt
Exécutez tous les tests avec:
nosetests
Pour vérifier votre style de code, exécutez:
pylint evopy
Pour mesurer votre couverture de code, exécutez:
nosetests --with-coverage --cover-package=evopy --cover-html --cover-branches --cover-erase