似乎我的程序正在尝试学习直到某个点,然后它就感到满意并且根本停止改进和改变。通过我的测试,它通常最多达到 -5 的值,然后无论我让它运行多久,它都会保持在那里。结果集也不会改变。
只是为了跟踪它,我做了我自己的日志记录,看看哪个做得最好。1 和 0 的数组指的是 AI 做出正确选择的频率 (1),以及 AI 做出错误选择的频率 (0)。
我的目标是让 AI 重复高于 0.5 然后低于 0.5 的模式,不一定要找到奇数。这只是一个小小的测试,看看我是否可以让 AI 使用一些基本数据正常工作,然后再做一些更高级的事情。
但不幸的是它不起作用,我不确定为什么。
编码:
import os
import neat
def main(genomes, config):
networks = []
ge = []
choices = []
for _, genome in genomes:
network = neat.nn.FeedForwardNetwork.create(genome, config)
networks.append(network)
genome.fitness = 0
ge.append(genome)
choices.append([])
for x in range(25):
for i, genome in enumerate(ge):
output = networks[i].activate([x])
# print(str(x) + " - " + str(i) + " chose " + …
Run Code Online (Sandbox Code Playgroud)