:)))) цыфра выше - это вероятность того, что в 11 случаях, при 7(в каждом случае) возможных вариантах, в 8-ми (именно в восьми) - первое место остается за одной конкретной партией.
вероятность занятие первого места в 9, 10 или 11 случаях ничтожно меньше, так что ее добавлять сюда не имеет смысла. различие в кол-ве партий по регионам, участвовавших в жеребьевке вносит коррективы, но в пределах 10-15% от этого числа (в большую сторону).
Вот программа лобового рассчета вероятности, что при заданных длинах списков и случайном выборе первого места из каждого списка одна выделенная партия займет первое место не менее, чем в k жеребьевках. Желающие могут проверить.
L = [5 8 6 8 7 7 6 7 6 6 8 ]; p = 1 ./ L';
N = length( L ); m = 0 : 2 .^ N - 1; b = bitget( repmat( m, N, 1 ), repmat( (1 : N)', 1, 2 .^ N ) );
prob = prod( repmat( p, 1, 2 .^ N ) .^ b ... .* repmat( 1 - p, 1, 2 .^ N ) .^ (1 - b) );
Pk = []; for k = 0 : N Pk( k + 1 ) = sum( prob( sum(b) >= k ) ); end
no subject
Date: 2007-02-16 08:35 pm (UTC)цыфра выше - это вероятность того, что в 11 случаях, при 7(в каждом случае) возможных вариантах, в 8-ми (именно в восьми) - первое место остается за одной конкретной партией.
вероятность занятие первого места в 9, 10 или 11 случаях ничтожно меньше, так что ее добавлять сюда не имеет смысла.
различие в кол-ве партий по регионам, участвовавших в жеребьевке вносит коррективы, но в пределах 10-15% от этого числа (в большую сторону).
так что порядок: 20 миллионных.
no subject
Date: 2007-02-16 08:38 pm (UTC)no subject
Date: 2007-02-16 08:40 pm (UTC)no subject
Date: 2007-02-16 08:43 pm (UTC)no subject
Date: 2007-02-21 06:37 am (UTC)Вот программа лобового рассчета вероятности, что при заданных длинах списков и случайном выборе первого места из каждого списка одна выделенная партия займет первое место не менее, чем в k жеребьевках. Желающие могут проверить.
L = [5 8 6 8 7 7 6 7 6 6 8 ];
p = 1 ./ L';
N = length( L );
m = 0 : 2 .^ N - 1;
b = bitget( repmat( m, N, 1 ), repmat( (1 : N)', 1, 2 .^ N ) );
prob = prod( repmat( p, 1, 2 .^ N ) .^ b ...
.* repmat( 1 - p, 1, 2 .^ N ) .^ (1 - b) );
Pk = [];
for k = 0 : N
Pk( k + 1 ) = sum( prob( sum(b) >= k ) );
end
sprintf( '%2d %g\n', [(0:N); Pk] )