生成确定性随机分布的实点系列

问题描述:

我正在制作一个需要生成确定性随机事件的应用程序。他们需要具有确定性,以便计算应用程序关闭时发生的事件。 基本上,我的事件是沿着一条线分散的点,我需要一个函数f(a,b)来告诉我位置a和b之间的点数。我可以离线我的生产线,并随机决定每个地点是否有一个点使用该位置来播种我的发电机,但这似乎是作弊。我想知道是否有更好的方法来做到这一点,使用实数。生成确定性随机分布的实点系列

我相信这个问题可能与Poisson distribution有一些联系。

+0

如果库函数满足要求,通常通过设置随机数生成器(RNG)的“种子”来获得“确定性”(可重复)行为。然而,似乎你的要求可能是能够以一种功能性的方式将“随机”序列与事件的某些“时间线”相关联,以便应用程序可以在应用程序执行“事后”处理时间间隔关门了”。 – hardmath

+0

有用的答案可能取决于代表事件的细节,“位置a和b之间的点”。你使用实数的描述似乎打开了潘多拉盒子的舍入误差。 – hardmath

+0

[我如何在确定性泊松过程中求和间隔?](http://*.com/questions/19626844/how-do-i-sum-intervals-in-a-deterministic-poisson-process) –

伪随机数发生器是确定性函数,它们在给定相同的初始种子时会产生完全相同的序列。如果您使用PRNG并记录种子值,您应该能够重新使用该序列进行后期处理。

或者,使随机序列部分的输出。

+1

这不能解决我的问题。我想沿线生成随机间隔点,而不是随机数序列。 –

+0

这些实际上是等效的问题。例如,您可以累加随机数的总和并按照期望的“间隔长度/总计”进行缩放,或者可以生成零和间隔长度之间的值,并对它们进行排序以获得线上随机分隔的点。这些都可以通过保留种子或写入值供日后使用而按要求轻松复制。 – pjs

+0

我发现这种方法存在一些问题。 1:事件不是“随机”分散的。例如,点数永远不会超过RNG使用的固定常数。就像在泊松分布中一样,我希望我的事件独立于自上次事件以来的时间发生。 2:每次启动我的应用程序时,我都需要生成自固定时期以来的所有点,而且通过的时间越长,需要的时间越长。 –