2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу 1, 2, 3, 4  След.
 
 Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение10.04.2021, 15:15 


02/04/13
294
Имеется колода из 52 карт. Найти вероятность получить в сумме 21 очко при вытягивании наугад 6 карт из колоды.
Ценности карт: валет - 11 очков, дама - 12, король - 13, туз - 14.
Моё решение в лоб:
В данной постановке равновероятными будут различные сочетания $C_{52}^6$, поэтому подсчитаем кол-во подходящих сочетаний и разделим их на общее кол-во сочетаний.
Кол-во подходящих сочетаний:
$\lbrace 10, 3, 2, 2, 2, 2\rbrace - 4^2 $
$\lbrace 9, 4, 2, 2, 2, 2\rbrace - 4^2 $
$\lbrace 9, 3, 3, 2, 2, 2\rbrace - 4^2\cdot 6 $
$\lbrace 8, 5, 2, 2, 2, 2\rbrace - 4^2 $
$\lbrace 8, 4, 3, 2, 2, 2\rbrace - 4^4 $
$\lbrace 8, 3, 3, 3, 2, 2\rbrace - 4^2\cdot 6 $
$\lbrace 7, 6, 2, 2, 2, 2\rbrace - 4^2 $
$\lbrace 7, 5, 3, 2, 2, 2\rbrace - 4^4 $
$\lbrace 7, 4, 4, 2, 2, 2\rbrace - 4^2\cdot 6 $
$\lbrace 7, 4, 3, 3, 2, 2\rbrace - 4^2\cdot 6^2 $
$\lbrace 7, 3, 3, 3, 3, 2\rbrace - 4^2 $
$\lbrace 6, 6, 3, 2, 2, 2\rbrace - 4^2 \cdot 6$
$\lbrace 6, 5, 4, 2, 2, 2\rbrace - 4^4 $
$\lbrace 6, 5, 3, 3, 2, 2\rbrace - 4^2 \cdot 6^2$
$\lbrace 6, 4, 4, 3, 2, 2\rbrace - 4^2 \cdot 6^2 $
$\lbrace 6, 4, 3, 3, 3, 2\rbrace - 4^4 $
$\lbrace 5, 5, 5, 2, 2, 2\rbrace - 4^2 $
$\lbrace 5, 5, 4, 3, 2, 2\rbrace - 4^2 \cdot 6^2 $
$\lbrace 5, 5, 3, 3, 3, 2\rbrace - 4^2 \cdot 6 $
$\lbrace 5, 4, 4, 3, 3, 2\rbrace - 4^2 \cdot 6^2 $
$\lbrace 5, 4, 3, 3, 3, 3\rbrace - 4^2 $
$\lbrace 4, 4, 4, 3, 3, 3\rbrace - 4^2 $

Искомая вероятность равна
$\frac{4^2\cdot (1+1+6+1+16+6+1+16+6+36+1+6+16+36+36+16+1+36+6+36+1+1)}{C_{52}^6} = \frac{4512}{\frac{52!}{46!\cdot 6!}} = \frac{4512\cdot 720}{47\cdot 48\cdot 49 \cdot 50 \cdot 51 \cdot 52} \approx 0.000222$

Я подозреваю, что существует более математичное решение. Я прав?

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение11.04.2021, 05:27 
Аватара пользователя


06/04/21
138
melnikoff в сообщении #1513756 писал(а):
существует более математичное решение

Вряд ли. Число годных вариантов делим на число всех раздач. Что тут улучшишь? Численный расчёт подтверждает результат.
Бином Ньютона наше всё.

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение11.04.2021, 10:07 


02/04/13
294

(Оффтоп)

Почему число 0.000222 автоматически переносится на новую строку?

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение11.04.2021, 10:46 


20/03/14
12041
melnikoff
Потому что не влазит в предыдущую.

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение11.04.2021, 21:08 


02/04/13
294
Для тех, кому интересно, запостю результаты численного эксперимента (результат совпал с аналитическим решением):
код: [ скачать ] [ спрятать ]
Используется синтаксис Python
from random import sample, randint
from itertools import chain

distribution = [0]*83 # кол-во очков не меньше 14 и не больше 82
deck = list(chain(*[[k]*4 for k in range(2, 15)])) # [2, 2, 2, 2,.., 14, 14, 14, 14]
for n in range(10000000): # кол-во испытаний
    scores = sum(sample(deck, 6))
    distribution[scores] += 1

for i in range(14,83):
    print(i, ' ', distribution[i], ' '*(6-len(str(distribution[i]))), distribution[i]/10000000)

Output:
14   4       4e-07
15   16      1.6e-06
16   62      6.2e-06
17   170     1.7e-05
18   364     3.64e-05
19   716     7.16e-05
20   1295    0.0001295
21   2318    0.0002318
22   3713    0.0003713
23   5694    0.0005694
24   8655    0.0008655
25   12576   0.0012576
26   17731   0.0017731
27   24705   0.0024705
28   32884   0.0032884
29   43612   0.0043612
30   56305   0.0056305
31   71673   0.0071673
32   89305   0.0089305
33   109445  0.0109445
34   132054  0.0132054
35   157839  0.0157839
36   184321  0.0184321
37   213456  0.0213456
38   243398  0.0243398
39   273245  0.0273245
40   303139  0.0303139
41   333841  0.0333841
42   359692  0.0359692
43   385082  0.0385082
44   404840  0.040484
45   423142  0.0423142
46   436376  0.0436376
47   443678  0.0443678
48   446214  0.0446214
49   444717  0.0444717
50   436559  0.0436559
51   423756  0.0423756
52   405580  0.040558
53   383873  0.0383873
54   359304  0.0359304
55   332280  0.033228
56   303694  0.0303694
57   274367  0.0274367
58   243807  0.0243807
59   213596  0.0213596
60   184944  0.0184944
61   157651  0.0157651
62   132900  0.01329
63   109498  0.0109498
64   89583   0.0089583
65   71647   0.0071647
66   56361   0.0056361
67   43721   0.0043721
68   33238   0.0033238
69   24352   0.0024352
70   17683   0.0017683
71   12451   0.0012451
72   8691    0.0008691
73   5634    0.0005634
74   3665    0.0003665
75   2273    0.0002273
76   1366    0.0001366
77   686     6.86e-05
78   324     3.24e-05
79   159     1.59e-05
80   58      5.8e-06
81   19      1.9e-06
82   3       3e-07
 

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение11.04.2021, 21:47 
Заслуженный участник


27/04/09
28128
А я бы на компьютере просто перечислил все варианты и не делал стохастического моделирования там, где оно не нужно. :-) Ответ в виде рационального числа куда проще сравнить.

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение12.04.2021, 22:38 


02/04/13
294
arseniiv в сообщении #1513920 писал(а):
А я бы на компьютере просто перечислил все варианты ...

А как это сделать?

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение12.04.2021, 23:49 
Заслуженный участник
Аватара пользователя


01/09/13
4656
melnikoff в сообщении #1514064 писал(а):
arseniiv в сообщении #1513920 писал(а):
А я бы на компьютере просто перечислил все варианты ...

А как это сделать?

Например, посмотреть все $52!$ комбинаций...

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение13.04.2021, 00:10 


02/04/13
294
Результат прямого подсчета подходящих сочетаний:
код: [ скачать ] [ спрятать ]
Используется синтаксис Python
import itertools

distribution = [0]*83 # кол-во очков не меньше 14 и не больше 82
deck = [2,3,4,5,6,7,8,9,10,11,12,13,14]*4
for item in itertools.combinations(deck, 6):
    distribution[sum(item)] += 1

all_combinations = sum(distribution)
for i in range(14,83):
    print(i, ' ', distribution[i], ' '*(6-len(str(distribution[i]))), distribution[i]/all_combinations)

Output:
14   6       2.947169047651794e-07
15   32      1.5718234920809567e-06
16   124     6.090816031813708e-06
17   320     1.571823492080957e-05
18   734     3.6053701349606946e-05
19   1472    7.230388063572401e-05
20   2698    0.00013252436817607567
21   4624    0.00022712849460569825
22   7522    0.0003694767596072799
23   11696   0.0005745014863555897
24   17530   0.0008610645567555991
25   25488   0.001251957411442482
26   36056   0.0017710521197022181
27   49808   0.0024465432654240094
28   67206   0.0033011240502747743
29   88768   0.004360238367032574
30   114928  0.005645204071808756
31   145984  0.007170658770873325
32   182132  0.008946229883115275
33   223488  0.010977615268693402
34   269860  0.013255383986655218
35   320944  0.015764603713825955
36   376180  0.0184777675390942
37   434752  0.02135479396341188
38   495492  0.024338311429318044
39   557200  0.02736937655585966
40   618258  0.03036851401771838
41   677296  0.03326843012163949
42   732614  0.03598562174460619
43   782720  0.0384468026163002
44   826066  0.040575935775292116
45   861456  0.042314274318565395
46   887572  0.043597078766039965
47   903680  0.04438829541636622
48   909108  0.04465491597621045
49   903680  0.04438829541636622
50   887572  0.043597078766039965
51   861456  0.042314274318565395
52   826066  0.040575935775292116
53   782720  0.0384468026163002
54   732614  0.03598562174460619
55   677296  0.03326843012163949
56   618258  0.03036851401771838
57   557200  0.02736937655585966
58   495492  0.024338311429318044
59   434752  0.02135479396341188
60   376180  0.0184777675390942
61   320944  0.015764603713825955
62   269860  0.013255383986655218
63   223488  0.010977615268693402
64   182132  0.008946229883115275
65   145984  0.007170658770873325
66   114928  0.005645204071808756
67   88768   0.004360238367032574
68   67206   0.0033011240502747743
69   49808   0.0024465432654240094
70   36056   0.0017710521197022181
71   25488   0.001251957411442482
72   17530   0.0008610645567555991
73   11696   0.0005745014863555897
74   7522    0.0003694767596072799
75   4624    0.00022712849460569825
76   2698    0.00013252436817607567
77   1472    7.230388063572401e-05
78   734     3.6053701349606946e-05
79   320     1.571823492080957e-05
80   124     6.090816031813708e-06
81   32      1.5718234920809567e-06
82   6       2.947169047651794e-07
 


Это решение указывает на то, что в аналитическом решении я пропустил какие-то сочетания.

-- 13.04.2021, 02:11 --

Geen в сообщении #1514071 писал(а):
Например, посмотреть все $52!$ комбинаций...

Наверное все-таки $C_{52}^6$ комбинаций.

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение13.04.2021, 00:22 
Заслуженный участник


27/04/09
28128
Geen в сообщении #1514071 писал(а):
Например, посмотреть все $52!$ комбинаций...
Ну все-то зачем, все разумеется нет смысла перебирать, нам же надо только шесть первых в перестановке. $C_{52}^6 \approx 2 \cdot 10^7$. Мы можем сократить и этот перебор, не генерируя те сочетания, которые заведомо дадут недобор (таких здесь не бывает, но помечтать стоит всегда) или перебор (вот тут мы много сэкономим: туз, король, дама, валет присутствовать не могут, как ТС уже заметил при ручном решении. К тому же мы можем перебирать только сочетания, где ценность карт невозрастает (как у ТС) или неубывает, домножая на соответствующее число перестановок. В итоге нам нужно будет перебрать сущие мелочи. И это простая автоматизация применения идей, возникших при ручном переборе.

Ещё мы можем применить динамическое программирование, считая число способов получить $n$ очков картами с ценностями от 2 до $m$, назовём это $A(m, n)$, используя очевидные рекуррентные соотношения.

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение13.04.2021, 00:30 
Заслуженный участник
Аватара пользователя


01/09/13
4656
melnikoff в сообщении #1514072 писал(а):
Наверное все-таки $C_{52}^6$ комбинаций.

Разумеется это лучше. ;-)

-- 13.04.2021, 00:36 --

arseniiv в сообщении #1514074 писал(а):
К тому же мы можем перебирать только сочетания, где ценность карт невозрастает

Полагаю это лишнее - возрастает сложность кода (повышается вероятность ошибок) и алгоритм становится более подверженным ошибкам - для разовой проверки чем проще, тем лучше. ИМХО.

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение13.04.2021, 00:47 
Заслуженный участник


27/04/09
28128
Geen в сообщении #1514075 писал(а):
Полагаю это лишнее - возрастает сложность кода (повышается вероятность ошибок) и алгоритм становится более подверженным ошибкам - для разовой проверки чем проще, тем лучше. ИМХО.
Да, сложность возрастает, но иногда это будет не очень большим риском. Иногда не стоит, согласен. Лень самому покодить, так бы посмотрел на это и оценил шаткость конструкции (для кого-то, достаточно похожего на меня). Почему не обязательно всё плохо: некоторые утверждения можно зацементировать ассертами, некоторые непрактично, от части опечаток может избавить типизация.

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение13.04.2021, 12:45 
Аватара пользователя


29/04/13
8111
Богородский
melnikoff в сообщении #1514072 писал(а):
Результат прямого подсчета подходящих сочетаний:

Общую сумму не указали. Чему равно $6+32+124+...+32+6$ ?

Ну вот, уже расхождение: для 21 очка у Вас здесь не 4512, как было посчитано ранее, а 4624 варианта.

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение13.04.2021, 14:30 
Заслуженный участник
Аватара пользователя


23/07/08
10905
Crna Gora
Используется синтаксис C++
int HowMany()
{
   int n=0;
   for (byte a0=0; a0<36; ++a0)
   for (byte a1=0; a1<a0; ++a1)
   for (byte a2=0; a2<a1; ++a2)
   for (byte a3=0; a3<a2; ++a3)
   for (byte a4=0; a4<a3; ++a4)
   for (byte a5=0; a5<a4; ++a5)
      if (a0/4+a1/4+a2/4+a3/4+a4/4+a5/4==9) ++n;
   return n;
}

Карты перенумерованы от $0$ (двойка $\heartsuit$) до $35$ (десятка $\spadesuit$). Ценность каждой карты уменьшили на $2$, теперь в благоприятной комбинации $9$ очков. Ценность равна номеру карты $\operatorname{div} 4$. В комбинации она невозрастает, как у arseniiv. Ответ выдаётся мгновенно и равен $4624$, как у Yadryara.

 Профиль  
                  
 
 Re: Из колоды 52 карт наугад вытягивают 6 карт...
Сообщение13.04.2021, 16:08 
Аватара пользователя


29/04/13
8111
Богородский
Да, но ТС-у непонятно, где он ошибся:

melnikoff в сообщении #1514072 писал(а):
Это решение указывает на то, что в аналитическом решении я пропустил какие-то сочетания.

Да, я нашёл-таки пропущенные. melnikoff, в Ваших обозначениях:

$\lbrace 5, 4, 4, 4, 2, 2\rbrace - 4^2 \cdot 6 $
$\lbrace 4, 4, 4, 4, 3, 2\rbrace - 4^2 $

Вот они Ваши 112 вариантов.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу 1, 2, 3, 4  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group