유령 정체: 사고도 공사도 없는데 왜 막힐까
사고도, 공사도, 병목도 없는 도로에서 갑자기 차가 멈췄다가 다시 풀린 경험이 있나요? 고리 모양 도로에서 차들이 규칙대로만 달려도 정체가 저절로 생길 수 있는지 확인해 봅니다.
모델은 이렇게 움직입니다
- 고리 모양 한 차선 도로에서 모든 차가 1초마다 같은 4가지 규칙을 따릅니다: ① 가속, ② 앞차와 부딪히지 않게 감속, ③ 가끔 무작위로 속도를 줄임, ④ 이동.
- ③은 잠깐 딴 데를 보거나 괜히 브레이크를 밟는 것을 뜻합니다. 아주 작은 흔들림이에요.
- 차는 속도에 따라 빨강(멈춤)에서 초록(최고 속도)으로 칠해집니다.
직접 돌려보기
① 도로를 위에서 보면
차들이 고리 도로를 시계 방향으로 달립니다. 빨간 차가 뭉친 곳이 정체인데, 정체 덩어리가 도로 위에서 어디로 움직이는지 지켜보세요. 검은 테두리 차 한 대를 따라가 보면, 이 차는 정체에 뒤에서 들어가 앞으로 빠져나오는데 정체 덩어리는 오히려 뒤로 물러납니다.
② 시간에 따라 변하는 도로 (시간-위치 그림)
가로는 도로 위치, 세로는 시간(아래로 흐름)입니다. 붉은 띠가 정체이고, 띠가 왼쪽 아래로 기울어 있으면 정체가 차들의 진행 방향과 반대로 움직인다는 뜻이에요. 검은 선은 테두리 친 그 차로, 반대로 오른쪽 아래로 나아갑니다.
③ 도로가 차면 통과 대수는 어떻게 될까
밀도에 따라 한 지점을 지나가는 시간당 차량 수입니다. 회색 선은 브레이크를 전혀 안 밟는 완벽한 운전이에요.
④ 작은 브레이크의 큰 효과
지금 밀도에서 가끔 브레이크를 밟는 확률에 따라 평균 속도가 어떻게 달라지는지 봅니다. 점은 서로 다른 도로 3개의 결과예요.
⑤ 3D로 보기: 시간을 높이로 쌓은 도로3D
맨 위 고리가 지금 이 순간의 도로이고, ①과 같은 차들이 상자로 달립니다. 그 아래로 지난 1초 1초가 탑처럼 쌓여, 아래로 내려갈수록 과거입니다. 붉은 줄무늬가 탑을 감고 도는데, 차와 반대 방향으로 물러나는 정체가 이렇게 붉은 나선으로 보이고, 반대쪽으로 감기는 검은 선이 테두리 친 그 차입니다.
드래그로 회전 · 휠이나 두 손가락으로 확대 · ①의 재생/일시정지와 함께 움직입니다
이 결과가 말하는 것, 말하지 않는 것
말하는 것:
- 차가 드물고 운전이 매끄러우면 정체가 없지만, 차가 어느 정도 차고 가끔 브레이크를 밟으면 사고 없이도 정체가 생겨요.
- 브레이크를 전혀 안 밟으면 밀도 약 17%까지 정체가 없었는데, 25% 확률로 속도를 줄이면 밀도 15%에서 이미 정체가 나타났고 정지한 차가 13%였어요.
- 막힌 곳에 가 보면 이유가 없어 보여도, 처음 브레이크를 밟은 차는 이미 앞서 갔을 수 있어요. 정체는 차와 반대로 뒤쪽으로 밀려나요.
- 그렇다면 유령 정체를 줄이려면? 여기선 가끔 밟는 브레이크가 지렛대였어요. 밀도 15%에서 브레이크 0%면 정체가 없었고(속도 5.00), 25%면 3.34로 떨어졌어요. 17%를 넘게 차면 그것만으로 느려져요.
상세 설명
말하는 것: 도로가 어느 정도 차 있으면, 모든 운전자가 규칙을 지켜도 아주 작은 브레이크 하나가 뒤차로 번져 "유령 정체"가 만들어집니다. 정체는 차들의 진행 방향과 반대로 퍼져 나가고, 원인이 된 차는 이미 앞서 가 버려서 막힌 곳에 가 보면 아무 이유도 없어 보입니다.
말하지 않는 것:
- '브레이크 몇 번이면 정체가 생긴다'는 건 이 모델이 보여 준 쪽이에요. 실제 도로의 정체 중 이런 유형이 얼마나 되는지는 도로 관측 자료로 따로 확인해야 해요.
- 사고·병목·신호·차선 변경이 빠진 한 차선 고리 도로예요. 실제 도로의 모든 정체가 이 때문이라는 뜻은 아니에요.
상세 설명
말하지 않는 것: 실제 도로의 모든 정체가 이 때문이라는 뜻은 아닙니다. 사고, 병목, 차선 변경, 신호 같은 요인은 이 모델에 없고, 한 차선 고리 도로라는 매우 단순한 설정입니다. 속도(km/h) 환산은 한 칸을 7.5m, 한 단계를 1초로 본 표준 설정을 따른 것입니다.
이론적 근거와 구현 메모
- 모델의 뿌리: 나겔(Nagel)과 슈레켄베르크(Schreckenberg)가 1992년 Journal de Physique I에 발표한 "A cellular automaton model for freeway traffic"의 셀룰러 오토마톤(칸과 단순한 규칙으로 이루어진 모델)입니다. 규칙 몇 개만으로 고속도로의 "아무 이유 없는 정체"를 만들 수 있음을 보인 고전 모델이에요.
- 핵심 가정과 수식: 모든 차가 동시에 ① 가속(속도+1, 최고 속도 vmax까지) ② 앞차와의 빈칸 수만큼으로 감속 ③ 확률 p로 속도 1 줄이기 ④ 속도만큼 이동을 합니다. 슬라이더는 밀도 ρ(차가 차지한 칸의 비율)와 p예요. p=0이면 ρ<1/(vmax+1)=1/6에서 모두 최고 속도로 달리고, 그 위에서는 평균 속도가
(1−ρ)/ρ칸/단계가 됩니다. - 이 프로젝트의 단순화: 한 차선 고리 도로(길이 300칸)에 차종이 같은 차만 있고, 한 칸을 약 7.5m, 한 단계를 약 1초로 잡아 최고 속도 5칸을 시속 약 135km로 환산한 것은 원 논문의 관례를 따른 이 프로젝트의 환산입니다. 차선 변경, 신호, 합류, 운전자마다 다른 성격은 없고, 실제 교통량과 비교해 맞춘 모델이 아닙니다.
- 이론값과 시뮬레이션: p=0에서는 이론과 시뮬레이션이 정확히 맞습니다. 밀도 20%, 30%, 40%, 60%에서 평균 속도가 4.00, 2.33, 1.50, 0.67칸/단계로
(1−ρ)/ρ와 같고, 밀도 15%까지는 속도 5.00으로 정체가 없습니다. p=25%에는 이런 간단한 닫힌 해를 쓰지 않았고, 밀도 15%에서 속도 3.34, 정지한 차 13%로 정체가 생기는 것을 시뮬레이션으로만 확인했습니다 (node tools/validate-more.js traffic). - 더 읽을거리: Nagel, Schreckenberg (1992), "A cellular automaton model for freeway traffic", Journal de Physique I. / Chowdhury, Santen, Schadschneider (2000), "Statistical physics of vehicular traffic and some related systems", Physics Reports 329. / Sugiyama 외 (2008), "Traffic jams without bottlenecks", New Journal of Physics 10 (원형 도로 실험).
- 구현: 길이 300칸 고리 도로, 최고 속도 5칸이고 모든 차에 규칙을 한꺼번에 적용합니다.
- 검증 결과: 무작위 감속이 없으면 밀도 약 1/6(17%)까지 정체가 없고, 확률이 25%이면 밀도 15%에서 이미 정체가 나타납니다 (
node tools/validate-more.js traffic). - ③, ④번 그래프는 처음 150단계를 버리고 이어지는 200단계(③) 또는 150단계(④)의 평균입니다.