等比例的對比

十里挑一和百里挑十拿個更優秀呢?
做個試驗,具體來比較一下十里挑一和百里的第十名哪個更優秀,參考代碼

def func1():
    result = 1
    for i in range(10):
        tmp = random.random()
        result = min(tmp, result)
    return result

def func2():
    index = 9
    result = [1 for i in range(index + 2)]
    for i in range(100):
        tmp = random.random()
        for j in range(index, -1, -1):
            if(result[j] > tmp):
                result[j + 1] = result[j]
            else:
                break
        if result[j] > tmp:
            result[j] = tmp
        else:
            result[j + 1] = tmp
    return result[index]

num = 10000
count0 = 0
count1 = 0
for i in range(num):
    a = func1()
    b = func2()
    if a < b:
        count0 += 1
    else:
        count1 += 1

在這10000次試驗中,有65%的機率十里挑一戰勝百里第十。
多次測試實際上,十里挑一相當於百里第六(index = 6時,雙方概率接近50%)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章