The Jerusalem PostIDF, Shin Bet arrest 10 suspects connected to attack on US journalist, EU diplomats in West BankPunchMorning recap: Wike meets Fubara, FG disputes World Bank debt figures, other top storiesCNN Türk19 EKİM HAVA DURUMU İSTANBUL SON DAKİKA! Bugün hava nasıl olacak, İstanbul’da şiddetli yağış olacak mı?InquirerChurch, youth groups push action vs political dynastiesBollywood HungamaTiger Shroff Shooting Incident: Mumbai Police register FIR against 3 unknown accused, form 15 teams to trace shootersESPNPackers use third-down conversions, takeaways to frustrate struggling CowboysESPN DeportesWatson y Browns escapan con la victoria divisional한겨레12년 만의 남북 탁구 대결, 이번에도 박홍규가 웃었다RapplerLazaro summons China ambassador Jing, says it’s not his place to taunt PH officialsZDF heuteEntdecken Sie das ZDF-Nachrichtenstudioالنهارماذا بعد ميزان المنازلة الأخيرة بين السّلطة و"حزب الله"؟The South AfricanDa Cruz calls for unity after Kaizer Chiefs’ loss in Zambia
The Daily Newsstand · Free, Always
Monday, October 19, 2026

Почему автобус никогда не приходит вовремя, или Теорема о том, что вам не повезло

Translate

Скажу сразу: автобус приходит вовремя. Просто не для вас.

Звучит как обида на мироздание, но это математика, и довольно простая. Ей лет сто, у неё есть название (inspection paradox, парадокс инспекции, или, если по-нашему, парадокс времени ожидания). При этом она почти никогда не всплывает в разговоре на остановке. А зря: она объясняет, почему табличка «интервал 10 минут» и ваши реальные пятнадцать минут на ветру — не взаимоисключающие вещи.

Я полезла в это после одного утра в феврале. Стою на остановке, на табличке гордо написано «интервал в часы пик — 10 минут», в приложении автобус то «через 4 минуты», то «через 7», то вообще пропадает. Через 22 минуты из-за поворота выезжают три автобуса подряд, бампер в бампер. Первый битком, второй полупустой, третий вообще пустой и обгоняет первые два, не останавливаясь. На работу я опоздала пришла с готовой идеей для исследования.

Стоять и злиться было неконструктивно, поэтому я начала считать.

Замер базового уровня: сферический автобус в вакууме

Начнём с идеала. Автобус ходит строго раз в 10 минут, как швейцарские часы. Вы приходите на остановку, когда попало: не смотрите расписание, просто вышли из дома.

Сколько вы ждёте в среднем? Правильно, 5 минут. Вы с равной вероятностью попадаете в любую точку десятиминутного интервала, ждёте от нуля до десяти, в среднем половину.

Заведём табличку:

Сценарий

Средний интервал

Среднее ожидание

Строго по расписанию

10 мин

5,0 мин

Пока всё сходится с интуицией. Интуиция довольна, но ненадолго.

Ты ждёшь

Теперь немного испортим автобус. Средний интервал оставим ровно 10 минут, но пусть автобусы приходят неравномерно: 2 минуты, потом 18, потом снова 2, потом 18. В среднем как раз (2 + 18) / 2 = 10. Диспетчер в отчёте пишет «интервал 10 минут» и абсолютно прав.

Сколько теперь ждёт пассажир?

Возьмём час. За час проходит три пары «короткий + длинный». Из 60 минут 54 приходятся на длинные интервалы и только 6 на короткие. Значит, случайно пришедший пассажир в 90% случаев попадает в длинный интервал. Не в половине случаев, как хотелось бы, а в девяноста процентах.

В длинном интервале он ждёт в среднем 9 минут, в коротком 1. Считаем:

(54 × 9 + 6 × 1) / 60 = (486 + 6) / 60 = 8,2 мин

Средний интервал тот же, а ждём мы на 64% дольше.

Сценарий

Средний интервал

Среднее ожидание

Строго по расписанию

10 мин

5,0 мин

Чередование 2 / 18

10 мин

8,2 мин

Вот и весь фокус. Длинные интервалы длинные (спасибо кэп), поэтому в них попадает больше людей. Вы приходите на остановку не в случайный интервал, а в случайный момент времени, а моменты времени свалены в основном в длинных интервалах. Короткий интервал проскакивает мимо почти пустым, а длинный собирает толпу, и вы в этой толпе.

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

Общая формула, или проклятие теоремы

Если обобщить то, что мы сделали руками, выходит так. Вероятность попасть в интервал длины T пропорциональна T. Внутри интервала ждём в среднем T/2. Перемножаем, усредняем:

E[ожидание] = E[T²] / (2 · E[T])

А поскольку E[T²] — это дисперсия плюс квадрат среднего, формулу можно переписать в более человеческом виде:

E[ожидание] = (E[T] / 2) · (1 + CV²)

где CV — коэффициент вариации, то есть стандартное отклонение интервала, делённое на средний интервал.

Проверим на 2/18: среднее 10, отклонение 8, CV = 0,8, CV² = 0,64.

5 · (1 + 0,64) = 8,2

Сходится!

Смотрите, что тут важно. Первый множитель (половина интервала) — это то, что обещает табличка на остановке. Второй множитель — это налог на бардак. При идеальном расписании CV = 0, налог нулевой. Чем сильнее разброс, тем больше вы доплачиваете своим временем. И доплачиваете квадратично.

Пуассон, который не смотрит в расписание

Ладно, 2/18 — это пример из учебника. Что будет, если автобусы приходят вообще случайно? Каждую секунду с одинаковой маленькой вероятностью, без всякого расписания. Это пуассоновский поток, интервалы в нём распределены экспоненциально.

У экспоненциального распределения стандартное отклонение равно среднему. CV = 1, CV² = 1.

5 · (1 + 1) = 10 мин

Средний интервал 10 минут, и среднее ожидание тоже 10 минут.

Внимание вопрос! Какова средняя длина того интервала, в который вы попали? По той же логике E[T²] / E[T], для экспоненты это 2 · E[T] = 20 минут. Средний интервал на маршруте 10 минут, а средний интервал, внутри которого стоите вы, — 20. Это не баг. Это так устроены вероятности.

Сценарий

Средний интервал

Среднее ожидание

Строго по расписанию

10 мин

5,0 мин

Чередование 2 / 18

10 мин

8,2 мин

Пуассон (полный хаос)

10 мин

10,0 мин

В ожидании Годо

У экспоненты есть ещё одно свойство, от которого на остановке хочется лечь на асфальт. Она без памяти.

Формально: P(T > s + t | T > s) = P(T > t). По-человечески: если вы уже прождали 10 минут, ожидаемое время до автобуса по-прежнему 10 минут. Прождали двадцать — всё ещё десять. Мироздание не засчитывает вам уже отстоянное.

Вы стоите, мёрзнете, внутренний голос говорит «ну сейчас-то уж точно», а математика отвечает «ровно так же, как пять минут назад».

Правда, реальные автобусы не совсем пуассоновские. Расписание у них всё-таки есть, и это немного спасает. Но, как выяснится дальше, иногда реальность умудряется быть хуже пуассона.

Автобус иногда бывает паровозом

Почему автобусы вообще ходят неравномерно, если расписание есть? Тут мы погружаемся в черную дыру, которая частично физика, а частично человеческая природа.

Есть такое явление, bus bunching, слипание автобусов. Механизм примерно такой. Автобус чуть задержался — пробка, светофор, бабушка с тележкой. Пока он задерживался, на следующих остановках накопилось больше людей, чем обычно. Значит, на каждой остановке он стоит дольше: все заходят, валидируют, кто-то спрашивает водителя про маршрут. Значит, задерживается ещё сильнее. Значит, людей впереди ещё больше.

А следующий за ним автобус видит обратную картину. Остановки почти пустые, их только что подмели. Он едет быстрее, чем по графику, и догоняет первого.

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

В пределе автобусы ходят парами. Посчитаем: интервалы 0 и 20 минут, среднее всё те же 10.

E[T²] = (0² + 20²) / 2 = 200
E[ожидание] = 200 / (2 · 10) = 10 мин

То есть два автобуса подряд по ожиданию эквивалентны одному автобусу раз в 20 минут. Просто с двумя водителями.

А если тройками (0, 0, 30), как в моё февральское утро?

E[T²] = 900 / 3 = 300
E[ожидание] = 300 / 20 = 15 мин

Сценарий

Средний интервал

Среднее ожидание

Строго по расписанию

10 мин

5,0 мин

Чередование 2 / 18

10 мин

8,2 мин

Пуассон (полный хаос)

10 мин

10,0 мин

Парами (0 / 20)

10 мин

10,0 мин

Тройками (0 / 0 / 30)

10 мин

15,0 мин

Тройками хуже пуассона. Пуассон хотя бы реально случаен, а паровозик — это организованный хаос, который выглядит как три автобуса, а работает как один.

Мои замеры

Теория теорией, а что на реальном маршруте?

Стоять на остановке с секундомером по три часа я не готова, поэтому пошла другим путём. Город отдаёт положение автобусов через API (то самое, из которого рисует точки приложение). Я написала скрипт, который раз в 30 секунд опрашивал его и записывал момент, когда автобус моего маршрута проезжал мою остановку. Две рабочие недели, 10 дней, утро с 7:00 до 10:00 и вечер с 17:00 до 20:00. Шаг опроса 30 секунд даёт погрешность момента прибытия в пределах полминуты, для интервалов в десятки минут это терпимо.

Первый облом случился на третий день. В логах обнаружился интервал 27 минут, после которого автобус «материализовался» сразу на три остановки дальше моей. Оказалось, у некоторых машин трекер периодически отваливается, и автобус для API просто исчезает. Пришлось чистить: интервалы, где автобус пропадал с карты дольше чем на 5 минут, я выкинула. Таких набралось 6 штук. Не исключаю, что парочку пропущенных я не поймала, так что данные скорее чуть пессимистичнее реальности.

Вот что получилось:

утро:  n=176, mean=10,2 мин, sd=7,1 мин, CV=0,70 → ожидание 7,6 мин
вечер: n=158, mean=11,4 мин, sd=10,3 мин, CV=0,90 → ожидание 10,4 мин

Утро

Вечер

Интервал по табличке

10 мин

10 мин

Средний интервал по факту

10,2 мин

11,4 мин

Стандартное отклонение

7,1 мин

10,3 мин

CV

0,70

0,90

Интервалов короче 2 минут

9%

17%

Самый длинный интервал

31 мин

41 мин

Ожидание по формуле

7,6 мин

10,4 мин

Проверка на утре: 5,1 × (1 + 0,49) = 7,6. На вечере: 5,7 × (1 + 0,82) = 10,4. Сходится.

Средний интервал почти честный, перевозчик в среднем действительно возит раз в 10 минут (утром) и раз в 11 с хвостиком (вечером). Но вечером почти каждый шестой интервал короче двух минут, то есть каждый шестой автобус идёт в паре с соседним. Вечерний маршрут по ожиданию — практически чистый пуассон, хотя у него есть расписание, диспетчер и даже табличка.

Интереснее всего разброс по дням. Утренний CV гулял от 0,4 до 1,1, и самый плохой день совпал с самым дождливым. Дождь — это пробки, пробки — это первая задержка, а дальше карандаш падает сам.

Потом мне стало мало формулы, и я решила проверить её на себе. Двадцать утр подряд я выходила из дома в случайный момент: время выхода генерировал random.randint в пределах получаса, чтобы я не могла подгадать под автобус. Приложение при этом не открывала (это было самое сложное). Записывала, сколько простояла.

n=20, среднее ожидание 8,1 мин, медиана 6,5 мин, максимум 24 мин

Формула обещала 7,6, вышло 8,1. Двадцать замеров — это смешно мало, разброс ожидания у меня был минут шесть, так что стандартная ошибка порядка 1,3 минуты, и полминуты разницы в неё спокойно влезают. Максимум в 24 минуты — это, разумеется, был дождливый вторник.

Второй раунд. Или нет?

Хотя... Из формулы следует вещь, которую я сначала проскочила, а она важнее всего остального.

Посмотрите ещё раз: (E[T] / 2) · (1 + CV²). Частота автобусов входит туда линейно, а разброс квадратично. Возьмём два маршрута:

Сценарий

Средний интервал

Среднее ожидание

Раз в 10 мин, хаос (CV = 1)

10 мин

10,0 мин

Раз в 15 мин, строго (CV = 0)

15 мин

7,5 мин

Автобус, который ходит в полтора раза реже, но ходит ровно, возит пассажиров быстрее. На треть меньше машин, водителей и топлива, а ожидание короче.

А теперь вернитесь к моей табличке. Утренний маршрут «раз в 10 минут» даёт 7,6 минуты ожидания. Идеальный автобус раз в 15 минут даёт 7,5. То есть мой маршрут по факту возит как автобус, который ходит в полтора раза реже. Треть машин на нём работает исключительно на CV.

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

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

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.