Skip to Content

§5. Эксперимент «Неудачи»: когда среднее равно бесконечности

Помнишь, в §2 мы сказали: даже честная таблица случайных чисел при кривом использовании приводит к неверным выводам. Вот обещанная история, где симуляция нагло врёт в лицо — и где у честной случайной величины среднее оказывается бесконечным. Держись, тут мозг слегка закипает.

Задача

Влип ты в неудачу. Пусть X0X_0 — её размер: сколько проторчал в очереди, какой штраф влепили, сколько бабок потерял — неважно, просто число, и чем хуже, тем больше. Твои знакомые по очереди проходят через ту же передрягу, их размеры неудач — X1,X2,…X_1, X_2, \dots

Вопрос: сколько знакомых в среднем придётся опросить, пока не попадётся бедолага, которому досталось не меньше твоего (то есть Xn≥X0X_n \ge X_0)? Ищешь товарища по несчастью, чтоб хоть не так обидно было.

Формализуем. Считаем X0,X1,…X_0, X_1, \dots независимыми, с одной и той же непрерывной функцией распределения. Вводим случайную величину

N=min⁡{ n≥1:Xn≥X0 }N = \min\{\, n \ge 1 : X_n \ge X_0 \,\}

— номер первого знакомого, догнавшего твою неудачу. Чему равно MN\mathbf{M}N — сколько их в среднем?

Хорошая новость: ответ не зависит от того, какое именно непрерывное распределение у неудач. Поэтому без потери общности считаем XnX_n равномерными на [0,1][0,1] (самый удобный расклад).

Теория: ответ — бесконечность

Считаем честно. Сначала найдём P(N>n)\mathbf{P}(N > n) — вероятность, что первые nn знакомых не дотянули до твоей неудачи (все X1,…,XnX_1, \dots, X_n меньше X0X_0). Это ровно значит, что твоя неудача X0X_0 — самая жирная среди всех n+1n+1 чисел X0,X1,…,XnX_0, X_1, \dots, X_n.

А вот ключевой трюк. Все n+1n+1 величин равноправны (одинаково распределены, независимы). Значит, «самым большим» с равными шансами может оказаться любой из них — хоть твой X0X_0, хоть любой знакомый. Претендентов n+1n+1, шанс у каждого одинаковый, поэтому:

P(N>n)=P(X0 — наибольшее из n+1)=1n+1.\mathbf{P}(N > n) = \mathbf{P}(X_0 \text{ — наибольшее из } n+1) = \frac{1}{n+1}.

(Непрерывность тут нужна, чтобы два числа не совпали в точности — у непрерывной величины шанс точного равенства нулевой, мы это доказывали в задачах главы 1.)

Теперь собираем матожидание. Для целой неотрицательной величины есть формула (3) из главы 1: MN=∑n=0∞P(N>n)\mathbf{M}N = \sum_{n=0}^{\infty} \mathbf{P}(N > n). Подставляем:

MN=∑n=0∞1n+1=1+12+13+14+⋯=∞.\mathbf{M}N = \sum_{n=0}^{\infty} \frac{1}{n+1} = 1 + \frac12 + \frac13 + \frac14 + \dots = \infty.

Это гармонический ряд, и он расходится — сумма растёт без предела. Разберём, почему это не глюк: слагаемые 1n\tfrac1n убывают, но слишком лениво, и их бесконечно много — в сумме набегает бесконечность. По-нашему: почти всегда товарищ по несчастью найдётся быстро, за пару-тройку человек. Но если тебе досталась неудача, близкая к максимальной (X0X_0 под самую завязку), ждать догоняющего придётся очень долго — и вот эти редкие, но чудовищно долгие ожидания перевешивают всё и тянут среднее в бесконечность.

Парадокс: а симуляция даёт конечное

Теперь самое весёлое. Попробуй прогнать этот опыт на компьютере (или по таблице) — и ты получишь конечное, да ещё и скромное число. Прогони 10 опытов — выйдет где-то 22–33. Жми Run:

Загрузка редактора…

Среднее около 22–33, а теория кричала «бесконечность». Кто врёт? Никто — просто симуляция незаметно подменяет условие. Две причины:

  1. Округление убивает бесконечность. Как только числа округляются (в таблице — до двух знаков, в компьютере — до конечной точности), непрерывная модель превращается в дискретную. А там сумма обрывается: при округлении до двух знаков
MN~=∑n=11001n≈ln⁡100+γ≈4,6+0,58≈5,2,\mathbf{M}\tilde N = \sum_{n=1}^{100} \frac1n \approx \ln 100 + \gamma \approx 4{,}6 + 0{,}58 \approx 5{,}2,

где γ≈0,577\gamma \approx 0{,}577 — постоянная Эйлера. Бесконечный ряд обрезали на сотом слагаемом — вот и вышло конечное ≈5,2\approx 5{,}2. В общем виде при округлении до kk знаков получается MN~≈kln⁡10+γ\mathbf{M}\tilde N \approx k\ln 10 + \gamma. 2. Малая выборка не ловит редкие катастрофы. Чтобы среднее поползло вверх, нужны те самые редкие случаи X0X_0 почти в единицу, когда ждать приходится сотни шагов. На десятке опытов они просто не выпадают, и ты видишь обманчиво маленькое среднее.

Покрути сам. Переключай точность: на «2 знака» бегущее среднее честно садится около 5,25{,}2 (теория подрезанного ряда), а на «непрерывно» оно лезет вверх рывками и никак не садится — его постоянно подбрасывают редкие огромные значения. Это и есть расходимость вживую:

Эксперимент «Неудачи»: куда сходится среднее

Бегущее среднее числа опросов N по мере накопления опытов.Округление до 2 знаков обрывает ряд: среднее садится около теории 2·ln10 + γ ≈ 5.18.

Мораль: случайность как береговая линия

Заметь дикую вещь: ответ зависит от точности, с которой ты записываешь числа. Чем больше знаков после запятой — тем больше среднее (kln⁡10+γk\ln10+\gamma растёт с kk). У честной непрерывной модели предела нет вовсе.

Лагутин приводит красивую аналогию — длина береговой линии. Меряешь грубо, по карте — выходит одно; меряешь мельче, обходя каждый камень и залив — длина растёт; меряешь ещё мельче — растёт ещё. У изрезанного берега «истинной» длины просто нет, она зависит от масштаба. Таблица случайных чисел в этом смысле сродни фракталу — объекту, у которого сколь угодно малые куски устроены так же сложно, как целое.

Вывод для нашего ремесла жёсткий: слепо доверять симуляции нельзя. Иногда компьютер отвечает уверенно и аккуратно — и мимо кассы. Надо понимать, какую модель ты на самом деле считаешь.

Проверь себя

Тест

Почему симуляция эксперимента «Неудачи» даёт конечное среднее, хотя теория говорит M N = ∞?
Обновлено