2019년 3월 24일 일요일

교차로 교통신호체계와 순열

오거리에 선 운전자 언제 건널 수 있을까
[생활 속 수학이야기](32) 교차로 교통신호체계와 순열
동해와 맛있는 초당두부를 생각하면 단연 강릉이 최고다. 강릉을 여행하고 돌아오는 길에 갑자기 이상한 생각이 들어서 주위를 살펴보니 길이 여섯 개가 만나는 육거리다. “아니, 여의도 오거리, 디지털단지 오거리, 목동 오거리와 같이 오거리는 많이 봤지만 육거리라니?” 뭔가 어색하고 낯설기까지 하다. 인터넷을 검색한 결과 놀랍게도 대구의 봉산 육거리, 청주의 석교 육거리, 제주의 고산 육거리와 같이 여섯 개의 길이 만나는 육거리가 종종 있었다. 과연 칠거리와 팔거리도 있을까? 많지는 않았지만 칠거리와 팔거리도 찾을 수 있었다. 흔히 볼 수 있는 사거리만 해도 복잡한데 오거리, 육거리, 칠거리, 팔거리의 복잡함은 가히 상상이 가지 않는다. 
이렇게 길이 많이 교차되는 곳은 교통의 요지라고 할 수 있다. 이런 곳은 한 지역에서 다른 지역으로 옮겨 가려면 파란 불이 켜질 때까지 여러 번을 기다려야만 한다. 특히 무더운 여름날 내가 지나가도 된다는 파란 신호를 기다려야 하는 일은 그리 쉽지 않다. 다음이 내 신호일까 싶으면 다른 쪽에서 차들이 달려오고, 또 이번이 내 신호인가 싶으면 다른 쪽에서 차가 좌회전을 받고 달려온다. 언제쯤 내가 지나가도 되는 것일까? 
길이 여러 개 만나는 곳은 언뜻 생각해도 복잡할 것 같지만 그 이유를 수학적으로 생각하면 더욱 분명해진다. 길이 여러 개 만날 때 이동 경로는 몇 개인지 구해 보자.
먼저 A, B, C 세 길이 만나는 삼거리의 경우 이동 경로는 A에서 B로, A에서 C로, B에서 A로, B에서 C로, C에서 A로, C에서 B로의 여섯 가지가 있다. 
[생활 속 수학이야기](32) 교차로 교통신호체계와 순열
사거리의 경우에는 A에서 B, C, D로 가는 3가지 경우가 있고, 다른 지역도 마찬가지로 각각 3가지 경우가 있으므로 전체 경우는 12가지가 있다. 마찬가지 방법으로 이동 경로의 경우의 수를 구하면 오거리의 경우 5×4=20, 육거리는 6×5=30이 된다. 더욱 어려운 수학 용어를 사용한다면, 이것은 오거리의 경우 5개에서 순서를 정해 2개를 선택하는 순열이라고 하며, 이 순열의 수는 5P2와 같이 나타낸다. 
이동 경로의 수를 표로 정리해 보자. 
이 표에서 알 수 있는 것처럼 거리가 하나 더 추가될 때마다 이동 경로 수는 비례적으로 커지는 것이 아니라 훨씬 더 커지고 있다. 그런데 이 수들은 사실 다각형의 대각선의 수와 관계가 있다. 예를 들어 오각형을 생각해 보자. 어느 세 점도 일직선 위에 있지 않은 다섯 개의 점을 모두 이으면 오각형에서 대각선을 모두 그은 것과 같게 된다. 도로에서는 A에서 B로 가는 것과 B에서 A로 가는 경로가 모두 하나의 선분으로 처리된 것과 같으므로, 오각형에서 변의 수와 대각선의 수를 모두 더한 것은 오거리의 이동경로 수의 절반과 같게 된다. 
[생활 속 수학이야기](32) 교차로 교통신호체계와 순열
다시 교차로로 돌아가자. 도로에서는 자동차가 다니는 이동 경로만 생각할 것이 아니라 사람들이 길을 건너다닐 수 있도록 배려를 해야 한다. 옛날에는 무조건 교차로에 육교를 만들어서 사람들은 육교로만 다니도록 하기도 했었다. 그렇게 하면 차들이 다니는 경우만 고려해 교통신호 체계를 만들면 된다. 그런데 요즘은 차보다 사람을 중요하게 생각하고 장애인들을 배려하면서 육교를 많이 없애고 있다. 일본이나 미국의 경우 보행신호가 어떤 신호체계에 의해서 움직이기도 하지만, 복잡하지 않은 곳에서는 보행자가 버튼을 누름으로써 보행신호를 받을 수도 있다. 이 모든 것들이 고려되어 신호체계가 바뀌려면 복잡하지 않을 수 없다. 
삼거리에서는 교통신호 체계가 간단하다. 즉, 길 A에서 사람들이 건너다니는 동안 차들은 B에서 C로, C에서 B로 움직이면 되고, 이어서 길 B에서 사람들이 건너갈 수 있게 하면 차는 A에서 C로, C에서 A로 움직이면 된다. 그리고 길 C에서 사람이 건너가게 하면 된다.
[생활 속 수학이야기](32) 교차로 교통신호체계와 순열
사거리에서는 조금 복잡하다. A와 C에서 사람들이 건너가고 차들은 B와 D 사이를 다니게 한다. 이어서 B와 D에서 사람들이 건너가고 차들은 A와 C 사이를 지난다. 차가 A와 B를 다닐 때 동시에 C와 D를 다니게 하고 A와 D를 다닐 때는 B와 C를 다니게 하면 된다. 물론 이때는 어느 길에서도 사람들은 길을 건널 수 없다. 이런 경우 적절히 순서를 정하면 될 것이다. 물론 D를 사람들이 건너는 동안 차는 C에서 A로 직진하거나 B로 좌회전하게 할 수도 있다. 어떤 방법을 선택하는가 하는 것은 각 도로의 교통량 등을 고려해서 판단해야 할 것이다. 
오거리는 아주 복잡하기 때문에 어느 특정한 이동경로는 허용하지 않기도 한다. 대신 이런 경우에는 U턴이나 P턴과 같은 새로운 방법을 도입하기도 한다. 사실 길이 여러 개 교차될 때 모든 길에 다니는 사람이나 차의 수가 비슷하지 않고 현격한 차이가 나는 경우가 대부분이다. 그러므로 이용이 적은 이동 경로는 P턴과 같은 방법을 이용하면 기다리는 시간을 줄일 수 있다.
어쨌든 교통신호 체계를 만드는 것은 그리 쉬운 일은 아니며 복잡하고 수준 높은 수학이 요구된다. 오거리에서 사람과 차에 부대끼며 오랜 시간 파란불을 기다릴 때 짜증을 내기보다는 이 도로에 적용되고 있는 수학을 생각하다 보면 지루함과 짜증을 잊을 수 있지는 않을까?
경향신문

댓글 없음: