쿠폰 수집기 문제의 일반적인 형태에 대한 공식이 있습니까?


10

나는 쿠폰 수집가 문제를 우연히 발견 하고 일반화를위한 공식을 작성하려고했습니다.

이 경우 N 별개의 객체는 당신은 적어도 수집 할 임의의 각 사본 그들 (여기서 ), 당신이 구매해야 얼마나 많은 임의 객체의 기대는 무엇인가? 정상적인 쿠폰 수집기 문제는 및 입니다.m m N m = N k = 1kmmNm=Nk=1

컬렉션에는 12 가지 레고 피겨가 있습니다. 10 개 (10 개)의 인물 각각에 대해 3 부씩 수집하고 싶습니다. 한 번에 하나씩 무작위로 구입할 수 있습니다. 10 개씩 3 부씩 구입하기 전에 몇 개를 사야합니까?


3
나는 그 특정 일반화에 대한 공식을 보았던 것을 기억하지 않지만, 그런 일회성 특정 질문에 대해서는 시뮬레이션을 사용하는 경향이 있습니다.
Glen_b-복지국 모니카

답변:


5

이것은 계산하기 쉽지 않지만 (m+kk) 이 너무 크지 않으면 수행 할 수 있습니다 . (이 숫자는 쿠폰을 수집하는 동안 추적해야하는 가능한 상태를 계산합니다.)

답을 이해하기 위해 시뮬레이션 으로 시작합시다 . 여기에서 레고 피겨를 백만 번 수집했습니다. 이 그림의 검은 선은 10 가지 중 3 가지 이상의 그림을 수집하는 데 필요한 구매 횟수를 추적합니다.

그림

그레이 밴드는 각 카운트에 대한 대략적인 양면 95 % 신뢰 구간입니다. 그 아래에는 모두 빨간색 곡선이 있습니다. 이것이 실제 값입니다.

실제 값을 얻으려면 가능한 유형이 있고 다른 유형 의 이상을 수집하고자 하는 숫자를 수집하는 동안 업무 상태를 고려하십시오 . 추적해야 할 유일한 정보는 보지 않은 인물 수, 한 번만 본 사람, 두 번 본 사람, 세 번 이상 본 사람 수 입니다. 우리는 이것을 편리하게 monomial 으로 있습니다. 여기서 는 관련 카운트이며 에서 까지의 인덱스입니다 . 일반적으로, 우리는 형식의 모노를 사용합니다K = 3 m = 10 X I 0 0 X I 1 1 X 2 2 X I 3 3 I , J를 K = 0 K = t Π K J = 0 X I J의 Jn=12k=3m=10x0i0x1i1x2i2x3i3ijk=0k=tj=0kxjij .

새로운 임의의 객체를 수집하면 확률이 인 보이지 않는 객체 중 하나, 확률 한 번만 보이는 객체 중 하나 등이됩니다. 결과는 monomials의 선형 조합으로 표현 될 수 있습니다.i 0 / n i 1 / ni0i0/ni1/n

x0i0x1i1x2i2x3i31n(i0x0i01x1i1+1x2i2x3i3++i3x0i0x1i1x2i21x3i3).

이는 선형 미분 연산자 을 적용한 결과입니다 . 초기 상태 반복적으로 적용 하면 다항식 는 최대 항을 가지며 , 여기서 는 지수로 표시된 상태에있을 확률입니다. 우리는 단지 에서 용어에 초점을 맞추기 됩니다. 계수의 합은 쿠폰 수집을 완료했을 가능성이 있습니다. 그러므로 전체 계산에는 최대(x1Dx0+x2Dx1+x3Dx2+x3Dx3)/nx012=x0np(n+kk)j=0kxjijpi3t(m+1)(n+kk) 각 단계에서 쉽게 계산할 수 있으며 수집에 성공하기 위해 필요한 횟수만큼 반복합니다.

이러한 방식으로 프로세스를 표현하면 컴퓨터 대수 시스템의 효율성을 활용할 수 있습니다. 예를 들어, 여기에는 최대 무승부 확률을 계산 하는 일반적인 Mathematica 솔루션 이 있습니다. 그것은 몇 가지 가능성을 생략했지만 총 확률은 미만이므로 분포에 대한 거의 완전한 그림을 제공합니다.10 176nk=2161017

n = 12;
threshold = 10;
k = 3;

(* Draw one object randomly from an urn with `n` of them *)
draw[p_] := 
  Expand[Sum[Subscript[x, i] D[#, Subscript[x, i - 1]], {i, 1, k}] + 
      Subscript[x, k] D[#, Subscript[x, k]] & @ p];

(* Find the chance that we have collected at least `k` each of `threshold` objects *)
f[p_] := Sum[
  Coefficient[p, Subscript[x, k]^t] /. 
   Table[Subscript[x, i] -> 1, {i, 0, k - 1}], {t, threshold, n}]

(* Compute the chances for a long series of draws *)
q = f /@ NestList[draw[#]/n &, Subscript[x, 0]^n, 6 n k];

계산하는 데 약 2 초가 걸리는 결과 (시뮬레이션보다 빠름)는 추첨 횟수에 따라 색인 된 확률 배열입니다. 다음은 그 차이에 대한 도표입니다. 카운트의 함수로 구매를 종료 할 확률입니다.

그림 2

이들은 정확히 첫 번째 그림에서 빨간색 배경 곡선을 그리는 데 사용되는 숫자입니다. 카이 제곱 테스트는 시뮬레이션이이 계산과 크게 다르지 않음을 나타냅니다.

를 합산하여 예상 추첨 횟수를 추정 할 수 있습니다 . 결과는 소수점 이하 14-15 자리 여야합니다. 얻 (더 긴 계산으로 결정된 모든 숫자에서 정확합니다).50.76195493867331q50.7619549386733

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.