Очевидное место для начала - написать код, который будет имитировать выполнение бросков 1000 монет и даст вам значение для capital
в конце.Это в основном тривиально:
def _mc(p):
capital = 1.0
for _ in xrange(1000):
if random.random() < 0.5:
capital *= 1 + p
else:
capital *= 1 - p
return capital
Обратите внимание, что capital
, вероятно, окажется крошечным.Это нормально.
Теперь это, очевидно, сильно зависит от того, что такое случайные сальто, что плохо.Таким образом, вы должны определить его ожидаемое значение, выполнив множество цепочек по 1000 монет и выполнив некоторую статистику того, что, по вашему мнению, должно быть.
Наконец, вы хотите сделать все это длядиапазон значений p
, вероятно, между 0
и 0.2
.Вы можете использовать matplotlib
для построения графика p
относительно ожидаемого результата, чтобы получить представление о том, какой p
должен быть лучшим.
Обратите внимание, что Python, вероятно, не лучший язык для такого рода вещей.;C будет намного быстрее, и вам все равно не понадобится гибкость Python.