2014 dxdy logo

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

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




На страницу 1, 2, 3, 4  След.
 
 Комбинаторика (тема переименована)
Сообщение13.08.2025, 10:14 
Колода карт из 36 листов перемешивается и делится пополам.
Для каждой половины вычисляется сумма квадратов стоимости карт в раздаче.
Картинки - 10 очков, туз - 11, остальные равны своей стоимости.
Из большей суммы вычитают меньшую и вычисляют остаток от деления на 3.
Какие вероятности, что в остатке будет 0,1 или 2 ? Задача простая. Хочу себя проверить. Спасибо.

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 11:10 
Вероятности 0 и 2 больше трети, вероятность 1 меньше трети.
Вероятность 0 максимальная из всех.
Числители вероятностей заканчиваются на 2,4 и 1

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 14:40 
Спасибо за ответ, но у меня получился другой рещультат. Максимальная вероятность для остатка 2, для 0 и 1 вероятности одинаковые.

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 15:49 
scientes
Ну тогда задача, видимо, не такая простая как выдумали, и надо излагать вашу попытку решения.

Например, начните с остатка 0, когда он возможен, сколько раскладов ему соответствует и т.п.

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 17:10 
Численный эксперимент, функция на pari/gp (см. «интерактивный курс: введение в программирование на PARI/GP» )
код: [ скачать ] [ спрятать ]
  1. card_game(n) = 
  2.   my(tmp=0,j=0,v=vector(36),s1=0,s2=0); /* локальные переменные */ 
  3.   my(cnt = vector(3, k, 0)); /* здесь будем накапливать сколько выпало остатков 0,1 и 2 */ 
  4.  
  5.   /* квадраты номиналов карт */ 
  6.   my(deck = vector(36, i, 
  7.     if (i%9==1, 36,     /* 6 */ 
  8.     if (i%9==2, 49,     /* 7 */ 
  9.     if (i%9==3, 64,     /* 8 */ 
  10.     if (i%9==4, 81,     /* 9 */ 
  11.     if (i%9==5, 100,    /* 10 */ 
  12.     if (i%9==6, 100,    /* В */ 
  13.     if (i%9==7, 100,    /* Д */ 
  14.     if (i%9==8, 100,    /* К */ 
  15.                   121   /* Т */ 
  16.     )))))))))); 
  17.  
  18.   for (trial = 1, n, 
  19.     v = deck; /* берем неперемешанную колоду квадратов */ 
  20.     /* перемешиваем */ 
  21.     forstep (i = 36, 2, -1, 
  22.       j = random(i) + 1; 
  23.       tmp = v[i]; v[i] = v[j]; v[j] = tmp; 
  24.     ); 
  25.  
  26.     /* считаем суммы и остаток */ 
  27.      
  28.     s1=vecsum(v[1..18]); /* сумма квадратов в первой половине колоды */ 
  29.     s2=vecsum(v[19..36]); /* сумма квадратов во второй половине колоды */ 
  30.     r = (abs(s1 - s2)) % 3; /* разность сумм  половин колод по модулю 3 */ 
  31.     cnt[r + 1]++; /* накапливаем получившийся остаток */ 
  32.   ); 
  33.   return(cnt); /* возвращаем вектор количества остатков */ 

Функция берет на вход количество симуляций, возвращает вектор из трех чисел: количества остатков 0,1 и 2
Запуск миллиона симуляций у меня на планшете идёт 1 минуту:
? print(card_game(1000000))
[347429, 306312, 346259]
time = 56,964 ms.
?

Ноль получается чаще всех, хотя и очень ненамного чем 2.

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 17:28 
Аватара пользователя
Проведу-ка я испытания дедовским способом.
Код:
gp > {vc=[36,36,36,36,49,49,49,49,64,64,64,64,81,81,81,81,
100,100,100,100,100,100,100,100,100,100,100,100,
100,100,100,100,121,121,121,121]; \\вектор квадратов значений карт 
ssq=vecsum(vc); \\Сумма 3004.
vd=[0,0,0]; \\вектор количества случаев в трёх вариациях
n=10^6; \\количество испытаний
for(j=1,n, \\собственно испытание
  vin=Set(random(36)+1); \\довольно неуклюжий выбор первой половины
  while(#vin!=18,
    vin=setunion(vin,Set(random(36)+1));
  );
  s1=vecsum(vector(18,i,vc[vin[i]])); \\сумма квадратов значений карт первой половины
  s2=ssq-s1; \\сумма квадратов карт второй половины
  d=abs(s1-s2)%3;\ \остаток от модуля разности сумм по модулю три.
  vd[d+1]++; \\накопление результатов
);
  print(vd); \\Печать количества случаев с остатком 0, 1, 2
}

[346778, 308340, 344882]
так как количество испытаний миллион, то можно это считать
дробной частью приближённых вероятностей.
Запущу-ка на 10 миллионов :-)
А меня опередили :-( Ну хоть гуру :-)

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 18:03 
Аватара пользователя
Вы смеётесь? - по модулю 3 надо брать до возведения в квадраты...

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 18:05 
Аватара пользователя
Geen в сообщении #1697784 писал(а):
по модулю 3 надо брать до возведения в квадраты...

Чего? :shock:

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 18:06 
Аватара пользователя
EUgeneUS в сообщении #1697785 писал(а):
Чего? :shock:

А что? Все правильно.

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 18:10 
Аватара пользователя
Combat Zone
Из условия следует, что сначала возводят в квадраты, потом суммируют по половинкам, потом вычитают одно из другого, и только потом берут по модулю три.

Откуда взятие модуля до возведения в квадраты?

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 18:14 
Аватара пользователя
Сумма по модулю три это сумма слагаемых по модулю три. Будет набор из единиц и нулей.

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 18:17 
Аватара пользователя
Combat Zone
Это понятно и банально.
Не понимаю, что Вы комментируете или на что возражаете.

Уважаемый Geen сделал утверждение, которое противоречит условиям. (Может быть, и нет. Но тогда я не верно понял его замечание).

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 18:19 
Аватара пользователя
Оно не противоречит условиям. Оно упрощает решение. Вместо того, чтобы возиться с набором 6.... 11, останется возиться с набором из 8 нулей и 28 единиц. Это проще.

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 18:26 
Аватара пользователя
EUgeneUS в сообщении #1697790 писал(а):
Уважаемый Geen сделал утверждение, которое противоречит условиям.

Укажите, как и в каком месте

 
 
 
 Re: Комбинаторика карточной колоды
Сообщение13.08.2025, 18:28 
Аватара пользователя
Dan B-Yallay в сообщении #1697793 писал(а):
Укажите, где. В каком месте

Geen в сообщении #1697784 писал(а):
по модулю 3 надо брать до возведения в квадраты...

В предлоге "до".

-- 13.08.2025, 18:30 --

Combat Zone в сообщении #1697791 писал(а):
Вместо того, чтобы возиться с набором 6.... 11, останется возиться с набором из 8 нулей и 28 единиц. Это проще.


Если мы возьмём по модулю три до возведения в квадрат, то будем возиться с набором из нулей, двоек и единиц.

 
 
 [ Сообщений: 46 ]  На страницу 1, 2, 3, 4  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group