Python

Python. Как узнать количество попыток для происхождения удачного события, вероятность которого равна 0,1632%?

Для того чтобы узнать количество попыток для удачного события, вероятность которого равна 0,1632%, можно использовать формулу обратной вероятности.

Обратная вероятность вычисляется следующим образом:
1 / вероятность = количество попыток

В данном случае, для вероятности 0,1632%, можно записать:
1 / 0,1632% = 1 / 0,001632 = 612,8

Таким образом, для удачного события вероятностью 0,1632% потребуется около 613 попыток, чтобы оно произошло.
РК
Рафик Каримов
2 587
Лучший ответ
Если ты сделаешь бесконечное количество попыток, то в среднем каждая 1/0,001632-ая попытка будет успешной. А сколько именно понадобится до первого случая - предсказать невозможно. Может, ты миллиард попыток сделаешь и ни разу не повезет, а потом повезет 200000 раз подряд.
0,1632% = 0,001632
это просто вероятность, она без процентов пишется
Вероятность говорит, что из 10000 попыток 1632 были удачные.
Но удачным может быть сразу же 1 попытка, так как это всего лишь одна шестая события, буквально выпадения одной грани игры в кости :)
Значит если каждый раз бросаем кости, то вероятность выпадения нужного (удачного) повышается и почти гарантировано за 6 бросков тебе выпадет нужное :)
Для решения этой задачи, нужно использовать формулу для вероятности успешного события в случайной дискретной величине.

Формула вероятности успешного события:
P(A) = 1 - (1-p)^n

Где:
P(A) - вероятность успешного события
p - вероятность события в одной попытке
n - количество попыток

Мы знаем, что вероятность успешного события равна 0,1632% (0,001632). Подставим это значение в формулу и найдем количество попыток:

0,001632 = 1 - (1-0,001632)^n

Теперь мы можем найти количество попыток (n) для удачного события. В Python, для этого можно воспользоваться методом scipy.optimize.fsolve():

from scipy.optimize import fsolve

p = 0.001632
equation = lambda n: 1 - (1 - p)**n - p
n = fsolve(equation, 1)[0]
print(f"Количество попыток: {int(n)}")


В результате выполнения этого кода будет выведено количество попыток для удачного события.
Чтобы узнать количество попыток для удачного события с заданной вероятностью, мы можем использовать формулу обратной вероятности (inverse probability formula). Для этого нам понадобится модуль math в Python.

Вот как можно реализовать это в коде:


import math

probability = 0.1632 / 100 # Преобразуем проценты в десятичную дробь
attempts = math.ceil(1 / probability)

print("Количество попыток:", attempts)

В данном примере мы преобразовываем процентную вероятность в десятичную дробь (0,1632% становится 0,001632), а затем используем обратную вероятность, делая 1 / 0,001632. Функция math.ceil() округляет результат вверх до ближайшего целого числа, так как попытки должны быть целым числом. Результат выводится на экран.

Помните, что вероятность - это статистическая оценка, и количество попыток может варьироваться в зависимости от реальных условий. Это лишь математическая оценка на основе вероятности.
Микола Гавриш
Микола Гавриш
6 536
никак, 100% никогда не будет
Andrey Skrobot
Andrey Skrobot
893
пройти mgr на сложности Revengence всех боссов на S ранг
Михаил Ив108 Купи деревянный меч