- 내비게이션 시스템의 이해, 최단경로? 최단시간!- 먹통 내비가 탄생하는 이유, 현재 교통상황을 미래에 적용하는 것이 타당한가- 데이터와 사물인터넷, 내비를 더욱 똑똑하게 만들 수 있을까?
글. 신광섭 인천대 동북아물류대학원 교수
네이버내비, 카카오내비, 티맵... 내비게이션이 범람하고 있다. 굳이 자동차 내비게이션을 거론하지 않더라도, 우리가 흔히 사용하는 지도 어플리케이션을 통해 ‘길안내’ 서비스를 받을 수 있는 시대다. 단순히 경로를 제공받는 것이 아닌, 해당 경로까지의 ‘예상 도착시간’까지 함께 제시해주는 식으로 말이다. 그런데 이상한 것이 있다. 우리들이 항상 믿어야 하는 내비는 이상하게 잘 맞지 않는다. 내비가 이동이 원활하다고 추천해준 도로로 이동했는데, 오히려 막히기도 한다. 왜 그럴까. 먹통내비의 시대에 종말을 고하고 싶은 마음에, 발칙한 상상을 해봤다. 멍청한 내비를 똑똑하게 만들 오늘의 주인공은 ‘데이터’와 ‘사물인터넷’이다.
물류뿐만 아니라 공급사슬, 그 밖에 기업의 운영, 관리의 기초는 미래 수요를 예측하는 데서부터 출발한다. 그리고 그 수요 예측 기법은 크게 ‘시계열 데이터’를 활용하는 방법과 ‘예측 모형’을 개발하는 방법으로 나눌 수 있다. 지난 기고(SCM의 시작 수요예측, 양파처럼 까보기)에서는 ‘양파의 가격 변동’이라는 간단한 예제를 통해 기본적인 예측 기법에 대해 알아보았다. 이번 호에서는 실시간으로 수집되는 데이터를 바탕으로 미래를 예측하는 모형을 개발하고 활용하는 문제를 바라보고자 한다. 오늘의 주제는 우리 생활 속에서 가장 많이 활용되고 있는 시스템중 하나인 ‘내비게이션’이다.
우선 본격적으로 시작하기 전에 한 가지 미리 말해두고 싶은 것이 있다. 오늘의 주제가 내비게이션이기는 하지만 결코 필자가 새로운 ‘최적 경로 탐색 알고리즘’을 제안한다거나, 현재 시장에 출시된 내비게이션 소프트웨어에 대한 비교, 분석, 검증, 평가를 하려는 것은 아니다. 그저 내비게이션 시스템을 중심으로 데이터의 수집, 분석, 그리고 미래 예측과의 관계에 대해 평소 가지고 있었던 궁금증을 아주 단순하게, 조금은 발칙하게 이야기 해보고자 한다.
내비의 기본 ‘최단경로 탐색’
스마트폰 사용이 일상화된 지금. 우리는 약속 장소를 확인하거나 주변 사람에게 알려주기 위해서 ‘지도’를 보내주는 경우가 많다. 스마트폰 자체에 내장된 GPS 시스템 덕분에 본인이 지금 어디에 있는지 그리고 약속 장소가 어디인지를 지도 위에서 확인할 수 있기 때문이다. 지도 서비스를 사용해본 사람이라면 알 수 있지만, 현재 국내에서 제공되는 대부분의 지도 서비스는 ‘길찾기’ 기능을 통해 ‘최적의 이동 경로’를 함께 제공해주고 있다.
사진= 네이버, 카카오 등 각사에서 제공하는 지도 서비스. 최적 이동 경로 안내 서비스가 기본 제공된다.
이와 같이 출발지에서 목적지까지 가장 효율적인 경로를 찾아주는 것을 ‘내비게이션 시스템’이라한다. 일반적으로 내비게이션이 제시하는 가장 기본적인 최적 경로는 ‘총 이동거리가 가장 짧은 경로(최단경로)’다. 물론 내비게이션 시스템마다 동일한 목적지와 출발지를 기준으로 하더라도 제시하는 경로가 조금씩 다르기는 하겠지만, 가장 기본이 되는 것이 ‘최단경로’인 것은 부인할 수 없다.
실제 출발지에서부터 수많은 경유지를 거쳐 최종 목적지에 이르는 다양한 경로 중에서 가장 이동거리가 짧은 경로를 찾아내기 위한 다양한 알고리즘이 존재한다. 그리고 이 알고리즘은 기본적으로는 가중치가 부여된 그래프를 대상으로 한다. 가중치가 부여된 그래프는 아래 그림처럼 나타낼 수 있다.
사진= 가중치가 부여된 그래프(예시)
그림에서 알파벳으로 표기된 부분을 ‘노드(Node)’라고 부르며, 노드와 노드를 연결하는 선을 ‘아크(Arc)’라고 한다. 지도상의 특정 지점은 노드로, 해당 지점과 지점의 연결성(이동 가능함)은 아크로 표현하는 것이다. 그리고 아크 위에 표시된 숫자가 바로 ‘가중치’이다. 가령 최단 경로를 찾아내는 문제라면 가중치는 ‘지점과 지점 사이의 거리’가 될 것이다.
예를 들어 지점 A에서 최종 목적지인 F지점까지 갈 수 있는 경로는 중간에 방문하게 되는 노드의 조합과 순서로 표현될 수 있고, 각 노드를 연결하는 호의 가중치를 모두 더한 값이 총 이동 거리가 된다. 가능한 경로중에서 총 이동거리가 최소인 경로를 찾는 것, 그것이 바로 내비게이션 시스템이 제공하는 기본적인 서비스이다.
최단거리보다 ‘최단시간’이라면
그런데 최근 내비게이션 시스템을 사용하다보면, 최단경로 외에도 여러 가지 기준을 다르게 선택할 수 있는 것을 알 수 있다. 상황에 따라서는 거리가 최소인 경로보다는 시간이 가장 적게 걸리는 경로를 선택할 수도 있고, ‘무료도로’나 ‘고속도로’를 우선 선택하는 것처럼 이동하는 경로에 대한 우선순위를 부여할 수도 있다. 만약 ‘최단시간’ 즉, 목적지에 가장 일찍 도착할 수 있는 경로를 찾기 위해서는 가중치 그래프에서 아크 위에 표기된 숫자를 거리에서 ‘시간’으로 바꾸면 된다. 지방도로에 비해 고속도로를 우선 선택한다거나, 그 반대의 경우라면 아크의 특징에 따라 가중치를 조정하는 방식으로 해결 가능하다.
여기서 조금 복잡한 문제가 발생한다. 만약 최단시간이 소요되는 경로를 찾는 경우라면 두 지점 사이에 소요되는 시간을 어떻게 계산할 것인지에 대한 문제가 발생한다. 아주 단순하게 ‘시간=거리/속도’ 공식을 이용해서 주어진 거리를 이동하는 속도로 나누면 될 것인데, 이때 이동하는 속도를 결정하기 위해서는 또 다른 가정이 필요하다. 만약 사람이 걸어서 이동하는 상황이라면 ‘일반적인 사람의 평균 걸음걸이 속도’를 적용할 것이고, 승용차를 이용한다면 ‘현재 해당 구간의 평균 속도’를 적용하는 식이다.
여기서 대부분의 사람들이 비슷한 속도로 걷는다고 가정하는 것이 무리는 아니겠다. 그러나 자동차의 경우는 상황이 조금 복잡하다. 자동차를 운전하는 경우 특정 구간의 최대 속도, 최저 속도는 고정되어 있고 운전자가 다른 차량들과 비슷하게 평균 속도를 크게 벗어나지 않는 범위에서 운전한다는 가정 하에서 평균 속도를 이용하기 때문이다. 다시 말하면, 내비게이션에서 알려주는 도착시간은 다른 사람들처럼 평균 속도로 운행했을 때 도착할 수 있는 시간이라는 의미가 된다. 최근 내비게이션 시스템들은 현재 교통 상황을 주기적으로 반영할 수 있어서 매일 매시간 고정된 평균 속도를 사용하지는 않겠지만, 그래도 현재 구간별 ‘평균 속도’를 사용하는 것은 변함이 없다.
내비대로 갔는데 길이 막히는 이유
앞에서 이야기한 ‘현재의 평균 속도’를 이용하는 것에 대해 항상 다음 두 가지가 궁금했다. 첫 번째는 ‘현재 교통상황을 미래에 적용하는 것이 타당한가?’이고 두 번째는 ‘다른 사람들처럼 평균적으로 운행했을 때의 결과가 의미가 있는가?’이다.
첫 번째 질문이 이해가 조금 어려울 수도 있으니 실제 티맵(T MAP)에서 제공하는 ‘언제갈까?’라는 기능을 소개해 본다. 보통 목적지까지의 경로를 검색한다면 현재시간의 교통상황을 기준으로 최적의 경로를 찾아준다. 그런데 ‘언제갈까?’ 기능은 만약 지금 당장이 아니라 1시간 뒤, 2시간 뒤 혹은 내일 아침에 출발한다면 어느 정도의 시간이 걸리고, 어느 경로가 최적경로인지 알려준다. 이 기능은 오랜 기간 누적된 운행 기록을 바탕으로 출발하는 시점의 교통 상황을 예측하고, 그 결과를 활용해서 소요 시간을 계산하는 방식을 활용할 것으로 예상된다.
사진= SK텔레콤 ‘티맵’의 언제갈까
여기에서 앞서 던진 첫 번째 질문과 ‘언제갈까?’ 기능은 ‘미래 시점’이라는 관점에서 차이가 있다. ‘언제갈까?’ 기능은 미래 시점의 교통 상황을 예측한 것이지만, 앞의 질문은 지금의 교통 상황을 앞으로 운행이 일어날 전체 경로에 적용하는 것이 그리 타당해 보이지 않다는 의미이기 때문이다.
예를 들어 앞선 가중치 그래프에서 지점A를 출발해 C를 거쳐 목적지인 D에 도착한다고 가정하자. A에서 출발할 때 교통상황을 확인하고 소요 시간을 계산하겠지만, 실제 C에서 D로 연결되는 구간을 지나갈 때 교통 상황은 A에서 출발할 때와 동일하다고 말할 수 없다. 즉 A에서 출발할 때를 기준으로 측정된 A-C와 C-D 구간의 교통상황을 일정 시간이 지나 실제로 해당 경로를 지나갈 때의 교통상황으로 적용하게 되면 정확한 도착 시간을 예측하는 것은 불가능해지는 것이다. 아래 그림처럼 처음 출발할 때는 막히지도 않고 금방 목적지에 도착할 것으로 예상했지만, 시간이 지날수록 예상했던 도착 시간은 계속해서 지연되는 일들이 빈번하게 일어나는 식이다.
두 번째 질문은 ‘내가 사용하는 내비게이션 시스템은 평균이 아니라 나에게 꼭 맞는 결과를 알려주어야 한다’는 생각에서부터 시작되었다. 내가 운전하는 자동차에 장착된 내비게이션 시스템이라면, 혹은 내가 사용하는 스마트폰에 탑재된 내비게이션 시스템이라면 적어도 내가 평소에 운전을 어떻게 하는지 알 수 있을 것이다. 내 위치를 알고 있고, 내가 평소 선호하는 경로도 알 수 있고, 내가 과거에 어떻게 운전했는지도 알고 있는 그야말로 나만의 내비게이션이다. 그렇다면 내가 사용하는 내비게이션은 다른 사람들을 기준으로 운전했을 때의 결과가 아니라 내가 운전했을 때의 예상 결과를 알려주는 것이 타당하지 않을까?
아직까지는 아니라고 하지만 최근 사용자로부터 측정된 데이터를 기반으로 개인화된 서비스를 제공하는 방향으로 시장이 변화한다는 점을 감안한다면, 내비게이션 시스템 역시 개인화(Customization)되는 방식으로 변화할 가능성은 분명 존재한다고 생각한다.
‘개인화 내비게이션’에 대한 발칙한 상상
교통 상황의 시점 문제와 개인화된 서비스를 어떻게 해결할 것인지 혹은 해결 가능한지는 현시점에서 확실하게 답할 수 없다. 그러나 아주 단순한 예를 통해 상상을 해볼 수 있지는 않을까 생각해 본다. 가령 서울에서 출발해서 승용차로 부산까지 가야하는 상황이다. 지금은 금요일 오후 3시 경이고, 하늘은 맑다. 내비게이션으로 몇 시쯤 도착할 수 있는 지를 확인하고 싶다. 부산까지는 약 450km 정도 되고, 경부 고속도로나 다른 고속도로도 최대 속도가 100km 정도 되니까 산술적으로는 4시간 30분, 넉넉잡아 저녁 8시 경에는 도착할 수 있을 것이라 생각했다. 그런데 내비게이션의 결과는 필자의 생각과는 아주 다르게 저녁 10시 이후에 도착하는 것으로 나타났다. 왜일까. 내비게이션은 그 이유를 아래와 같이 설명했다.
# 현재 서울에서 출발하면 금호JC까지는 현재의 교통량이 유지되어 시간의 차이가 없겠으나, 대전, 충주, 제천 IC를 통해 고속도로로 유입되는 차량의 수가 증가하는 것으로 보아 금호 JC에 도착할 때쯤의 운행 가능 속도는 60km 수준으로 떨어질 것으로 예측됩니다. 그리고 평소 운전자의 운전 습관을 고려해볼 때 약 100km 운행 후 휴게소에서 30분 휴식을 취할뿐만 아니라 현재 차량의 연료가 충분하지 않으니 휴게소에서 주유를 하는데 시간이 더욱 소요될 것입니다. 금호JC를 통과한 후부터는 금요일 저녁 퇴근 시간이 되고, 경상남도 청도와 밀양 지역에 강한 폭우가 예상되어 교통 체증이 심해 시속 50km 이하로 운행하게 될 것입니다. 시속 50km 이하의 속도로 고속도로를 운행하는 것보다 국도를 이용하는 것이 시간 기준으로 더욱 유리하겠으며, 저녁 8시 경 예상 경로중 자주 가시던 식당이 있으니 저녁 식사를 하시고 다시 출발한다면 밤 10시 정도에 목적지에 도착할 것으로 예상됩니다.
상상으로 끝나지 않는다면
앞서 필자가 제시한 시나리오상 내비게이션 시스템이 알려준 답변이 약간 허무맹랑하게 들릴 수도 있다. 그렇지만 필자는 앞으로 이런 서비스의 구현이 멀지 않았다고 생각한다. 사물인터넷(IoT, Internet of Things) 기술이 보급되면 실시간으로 모든 데이터들을 확보할 수 있기 때문이다.
예를 들어 고속도로 진출입로의 상황을 사물인터넷을 통해 실시간으로 확인할 수 있다면, 현시간, 특정 구간 위에 몇 대의 차량이 운행되고 있는지 정확하게 파악할 수 있다. 현재의 수치와 함께 과거 데이터 분석을 통해 앞으로 몇 대의 차량이 특정 구간에 더 유입되고 빠져나갈 것인지도 예측할 수 있게 된다. 구간내 차량의 대수, 요일, 기온, 강우 여부, 시간대 등 외부 정보와의 결합을 통해 해당 시간대의 속도가 다시 예측될 가능성도 제기된다.
이렇게 되면 현재 시간 기준 교통 상황이 아니라 가까운 미래에 그 지점을 통과할 때의 교통 상황, 즉 ‘속도’를 예측할 수 있게 된다. 또한 앞서 언급한 출발할 때 내비게이션이 예측한 소요 시간이 계속해서 지연되는 일들 역시 줄어들 수 있다. 물론 실시간으로 측정되는 데이터를 통해 지속적으로 경로 탐색이나 소요 시간 업데이트를 하는 것은 여전히 필요하다. 다른 한 가지는 일반적인 대중에게 공통으로 제공되는 경로 탐색 서비스가 아니라 개인정보, 차량 정보, 과거 운행 이력 등을 종합적으로 분석해 나에게 꼭 맞는 개인화된 서비스 제공이 가능하다는 점이다.
지금까지 내비게이션 서비스를 대상으로 실시간으로 측정되어 누적된 데이터를 통해 가까운 미래를 예측하고, 개인화된 서비스를 제공하기 위한 방안을 말 그대로 상상해 보았다. 어떤 내비게이션은 이미 이런 기능을 제공할 수도 있고, 아니면 서비스 제공을 준비하고 있을 수도 있다. 무엇보다 중요한 것은 실시간으로 확보되는 수많은 데이터 분석을 통해 현재를 이해하는 것도 필요하지만, 가까운 미래를 예측하고 그 예측 결과를 기반으로 더 큰 가치와 효용을 만들어낼 수 있는 방법을 찾아야 한다는 것이다. 그것이 바로 데이터를 모으고 분석하는 근본적인 목적이라고 할 수 있다.
댓글 영역