Estratégias evolutivas simplificadas!
Use Evopy para otimizar facilmente um vetor de carros alegóricos em Python.
Tudo o que você precisa usar é Python 3! Execute este comando para buscar evopy de Pypi:
pip install evopy
Então você pode importar EvoPy assim:
from evopy import EvoPy Digamos que queríamos encontrar o ideal de uma parábola, sem usar métodos exatos do cálculo! Com o Evopy, isso é tão fácil quanto escrever as duas linhas a seguir:
evopy = EvoPy ( lambda x : pow ( x , 2 ), 1 )
best_coordinates = evopy . run () O ingrediente principal aqui é a função de condicionamento físico (o lambda). Isso também pode ser uma referência de função normal, apenas verifique se ele aceita um bóia ou uma matriz de carros alegóricos e produz um único bóia. O outro ingrediente é o 1 no final da primeira linha: essa é a dimensionalidade das entradas que você espera em sua função de condicionamento físico. best_coordinates conterão uma matriz com um único elemento, que é o melhor valor x que o algoritmo pode encontrar no número padrão de gerações.
Se o exemplo anterior pareceu muito simples para você, também podemos olhar para o ideal de uma função bidimensional mais complexa, como a função Rastrigin. Não precisamos modificar muito em nosso trecho de código anterior para fazer isso funcionar:
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 () Comparado ao primeiro exemplo, trocamos a função de aptidão para uma mais complexa, definimos a dimensionalidade como 2 e, dado o algoritmo mais tempo para encontrar um ideal, definindo uma geração mais alta e uma contagem individual do que a inadimplência.
Para obter informações mais detalhadas sobre a funcionalidade da Evopy, dê uma olhada nos documentos!
Clone este repositório e busque todas as dependências de dentro do diretório clonado:
pip install -r requirements.dev.txt
Execute todos os testes com:
nosetests
Para verificar seu estilo de código, execute:
pylint evopy
Para medir sua cobertura de código, execute:
nosetests --with-coverage --cover-package=evopy --cover-html --cover-branches --cover-erase