这似乎是最奇怪的事情,然而我对此束手无策。我有一个PyGame/PyMunk模拟(计划运行2秒的简单BouncyBall演示)。我把它挂到DEAP上,试着优化行的位置,以最大限度地增加最后屏幕上的球的数量。
第一代似乎运行得很好(并且在预期的时间量内),然而其他几代人只是飞逝而过。
我正在打印invalid_ind列表,里面有一些内容,但是它看起来就是不想在第一代之后重新运行。
这里是不是发生了某种低级的优化?我不会期望10代* 50个人*2秒的DEAP运行会瞬间运行,所以我很困惑。
这是我的DEAP code
这是我的BouncyBall code
它们在第一代中很好地结合在一起,但除此之外的任何东西都会飞逝而过。
发布于 2019-05-22 22:25:36
我不知道这是否会对任何人有帮助,但这个问题似乎更多地与我如何处理PyMunk代码的评估有关。无论我是运行DEAP还是手工GA,为每个人实例化它都有相同的效果。
但是,通过subprocess调用BouncyBall代码的效果与预期一致。
https://stackoverflow.com/questions/56195825
复制相似问题