Случайные блуждания

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

Случайное блуждание — последовательность позиций, где каждый следующий шаг — случайное смещение, не зависящее от прошлого.

Случайное блуждание — простейшая модель «движения наугад»: цена акции, диффузия молекулы, путь пьяного матроса. Несмотря на простоту правил, поведение блуждания неочевидно и красиво: в среднем частица никуда не уходит, но при этом неуклонно удаляется от старта. Разберём этот парадокс. Случайные блуждания — это мост между чистой теорией вероятностей и реальной наукой. В физике они описывают броуновское движение — хаотичную пляску пылинки в воде под ударами молекул, наблюдение которой когда-то стало одним из доказательств существования атомов. В финансах простейшая модель цены актива — это случайное блуждание: завтрашняя цена равна сегодняшней плюс случайный шаг. В биологии так моделируют поиск пищи животными, в информатике — алгоритмы на графах. Поняв одномерное блуждание по прямой, вы получите интуицию, которая работает во всех этих областях, а его главный закон — рост типичного удаления как корень из времени — встретится вам ещё не раз.

Среднее смещение равно нулю

Пусть на каждом из $n$ шагов частица идёт на $+1$ или $-1$ с равной вероятностью. Положение после $n$ шагов — сумма шагов $S_n=\sum X_i$. Поскольку $\mathbb{E}[X_i]=0$, по линейности ожидания

$$\mathbb{E}[S_n]=0.$$

То есть в среднем частица возвращается к старту. Но это не значит, что она стоит на месте, — среднее ноль из-за симметрии «влево/вправо», а не из-за неподвижности.

Типичное расстояние растёт как корень

Интереснее, как далеко частица уходит. Дисперсия суммы независимых шагов складывается: $\mathrm{Var}(S_n)=n\cdot\mathrm{Var}(X_i)=n$. Значит, типичное расстояние (стандартное отклонение) равно

$$\sqrt{\mathrm{Var}(S_n)}=\sqrt{n}.$$

Это знаменитый «закон корня»: за 100 шагов частица в среднем оказывается на расстоянии около 10 от старта, за 10000 шагов — около 100. Проверим, оценив средний квадрат смещения, который должен равняться $n$.

import random, math
random.seed(41)

def walk_end(steps):
    pos = 0
    for _ in range(steps):
        pos += 1 if random.random() < 0.5 else -1
    return pos

steps = 400
N = 200000
mean_pos = sum(walk_end(steps) for _ in range(N)) / N
mean_sq  = sum(walk_end(steps)**2 for _ in range(N)) / N
print("Среднее смещение:", round(mean_pos, 3), "| теория 0")
print("Средний квадрат: ", round(mean_sq, 1), "| теория n =", steps)
print("Типичное расстояние:", round(math.sqrt(mean_sq), 2), "| sqrt(n) =", round(math.sqrt(steps), 2))

Вывод:

Среднее смещение: 0.014 | теория 0
Средний квадрат:  399.3 | теория n = 400
Типичное расстояние: 19.98 | sqrt(n) = 20.0

Среднее смещение почти нулевое, а средний квадрат смещения совпал с числом шагов $n=400$, дав типичное расстояние $\sqrt{400}=20$. Оба теоретических предсказания подтвердились.

Диффузия и реальный мир

Закон $\sqrt{n}$ объясняет диффузию: запах распространяется по комнате медленно именно потому, что молекулы блуждают, а не летят по прямой. Чтобы уйти вдвое дальше, нужно вчетверо больше шагов. Та же математика описывает разброс цены актива за время и точность измерений с накоплением ошибок.

Как работает под капотом

Функция walk_end просто накапливает $\pm 1$ и возвращает конечную позицию. Усреднение позиций даёт ноль (симметрия), а усреднение квадратов позиций — дисперсию, которая по аддитивности для независимых шагов равна числу шагов. Мы не закладываем закон корня в код — он возникает сам как следствие того, что складываются именно дисперсии, а типичный масштаб есть их корень. Это прямое применение свойств дисперсии из четвёртого раздела.

Частые ошибки

Первая ошибка — из «среднее смещение ноль» заключить, что частица недалеко уходит: нулевое среднее и большое типичное расстояние прекрасно уживаются. Вторая — ждать линейного роста расстояния с числом шагов; рост корневой, вдвое дальше — вчетверо дольше. Третья — путать конечную позицию (может быть и положительной, и отрицательной) с расстоянием от старта (всегда неотрицательным): усреднять для закона корня нужно именно квадрат позиции.

Итог

  • Среднее смещение симметричного блуждания равно нулю.
  • Типичное расстояние от старта растёт как $\sqrt{n}$.
  • Дисперсия позиции равна числу шагов из-за аддитивности.
  • Закон корня объясняет медленность диффузии в реальном мире.
Проверьте себя
1. Чему равно среднее смещение симметричного случайного блуждания после n шагов?
An
Bsqrt(n)
C0
Dn/2
2. Как растёт типичное расстояние частицы от старта?
AКак n
BКак sqrt(n)
CКак log(n)
DНе растёт
3. Во сколько раз больше шагов нужно, чтобы уйти вдвое дальше?
AВ 2 раза
BВ 4 раза
CВ 8 раз
DВ 16 раз