gpt4 book ai didi

algorithm - 如何为给定的 i 和 j 调用相同的伪随机数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:47:51 26 4
gpt4 key购买 nike

我正在从事一个具有多种功能的项目。我多次调用一个伪随机数,每次都在不同的函数中,然后对其进行一些数学运算。例如:

f(i,j)*random(i,j)

我假设在给定的 i 和 j 下,在不同的函数中伪随机数不等于另一个函数中的伪随机数。这是一个正确的假设吗?如果是这样,如何改变它?

如果重要的话,我使用的语言是 Xojo,它类似于 VB6。

最佳答案

我不太确定问题是什么,但希望提供一些伪随机数生成器 (PRNG) 的基础知识可以回答这个问题:

  • 这更像是一种语言特性,但通常调用相同的函数(即 random)与您调用它的位置无关(可能还有其他决定因素)。

  • random(i,j) 可能会或可能不会连续两次或一段时间后返回相同的数字。它是(伪)随机的,我们只是不知道它是否会。

    如果您希望random(i,j)总是返回相同的值,您可以考虑编写自己的函数来映射i<的某些值j 使用一些公式转换为另一个值,或者您可以将所有以前生成的数字存储在 map 中,如果存在该值则简单地返回它。

    如果您希望 random(i,j) 从不 返回相同的值,请考虑生成从 ij 的数字shuffling它们并简单地重复返回列表中的下一个值。

  • 您通常可以设置 PRNG 的种子。这将导致,如果你在将种子设置为某个值后得到一些序列,如果你在其他时间将种子设置为相同的值,你将得到相同的序列。除了让您能够准确重现以前的结果之外,这并没有真正起到很多实际作用(我能想到的)。

关于algorithm - 如何为给定的 i 和 j 调用相同的伪随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18048992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com