Скажем, у вас есть n-гранный кубик. Вы продолжаете кидать и суммировать значения до тех пор, пока текущий бросок больше, чем предыдущий. Например, если n = 6, вы можете выбросить 1, 3, 2 и остановиться или 1, 4, 5, 3 и остановиться. В первом случае ваша общая сумма равна 1 + 3 = 4, а во втором случае ваша общая сумма равна 1 + 4 + 5 = 10. Каково ожидаемое значение суммы?
Пусть E(x) будет ожидаемым значением игры при условии, что последним выпало, т. е. максимальный бросок был x.
E(n) = 0 [Поскольку ни одно число не больше n, поэтому, игра заканчивается]
E(n-1) = 1/n*(E(n) + n)
E(n-2) = 1/n*(E(n-1) + n-1) + 1/n*(E(n) + n) и так далее…
E(n-1) = 1
E(n-2) = 2
E(n-3) = 3
поэтому E(1) = n-1
и E(0) = n. [Ожидаемая ценность игры с нулевым броском]
Давайте проверим с помощью небольшой симуляции в Python:
import random n_dice = 10 n_trials = 10000 mega = 0 for _ in range(n_trials): last = None while True: curr = random.randint(1,n_dice) if last is None or curr > last: mega+= curr last = curr else: break print(mega/n_trials) #9.9x for n_dice = 10
И вот наша проверка :)