【问题标题】:Script returns different results on different machines脚本在不同的机器上返回不同的结果
【发布时间】:2014-11-09 09:52:42
【问题描述】:

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

我不能展示所有代码,但据我所知没有什么特别的。

使用的库:

import itertools
import numpy.random as random
import copy

从随机开始,我使用 randint,随机播放。

我尝试过的:

  1. python random 和 numpy.random 之间的变化 - 没有变化。
  2. 检查版本 - 它不适用于 Python 2.7.6(到目前为止我测试过的)。所以我不认为 Python 版本是相关的。
  3. 我测试了 64 位和 32 位操作系统 - 它可以在 32 位 windows 7、32 位 Ubuntu、64 位 Ubuntu 上运行,但不能在另一个 32 位 Ubuntu 上运行!因此,操作系统似乎也不重要。

有人遇到过类似的问题吗?接下来要检查什么?

【问题讨论】:

    标签: python python-2.7 loops random itertools


    【解决方案1】:

    很可能存在错误或数值问题,导致算法收敛于某些输入但不收敛于其他输入(或者,如果算法是不确定的,则取决于随机数生成器生成的值)。

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

    【讨论】:

    • 这让我意识到,这个问题不是随机数。
    猜你喜欢
    • 2021-10-07
    • 1970-01-01
    • 2021-08-21
    • 2011-09-28
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多