Skip to content

Commit

Permalink
Merge pull request #2 from Gabrielxp/master
Browse files Browse the repository at this point in the history
ADICIONADO GRAFICOS
  • Loading branch information
brunoxd13 authored Oct 8, 2017
2 parents c0f73d6 + e34b61d commit 6e56e9b
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 2 deletions.
4 changes: 3 additions & 1 deletion algoritmoGenetico.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ def __str__(self):
### ---------------------- selecao:
## Realiza a selecao dos numSelec melhor individuos baseados no score de uma simulacao do jogo.
## Ordena os individuos baseados nos scores e seleciona os numSelec melhores.
def selecao(self, numSelec):
def selecao(self, numSelec, best_individuos,score_medias_geracoes):
#seleciona os melhores ja baseado nos scores
#COMPARA TODOS OS INDIVIDUOS E MANTEM OS numSelec MELHORES

Expand All @@ -131,11 +131,13 @@ def selecao(self, numSelec):
totalScore += self.individuos[i].score

print("\n Score Médio: ", totalScore / pop)
score_medias_geracoes.append(totalScore / pop);

melhorScoreTotal = 0
for i in range(pop):
if(self.individuos[i].score > melhorScoreTotal):
melhorScoreTotal = self.individuos[i].score
best_individuos.append(melhorScoreTotal)

print("Melhor Score: ", melhorScoreTotal, "\n")

Expand Down
25 changes: 24 additions & 1 deletion main.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import jogo
import algoritmoGenetico as ag
import matplotlib.pyplot as plt

def main():
qtdPop = int(input("Quantidade Gerações: "))
Expand All @@ -9,6 +10,10 @@ def main():

geracao = ag.Geracao(qtInd)

best_individuos = []
score_medias_geracoes = []


vel_jogo = 500
for j in range(qtdPop):
print (' \n')
Expand All @@ -19,14 +24,32 @@ def main():
gameState = jogo.jogar(geracao.individuos[i], vel_jogo, scoreMax = 200000, jogoRapido = False)
geracao.individuos[i].fitness(gameState)
print("Individuo: "+ (i + 1).__str__() + " score:" + geracao.individuos[i].score.__str__())
geracao.selecao(3, best_individuos, score_medias_geracoes)

geracao.selecao(3)
geracao.reproduzir(qtInd, chanceCO, mutacao)

print("melhor individuo!!!")

gameState = jogo.jogar(geracao.individuos[0], vel_jogo, 1)

print("Melhores Individuos:")
print(best_individuos)

plt.plot(best_individuos)
plt.ylabel("Fitness Melhores Individuos")
plt.xlabel("Gerações")
plt.show()

print("Melhores Medias Fitness Gerações:")
print(score_medias_geracoes)

plt.plot(score_medias_geracoes)
plt.ylabel("Media Fitness Geração")
plt.xlabel("Gerações")
plt.show()



return(geracao)

gen = main()
Expand Down

0 comments on commit 6e56e9b

Please sign in to comment.