Удивительная вещь, но в Люксембурге тоже пробки.
Маленькая страна, и после жизни в России, где дорога на работу из Подмосковья в Москву и обратно ежедневно съедала около трех часов жизни, здесь все очень близко: лес — за окном, гигантский торговый центр — через дорогу, бассейн — 7 минут, работа — 15 минут, аэропорт — 25 минут, вокзал — 20 минут, да и вообще, поездка между двумя самыми удаленными точками Люксембурга занимает полтора часа. Но к хорошему привыкаешь очень быстро. Стою в пробке, навигатор показывает добавочных 10 минут, и это никак не входит в мои планы на сегодня. Пытаюсь угадать с полосой. Так, впереди сужение, правая полоса — ремонт. Значит, надо перестраиваться в левую сторону. Правильно? Казалось бы, да, в Москве это правило работает на 100%.
Но не здесь — правая проблемная полоса едет в два раза быстрее. Как так?
Все равно пробка, а значит, есть 10 минут на решение задачи. Разбираемся.
О культуре вождения
На самом деле все просто. Это связано с тем, что:
большинство водителей, увидев знак сужения, дисциплинированно перестраиваются в левую сторону, и таким образом машин в правой полосе становится меньше
водители пропускают друг друга
Но, казалось бы, так везде. В чем же отличие Москвы от Люксембурга?
Постановка задачи
В самом общем виде задачу можно сформулировать следующим образом.
У нас две полосы, и одна из них перекрыта. Вы въезжаете в пробку на некотором расстоянии от сужения дороги. Какую полосу выбрать, чтобы проехать проблемный участок быстрее?
В такой формулировке, хотя она и отражает суть, эта задача не решаема. Нужно делать дополнительные предположения и упрощения. Сначала определимся с факторами, которые влияют на решение. Факторов много. Вот некоторые из них:
длины машин (машины ведь могут быть разными)
маневренность разных машин
насколько хорошо сделана разметка
сколько машин перед вами будут перестраиваться между очередями
насколько водители склонны пропускать друг друга
...
Упростим задачу, сделав следующие допущения:
длины машин одинаковы
маневренность не влияет
разметка идеальная и не влияет на решение задачи
начиная с момента, когда вы встали в пробку, все перестроения впереди вас теперь только в месте проблемного сужения дороги
Теперь, по поводу последнего пункта (о склонности водителей пропускать) - это ключевой момент. Чтобы наша задача была легко решаемой, сделаем следующие допущения.
Грубо разделим всех водителей на две группы. Мы будем называть их "честными" и "пронырливыми" или "пронырами". Первых мы будем обозначать нижним символом
(honest) , например,
, а вторых символом
(sly), например,
.
К тому моменту, как вы подъехали к пробке все честные водители впереди вас уже перестроились в левый ряд и будут оставаться в этом ряду. Они не пытаются обогнать других и предпочитают стоять в общей, справедливой, очереди.
При слиянии двух потоков в случае затора честные водители всегда пропускают одну машину из другого потока (правило лесенки).
Пронырливые делают все возможное, чтобы проехать быстрее, и они никого никогда не пропускают.
Вся правая очередь состоит из них, но если они считают, что стоять в левой очереди выгоднее, они могут изначально встать и в левую очередь.
Проныра из второй очереди не может проехать затор, если его не пропустит водитель из первой очереди (напоминаю, что перекрыта именно правая полоса - очередь 2).
Tакая задача уже кажется решаемой. Давайте решать.
Решение
— количество машин в первой очереди (левая полоса).
— количество машин во второй очереди (правая, перекрытая полоса).
Вся вторая очередь состоит из пронырливых. Первая очередь состоит частично из пронырливых и частично из честных. Количество пронырливых и честных в первой очереди:
Здесь - это просто доля проныр в первой очереди.

Предположим, что водитель встал в конец очереди (1 или 2). До того момента, как он проедет через проблемное сужение дороги, через это бутылочное горлышко проедет какое-то количество машин. Это количество машин можно назвать эффективной очередью.
Найдем эффективные очереди для левого (очередь 1) и правого (очередь 2) потоков.
Здесь все просто. Первое слагаемое () — удвоение честных водителей, потому что каждый честный водитель из первой очереди пропускает одного водителя из второй (конечно же, при условии, что вторая очередь есть). Второе слагаемое (
) — это просто количество проныр в первой очереди, которые никого не пропускают.
Для второй очереди:
Здесь немного сложней. Первое слагаемое - каждая машина из второй очереди будет пропущена "честным" водителем из очереди 1, что дает удвоение. Второе слагаемое - количество пронырливых водителей в первой очереди на честных, которые не пропустят. Таким образом можно оценить время ожидания в первой и второй очередях:
Обозначим через долю пронырливых водителей от общего числа водителей. Будем также называть эту величину "коэффициентом пронырливости" для данного социума. Выразим
через
(напомню, что
- это доля проныр в первой очереди):
Анализ результата
Что нам дает это соотношение?
Предположим, что я нахожусь в состоянии "проныры" в данный момент — мне нужно как можно скорее пробраться через этот затор. Тогда, если бы я знал этот "коэффициент пронырливости" в данной социуме () и мог оценить количество машин передо мной в обеих очередях, то я смог бы точно понять, какая очередь быстрее.
Так почему же в Люксембурге правая "очередь проныр" движется быстрее, а в Москве наоборот?
Давайте рассмотрим предельный случай, предположив, что все водители, кроме одного, честные. Тогда, когда проныра подъезжает к концу очереди, все стоят в левом ряду, проныра знает, что это честные водители, и ему безусловно выгодно встать в правый ряд. Нетрудно увидеть, что это правило работает до момента . До этого коэффициента пронырам всегда выгоднее вставать в правый ряд — они всегда будут иметь выигрыш во времени, потому что
Это просто значит, что время ожидания в первой очереди больше, чем во второй.
При наступает момент, когда, если все проныры встают в правый ряд, то количество машин в этой очереди становится равным количеству в левой (честные), и так как честные водители всегда пропускают по правилу лесенки, то время ожидания в обеих очередях сравнивается. Это выражается тем фактом, что
Что же происходит, если ?
Давайте предположим, что проныры обладают сверхъестественными способностями или настолько большим опытом, что прекрасно "чувствуют", какая очередь будет двигаться быстрее, и всегда становятся в более быструю очередь. Тогда, если , подъезжающие проныры начинают распределяться между первой и второй очередью, и зависимость становится более сложной. Мы получаем состояние равенства эффективных длин первой и второй очереди и, как следствие
Это значит, что при дальнейшем увеличении длина второй очереди (при
) становится короче и короче по отношению к очереди 1. В пределе, когда все становятся пронырами (
), во вторую очередь становиться не имеет смысла.
Получается, что если "коэффициент пронырливости" ниже определенного значения, то быть пронырой очень даже выгодно. А если достаточный процент социума (в нашей упрощенной модели просто большинство) это такие же проныры как и ты, то путь проныр становится не таким простым и предсказуемым.
В нашем случае этот порог: , но это, конечно же, лишь в тех идеальных условиях, которые мы сами определили. Расчет реального порога является сложной задачей. Но для нас точное значение и не имеет большого значения, а вот наличие этого фазового перехода кажется интересным.
Теперь мы можем ответить на вопрос, в чем же разница между Люксембургом и Москвой. По собственному опыту могу сказать, что "коэффициент пронырливости" в Москве гораздо выше - в этом и ответ.