Автошлях як ряд клітин
Модель Нагель-Шрекенера (1992) є клітинною автоматичною системою: дорога — це лінія дискретних клітин, кожна з яких або порожня, або містить одну машину зі швидкістю від 0 до максимальної vmax. Кожен симульований секунд, кожна машина оновлює свою швидкість і позицію за допомогою чотирьох простих правил, застосованих послідовно та паралельно по всій дорозі:
1. Прискорення: якщо v < vmax, то v = v + 1 2. Гальмування: якщо відстань до перешкоди становить g клітин, то v = min(v, g) 3. Випадковість: з ймовірністю p, v = max(v - 1, 0) 4. Переміщення: перемістити кожну машину вперед на v клітин Правило 2 є єдиним правилом, яке враховує іншу машину — це жорсткий механізм уникнення зіткнень, а не плавна модель догляду. Правило 3, випадковість, є ключовою метою моделі: без нього трафік тече в ідеально стабільних, рівномірно розподілених лініях назавжди. Одне випадкове уповільнення порушує цю симетрію.
1. Acceleration: if v < vmax, then v = v + 1 2. Braking: if the gap ahead is g cells, then v = min(v, g) 3. Randomization: with probability p, v = max(v - 1, 0) 4. Movement: move each car forward v cells
Привиди заторів: хвиля без причини
Запустіть автоматизовану систему при помірній щільності та без будь-яких аварій, перешкод у русі або перетинів, і утворюється щільна група повільно рухаючихся автомобілів, яка спонтанно формується та поширюється назад через трафік, незважаючи на те, що всі автомобілі рухаються вперед. Це – примарний затор, і це не апаратна помилка симуляції — він був відтворений на реальному закритому випробувальному треку з людськими водіями (експеримент Сугіяма 2008 року), де кільце автомобілів, яке було попрошено підтримувати рівну відстань між ними, спонтанно руйнувалося в хвилю зупинок та руху вперед. Випадкове уповільнення (правило 3) змушує автомобіль позаду гальмувати, що змушує наступний автомобіль гальмувати ще сильніше, щоб підтримувати безпекову відстань, і ця дестабілізація посилюється, коли вона поширюється вгору за потоком – хвиля, яка виживає довше, ніж її первісна причина.
Утворення перетину
Побудуйте графік потоку (кількість автомобілів, що проїжджають через точку за секунду) проти щільності (автомобілі на клітинку) і ви отримаєте фундаментальний діаграму руху: потік збільшується приблизно лінійно при низькій щільності, досягає піку при критичній щільності та падає, коли щільність продовжує зростати та автомобілі більше часу гальмують, ніж рухаються. Модель Nagel-Schreckenberg відтворює цю криву досить точно, включаючи те, що спадна гілка шумна та схильна до заторів, а підйомна гілка гладка — саме ця асиметрія спостерігається в реальних даних з датчиків об'їздів автомагістралей.
Повільний старт і друга вузька шийка
Впроваджено корекцію, названу «повільним стартом», яка додає правило: автомобіль, який зараз зупинений, потребує додаткового кроку вагання перед тим, як прискоритися знову, що імітує реальний час реакції водія на виїзді з заторів. Ця одна добавка відтворює другий реальний ефект — швидкість виходу з затору помітно нижча за максимальний потік, який могла б забезпечити дорога, тому коли утворюється затор, він очищається повільніше, ніж він утворився. Це пояснює асиметричне відчуття від сидіння в пробках: затор швидко зростає і повільно зникає.
Чому один повільний водій має значення більше, ніж ви думаєте
Оскільки правило 2 дозволяє автомобілю рухатися лише з такою швидкістю, яка відповідає проміжку перед ним, один автомобіль із постійно нижчою vmax (або який надмірно гальмує) не просто сповільнює себе — він сіє затор, за яким інші, більш прискорені автомобілі накопичуються позаду, обмежуючи ефективну продуктивність всього ряду до швидкості одного автомобіля. У багатосмугових розширеннях моделі існують правила зміни смуги руху саме для того, щоб швидке трафіку було можливо оминати такий вузол, що й пояснює, чому реальні правила «тримайте правий, крім як обганяти» вимірювано покращують пропускну здатність автомагістралі.
Frequently asked questions
Що викликає затор без аварії чи перешкоди?
Один випадковий гальмування одного водія змушує автомобіль позаду сповільнитися більше, щоб підтримувати безпечну дистанцію, і це перекоректування поширюється назад по ряду машин, збільшуючись до повільного скупчення — привидного затору. Це було відтворено як у комп'ютерній моделі Nagel-Schreckenberg, так і на реальному закритому випробувальному треку з людськими водіями.
Чому затор рухається назад, незважаючи на те, що всі машини рухаються вперед?
Машини самі по собі рухаються вперед, але патерн затору — місце, де машини зараз гальмують — поширюється вгору за струм, оскільки кожна нова машина, яка досягає кінця скупчення, повинна гальмувати наступною. Хвиля — це патерн у трафіку, а не група конкретних машин.
Який один параметр перетворює вільний потік на затор?
Щільність. При нижчій за критичну щільності машини мають достатню дистанцію, щоб випадкове сповільнення поглиналося; при вищій щільності те саме випадкове сповільнення перетворюється на зростаючий затор. Цей поріг точно відповідає піку фундаментальної діаграми потоку-щільності, яку відтворює модель.
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте Traffic і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію Traffic