O projeto consiste em uma simulação onde duas espécies de animais (coelhos e raposas), são simuladas em um campo com o objetivo de criar um ecossistema em que as duas espécies possam coexistir.
As raposas se alimentam dos coelhos, que se alimentam de frutas. os dois precisam de água regularmente.
O equilibrio acontece quando os coelhos conseguem adiquirir atributos que seperem os da raposa mas não a ponto de extinguilas.
- Mapa gerado aleatoriamento usando Perlin Noise
- Técnicas de otimização como Chunk Drawing
- Regressão Logística
- Redes Neurais Genéticas como Inteligencia Artificial
- Dados Salvos em DataFrames (Pandas) e Guardados em arquivos criptografados (pickle)
- Visualizalçao dos Dados em Pandas/Matplotlib/Seaborn/Numpy
Cada entidade (animal), precisa de comida, água e descanso para sobreviver. Podem também, se reproduzir quando o nível de "amor" está alto e tem como velocidade o atributo mais importante. As entidades também contam com um gene e um multiplicador aleatório de fome, sede, velocidade, amor e descanso. O gene foi resultado de muitas horas de treinamento de uma rede neural genética chamada (NEAT).
O treinamento da rede neural NEAT consiste em colocar uma grande população no mapa, dar um gene unico para cada indivíduo e deixar que eles usem a rede neural como tomador de decisão em como agir (quando comer, beber e etc...). Quando toda a população morre ou demora muita para morrer, a simulação é resetada e uma nova população é colocada no mundo, mas dessa vez, os genes dos melhores animais da geração passada estarão mais presentes na geração atual. E assim o treinamento corre por Diversas geraçoes, até que um grupo de indivíduos "Perfeitos" sejam encontrados e estes servem como Modelo para a simulação final.
Todos os Arquivos .txt marcados com [data] podem ser abertos com o data_visu.py, modificando o diretorio de leitura na linha 15.
- Pandas
- Numpy
- Matplotlib
- Pygame
- Neat Python
- Pathfinfing
- Sklearn (if you use Logistic Regression IA.)