1과 100 사이의 25 개의 난수에서 가장 높은 확률이 두 번 이상 나타날 확률은 얼마입니까?


23

많은 온라인 게임에서 플레이어가 어려운 작업을 완료하면 때로는 작업을 완료 한 모든 사람이 사용할 수있는 특별 보상이 제공됩니다. 일반적으로 마운트 (교통 수단) 또는 다른 허영 아이템 (캐릭터의 성능을 향상시키지 않고 주로 외관 사용자 지정에 사용되는 항목)입니다.

그러한 보상이 주어지면 보상을받는 사람을 결정하는 가장 일반적인 방법은 난수를 이용하는 것입니다. 게임에는 일반적으로 1에서 100 사이의 임의의 숫자 (암호가 아닌 임의의 의사 난수)를 생성하는 특수 명령이 있습니다 (때로는 플레이어가 다른 스프레드를 선택할 수 있지만 100이 가장 일반적입니다). 각 플레이어는이 명령을 사용하며, 모든 플레이어는 누가 무엇을 굴 렸는지 볼 수 있으며 항목은 가장 높은 사람에게 수여됩니다. 대부분의 게임에는 플레이어가 버튼을 누르기 만하면 모든 사람이 자신의 버튼을 누르면 나머지는 자동으로 수행되는 시스템이 내장되어 있습니다.

때때로, 일부 플레이어는 같은 높은 숫자를 생성하고 아무도 이길 수 없습니다. 이것은 일반적으로 가장 높은 숫자가 나올 때까지 숫자를 재생성하는 플레이어에 의해 해결됩니다.

내 질문은 다음과 같습니다. 같은 확률로 1에서 100 사이의 숫자를 생성 할 수있는 난수 생성기를 가정하십시오. 이러한 난수 생성기 (각각 자신의 씨앗이있는)로 1 개의 숫자를 생성하는 25 명의 플레이어 그룹이 있다고 가정하십시오. 1에서 100 사이의 숫자는 25 개이며 특정 숫자를 굴리는 플레이어의 수에는 제한이 없으며 숫자 사이에는 아무런 관계가 없습니다. 두 명 이상의 플레이어가 가장 많이 생성 한 숫자가 생성 될 가능성은 얼마입니까? 다시 말해, 넥타이의 가능성은 무엇입니까?


7
월드 오브 워크래프트 어?
Behacad

1
예, 그것은 질문에 명시된 바와 같이 무작위로 균일합니다 (1에서 100 사이의 숫자는 같은 확률
을가

좋은 질문이지만, 우승자를 선택하는 나쁜 방법으로 저를 때립니다. 어떤 방식 으로든 플레이어를 나열하면 (알파벳순으로 이름을 말하거나 섞고 모든 사람에게 목록을 표시하거나 다른 방법으로 정렬 할 수 있음) 1에서 25 사이의 임의의 숫자를 선택하십시오. 플레이어에 해당하는 숫자가 이깁니다.
Tim S.

2
멍청한 놈, DKP를 사용하십시오!
Davor

2
제안 : 무작위 표본 주어진 에서 U는 { 1 , ... , 100 } , 우리가 계산해야하는 P를 ( X ( 24 ) < X ( 25 ) ) 우리는 주문 통계의 이론에서 알고있는 것을 사용. 엑스1,,엑스25{1,,100}(엑스(24)<엑스(25))
Zen

답변:


25

방해

  • 는 범위의 상단이고 x 100 입니다.엑스엑스=100
  • 은 총 드로우 수,귀하의 경우 n = 25 입니다.=25

임의의 수 , 시퀀스 y 의 각 숫자를 갖는 n 수의 시퀀스 수 는 y n 입니다. 이들 순서 중, y s를 포함하지 않는 수 는 ( y - 1 ) n이고 , 하나의 y를 포함하는 수 는 n ( y - 1 ) n - 1 이다. 따라서 둘 개 이상의와 시퀀스의 수 , Y (S)는 Y , n은 - ( Y - 1 ) N와이엑스nyyny(와이1)와이(와이1)1와이 시퀀스의 총 수 N 높은 숫자로 번호 Y 적어도 두 함유 Y S IS X Σ Y = 1 ( Y N - ( Y - 1 ) N - N ( Y가 - 1 ) n - 1 )

와이(와이1)(와이1)1
와이와이
와이=1엑스(와이(와이1)(와이1)1)=와이=1엑스와이와이=1엑스(와이1)와이=1엑스(와이1)1=엑스와이=1엑스(와이1)1=엑스와이=1엑스1와이1

총 시퀀스 수는 단순히 입니다. 모든 서열은 동일하게 가능하므로 확률은 x nn y = x 1 y = 1 y n 1입니다.엑스

엑스와이=1와이=엑스1와이1엑스

하여 나는 확률을 0.120004212454.엑스=100,=25

엑스,

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
2000000.11957

엑스

나는 perl을 사용하여 시뮬레이션했고 매우 일관된 0.005를 얻었다 . pastebin.com/gb7JMLt6
agweber

@agweber 시뮬레이션을 작성하고 실행 해 주셔서 감사합니다. 나는 Perl 프로그래머가 아니기 때문에 프로그램의 세부 사항에 대해 높은 수준에서 소리처럼 보일 수는 없습니다. 알려진 확률로 시뮬레이션 코드를 테스트 했습니까? 낮은 를 계산하여 간단하게 생성 할 수 있습니다.엑스엑스=20,=515600/160000=0.0975엑스,, 그리고 도출 된 공식으로부터의 확률. 코드 사이의 불일치 원인이 무엇인지 궁금합니다.
TooTone

4
1070.119983,n = 10^7; Total[Boole[Equal @@ (#[[Ordering[#, -2]]])] & /@ x = RandomInteger[{1, 100}, {n, 25}]] / n

3

먼저 고유 한 승자가 될 확률을 찾는 것이 좋습니다

엑스(251)(엑스1)2410025와이1

승자는 자신의 숫자를 2에서 100으로 이길 수 있으므로 총 확률은

나는=210025(나는1)2410025=25나는=199나는2410025=14+25나는=1100나는241002514+25124+110024+1+1210024+242161002310025=0.88

여기에 근사값을 사용했습니다. 10023 참조 : https://en.wikipedia.org/wiki/Faulhaber 's_formula

따라서 동점을 가질 확률은 10.88=0.12


-3

생일 역설 ( http://en.wikipedia.org/wiki/Birthday_problem ) 과 매우 유사한 질문으로 보이지만 유일한 차이점은이 경우 가장 큰 숫자 만 일치하고 싶지 않다는 것입니다. 계산의 첫 번째 단계는 임의의 숫자가 아닌 숫자가 겹칠 확률을 계산합니다 (). (위의 링크 참조) 25 개의 숫자 중 일부가 겹칠 확률은1여기서 p는 이미 계산 한 확률입니다. 이 경우 25 개의 숫자가 최대 값과 겹치지 않을 확률은 다음과 같습니다. =1(11/100)(11/100)......(11/10)=(11/100)24 당신이 찾고있는 확률은 =1=1(11/100)24=0.214


이것은 확률이 21.4 %라는 것을 의미합니까? 꽤 높은 것처럼 보이지만 다시 생일 역설은 비슷한 놀라운 답을 가지고 있습니다. 감사.
Nzall

6
-1이 답변은 정확하지 않습니다. 정답은 @TooTone에서 제공했습니다.
COOLSerdash
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.