停止生成随机唯一事物的阈值

时间:2017-03-07 23:39:26

标签: random numbers unique

考虑到人口规模P,我必须生成P随机但唯一的对象。对象是X个唯一无序对的无序列表。

我目前正在使用while循环,T尝试在放弃之前生成随机排序。目前T =某个常数。

所以我的问题是我应该在什么时候停止尝试生成更多独特的对象,即T的合理值。

例如:

1)如果我有3个独特的物体,而我只需要一个,我可以尝试例如4次

2)但是,如果我有999个独特的物体,而我只需要一个,我不想1000次尝试

我处理的问题绝对不需要每个独特的订购。用户实际指定了数字,所以我想确定在什么时候说再生成是不合理的。

我希望这是有道理的

如果没有,更一般的情况:

选择N个数字,在T的值处开始变得非常难以从可能的N开始生成更多唯一的随机数。

我不确定两种情况下T是否相同,但也许第二种情况足以满足我的需要。对于较小的N值,我需要一个相对较大的阈值,对于较大的N值,我需要一个相对较小的阈值。

这不重要,但这是基本的遗传算法。

1 个答案:

答案 0 :(得分:0)

你要求彩票/球选择吗?为此,有一个众所周知的随机算法 - Fisher–Yates-Knuth shuffle