Яка ймовірність, що з 25 випадкових чисел від 1 до 100 найвищі з’являються більше одного разу?


23

У багатьох онлайн-іграх, коли гравці виконують складне завдання, іноді надається спеціальна нагорода, яку можуть використовувати всі, хто виконав завдання. зазвичай це кріплення (спосіб транспортування) або інший предмет суєти (елементи, які не покращують продуктивність персонажа і в основному використовуються для налаштування зовнішності).

Коли така нагорода вручається, найпоширеніший спосіб визначення того, хто отримує нагороду, - через випадкові числа. У грі зазвичай є спеціальна команда, яка генерує випадкове (ймовірно, псевдовипадкове, не криптозахищене випадкове) число між 1 і 100 (іноді гравець може вибрати інший спред, але 100 є найбільш поширеним). Кожен гравець використовує цю команду, всі гравці можуть бачити, хто що прокатував, а предмет присуджується тому, хто котиться найвищим. У більшості ігор навіть є вбудована система, де гравці просто натискають кнопку, і як тільки кожен натискає свою кнопку, гра робить все автоматично.

Іноді деякі гравці генерують стільки ж великої кількості, і ніхто їх не б’є. це, як правило, вирішується тими гравцями, що відновлюють свою кількість, поки не буде унікальне найбільше число.

Моє запитання таке: Припустимо генератор випадкових чисел, який може генерувати будь-яке число від 1 до 100 з однаковою ймовірністю. Припустимо, що у вас є група з 25 гравців, кожен з яких генерує 1 число з таким генератором випадкових чисел (кожен зі своїм власним насінням). У вас буде 25 чисел від 1 до 100, без обмежень на те, скільки гравців перекочують певний нумедер і ніякого відношення між числами. Який шанс, що найбільше число генерується більш ніж одним гравцем? Іншими словами, яка ймовірність розіграшу?


7
World of Warcraft, так?
Бехакад

1
так, це рівномірне випадкове, як зазначено у запитанні (будь-яке число між 1 і 100 включенням має однакову ймовірність.
Nzall

Хороше запитання, але це вражає мене поганим способом вибору переможця. Просто перерахуйте гравців якимось чином (можна сказати, «називайте алфавітно» або перетасуйте його та покажіть усім список, або сортуйте іншим способом), і виберіть випадкове число від 1 до 25. Число, яке відповідає гравцю, виграє.
Тім С.

2
Нуби, використовуй DKP!
Давор

2
Пропозиція: випадковий зразок з , нам потрібно обчислити використовуючи те, що ми знаємо з теорії статистики замовлень. U { 1 , , 100 } P ( X ( 24 ) < X ( 25 ) )Х1,,Х25U{1,,100}П(Х(24)<Х(25))
Дзен-

Відповіді:


25

Дозволяє

  • x = 100х - верхній кінець вашого діапазону, у вашому випадку.х=100
  • n = 25н - загальна кількість нічиїх, у вашому випадку.н=25

Для будь-якого числа кількість послідовностей чисел з кожним числом у послідовності є . З цієї послідовності число, що не містить s, дорівнює , а число, що містить один є . Звідси кількість послідовностей з двома або більше s дорівнює Загальна кількість послідовностей чисел з найбільшою кількістю що містять у принаймні два s є n y y n y ( y - 1 ) n y n ( y - 1 ) n - 1 y y n - ( y - 1 ) n - n ( y - 1 ) n - 1 n y y x y = 1 ( y n - ( y - 1)ухнууну(у-1)нун(у-1)н-1у

ун-(у-1)н-н(у-1)н-1
нуу
у=1х(ун-(у-1)н-н(у-1)н-1)=у=1хун-у=1х(у-1)н-у=1хн(у-1)н-1=хн-ну=1х(у-1)н-1=хн-ну=1х-1ун-1

Загальна кількість послідовностей просто . Усі послідовності однаково вірогідні, тому ймовірність є хн

хн-ну=1у=х-1ун-1хн

З я складаю ймовірність 0.120004212454.х=100,н=25

Я перевірив це за допомогою наступної програми Python, яка підраховує послідовності, які відповідають вручну (для низьких ), моделює та обчислює за вищенаведеною формулою.х,н

import itertools
import numpy.random as np

def countinlist(x, n):
    count = 0
    total = 0
    for perm in itertools.product(range(1, x+1), repeat=n):
        total += 1
        if perm.count(max(perm)) > 1:
            count += 1

    print "Counting: x", x, "n", n, "total", total, "count", count

def simulate(x,n,N):
    count = 0
    for i in range(N):
        perm = np.randint(x, size=n)
        m = max(perm)
        if sum(perm==m) > 1:
            count += 1
    print "Simulation: x", x, "n", n, "total", N, "count", count, "prob", count/float(N)

x=100
n=25
N = 1000000 # number of trials in simulation

#countinlist(x,n) # only call this for reasonably small x and n!!!!
simulate(x,n,N)
formula = x**n - n*sum([i**(n-1) for i in range(x)])
print "Formula count", formula, "out of", x**n, "probability", float(formula) / x**n

Ця програма вийшла

Simulation: x 100 n 25 total 1000000 count 120071 prob 0.120071
Formula count 12000421245360277498241319178764675560017783666750 out of 100000000000000000000000000000000000000000000000000 probability 0.120004212454

2
+1 Коротке моделювання в R сумісне з цим результатом. Після моделювання я отримав оцінку в . 2000000.11957
COOLSerdash

@COOLSerdash Це чудова подяка. Я перевірив свою формулу, перерахувавши всі перестановки перед публікацією (я збираюся перерахувати програму python за хвилину), на невеликі значення і , але я не думав імітувати фактично задане питання. хн
TooTone

Я імітував за допомогою perl і отримав дуже послідовний 0,005. pastebin.com/gb7JMLt6
agweber

хнх=20,н=515600/160000=0,0975х,н
TooTone

4
Mathematica моделювання з ітерацій виробництва який, ймовірно, буде правильно в протягом перших чотирьох цифр. Код1070.119983,n = 10^7; Total[Boole[Equal @@ (#[[Ordering[#, -2]]])] & /@ x = RandomInteger[{1, 100}, {n, 25}]] / n
whuber

3

Я б розглядав можливість виявити першочергового переможця

х(251)(х-1)2410025у-1

Переможець може виграти, його кількість дорівнює 2 до 100, тому загальна ймовірність

i=210025(i-1)2410025=25i=199i2410025=-14+25i=1100i2410025-14+25124+110024+1+1210024+242161002310025=0,88

Тут я використав наближення до Для довідки: https://en.wikipedia.org/wiki/ s_formula Фаульхабера10023

Звідси ймовірність мати краватку1-0,88=0,12


-3

Здається, дуже схоже питання на парадокс Дня народження ( http://en.wikipedia.org/wiki/Birthday_problem ), різниця полягає лише в тому, що в цьому випадку ви не хочете співставляти жодне число, а лише найбільше число. На першому етапі обчислення обчислюють ймовірність того, що не випадкові числа перетинаються ( ). (Див посилання вище) , а потім ймовірність того, що деякі з 25 номерів з перекриттям , де р є ймовірність ви вже вирахували. У цьому випадку ймовірність того, що 25 чисел не збігаються з максимумом, задається: тоді ймовірність, яку ви шукаєте,p1-pp=1(1-1/100)(1-1/100)......(1-1/10)=(1-1/100)24П=1-p=1-(1-1/100)24=0,214


чи означає це, що ймовірність становить 21,4%? здається досить високим, але знову ж таки парадокс дня народження має схожу дивовижну відповідь. Спасибі.
Nzall

6
-1 На сьогодні, ця відповідь є невірною. Правильну відповідь надав @TooTone.
COOLSerdash
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.