0
給定人口大小P,我必須生成P個隨機但唯一的對象。一個對象是X個唯一無序對的無序列表。停止生成隨機唯一事物的閾值
我目前只是使用一個while循環與T嘗試在放棄之前生成一個隨機排序。目前T =一些常數。
所以我的問題是在什麼時候,我應該停止試圖產生更多的唯一對象,即T.
例如合理值:
1)如果我有3個獨特的對象,我只需要再一次,我可以嘗試例如4次
2)但是,如果我有999個獨特的對象,我只需要一個,我不想讓例如1000次嘗試
我正在處理的問題並不絕對需要每一個唯一的排序。用戶實際上指定了數字,所以我想確定在什麼時候說再生成是不合理的。
我希望是有道理的
如果不是這樣,一個更一般的情況:
選擇N個數,在T的什麼值,它開始變得非常困難,開始產生從更獨特的隨機數可能N.
我不確定T是否會在這兩種情況下是相同的,但也許這第二種情況下足以滿足我的需要。我需要一個相對較小的N值閾值和一個較大的N值相對較小的閾值。
並不重要,但這是基本的遺傳算法。
有趣的,但我實際上產生隨機對與非重複的數字,即我從10個獨特的數字中挑選,並將它們放入5對沒有秩序。我想從那時起,也許我應該使用概率來確定我的數量,即能夠產生另一組配對的概率,並在它低於某個閾值時停止。但我真的不知道如何確定這個 – ovg
@ovg如何阻止它仍然有點不清楚。你能提供僞碼嗎?在使用FYK shuffle時,通常在一些結構中保留對象(在你的情況下是對),並且只是洗牌索引,基本上是整數數組 –