Карточная игра. Если я вытаскиваю четыре карты случайным образом, а вы берете шесть, какова вероятность того, что моя старшая карта выше вашей самой высокой?

12

Как указано в названии, скажите, что если я случайно выберу 4 карты, а вы вытянете 6 из одной колоды, какова вероятность того, что моя старшая карта превзойдет вашу старшую?

Как это изменится, если мы будем рисовать из разных колод?

Благодарность!

Wudanao
источник
Это домашняя работа?
Аксакал

Ответы:

19

На этот простой вопрос сложный ответ. Осложнения обусловлены двумя факторами:

  1. Карты разыгрываются без замены. (Таким образом, каждый розыгрыш изменяет содержимое колоды, доступной для последующих розыгрышей.)

  2. В колоде обычно есть несколько карт каждого достоинства, что делает ничью на максимально возможную карту.

Поскольку осложнения неизбежны, давайте рассмотрим достаточно широкое обобщение этой проблемы, а затем рассмотрим особые случаи. В обобщении «колода» состоит из конечного числа карт. Карты имеют различных «значений», которые могут быть ранжированы от самого низкого до самого высокого. Пусть будет из значений, которые ранжируются в (с самое низкое и самое высокое). Один игрок вытягивает карт из колоды, а второй игрок вытягивает карты. Какова вероятность того, что карта с самым высоким рейтингом в руке первого игрока строгоn i1 i i = 1 i = m a 0 b 1 Втmni1ii=1i=ma0b1больше, чем карта с наивысшим рейтингом в руке второго игрока? Пусть это событие будет называться : «победа» для первого игрока.W

Один из способов выяснить это начинается с того, что процедура эквивалентна вытягиванию карт из колоды, когда первые из них берут карты первого игрока, а оставшиеся - карты второго игрока. Среди этих карт пусть будет наибольшим значением, а будет количеством карт этого значения. Первый игрок выигрывает только тогда, когда она держит все из этих карт. Несколько способов , в которых эти конкретные карты могут быть найдены среди карт , в то время как число способов размещения этих карт среди всех , которые были сделаны вa b j k 1 k a ( aa+babjk1ka ka+b ( a+b(ak)ka+b(a+bk) .

Теперь вероятность того, что является наибольшим значением, и существует таких карт, - это возможность выбрать из карт со значением и выбрать оставшиеся из нижнего значений. Поскольку есть равновероятных розыгрышей карт , ответ :k k n j j a + b - k n 1 + n 2 + + n j - 1 = N j - 1 ( N мjkknjja+bkn1+n2++nj1=Nj1 а+б(Nma+b)a+b

Pr(W)=1(Nma+b)j=1mk=1nj(ak)(a+bk)(njk)(Nj1a+bk).

(В этом выражении и любой биномиальный коэффициент, верхнее значение которого меньше его нижнего значения, или нижнее значение которого является отрицательным, принимается равным нулю.) Это относительно эффективный расчет, занимающий время, пропорциональное количеству карт в колоде. Поскольку он включает исключительно биномиальные коэффициенты, он поддается асимптотическим приближениям для больших значений и .а бN0=0ab


В некоторых случаях вы можете захотеть изменить определение «победа». Это легко сделать: чередуя значения и , та же формула вычисляет вероятность того, что второй игрок выиграет сразу. Разница между и суммой этих двух шансов является шансом ничьей. Вы можете назначить этот шанс на ничью игрокам в любой пропорции.б 1ab1


Во многих обычных колодах игральных карт и для . Поэтому рассмотрим любую колоду, в которой все имеют одинаковое значение, скажем, . В этом случае и предыдущая формула слегка упрощается доm=13ni=4i=1,2,,mninNj1=(j1)n

Pr(W)=1(mna+b)k=1n(ak)(a+bk)(nk)j=1m((j1)na+bk).

Например, с и в общей колоде из 52 карт из 13 рангов, и , . Моделирование 100 000 игр этой игры дало оценку , что является точностью почти до трех значащих цифр и незначительно отличается от того, что говорится в формуле.m=13n=4a=4b=6Pr(W)=12297518387203390.31760.3159


Следующий Rкод легко модифицируются для оценки для любой палубы: просто изменения , и . Было установлено, что он запускает только 10 000 пьес, что должно занять менее секунды, и это хорошо для двух значащих цифр в оценке.Pr(W)abdeck

a <- 4
b <- 6
deck <- rep(1:13, 4)
set.seed(17)
cards <- replicate(1e4, sample(deck, a+b))
win <- apply(cards, 2, function(x) max(x[1:a]) > max(x[-(1:a)]))
m <- mean(win)
se <- sqrt(m*(1-m)/length(win))
cat("Estimated Pr(a wins) =", round(m, 4), "+/-", round(se, 5), "\n")

Выход в этом случае

Предполагаемый Pr (побед) = 0,3132 +/- 0,00464

Whuber
источник
отличный ответ! Могу ли я спросить, что вы думаете, если каждый игрок тянет из другой колоды - изменит ли это ответ?
Вуданао,
1
Да, это изменит ответ, потому что то, что рисует один человек, не зависит от того, что рисует другой игрок. В некотором смысле это более простой вопрос, потому что ответом является простой расчет вероятности того, что одна случайная переменная превысит значение другой, которая не зависит от нее.
whuber
3
Обратите внимание, что, если бы не было никаких связей, ответ был бы тривиально: : из всех вытянутых карт должна быть самая высокая, и ее шанс попасть в первую очередь рука игрока является из . Но, как вы заметили, наличие нескольких карт с одинаковым значением в колоде усложняет ситуацию. aa+ba+baa+b
Илмари Каронен,
2
@ Ilmari Это верно. (И именно эта идея изначально предложила решение, которое я представил.) Без связей, всегда, сумма исчезает, а дробь вычленяет, показывая, как общая формула сводится к этой простой. ni=1k(ak)/(a+bk)=(a1)/(a+b1)=a/(a+b)
whuber
1
@WernerCD Верно, но этот эффект был объяснен: если у костюмов есть ранжирование, то нет никаких связей, и поэтому формула сводится к тому, что описывает комментарий Лимари.
Brilliand