Здравствуйте, baily, Вы писали:
B>Вася бросил монетку 10 раз. А Петя 11 раз. Какова вероятность того, что у Пети монетка выпадет орлом больше чем у Васи? B>Считаем, что при броске вероятность выпадания орла и решки одинакова.
Гораздо проще можно решить, на одном здравом смысле.
Рассмотрим вариант игры, когда и Вася, и Петя бросают монетку одинаковое количество раз. Какова вероятность победы Пети в этом случае? Пусть вероятность ничьей равна alpha. Тогда, из соображений симметрии, искомая вероятность равна (1 — alpha) / 2.
Теперь рассмотрим игру, когда Петя бросает монетку на один раз больше Васи. Ее можно представить таким образом: сначала Петя бросает монетку один раз, а потом они оба бросают одинаковое количество раз. С вероятностью 1/2 в первый раз у Пети выпадает решка. В этом случае искомая вероятность снова будет равна (1 — alpha) / 2. С вероятностью 1/2 у Пети выпадает орел. В этом случае к вероятности (1 — alpha) / 2 нужно прибавить вероятность, что в оставшихся бросках будет ничья. Эта вероятность равна alpha. Итого имеем: 1/2 * (1 — alpha) / 2 + 1/2 * ((1 — alpha) / 2 + alpha) = 1/2 * (2 * (1 — alpha) / 2 + alpha) = 1/2 * (1 — alpha + alpha) = 1/2.
Очевидно, игра из формулировки задачи является частным случаем последней игры.
Мир не просто сложнее, чем мы себе представляем, -- он сложнее, чем мы можем себе представить.
Вася бросил монетку 10 раз. А Петя 11 раз. Какова вероятность того, что у Пети монетка выпадет орлом больше чем у Васи?
Считаем, что при броске вероятность выпадания орла и решки одинакова.
Здравствуйте, baily, Вы писали:
B>Вася бросил монетку 10 раз. А Петя 11 раз. Какова вероятность того, что у Пети монетка выпадет орлом больше чем у Васи? B>Считаем, что при броске вероятность выпадания орла и решки одинакова.
Ну ты чё, посчитать не можешь? Программка за 5 минут пишется.
Можно и вручную посчитать, но муторно.
Здравствуйте, baily, Вы писали:
A>>Ну ты чё, посчитать не можешь? Программка за 5 минут пишется. A>>Можно и вручную посчитать, но муторно.
B>Для таких любителей можно попросить посчитать вероятность, когда бросали 1000 и 1001 раз соответственно.
Вручную факториалы тоже считать заколебёшся.
С вероятностью 1/2 их шансы равны (первая монетка Пети выпала на решку).
С вероятностью 1/2 (первая монетка Пети выпала на орёл) Петя имеет какое-то преимущество.
Эээ... наверное есть какой-то трюк, который позволяет это преимущество точно посчитать.
Рекурсивно.
Здравствуйте, Буравчик, Вы писали:
Б>Результат: Б>
Б>0.5000000000000003
Вы вводите в заблуждение у вас всего 2^(21) вариантов т.е погрешность +-4.8e-7, так что более семи знаков в результате это оверкил, достаточно было написать 0.5000000
Представим Васины и Петины броски как двоичное число, где 1 — это орел, 0 — это решка либо вообще неброшенная монетка, а позиция бита — номер попытки.
У обоих число 11-битовое, только у Васи старший бит жестко установлен в 0, а у Пети меняется.
Следовательно, количество возможных комбинаций у Васи — 1024, у Пети — 2048.
Из 2048 Петиных комбинаций
— в половине (1024) случаев старший бит = 0, а младшие 10 бит идентичны Васиным младшим 10 битам. Эти случаи невыигрышные.
— в оставшейся половине случаев старший бит = 1, а младшие 10 бит опять же идентичны Васиным младшим 10 битам. Эти случаи выигрышные.
B>Какова вероятность того, что у Пети монетка выпадет орлом больше чем у Васи?
Вот и у меня получилось 50%.
"Больше 100кмч можно ехать на автобане в любом ряду кроме правого крайнего" (c) pik
"В германии земля в частной собственности" (c) pik
"Закрывать школы, при нулевой смертности среди детей и подростков, это верх глупости" (c) Abalak
Здравствуйте, alpha21264, Вы писали:
A>Здравствуйте, baily, Вы писали:
B>>Вася бросил монетку 10 раз. А Петя 11 раз. Какова вероятность того, что у Пети монетка выпадет орлом больше чем у Васи? B>>Считаем, что при броске вероятность выпадания орла и решки одинакова.
A>Ну ты чё, посчитать не можешь? Программка за 5 минут пишется. A>Можно и вручную посчитать, но муторно.
Для таких любителей можно попросить посчитать вероятность, когда бросали 1000 и 1001 раз соответственно.
Здравствуйте, baily, Вы писали: B>Вася бросил монетку 10 раз. А Петя 11 раз. Какова вероятность того, что у Пети монетка выпадет орлом больше чем у Васи? B>Считаем, что при броске вероятность выпадания орла и решки одинакова.
from scipy.stats import binom
def vasya_less_petya(vasya_count, petya_count, p=0.5):
prob = 0.0
for k in range(petya_count+1):
petya_throw_k_avers = binom.pmf(k, petya_count, p)
vasya_throw_less_k_avers = binom.cdf(k-1, vasya_count, p)
prob += petya_throw_k_avers * vasya_throw_less_k_avers
return prob
vasya_less_petya(vasya_count=10, petya_count=11)
Результат:
0.5000000000000003
Рефакторинг
def vasya_less_petya(vasya_count, petya_count, p=0.5):
def vasya_less_petya_for_k_avers(k):
petya_throw_exactly_k_avers = binom.pmf(k, petya_count, p)
vasya_throw_less_k_avers = binom.cdf(k-1, vasya_count, p)
return petya_throw_exactly_k_avers * vasya_throw_less_k_avers
return sum([vasya_less_petya_for_k_avers(k) for k in range(petya_count+1)])
Здравствуйте, baily, Вы писали:
B>Для таких любителей можно попросить посчитать вероятность, когда бросали 1000 и 1001 раз соответственно.
Для этого программка пишется с параметром
import sympy as sp
n = int(input())
bi0 = [0] * (n + 1)
bi1 = [0] * (n + 2)
bi0[0] = 1
for i in range(n):
bi0[i + 1] = bi0[i] * (n - i) // (i + 1)
bi1[0] = 1
bi1[n + 1] = 1
for i in range(n):
bi1[i + 1] = bi0[i] + bi0[i + 1]
bic1 = [0] * (n + 3)
for i in range(n + 2):
bic1[i + 1] = bic1[i] + bi1[i]
res = 0
for i in range(n + 1):
res += bi0[i] * bic1[n + 1 - i]
print sp.Rational(res, sp.Pow(2, 2 * n + 1))
Да, при всех натуральных n выдаёт 1/2, чистое доказательство уже привели выше, но догадаться до него "по индукции", имея данную программку, совсем не сложно.
Здравствуйте, baily, Вы писали:
B>Вася бросил монетку 10 раз. А Петя 11 раз. Какова вероятность того, что у Пети монетка выпадет орлом больше чем у Васи? B>Считаем, что при броске вероятность выпадания орла и решки одинакова.
Если строго больше (а не больше и равно) то строго 50/50
Отлично! Я ждал именно этого решения. Без всяких распределений Бернулли и прочего.
Лично мне задача понравилась по многим причинам.
Во первых, изначально на уровне интуиции кажется что шансы выиграть будут 1/2 при равном числе бросков, а это не так.
Во вторых, именно при равном числе бросков точный ответ получить сложно. alpha есть сумма квадратов биномиальных коэффициентов и простой расчетной формулы тут получить сложно.
Ну и в третьих, удивительно, что давая один дополнительный бросок все чудесным образом сокращается и получается точный простой ответ.
Здравствуйте, baily, Вы писали:
B>Вася бросил монетку 10 раз. А Петя 11 раз. Какова вероятность того, что у Пети монетка выпадет орлом больше чем у Васи? B>Считаем, что при броске вероятность выпадания орла и решки одинакова.
Покритикуйте мой наивный подход:
Количество орлов у них обоих за первые 10 (ну или 1000) бросков одинаковое; последний бросок даёт орла с вероятностью 50% — это и есть ответ...
Здравствуйте, StatujaLeha, Вы писали:
SL>Здравствуйте, baily, Вы писали:
B>>alpha есть сумма квадратов биномиальных коэффициентов и простой расчетной формулы тут получить сложно.
SL>Все уже придумано до нас SL>https://ru.wikipedia.org/wiki/Биномиальный_коэффициент#Свёртка_Вандермонда_и_следствия SL>Когда делал свое решение выше, то наткнулся на эту сумму. Ее можно посчитать
Супер!!! Т.е, если бы они бросали одинаковое число раз, например, N, то вероятность ничьи будет C(2N, N)/2^N.
И если использовать формулу Стирлинга, то там все чудесно сокращается и вероятность будет примерно равна 1/sqrt(N)
Здравствуйте, VladFein, Вы писали:
VF>Здравствуйте, baily, Вы писали:
B>>Вася бросил монетку 10 раз. А Петя 11 раз. Какова вероятность того, что у Пети монетка выпадет орлом больше чем у Васи? B>>Считаем, что при броске вероятность выпадания орла и решки одинакова.
VF>Покритикуйте мой наивный подход: VF>Количество орлов у них обоих за первые 10 (ну или 1000) бросков одинаковое; последний бросок даёт орла с вероятностью 50% — это и есть ответ...
Это все прекрасно, но вы посчитали вероятность того, что Петя выиграет при условии, что перед последним броском количество орлов у них обоих одинаково.
Если идти таким путем, то надо еще кое что сделать. Во первых, найти вероятность выполнения такого условия. Пусть она будет P1.
Во вторых, найти вероятность что перед последним броском у Пети уже было строго большее количество орлов. Пусть она будет P2.
Тогда та вероятность, что мы ищем будет 1/2P1 + P2