가끔씩 자동차를 타고 길을 가다보면 Navigator 의 길안내 기능이 2% 부족함을 느끼게 됩니다.
네비라는 것이 A라는 출발점에서 B라는 목적지점으로 가는 길을 안내해 줌에 있어서 중요한 요소는 단순히 도로의 거리와 도로의 크기가 아니라 도로에 있는 신호등의 수, 신호등의 신호 간격, 해당 도로를 사용하는 차량의 수, 해당 도로의 최고 속도, 좌/우회전의 횟수 등등에 의한 실제 소요 시간이라는 것이 개인적인 생각입니다.
그런데 여기서 도로의 실제 거리와 크기가 아닌 다른 항목들은 단순히 정량화 하기 상당히 애매하다는 것이 아마도 이러한 정보가 현재의 네비게이션에 반영되지 않는 이유일 듯 싶습니다.
특히 해당 도로를 사용하는 차량의 수는 도로의 이용에 있어서 상당히 중요한 portion을 차지하면서도 정량화 하기 극히 애매한 factor라는 겁니다.
그래서 "해당 도로를 사용하는 차량의 수"라는 것을 어떻게 정량화 할 수 있을까 잠깐 고민해 봤습니다.
그랬더니 "해당 도로를 사용하는 차량의 수"라는 것은 "시간"이라는 변수와 밀접한 관계가 있다는 생각에 다다랐습니다. (중간 과정은 묻지 말아주세요~)
그렇다면 "해당 도로를 사용하는 차량의 수"를 시간에 대해 정량화 할수 있는 방법이 있는가 역시 잠깐 고민해 봤습니다.
있겠더군요. 연역적인 방법이 아니라 귀납적인 방법을 통해 정량화를 하는 겁니다.
즉, DB를 작성해서 산포를 측정하는 겁니다.
간단히 시스템을 말하자면
누군가가 A에서 B로 가는 길을 갑니다. 일단 시간에 따른 차량 정보가 없으니 최단거리나 기타 기존 네비 알고리즘으로 길을 찾아 갑니다. 그래서 A에서 B로 가는 길에 대한 시간 정보가 나오게 되면 이를 DB에 등록합니다.
다른 누군가가 A'에서 B'으로 가는 길을 갑니다. 역시 A'에서 B'으로 가는 길에 대한 시간 정보가 나오게 되면 이를 DB에 등록합니다.
이러한 식으로 A 유사지점에서 B유사지점 까지의 도로이용에 대한 각 시간별 각 도로구간별 정보가 수집되게 되면 이를 바탕으로 해당 시간에서의 최적 도로 선택방식을 산출할 수 있게 됩니다. (말이야 쉽지만 쉽지는 않겠지요 @_@)
즉, 시간별, 요일별, 월별 등등으로 특정 도로 구간에 대한 가중치를 주어 시간을 고려한 최단 거리를 산출하게 되는 겁니다.
물론 DB를 각 네비별로 따로 가지고 있을 수 없으니 DB 서버와 네비간의 양뱡향 통신이 지원되야 하고, 개인이 이동한 내역을 DB에 저장한다는 것은 개인 정보 유출과 관련해 논란이 있겠습니다.
양뱡향 통신이야 요즘 발달하는 무선 데이타 통신으로 처리하면 될터이고,
개인 정보 문제는 db 등록 정보를 제한하는 방법이나, 최단거리 순위 site 운용, 최단거리 등록 이벤트 등을 통한 사용자 활동을 유도하는 쪽으로 해결하면 될 것 같습니다.
아뭏튼 출근 시간임에도 불구하고 꽉꽉 막히는 도로로 길안내를 하는 네비를 보고 한숨한번 쉬어 줍시다.
그나저나 A-B-C 라는 도로가 막혀서 A-B'-C라는 도로를 안내하게 되면 다시 A-B-C가 막히지 않게 되는 상황이 발생할테니 다시 A-B-C라는 도로를 안내하게 되고 그러면 다시 A-B-C가 막히게 되니 다시 A-B'-C를 안내하게 되고.....
Posted by exstall


