脚本在不同的机器上返回不同的结果

时间:2014-11-09 09:52:42

标签: python python-2.7 loops random itertools

我有Python脚本 - 简单的遗传算法。它从列表生成随机序列(使用itertools创建列表),测试它,改变最佳结果并生成更多随机结果。它在某些计算机上运行得很好,但在其他计算机上却无法收敛到解决方案。

我不允许显示所有代码,但据我所知,没有什么特别的。

使用过的库:

import itertools
import numpy.random as random
import copy

从随机我使用randint,shuffle。

我尝试过:

  1. python random和numpy.random之间的变化 - 没有变化。
  2. 检查版本 - 它不适用于Python< 2.7.x,但也适用于Python> 2.7.6(到目前为止我测试的内容)。所以我不认为Python版本是相关的。
  3. 我测试了64位和32位操作系统 - 它可以在32位Windows 7,32位Ubuntu,64位Ubuntu上运行,而且它不适用于另一个32位Ubuntu!因此,操作系统似乎也不重要。
  4. 是否有人遇到类似问题?接下来要检查什么?

1 个答案:

答案 0 :(得分:3)

很可能存在一个错误或数字问题,使得算法收敛于某些输入而不是其他输入(或者,如果算法是非确定性的,则取决于随机数生成器产生的值)。

尝试播种随机数生成器以使结果可重现。