1
可以说我正在计算1到100的随机数。我想要的数字是随机选择的,但有偏差我可以设置它更可能选择的位置中心。因此,如果我做随机样本可以说一千次,那么会有一个明显的相关性,即中心数字被更频繁地选择。它选择中心的数量应该基于我可以在我的didHitChanceOf函数中设置的数字。做这个的最好方式是什么?Swift 3:如何用偏好计算随机数以偏向偏好
当前的代码我有没有做到这一点,甚至翻过它随机性
当前不带偏见的随机编码(SWIFT 3)
extension Int
{
static func random(range: ClosedRange<Int>) -> Int
{
var offset = 0
if range.lowerBound < 0 // allow negative ranges
{
offset = abs(range.lowerBound)
}
let mini = UInt32(range.lowerBound + offset)
let maxi = UInt32(range.upperBound + offset)
return Int(mini + arc4random_uniform(maxi - mini)) - offset
}
}
func didHitChanceOf(chance: Double) -> Bool{
let random = Int.random(range: 0...100)
if(Double(random) < chance){ //If the conversion rate is 20%, then only 20% of the time will the random number be less than the conversion rate.
return true
}else{
return false
}
}
var adwordsClicks = 500
let adwordsConversionRate = 20
var adwordsConversions = 0
for _ in 0...adwordsClicks {
if(didHitChanceOf(chance: adwordsConversionRate) == true){
adwordsConversions = adwordsConversions + 1
}
}
非常有趣的方法。我会试试这个报告。 –
拒绝比钳位太低或太高的值更好。当然,在拒绝或钳制的情况下,它不再是高斯分布。 –