草庐IT

java - Java 的 RNG(使用种子)是否与平台无关?

提前为提出一个(看似显而易见的)问题而道歉。我还没有在网上找到答案,所以我想我会问:Java的Util.Random是平台无关的吗?例如,newRandom(50)是否会在*nix和Windows系统中产生完全相同的随机数序列? 最佳答案 来自thedocs:IftwoinstancesofRandomarecreatedwiththesameseed,andthesamesequenceofmethodcallsismadeforeach,theywillgenerateandreturnidenticalsequencesofn

python - 如何使用 numpy 种子创建确定性随机数生成器?

据我了解语法是In[88]:np.random.seed(seed=0)In[89]:np.random.rand(5)但是,当我运行rand()时,我得到了不同的结果。种子功能是否缺少某些内容? 最佳答案 想想发电机:defgen(start):whileTrue:start+=1yieldstart这将不断地从您插入的数字中给出下一个数字给生成器。对于种子,它几乎是相同的概念。我尝试设置一个变量,从中生成数据,其中的位置仍然保存。让我们将其付诸实践:>>>generator=gen(5)>>>generator.next()6>

python - 有没有一种在模块之间共享随机种子的好方法(在 python 中)?

我有一个包含不同主文件的项目(用于不同的模拟)。当我运行其中一个主文件时,它应该将种子设置为随机(和numpy.random),并且项目中的所有模块都应该使用该种子。我找不到执行此操作的好方法。我有一个globals.py文件:importrandommyRandom=NonedefinitSeed(seed):globalmyRandommyRandom=random.Random(seed)然后从一个主要的我做:if__name__=="__main__":seed=10globals.initSeed(seed)...然后在main调用的模块中,我做:fromglobalsimp

python 3 : random. 种子 () : where to call it?

我需要确保我程序中的所有随机性都是完全可复制的。我应该在哪里调用random.seed()?我认为它应该在我的main.py模块中,但它导入了碰巧使用随机函数的其他模块。我可以仔细浏览我的导入以查看哪个是第一个执行的,但是当我更改代码结构时,我将不得不记住再次重做此分析。有什么简单安全的解决方法吗? 最佳答案 在主模块的“导入部分”执行代码实际上是安全的,所以如果您不确定导入可能会或可能不会使用随机模块的其他模块,也许绕过您的种子,您当然可以使用像importrandomrandom.seed(seed_value)importso

python - 使用给定种子随机播放 Python 2 和 3 之间的区别

我正在编写一个与Python2.7和3.5兼容的程序。它的某些部分依赖于随机过程。我的单元测试使用任意种子,这会在执行和语言中产生相同的结果……除了使用random.shuffle的代码。Python2.7中的示例:In[]:importrandomrandom.seed(42)print(random.random())l=list(range(20))random.shuffle(l)print(l)Out[]:0.639426798458[6,8,9,15,7,3,17,14,11,16,2,19,18,1,13,10,12,4,5,0]Python3.5中的相同输入:In[]:

python - 随机数生成中的近种子可能会给出相似的随机数吗?

我在模拟中使用顺序种子(1,2,3,4,...)生成随机数。种子彼此靠近这一事实是否也使生成的伪随机数也相似?我认为它不会改变任何东西,但我正在使用python编辑:我做了一些测试,数字看起来并不相似。不过光看数字恐怕是看不出相似度的。有没有随机数生成的理论特性保证不同的种子给出完全独立的伪随机数? 最佳答案 根据定义,种子和生成的随机数之间肯定存在相关性。问题是随机化算法是否足以产生似乎不相关的结果,您应该研究评估随机性的方法来回答这个问题。不过你的担心是对的。以下是Microsoft的C++rand函数的结果,种子值为0到9:3

python - np.random.permutation 与种子?

我想使用带有np.random.permutation的种子,比如np.random.permutation(10,seed=42)我收到以下错误:"permutation()takesnokeywordarguments"我还能怎么做?谢谢。 最佳答案 如果你想在一行中,你可以创建一个新的RandomState,然后调用permutation:np.random.RandomState(seed=42).permutation(10)这比只设置np.random的种子要好,因为它只会产生局部效果。

python - 临时设置随机种子,比如 "new Random()"

在Python中,使用特定种子但不重新播种全局状态来生成随机数的最佳方法是什么?在Java中,您可以简单地编写:Randomr=newRandom(seed);r.nextDouble();并且标准的Math.random()不会受到影响。在Python中,我能看到的最佳解决方案是:old_state=random.getstate()random.seed(seed)random.random()random.setstate(old_state)这是惯用的Python吗?它似乎比不需要“恢复”旧种子的Java解决方案干净得多。我很想知道是否有更好的方法来做到这一点。

带种子的 Python 随机序列

我正在为一个学校项目做这件事(所以我不能使用任何高级功能)并且我使用的是Python2.6.6。我有一个从1到1000的数字列表,我的种子将是,比方说,448。我如何使用该种子生成随机序列,以便我列表中的数字位于不同的索引中?是否有可能在知道种子的情况下将列表中的元素返回到初始位置?抱歉,如果我的问题令人困惑,但英语不是我的母语。谢谢。 最佳答案 importrandomSEED=448myList=['list','elements','go','here']random.seed(SEED)random.shuffle(myLi

php - 发送抓取请求以获取 torrent 的种子和同行

我一直在尝试创建一个Torrent站点,但我遇到了以下问题。如何发送torrent抓取请求以获取它的播种机和吸血机?我有一个PHP类函数可以为我提供公告列表。publicfunctiongetTrackers(){//Loadtrackerlist$trackerlist=array();if($this->torrent->get_value('announce-list')){$trackers=$this->torrent->get_value('announce-list')->get_plain();while(list($key,$value)=each($trackers