1

这似乎是最奇怪的事情,但是我在这里束手无策。我有一个 PyGame/PyMunk 模拟(计划运行 2 秒的简单 BouncyBall 演示)。我将它连接到 DEAP 以尝试优化线路布局,以最大限度地增加屏幕上最后的球数。

第一代似乎运行良好(并且在预期的时间内),但是任何剩余的代都只是飞过。

我正在打印invalid_ind列表并且那里有内容,但是 pygame 似乎只是不想在第一代之后重新运行。

这里是否发生了某种低级优化?我不希望 10 代 * 50 个人 * 2 秒评估的 DEAP 运行会立即运行,所以我很困惑。

这是我的DEAP 代码

这是我的BouncyBall 代码

它们在第 1 代中很好地连接在一起,但除此之外的任何东西都会过去。

4

1 回答 1

0

我不知道这是否会对任何人有所帮助,但这个问题似乎与我如何处理 PyMunk 代码的评估有关。无论我运行 DEAP 还是手工 GA,为每个人实例化它都会产生相同的效果。

但是,通过调用BouncyBall代码subprocess按预期工作。

于 2019-05-22T14:25:36.027 回答