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