Logging changes
This commit is contained in:
parent
b6312df9f3
commit
3108343513
32
src/AI/GA.py
32
src/AI/GA.py
@ -34,10 +34,6 @@ def geneticAlgorithm(map, iter, solutions, mutationAmount=0.05, multithread=Fals
|
|||||||
for i in range(solutions):
|
for i in range(solutions):
|
||||||
maps.append(Map(map.filename, map.screen))
|
maps.append(Map(map.filename, map.screen))
|
||||||
|
|
||||||
# Initialize log file
|
|
||||||
with open("results.txt", "w+") as f:
|
|
||||||
f.write("GA Results from " + str(datetime.now()))
|
|
||||||
f.write("\n")
|
|
||||||
|
|
||||||
# Set the RNG seed for this GA
|
# Set the RNG seed for this GA
|
||||||
# 5 is good for weak start
|
# 5 is good for weak start
|
||||||
@ -66,14 +62,10 @@ def geneticAlgorithm(map, iter, solutions, mutationAmount=0.05, multithread=Fals
|
|||||||
print("Best fitness: {}".format(max(fitness)))
|
print("Best fitness: {}".format(max(fitness)))
|
||||||
offspring = mating(parents, solutions, mutationAmount)
|
offspring = mating(parents, solutions, mutationAmount)
|
||||||
print("Best offspring: ", offspring[0])
|
print("Best offspring: ", offspring[0])
|
||||||
population = offspring
|
|
||||||
|
|
||||||
# Add info to logfile
|
writeResults(i, max(fitness), offspring[0])
|
||||||
with open("results.txt", "a") as f:
|
|
||||||
f.write("Population: {}\n".format(i))
|
population = offspring
|
||||||
f.write("Best fitness: {}\n".format(max(fitness)))
|
|
||||||
f.write("Best offspring: " + str(offspring[0]))
|
|
||||||
f.write("\n\n")
|
|
||||||
|
|
||||||
|
|
||||||
def selectMatingPool(population, fitness, count):
|
def selectMatingPool(population, fitness, count):
|
||||||
@ -218,3 +210,21 @@ def pickEntity(player, map):
|
|||||||
# choice = random.choices(finalEntities, finalWeights)[0]
|
# choice = random.choices(finalEntities, finalWeights)[0]
|
||||||
|
|
||||||
return choice
|
return choice
|
||||||
|
|
||||||
|
|
||||||
|
def writeResults(iter, bestFit, bestMember):
|
||||||
|
if iter == 0:
|
||||||
|
# Initialize human-readable log file
|
||||||
|
with open("results.txt", "w+") as f:
|
||||||
|
f.write("GA Results from " + str(datetime.now()))
|
||||||
|
f.write("\n")
|
||||||
|
|
||||||
|
with open("results.txt", "a") as f:
|
||||||
|
f.write("Population: {}\n".format(iter))
|
||||||
|
f.write("Best fitness: {}\n".format(bestFit))
|
||||||
|
f.write("Best offspring: " + str(bestMember))
|
||||||
|
f.write("\n\n")
|
||||||
|
|
||||||
|
# Write raw arrays
|
||||||
|
with open("resultsRaw.txt", "w+") as f:
|
||||||
|
f.write(str(bestMember + [bestFit]))
|
||||||
|
Loading…
Reference in New Issue
Block a user