KR20180017637A - 사용자 특성과 제한조건을 고려한 경로 추천 시스템 및 그 방법 - Google Patents

사용자 특성과 제한조건을 고려한 경로 추천 시스템 및 그 방법 Download PDF

Info

Publication number
KR20180017637A
KR20180017637A KR1020160101779A KR20160101779A KR20180017637A KR 20180017637 A KR20180017637 A KR 20180017637A KR 1020160101779 A KR1020160101779 A KR 1020160101779A KR 20160101779 A KR20160101779 A KR 20160101779A KR 20180017637 A KR20180017637 A KR 20180017637A
Authority
KR
South Korea
Prior art keywords
node
time
user
path
nodes
Prior art date
Application number
KR1020160101779A
Other languages
English (en)
Other versions
KR101860495B1 (ko
Inventor
이용규
백세인
Original Assignee
동국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 동국대학교 산학협력단 filed Critical 동국대학교 산학협력단
Priority to KR1020160101779A priority Critical patent/KR101860495B1/ko
Publication of KR20180017637A publication Critical patent/KR20180017637A/ko
Application granted granted Critical
Publication of KR101860495B1 publication Critical patent/KR101860495B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3461Preferred or disfavoured areas, e.g. dangerous zones, toll or emission zones, intersections, manoeuvre types, segments such as motorways, toll roads, ferries
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3476Special cost functions, i.e. other than distance or default speed limit of road segments using point of interest [POI] information, e.g. a route passing visible POIs
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/3676Overview of the route on the road map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)

Abstract

사용자 특성을 고려한 경로 추천 방법에 관한 것으로서, 지도상 노드들에 대해 도로상태 별로 사용자 특성을 반영하여 산정된 이동시간 데이터를 포함하여 지도 그래프 데이터베이스를 구축하는 단계와, 사용자 단말로부터 사용자 입력정보 및 출발지점에서 도착지점까지의 보행경로에 대한 안내요청을 수신하는 단계와, 지도 그래프 데이터베이스로부터 사용자 입력정보에 해당하는 이동시간 데이터를 조회하고, 조회된 이동시간 데이터를 이용하여 최단시간 경로를 탐색하는 단계 및 탐색된 최단시간 경로를 사용자 단말에 제공하는 단계를 포함한다.

Description

사용자 특성과 제한조건을 고려한 경로 추천 시스템 및 그 방법{System and method for recommending paths with consideration for condition and features of users}
본 발명은 사용자 특성과 제한조건을 고려한 경로 추천 시스템 및 그 방법에 관한 것으로, 특히 사용자의 연령대 및 신체 상태와 같은 사용자 특성과, 사용자에 의해 설정된 제한조건들에 부합하는 최적의 경로를 추천해주는 시스템 및 방법에 관한 것이다.
웹과 모바일 지도를 포함하는 애플리케이션을 통하여 대중교통, 자동차, 자전거, 도보 등의 교통수단에 대응하는 경로에 대한 안내를 받을 수 있는 경로 안내 서비스가 다양화되고 있다.
이러한 경로 안내 서비스는 사용자가 선택한 출발지점과 목적지점에 따라서 이동하는데 걸리는 시간, 출발지점과 목적지점 간의 거리 및 다양한 경로 등에 대하여 교통수단별 안내 경로 목록을 사용자에게 제공하고 있다.
종래의 경로 안내 서비스를 통해 교통수단을 도보로 선택하여 경로 탐색을 요청하는 경우, 사용자에게 안내되는 예상 소요 시간은 일반 성인의 평균적인 걸음걸이와 보폭 및 속도 등을 고려하여 생성된 결과이다.
이러한 결과에 기초하여 제공되는 정보는 어린이나, 임산부, 환자, 노인과 같이 보통의 성인으로 분류되지 않는 사용자들에게는 부적합한 서비스를 야기한다.
또한, 종래의 경로 안내 서비스는 주로 출발지점에서 목적지점까지의 최단 거리 및 이동하는데 걸리는 최소 소요 시간을 기준으로 경로를 탐색하여 사용자에게 제공하는데, 이러한 결과에 기초하여 제공되는 정보는 이동 시간을 정해두고 관광, 시내관광, 관람 및 쇼핑 등을 할 수 있는 경로 안내를 원하는 사용자에게는 도움이 안 되는 서비스일 수 있다.
이와 같은 관점에서, 경로 안내 서비스를 이용하는 사용자의 특성과, 제한시간과 같은 사용자의 니드(need)를 고려한 경로 안내 서비스가 필요하다는 사실을 알 수 있다.
한편, 이러한 경로 안내 서비스에서 주로 사용되는 경로 탐색 기술로서 A* 알고리즘이 있다. A* 알고리즘은 최적의 경로를 탐색하는 알고리즘으로 평가함수(적합도)를 사용하여 출발지점에서 목적지점까지의 최단 경로를 탐색하는 알고리즘이다. 평가함수(적합도)란 인접된 각 위치에 대한 함수값으로 최단 경로를 탐색하기 위하여 사용되는 함수이다. A* 알고리즘은 최적의 경로를 탐색해주는 장점이 있다.
대한민국 등록특허공보 제10-1513588호(2013년8월9일, “길찾기 서비스 제공장치 및 길찾기 서비스 제공 방법”)
따라서, 본 발명이 해결하고자 하는 첫 번째 과제는 도로 상태에 따라서 연령대 및 사용자 신체 상태를 고려하여 맞춤형 최단시간 경로를 제공할 수 있는 기술적 수단을 제공하는데 있다.
또한, 본 발명이 해결하고자 하는 두 번째 과제는 사용자의 특성뿐만 아니라, 사용자가 보행도로에 대해 원하는 제약시간에 대한 제한조건을 고려하여, 사용자 맞춤형 최적경로를 제공할 수 있는 기술적 방법을 제안하는 데 있다.
또한, 본 발명이 해결하고자 하는 세 번째 과제는 사용자가 설정한 최단이동시간, 최소비용 및 중요 명소 안내 중 적어도 하나에 대한 제한조건을 고려하여, 사용자 맞춤형 최적경로를 제공할 수 있는 기술적 방안을 제안하는데 있다.
본 발명의 일실시 예에 따른 사용자 특성을 고려한 경로 추천 방법은 지도상 노드들에 대해 도로상태 별로 사용자 특성을 반영하여 산정된 이동시간 데이터를 포함하여 지도 그래프 데이터베이스를 구축하는 단계와, 사용자 단말로부터 사용자 입력정보 및 출발지점에서 도착지점까지의 보행경로에 대한 안내요청을 수신하는 단계와, 상기 지도 그래프 데이터베이스로부터 상기 사용자 입력정보에 해당하는 상기 이동시간 데이터를 조회하고, 상기 조회된 이동시간 데이터를 이용하여 최단시간 경로를 탐색하는 단계 및 상기 탐색된 최단시간 경로를 상기 사용자 단말에 제공하는 단계를 포함한다.
본 발명의 다른 실시 예에 의하면, 상기 최단시간 경로를 탐색하는 단계는, 경유노드에서 목적노드로의 방향 및 목적노드까지의 최단거리에 대한 시간을 고려하면서 다음 노드를 선택하기 위한 적합도를 계산하고, 상기 경유노드에서 인접한 노드들에 대한 상기 적합도의 수치 비교에 기초하여 상기 다음 노드를 선택한다.
본 발명의 또 다른 실시 예에 의하면, 상기 적합도는 현재노드에서 경유노드까지의 실제거리에 대해 산정된 상기 이동시간 데이터와 상기 경유노드에서 목적노드까지의 직선거리에 대해 산정된 상기 이동시간 데이터를 합산하여 계산된다.
본 발명의 또 다른 실시 예에 의하면, 상기 지도 그래프 데이터베이스를 구축하는 단계는, 상기 도로 상태를 오르막, 내리막, 평지 및 횡단보도로 분류하는 단계 및 상기 분류된 도로상태마다 상기 사용자의 특성을 고려하여 상기 보행속도를 산정하는 단계를 포함한다.
본 발명의 또 다른 실시 예에 의하면, 사용자 특성정보는 사용자의 연령대 및 사용자의 신체상태 정보중 적어도 하나를 포함하여 구성되고, 상기 사용자의 연령대는 평균 보행속도가 유사한 연령대별로 구분되며, 상기 사용자의 신체상태 정보는 임신 및 병력 정보 중 적어도 하나를 포함하는 정보로 구성된다.
본 발명의 다른 실시 예에 따른 사용자 특성 및 시간 제약을 고려한 경로 추천 방법은, 지도상 노드들에 대해 도로상태 별로 사용자 특성을 반영하여 산정된 이동시간 데이터를 포함하여 지도 그래프 데이터베이스를 구축하는 단계와, 사용자 단말로부터 사용자 입력정보 및 출발지점에서 도착지점까지의 보행경로에 대한 안내요청을 수신하고, 사용자가 원하는 이동시간에 대한 제약시간을 입력받는 단계와, 상기 지도 그래프 데이터베이스로부터 상기 사용자 입력정보에 해당하는 상기 이동시간 데이터를 조회하고, 상기 조회된 이동시간 데이터를 이용하여 상기 제한시간에 부합하는 최적경로를 탐색하는 단계 및 상기 탐색된 최적경로를 상기 사용자 단말에 제공하는 단계를 포함한다.
본 발명의 또 다른 실시 예에 의하면, 최적경로를 탐색하는 단계는, 경유노드에서 다음 순위의 노드를 선택하기 위해 현재노드에서 상기 시간제한 및 적합도에 기초하여 설정된 조건을 이용하고, 상기 적합도는 상기 경유노드에서 상기 목적노드로의 방향 및 상기 목적노드까지의 최단거리에 대한 시간을 고려하면서 다음 노드를 선택하기 위해 상기 현재노드에서 상기 경유노드까지의 실제거리에 대해 산정된 상기 이동시간 데이터와 상기 경유노드에서 목적노드까지의 직선거리에 대해 산정된 상기 이동시간 데이터를 합산하여 계산된다.
본 발명의 또 다른 실시 예에 의하면, 상기 다음 노드를 선택하기 위해
Figure pat00001
의 조건에 따라, 현재노드에서의 제약시간이 현재노드에서의 적합도보다 같거나 커야하고, 동시에 현재노드의 상기 제약시간에서 적합도를 차감한 값 중 가장 작은 값을 우선으로 선택하며, 여기서,
Figure pat00002
이고,
Figure pat00003
은 경유노드(n노드)에서의 시간 제약 값이고,
Figure pat00004
는 입력받은 시간 제약 값이며,
Figure pat00005
는 k번째 g(n)값이고, v는 현재 위치한 노드이며,
Figure pat00006
의 식을 이용하여 계산하고, 여기서,
Figure pat00007
은 적합도,
Figure pat00008
은 현재 노드에서 경유노드까지의 실제 거리에 대한 상기 사용자 특성에 따른 예상이동시간을 의미하고, 여기서,
Figure pat00009
이며,
Figure pat00010
는 인접한 두 노드 i에서 j까지의 예상이동시간,
Figure pat00011
는 인접한 두 노드 i에서 j까지의 보행도로 상태에 따른 세부구간의 이동거리, d는 인접한 두 노드 i에서 j까지의 보행도로 상태에 따른 세부구간의 개수,
Figure pat00012
는 사용자 특성별 경사도에 따른 보행 속도,
Figure pat00013
는 신호대기시간,
Figure pat00014
는 횡단보도의 개수,
Figure pat00015
은 휴식시간,
Figure pat00016
은 휴식횟수를 나타낸다.
본 발명의 또 다른 실시 예에 의하면, 상기 경유노드에서 상기 조건이 성립되지 않을 경우, 다시 전 단계 노드의 위치로 돌아가 선택되었던 노드를 제외하고 다음 순위의 노드를 선택하며, 이 과정을 목적노드가 탐색될 때까지 반복함으로써, 최종적으로 상기 시간 제약에 부합하는 상기 최적경로를 선택할 수 있다.
본 발명의 또 다른 실시 예에 의하면, 상기 다음 노드를 선택하기 위해,
Figure pat00017
의 조건에 따라, 현재노드에서의 시간 제약 값
Figure pat00018
이 상기 현재노드에서 목적노드까지의 수직거리에 대한 예상이동시간 h(n)보다 크거나 같아야하고, 상기 현재노드에서의 시간 제약 값
Figure pat00019
과 상기 현재노드에서 상기 목적노드까지의 수직거리에 대한 예상이동시간 h(n)의 차이가 최소인 노드를 다음 노드로 선택한다.
상기 다른 기술적 과제를 해결하기 위하여, 본 발명은 지도상 노드들에 대해 도로상태 별로 사용자 특성을 반영하여 산정된 평균이동시간, 상기 각 노드를 보행하는 데에 드는 평균비용 및 상기 각 노드에 포함된 각 명소의 중요도를 수치화하여 데이터베이스를 구축하는 단계와, 사용자 단말로부터 사용자 입력정보, 출발지점에서 도착지점까지의 보행경로에 대한 최단이동시간, 최소비용 및 주요 명소안내 중 적어도 하나에 대한 제한조건과 함께 상기 각 제한조건에 대한 사용자 선호도를 입력받으며, 상기 보행경로에 대한 안내요청을 수신하는 단계와, 상기 데이터베이스로부터 상기 사용자 입력정보 및 상기 입력된 제한조건에 해당하는 수치를 조회하고, 상기 조회된 수치와 상기 사용자 선호도를 이용하여 최적경로를 탐색하는 단계 및 상기 탐색된 최적경로를 상기 사용자 단말에 제공하는 단계를 포함한다.
본 발명의 또 다른 실시 예에 의하면, 상기 최적경로를 탐색하는 단계는, 경유노드에서 인접한 노드들에 대해 상기 각 노드에 해당하는 상기 각 제한조건의 수치와 상기 각 사용자 선호도의 곱들을 합산하여 가중치를 구하고, 상기 경유노드에서 인접한 노드들 중 상기 가중치가 가장 낮은 노드를 다음 노드로 선택한다.
본 발명의 일실시 예에 따르면, 보행도로 상태에 따라 사용자 특성을 고려하여 미리 산정된 보행속도를 사용함으로써, 각 노드 간의 엣지의 값에 대해 예상 이동 시간을 산출하여 구하고, 이를 통해 사용자에게 적합한 경로를 추천할 수 있다.
아울러, 본 발명의 일실시 예에 따르면, 도로상태에 따라 사용자 특성을 고려하여 예상이동시간을 계산하고, 이 예상이동시간을 이용하여 경로를 탐색한 결과, 기존의 경로 안내 서비스보다 사용자에게 실질적으로 실제 이동시간과 근사한 예상 이동 시간을 제공할 수 있다.
또한, 본 발명의 다른 실시 예에 따르면, 보행도로 상태에 따른 사용자 특성을 고려함과 동시에 제한조건으로서 제약시간 내에 부합하는 보행경로를 탐색할 수 있다.
더불어, 본 발명에서는 경로를 탐색하는데에 있어서 변형된 A* 알고리즘을 이용하여 탐색 영역을 축소하면서, 사용자 특성을 고려함과 동시에 제한조건에 부합하는 경로를 효율적으로 탐색할 수 있다.
도 1은 본 발명의 일실시 예에 따른 경로 추천 시스템의 구성을 개략적으로 나타내는 블록도이다.
도 2는 본 발명의 일실시 예에 따른 지도 그래프 데이터 생성의 흐름을 나타내는 흐름도이다.
도 3은 노드 i와 노드 j간의 실제거리와 직선거리를 도식화한 도면이다.
도 4는 웹에서 제공되는 지도상에 표현된 횡단보도와 등고선을 나타내는 도면이다.
도 5는 인접된 두 노드 i에서 노드 j까지의 거리의 보행도로 상태에 따라 세부구간을 나눈 것을 도시한다.
도 6은 지도 그래프에서 출발지점과 목적지점이 주어졌을 때 직선 축을 도시한다.
도 7은 탐색 영역을 지정하는 것을 도식화한 도면이다.
도 8은 출발지점에서 인접된 노드들에 대한 적합도를 계산하는 것을 도식화한 도면이다.
도 9는 선 적합도 계산 과정을 거친 후 다음 선택된 노드에서의 적합도를 계산하는 과정을 도식화한 도면이다.
도 10은 경로 탐색의 마지막 단계를 도식화한 도면이다.
도 11은 본 발명의 제1 실시 예에 따른 사용자 특성을 고려한 경로 추천 방법을 설명하기 위한 순서도이다.
도 12는 본 발명의 제2 실시 예에 따른 사용자 특성 및 시간 제약을 고려한 경로 추천 방법을 설명하기 위한 순서도이다.
도 13은 본 발명의 제3 실시 예에 따른 사용자 특성 및 제한조건을 고려한 경로 탐색 방법을 설명하기 위한 순서도이다.
본 발명의 실시 예들을 설명하기에 앞서, 기존의 경로 안내 서비스에서 발생하는 문제점들을 검토한 후, 이들 문제점을 해결하기 위해 본 발명의 실시 예들이 채택하고 있는 기술적 수단을 개괄적으로 소개하도록 한다.
종래의 경로 안내 서비스는 최단시간 경로를 제공함에 있어서, 일반 성인의 평균적인 걸음걸이와 보폭 및 속도 등을 고려하여 생성된 경로를 제공함에 따라, 연령대와 사용자의 신체 상태에 맞는 최단시간 경로를 제공하지 못한다는 단점이 존재한다.
따라서, 본 발명의 실시 예들은 도로 상태에 따라서 연령대 및 사용자 신체 상태를 고려하여 산정된 이동시간 데이터를 데이터베이스로 구축하고 이용함으로써, 도로 상태와 사용자의 특성을 고려하여 최적화된 최단시간 경로를 제공할 수 있는 기술적 수단을 제안한다.
더불어, 본 발명의 실시 예들은 사용자의 특성뿐만 아니라, 사용자가 보행도로에 대해 원하는 제약시간에 대한 제한조건을 고려하여, 사용자 맞춤형 최적경로를 제공할 수 있는 기술적 방법을 제안한다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 구체적으로 설명하도록 한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
도 1은 본 발명의 일실시 예에 따른 경로 추천 시스템의 구성을 개략적으로 나타내는 블록도이고, 도 2는 본 발명의 일실시 예에 따른 지도 그래프 데이터 생성의 흐름을 나타내는 흐름도이다.
도 1을 참조하면, 본 발명의 제1 실시 예에 따른 경로 추천 시스템은 경로 추천 서버(110), 네트워크(120) 및 사용자 단말(130)을 포함하여 구성된다.
경로 추천 서버(110)는 지도상 노드들에 대해 도로상태 별로 사용자 특성을 반영하여 산정한 이동시간 데이터를 포함하여 지도 그래프 데이터베이스(111)를 구축한다. 그리고, 경로 탐색 알고리즘을 이용하여 사용자 특성을 고려한 최단시간 경로를 탐색하고, 탐색된 최단시간 경로에 대한 정보를 사용자 단말(130)에 제공한다.
경로 탐색은 여러 노드들과 엣지들로 구성되어 있는 그래프 기반에서 이루어진다. 지도에서 각 노드는 위치를 나타내고, 각 엣지는 선으로 연결된 두 위치 간의 관계를 나타낸다. 엣지는 노드와 노드가 인접관계에 있음을 나타내고, 이러한 엣지는 위치들 간의 거리, 시간, 비용 및 이외의 설정된 데이터로 나타낼 수 있다.
한편, 일반적인 경로 안내 서비스는 일반적인 성인의 평균 보행 속도를 기준으로 경로를 제공하고 있으며, 도보의 경우 성인의 도보기준 4Km/hr로 산출하여 전체 경로 이동 시간을 사용자에게 제공하고 있기 때문에 보행속도가 느린 어린이, 노인, 환자 및 임산부와 같은 사용자들에게 적합한 경로 안내 서비스를 제공하지 못한다. 즉, 어린이나 노인, 환자 및 임산부의 보행속도는 일반적인 성인의 평균 보행속도에 비해 느리기 때문에 종래에 제공된 전체 경로 이동 시간이 부적합하며, 경사가 높은 오르막길 또는 내리막길과 같은 보행도로는 어린이나 노약자가 보행하기에 힘든 경로임이 사실이다. 이러한 사실들을 종합해보았을 때, 기존의 경로 안내 시스템으로는 다양한 사용자에 맞추어 최적화된 경로 및 이동 시간을 제공하는 것이 불가능하다고 볼 수 있다.
따라서, 본 발명의 경로 추천 서버(110)는 보행 도로의 상태와 사용자의 연령대 및 신체 상태를 고려하여 미리 산정된 평균 보행 속도를 이용하고, 실제 이동 시간과 근접한 값을 산출하는 것을 목표로 한다. 즉, 각 노드들 간 엣지에 대해서 보행도로의 상태를 고려하며 사용자의 연령대 및 신체 상태별로 보행 속도를 계산하고, 이를 통해 각 경로에 대한 예상 이동 시간을 산출할 수 있다.
지도 그래프 데이터베이스(111)는 경로 탐색 알고리즘을 시행하기 전에 기본으로 구성된다. 데이터 셋의 구성은 도 2에 도시된 지도 그래프 데이터 생성의 흐름도를 참조하면, 지도 데이터(210)로는 지도상에서 위치를 가리키는 각 노드의 위도, 경도에 따른 좌표값, 노드 간의 거리값, 노드 간의 속성 값의 정보를 포함한다. 또한, 사용자 데이터(230)로는 사용자의 연령대 또는 신체 상태를 고려하여 산정된 보행속도 정보(240)를 포함한다. 서버(110)는 지도 그래프 데이터베이스(111)에서 추출된 지도 데이터(210)와 사용자 데이터(230)를 혼합하여 사용자 특성을 고려한 각 노드 간의 이동시간을 계산(250)하고, 이를 이동시간 데이터(260)로서 지도 그래프 데이터베이스(111)에 저장한다.
본 발명에서 노드는 특정 위치(예를 들어, 관광지, 운동코스 등)를 의미하고, 위치 간에 연결된 엣지는 지도상에서 제공된 거리를 기반으로 산출된 실제 이동 시간과 근접한 예상 이동 시간을 계산한 값을 사용할 수 있다. 이를 위해 도로상태 별로 사용자 특성을 고려하여 미리 산정된 보행속도 데이터를 이용함으로써, 사용자가 실제 이동하는 시간과 가장 근접한 경로 이동 예상시간을 계산할 수 있다.
이하, 사용자 특성을 고려하여 노드 간의 이동시간 데이터를 구하는 방법에 대해 설명한다. 도 3은 노드 i와 노드 j간의 실제거리와 직선거리를 도식화한 도면이다. 도 3을 참조하면,
Figure pat00020
는 노드 i와 노드 j까지의 실제거리(Actual distance)를 나타내고,
Figure pat00021
는 노드 i와 노드 j까지의 직선거리(Euclidean distance)를 나타낸다. 본 발명에서는
Figure pat00022
Figure pat00023
를 이용하여 노드 간의 예상 이동 시간을 산출하여 실제 이동 시간과 근접한 경로 시간을 산출해주는 방법을 제공한다.
이하, 실제거리에 대한 시간 산출 방법에 대해 설명한다.
보행도로의 종류는 여러 가지로 분류할 수 있고, 분류된 보행도로의 종류에 따라 구별적인 보행속도를 계산할 수 있다. 본 발명에서는 보행자가 경로를 이동하는데 걸리는 시간에 영향을 받는 보행도로의 종류를 대표적으로 경사로에 따른 오르막길, 내리막길, 평지 및 대기시간이 추가되는 횡단보도로 구분하였다. 여기서 경사로에 따른 오르막길과 내리막길에 대해서 이동시간이 부가되거나 차감될 수 있다는 것을 고려한다. 대기시간은 횡단보도에서 신호등이 녹색신호가 될 때까지의 대기시간을 의미한다. 이는 평균 신호대기시간과 횡단보도 개수를 곱하여 부가되는 시간을 합하여 계산할 수 있다. 또한 사용자가 경로를 이동하면서 중간에 휴식시간을 갖는 시간까지 고려할 수 있다. 상기 휴식시간은 미리 설정된 거리 구간마다 발생한다고 가정할 수 있다. 휴식시간은 1회 평균 휴식시간과 총 휴식 횟수를 곱하여 부가되는 시간으로 계산할 수 있다.
인접한 두 노드 i에서 노드 j까지의 실제거리 ATij에 대해 사용자 특성을 고려하여 산정하는 예상 이동 시간은 다음 수학식 1과 같다.
Figure pat00024
여기서, ATij는 인접한 두 노드 i에서 노드 j까지의 예상 이동 시간(Actual time)이고, ADk는 인접한 두 노드 i에서 노드 j까지의 보행도로 상태에 따른 세부구간의 이동거리(Actual distance)이며, d는 인접한 두 노드 i에서 노드 j까지의 보행도로 상태에 따른 세부구간의 개수, wsk는 사용자 특성별 경사도에 따른 보행속도, ts는 신호대기시간, ns는 횡단보도 개수, tr은 휴식시간, nr은 휴식 횟수이다.
인접한 두 노드 간의 예상 이동 시간은 사용자의 특성에 따라 다르게 산출된다. 먼저,
Figure pat00025
는 인접한 두 노드 사이에 보행도로 상태에 따른 세부구간의 거리를 나타낸다. 본 발명에서 보행도로의 상태는 온라인 지도상에서 제공되는 데이터를 활용할 수 있는 것으로 도 4와 같은 지도를 참고할 수 있다. 도 4는 웹에서 제공되는 지도상에 표현된 횡단보도와 등고선을 나타낸다. 이를 통해 각 노드 간의 엣지에서 횡단보도의 개수, 등고선을 통한 경사로를 파악할 수 있다. 여기서 등고선은 한 줄 당 10m를 의미하고, 이러한 등고선을 통해 오르막길과 내리막길을 파악할 수 있다.
본 발명에서 인접한 두 노드 간의 세부구간은 오르막길, 내리막길, 평지로 구분한다. 도 5는 인접된 두 노드 i에서 노드 j까지의 거리의 보행도로 상태에 따라 세부구간을 나눈 것을 도시한다. 여기서 노드 i는 시작지점이고, 노드 j는 목적지점이라 가정하면, 도 5와 같이 전체 도로를 오르막길, 내리막길, 평지로 구분할 수 있다. 도 5에 도시된 도로에서는 평지 2구간, 오르막길 1구간, 내리막길 1구간으로 d의 값은 4가 된다.
이하 사용자 특성을 고려하여 인접한 두 노드 간의 이동시간을 산출하기 위하여 사용자 특성에 따라 보행속도를 이용하는 기술에 대해 설명한다.
여기서, 사용자 특성은 사용자의 연령대 및 사용자의 신체상태 정보 중 적어도 하나를 포함하여 구성되고, 예를 들어, 상기 사용자의 연령대는 평균 보행속도가 유사한 연령대별로 구분되며, 상기 사용자의 신체상태 정보는 임신 및 병력 정보(만성피로, 심신허약, 다리 절음, 고관절 문제 등) 중 적어도 하나를 포함하는 정보로 구성될 수 있다.
표 1은 연령대별 운동 능력 지수를 활용하여 보행속도를 측정한 데이터를 나타낸다.
나이(세) 보행속도(km/hr)
5~9 2.17
10~14 3.39
15~49 4.00
50~64 3.40
65~74 2.82
75~ 2.51
사용자 연령대별 경사로에 대한 보행속도는 수학식 2와 같이 계산한다.
Figure pat00026
Figure pat00027
: 사용자의 연령대별 경사로에 따른 보행속도
Figure pat00028
: 사용자의 연령대에 해당되는 평지에서의 보행속도(flat road, <표 1> 참고)
Figure pat00029
: 경사로에 따른 속도계수(speed factor)
Figure pat00030
: 경사로에 따른 거리계수(geometric factor)
수학식 2에 따르면, 오르막길과 내리막길의 경우 지도상의 거리에서 경사로에 따른 거리계수와 속도계수를 이용하여 보행속도를 계산할 수 있다. 거리계수는 실제거리와 비슷하게 환산해주는 계수를 의미하고, 속도계수는 시간당 운행거리의 감소계수를 의미한다. 수학식 2는 산림청에서 개시한 소요시간 계산법에 의하고, 이는 속도계수와 거리계수를 이용하여 구간경사도별로 시간당 보행속도를 계산하는 것에 대해 수학식 2를 도출한다.
이를 이용하여 인접한 두 노드 간의 거리에서 오르막길, 내리막길, 평지에 해당되는 세부구간에 연령대별 보행속도를 대입하면 <표 2>와 같이 연령대별 경사로에 따른 보행속도를 계산할 수 있다. <표 2>의 데이터는 연령대별 경사로에 따른 보행속도로 <표 1>을 참고하여 [수학식 2]을 통하여 계산한 것이다. 한편, 보행속도는 같은 연령대여도 개인마다 차이가 있을 수 있기 때문에 건강상태 즉, 임신이나 병력 상황에 따라 보행속도를 다르게 사용할 수 있다.
기준
(거리 1km내 표고차, m)
거리계수 (g) 속도계수
(s)
연령대별 보행속도(km/hr)
5~9 10~14 15~49 50~64 65~74 75~




300 ~ 350 오르 막길 1.60 0.40 0.54 0.85 1.00 0.85 0.71 0.63
251 ~ 300 1.50 0.50 0.72 1.13 1.33 1.13 0.94 0.84
201 ~ 250 1.40 0.60 0.93 1.45 1.71 1.46 1.21 1.08
151 ~ 200 1.30 0.70 1.17 1.83 2.15 1.83 1.52 1.35
101 ~ 150 1.20 0.80 1.45 2.26 2.67 2.27 1.88 1.67
1 ~ 100 1.10 0.90 1.78 2.77 3.27 2.78 2.31 2.05
0 평지 1.00 1.00 2.17 3.39 4.00 3.40 2.82 2.51
-1 ~ -100 내리막길 0.90 1.10 2.65 4.14 4.89 4.16 3.45 3.07
-101 ~ -150 0.80 1.20 3.26 5.09 6.00 5.10 4.23 3.77
-151 ~ -200 0.70 1.30 4.03 6.30 7.43 6.31 5.24 4.66
-201 ~ -250 0.60 1.40 5.06 7.91 9.33 7.93 6.58 5.86
-251 ~ -300 0.50 1.50 6.51 10.17 12.00 10.20 8.46 7.53
-300 ~ -350 0.40 1.60 8.68 13.56 16.00 13.60 11.28 10.04
또한 횡단보도의 경우 신호등의 신호시간의 영향을 받기 때문에 신호대기시간을 추가한다. 신호주기는 신호등에서 녹색신호가 시작하는 시점에서 다음 녹색신호가 시작하는 시점까지의 총소요시간을 의미한다. 신호대기시간은 평균 신호대기시간(140초)으로 계산하고, 신호대기시간은 상황에 따라서 변경될 수 있다.
이하, 직선거리에 대해 이동시간을 산출하는 방법에 대해 설명한다.
두 노드 사이의 직선거리는 노드 i의 좌표 값은
Figure pat00031
이고, 노드 j의 좌표 값이
Figure pat00032
일 때, [수학식 3]와 같이 유클리디안 거리 공식을 사용하여 계산한다.
Figure pat00033
여기서,
Figure pat00034
는 노드 i에서 j까지의 직선거리,
Figure pat00035
는 노드 i의 좌표 값,
Figure pat00036
는 노드 j의 좌표 값이다.
수학식 4는 수학식 3에서 계산한 직선거리를 기반으로 하여 예상 이동 시간을 산출한 식이다.
Figure pat00037
여기서,
Figure pat00038
는 인접한 두 노드 i에서 j까지의 직선거리 기반의 예상 이동 시간(Time),
Figure pat00039
는 인접한 두 노드 i에서 j까지의 직선거리(Euclidean Distance),
Figure pat00040
는 사용자의 연령대에 해당되는 평지에서의 보행속도(<표 1> 참고)를 나타낸다.
직선거리에 대한 예상 이동 시간 산출하기 위해서는 세부구간에 대하여 알지 못하므로 평지에서의 보행속도를 사용한다.
이하 도 6 내지 도 10을 참고하여 본 발명의 일실시 예에 따른 경로 탐색 방법에 대해 설명한다.
본 발명의 일실시 예에서는 A* 알고리즘을 사용하여 목적지점의 방향을 고려하면서 탐색영역을 축소할 수 있는 경로 탐색의 효율적인 방법을 제공한다. 경로 탐색은 앞서 계산하였던 연령대별 노드 간의 이동시간을 이용하는 것을 예로 한다.
도 6 내지 도 10은 경로 탐색 알고리즘의 흐름을 도식화한 도면이다.
도 6은 지도 그래프에서 출발지점과 목적지점이 주어졌을 때 직선 축을 도시하고, 도 7은 탐색 영역을 지정하는 것을 도식화한 도면이다.
도 7을 참조하면, 직선축을 기준으로 출발지점에서 직교축 범위 안에 있는 노드들만 탐색한다. 직교축 범위는 직선축에서 인접된 노드들과의 각도가 90도를 이루는 영역을 말한다. 출발지점에서 목적지점까지의 직선거리를 가장 짧은 거리라는 가정 하에 직선축에서 가까운 노드가 최단의 경로를 탐색하게 된다. 직선축을 벡터
Figure pat00041
, 인접된 노드를 이루는 축을 벡터
Figure pat00042
라 할 때, 두 벡터가 이루는 각의 크기는 [수학식 5]를 통하여 계산한다.
Figure pat00043
에서
Figure pat00044
의 값은 1에서 0사이의 값으로 값이 0보다 큰 값을 가지는 노드를 선택한다. [수학식 5]는 두 벡터가 이루는 각의 크기를 구하는 공식이다.
Figure pat00045
값을 계산함으로써 목적지점의 방향을 고려하여 불필요한 노드의 탐색은 제외하여 탐색 영역을 줄이는 효과를 기대한다.
Figure pat00046
여기서,
Figure pat00047
는 직선축의 좌표값
Figure pat00048
이고,
Figure pat00049
는 n노드의 좌표값
Figure pat00050
이다.
이하, 도 8 내지 도 10을 참조하여 본 발명의 일실시 예에 따른 적합도를 계산하고, 상기 적합도를 이용하여 최단시간 경로를 탐색하는 방법에 대해 설명한다.
설명에 앞서, 본 발명의 일실시 예에 따른 최단시간 경로를 탐색하는 단계는 변형된 A* 알고리즘을 이용한다.
변형된 A* 알고리즘은 최단 경로를 탐색하기 위해 탐색 과정에서 다음 노드를 선택하기 위한 일종의 가중치로서 적합도를 계산한다. 적합도는 현재 노드에서 경유노드(n노드)까지의 실제거리에 대해 도로상태 및 사용자 특성을 반영한 예상이동시간과, 경유노드에서 목적노드까지의 직선거리에 대해 도로상태 및 사용자 특성을 반영한 예상이동시간을 합한 값이다.
이러한 적합도는 도로상태 및 사용자 특성을 반영하였기 때문에 이동 거리에 대한 실제이동시간과 근접한 값을 사용하였고, 또한 직선거리에 대한 시간은 경유노드에서 목적노드까지의 최단 거리에 대한 시간으로서, 이를 통해 가장 근접한 경로를 탐색할 수 있기 때문에 최단 경로를 탐색하는데 이용될 수 있다.
구체적으로, 서버(110)는 상기 변형된 A* 알고리즘에 기초하여 다음 노드를 탐색하기 위해 상기 노드들에 대한 적합도를 계산하며, 상기 적합도가 가장 낮은 노드를 선택하되,
상기 적합도f(n)는 현재 노드에서 경유노드(n노드)까지의 실제거리에 대한 상기 이동시간 데이터g(n)와 상기 경유노드에서 목적지점 노드까지의 직선거리에 대한 상기 이동시간 데이터h(n)를 합산하여 계산한다. 그리고, 다음 선택된 노드에서 상기 적합도를 계산하여 또 다음 노드를 탐색하는 수행을 반복하다가 목적 노드가 탐색되면 종료한다. 여기서 목적 노드가 탐색되었을 때 최종적으로 탐색된 경로를 최단시간 경로로 결정한다.
도 8은 출발지점에서 인접된 노드들에 대한 적합도를 계산하는 것을 도식화한 도면이다. 서버(110)는 출발지점에서 인접된 노드들의 적합도를 계산하고 적합도가 가장 적은 값을 가지는 노드를 선택한다. 적합도는 [수학식 6]을 이용하여 계산한다.
Figure pat00051
여기서,
Figure pat00052
는 적합도,
Figure pat00053
는 현재 노드에서 경유노드(n노드)까지의 실제거리기반의 사용자 연령대에 따른 예상 이동 시간 ([수학식 1]에서 계산한
Figure pat00054
값),
Figure pat00055
는 n노드에서 목적지점의 노드까지의 직선거리기반의 사용자 연령대에 따른 예상 이동 시간 ([수학식 4]에서 계산한
Figure pat00056
값)이다.
여기서
Figure pat00057
은 [수학식 1]을 이용하여 계산된 사용자 연령대 및 보행도로의 특성을 고려하여 산출한 예상 이동 시간
Figure pat00058
를 대입한다. 또한 값은 [수학식 4]을 이용하여 계산된 직선거리에 대한 시간
Figure pat00059
를 대입한다.
이동 거리에 대한 실제 이동 시간과 근접한 값을 사용하였기 때문에 최단 경로를 탐색하는데 효과적이다. 또한 직선거리에 대한 시간은 경유노드(n노드)에서 목적노드까지의 최단 거리에 대한 시간으로 가장 근접한 경로를 탐색할 수 있기 때문에 최단 경로를 탐색하는데 효과적이다.
도 9는 도 8을 참조하여 계산된 적합도 계산 과정을 거친 후 다음 선택된 노드에서의 적합도를 계산하는 과정을 도식화한 도면이다. 다음 선택된 노드에서 적합도 계산 과정을 반복 수행한다. 본 발명에서
Figure pat00060
값은 현재 위치하는 노드에서 경유노드까지의 실제거리에 대한 이동 시간을 의미한다. 현재 노드에서 앞으로 나아갈 경로만 탐색함으로써 계산량을 줄이고 좀 더 효율적이며 정확한 경로를 탐색할 수 있다.
도 10은 경로 탐색의 마지막 단계를 도식화한 도면이다. 도 10을 참조하면, 다음 선택된 노드에서 적합도를 계산하여 또 다음 노드를 탐색하는 수행을 반복하다가 목적 노드(D)가 탐색되면 경로 탐색을 종료한다.
이하에서는, 본 발명의 제2 실시 예에서는 사용자 특성과 더불어 시간 제약도 함께 고려한 경로 추천 방법을 제공한다. 사용자는 사용자 특성과 더불어 원하는 경로 이동 시간의 제한을 입력할 수 있으며, 사용자가 원하는 이동 시간을 넘지 않는 최적의 경로를 탐색할 수 있다.
이동 시간은 출발지점에서 목적지점까지 이동하는데 걸리는 시간을 의미하며, 이동 시간에 대한 제한 시간을 두어 사용자가 원하는 시간 안에 목적지점까지 도착할 수 있게 경로를 탐색하는 것이다. 제1실시 예에서 개시한 사용자의 연령대에 따른 경로 시간 산출 데이터를 이용하고, 제1실시 예에서 사용한 경로 탐색 알고리즘에서 시간 제약을 고려한 경로 탐색 알고리즘을 제공한다.
본 발명의 제2 실시 예를 설명하기에 앞서, 기술의 이해를 돕기 위해 제2 실시 예의 목적을 간단히 설명하기로 한다. 사용자들은 일반적으로 관광이나 시내관광을 할 때 시간을 정해두고 이동하기를 원한다. 이러한 사용자들에게는 최단경로 탐색의 결과가 아닌 시간 제약에 맞춘 최적화된 경로의 추천이 필요하다. 예를 들어, A지점에서 B지점까지 가는데 최단경로로 탐색되었을 때 1시간이 소요된다고 가정한다. 이때 시내관광을 하고자하는 사용자가 경로를 검색했을 때 최단경로가 추천이 되었다면 이는 적합하지 않을 것이다. 만약 2시간에 시간을 두고 시내관광을 원한다면 2시간 안에 이동할 수 있는 최적화된 경로를 추천해주는 것이 적합할 것이다. 이러한 사용자들에게 시간 제약 조건 값을 입력받으면 시간 제약 안에서 최적의 경로를 탐색하여 경로를 제공하는 것이다.
또 다른 예로, 사용자가 운동을 하고자 1시간 동안 충분히 트래킹을 할 수 있는 경로 안내를 요청하는 경우, 서비스는 1시간 이내의 최단 시간 경로를 제공해야 할 것이 아니라, 1시간에 거의 근접한 도보시간이 소요되는 경로를 탐색해서 제공해야 하는 것이다.
시간 제약은 제한된 시간을 넘지 않으면서 제한된 시간과 가까운 시간을 가지는 경로를 구성해야 하는 문제이다. 이를 위해 제1 실시 예에서 개시한 사용자 특성 값인 연령대를 고려하여 보행경로의 시간을 산출한 데이터를 이용하고, 더불어 시간 제약을 고려하여 문제를 해결할 수 있다.
이하 본 발명의 제2 실시 예에 따른 설정된 시간 제약을 고려한 경로 탐색 방법에 대해 상세히 설명하기로 한다.
본 발명의 제2 실시 예에서는 앞서 제1 실시 예에서 제안한 지도 그래프 데이터와 변형된 A* 알고리즘을 사용하여 시간 제약 문제를 혼합한 알고리즘을 제안한다. 이에 따라 사용자 특성뿐 아니라 시간 제약의 문제도 적용하여 사용자 맞춤형 경로를 제공할 수 있다. 상기 시간 제약은 사용자에 의해 설정될 수 있다.
변형된 A* 알고리즘에서 사용되는 적합도의 값은 도로상태에 따라 사용자 연령대 및 신체상태를 고려하여 출발지점에서 목적지점까지 가는데 걸리는 예상 이동 시간 데이터를 사용하였다. 앞서 계산한 적합도([수학식 6])에서
Figure pat00061
Figure pat00062
로서, 현재 노드에서 경유노드(n노드)까지의 실제거리기반의 이동시간을 나타낸다. [수학식 7]은 현재 노드에서 시간 제약 값을 계산하기 위한 식이다. 이 단계는 앞서 제안한 제1 실시예의 적합도 계산 과정에서 수행한다. 사용자가 입력한 시간 제약 값에서 출발지점에서 경유노드(n노드)까지의
Figure pat00063
값을 합한 값을 차감한 값이다. 출발지점에서
Figure pat00064
은 0으로 시작한다.
Figure pat00065
여기서,
Figure pat00066
은 경유노드(n노드)에서의 시간 제약 값(Time Constraint’),
Figure pat00067
는 입력받은 시간 제약 값(Time Constraint)이고,
Figure pat00068
Figure pat00069
번째
Figure pat00070
값이며,
Figure pat00071
는 현재 위치한 노드이고, 적합도
Figure pat00072
는 [수학식 6]에 의해 계산된 값이다. [수학식 8]은 적합도
Figure pat00073
를 이용하여 다음 노드 선택 조건인
Figure pat00074
을 정의하였다.
Figure pat00075
여기서,
Figure pat00076
는 노드 선택 조건이고,
Figure pat00077
는 [수학식 7]에서 계산된 값이며,
Figure pat00078
는 [수학식 6]에서 계산된 값이다.
먼저 [수학식 8]에서 계산한 현재 노드에서의 시간 제약 값은 현재 노드에서의 적합도
Figure pat00079
보다 같거나 커야 한다. 동시에 시간 제약 값
Figure pat00080
에서 적합도
Figure pat00081
을 차감한 값 중 가장 작은 값을 우선으로 선택한다. 변형된 A* 알고리즘으로 다음 노드를 선택하는 과정에서, 이 두 가지의 조건이 모두 성립되는 노드를 선택한다. 두 조건이 모두 성립되지 않을 경우, 다시 전 단계 노드의 위치로 돌아가 선택되었던 노드를 제외하고 다음 순위의 노드를 선택한다. 즉, 조건이 성립되지 않는 노드에 대해서는 추가 확장은 금지하고, 이전 확장으로 백트랙킹(backtracking)한다. 이 과정을 목적지점을 만날 때까지 반복하면, 최종적으로 시간 제약에 맞는 최적의 경로를 선택하게 된다.
한편, 경로 탐색 중 다음 노드 선택 조건으로서, 위의 조건과는 상이한 다음과 같은 조건을 구현할 수 있다.
Figure pat00082
[수학식 9]는 선택되어야 할 다음 노드의 조건으로서, 현재노드에서의 시간 제약 값
Figure pat00083
은 경유노드에서 목적노드까지의 수직거리에 대한 예상이동시간 h(n)보다 크거나 같아야 하고, 경유노드에서의 시간 제약 값
Figure pat00084
과 경유노드에서 목적노드까지의 수직거리에 대한 예상이동시간 h(n)의 차이가 최소인 노드를 다음 노드로 선택한다.
변형된 A* 알고리즘으로 다음 노드를 선택하는 과정에서, 이 두 가지의 조건이 모두 성립되는 노드를 선택한다. 두 조건이 모두 성립되지 않을 경우, 다시 전 단계 노드의 위치로 돌아가 선택되었던 노드를 제외하고 다음 순위의 노드를 선택한다. 즉, 조건이 성립되지 않는 노드에 대해서는 추가 확장은 금지하고, 이전 확장으로 백트랙킹(backtracking)한다. 이 과정을 목적지점을 만날 때까지 반복하면, 최종적으로 시간 제약에 맞는 최적의 경로를 선택하게 된다.
위의 각 조건을 포함하는 알고리즘들은 노드를 확장하면서 즉, 다음 노드를 탐색하면서, 조건에 맞지 않는 노드들을 제외하는 방법을 택하고 있다.
이하에서는 이와 달리 경로 탐색을 종료한 이후, 시간 제약에 부합하는 최적 경로를 선택하는 방법을 설명하기로 한다.
통상적인 A* 알고리즘은 목적지의 방향에 가까운 경로를 우선 탐색하는 경향이 있기 때문에, 최단시간에 해당하는 경로가 비록 제한 시간을 넘지 않더라도, 최적의 경로가 아닐 수 있다.
이를 해결하기 위한 한 방안으로서 우선, 출발노드에서부터 점진적으로 노드들을 확장하면서 목적노드를 만나는 경로들을 모두 저장해둔다. 즉, 하나의 경로만을 탐색하는 것이 아니라 우선, 복수의 후보 경로들을 탐색하여 저장해둔다.
경로 탐색의 종료 조건은, 후보 경로들이 기설정된 만큼 탐색될 때까지 진행한다. 여기서, 경로 탐색의 종료조건은 설계자에 의해 미리 설정되거나, 사용자의 요청에 의해 제안될 수 있다.
경로 탐색이 종료되면, 각 후보 경로들의 예상이동시간과 사용자가 설정한 제약시간 값의 차이값을 산출한다. 산출된 차이값들 중 차이값이 가장 적은 후보 경로가 최적 경로로서 선택될 수 있고, 선택된 최적 경로는 사용자 단말로 전송될 수 있다.
또는, 경로 탐색이 종료되면, 후보 경로들에 대한 정보를 추출하여 사용자 단말에 안내하고, 사용자가 안내된 정보들을 보고 임의로 경로를 선택하게 할 수도 있다. 여기서, 후보 경로들에 대해 안내된 정보는 해당 경로에 포함되는 오르막길, 내리막길, 횡단보도에 대한 정보뿐만 아니라, 해당 경로의 자연 친화도 및 환경오염도와 같은 추가 정보를 포함할 수 있다.
앞서 설명한 바와 같이 본 발명의 일실시 예에 따르면, 보행도로 상태에 따라 사용자 특성을 고려하여 미리 산정된 보행속도를 사용함으로써, 각 노드 간의 엣지의 값에 대해 예상 이동 시간을 산출하여 구하고, 이를 통해 사용자에게 적합한 경로를 추천할 수 있다.
아울러, 본 발명의 일실시 예에 따르면, 도로상태에 따라 사용자 특성을 고려하여 예상이동시간을 계산하고, 이 예상이동시간을 이용하여 경로를 탐색한 결과, 기존의 경로 안내 서비스보다 사용자에게 실질적으로 실제 이동시간과 근사한 예상 이동 시간을 제공할 수 있다.
또한, 본 발명의 다른 실시 예에 따르면, 보행도로 상태에 따른 사용자 특성을 고려함과 동시에 제한조건으로서 제약시간 내에 부합하는 보행경로를 탐색할 수 있다.
더불어, 본 발명에서는 경로를 탐색하는데 있어 변형된 A* 알고리즘을 이용하여 탐색 영역을 축소하면서, 사용자 특성을 고려함과 동시에 제한조건에 부합하는 경로를 효율적으로 탐색할 수 있다.
이하, 본 발명의 제1 실시 예에 따른 사용자 특성을 고려한 경로 추천 방법에 대해 설명하기로 한다.
도 11은 본 발명의 제1 실시 예에 따른 사용자 특성을 고려한 경로 추천 방법을 설명하기 위한 순서도이다.
도 11을 참조하면, 먼저 서버는 지도상 노드들에 대해 도로상태 별로 사용자 특성을 반영하여 산정한 이동시간 데이터를 포함하여 지도 그래프 데이터베이스를 구축한다(S310).
여기서 지도 그래프 데이터베이스는 경로 탐색 알고리즘을 시행하기 전에 기본으로 구성된다. 데이터 셋의 구성은 도 2에 도시된 지도 그래프 데이터 생성의 흐름도를 참조하면, 지도 데이터로는 지도상에서 위치를 가리키는 각 노드의 위도, 경도에 따른 좌표값, 노드 간의 거리값, 노드 간의 속성 값을 포함한다. 또한, 사용자 데이터로는 사용자의 연령대 또는 신체 상태를 고려하여 산정된 보행속도 정보를 포함한다. 서버는 지도 그래프 데이터베이스에서 추출된 지도 데이터와 사용자 데이터를 혼합하여 사용자 특성을 고려한 각 노드 간의 이동시간을 계산하고, 이를 이동시간 데이터로서 지도 그래프 데이터베이스에 저장한다.
도로 상태는 오르막, 내리막, 평지 및 횡단보도로 분류되고, 상기 분류된 도로상태마다 상기 사용자의 특성을 고려하여 보행속도를 산정한다.
사용자 특성정보는 사용자의 연령대 및 사용자의 신체상태 정보 중 적어도 하나를 포함하여 구성되고, 상기 사용자의 연령대는 평균 보행속도가 유사한 연령대별로 구분되며, 상기 사용자의 신체상태 정보는 임신 및 병력 정보(만성피로, 심신허약, 다리 절음, 고관절 문제 등) 중 적어도 하나를 포함하는 정보로 구성될 수 있다.
본 발명에서 노드는 특정 위치(예를 들어, 관광지)를 의미하고, 위치 간에 연결된 엣지는 지도상에서 제공된 거리를 기반으로 산출된 실제 이동 시간과 근접한 예상 이동 시간을 계산한 값을 사용할 수 있다. 이를 위해 도로상태 별로 사용자 특성을 고려하여 미리 산정된 보행속도 데이터를 이용함으로써, 사용자가 실제 이동하는 시간과 가장 근접한 경로 이동 예상시간을 계산할 수 있다.
다음으로, 서버는 사용자 단말로부터 사용자 입력정보와, 출발지점에서 도착지점까지의 보행경로에 대한 안내요청을 수신한다.(S320)
다음으로, 상기 지도 그래프 데이터베이스로부터 상기 사용자 입력정보 및 상기 출발지점과 상기 도착지점 사이에 연관된 노드들에 해당하는 상기 이동시간 데이터를 조회하고(S330), 상기 이동시간 데이터를 이용하여 최단시간 경로를 탐색한다(S340).
경로 탐색을 위해 변형된 A* 알고리즘을 이용하고, 경유노드에서 목적노드로의 방향 및 목적노드까지의 최단거리에 대한 시간을 고려하면서 다음 노드를 선택하기 위한 적합도를 계산하고, 상기 경유노드에서 인접한 노드들 중 상기 적합도의 수치가 가장 낮게 계산된 노드를 상기 다음 노드로 선택한다.
구체적으로, 변형된 A* 알고리즘은 최단 경로를 탐색하기 위해 탐색 과정에서 다음 노드를 선택하기 위한 일종의 가중치로서 적합도를 계산한다. 적합도는 현재 노드에서 경유노드까지의 실제거리에 대해 도로상태 및 사용자 특성을 반영한 예상이동시간과, 경유노드에서 목적노드까지의 직선거리에 대해 도로상태 및 사용자 특성을 반영한 예상이동시간을 합한 값이다.
이러한 적합도는 도로상태 및 사용자 특성을 반영하였기 때문에 이동 거리에 대한 실제이동시간과 근접한 값을 사용하였고, 또한 직선거리에 대한 시간은 경유노드에서 목적지점 노드까지의 최단 거리에 대한 시간으로서, 이를 통해 가장 근접한 경로를 탐색할 수 있기 때문에 최단 경로를 탐색하는데 이용될 수 있다.
다음 선택된 노드에서 상기 적합도를 계산하여 또 다음 노드를 탐색하는 수행을 반복하다가 목적 노드가 탐색되면 종료한다. 여기서 목적 노드가 탐색되었을 때 탐색된 경로를 최단시간 경로로 결정한다.
다음으로, 탐색된 최단시간 경로를 사용자 단말에 제공한다(S350).
상기와 같은 본 발명의 일실시 예에 따르면, 사용자는 오르막길, 내리막길, 평지, 및 대기시간이 추가되는 횡단보도를 포함하는 보행도로에 대해 자신의 연령대 및 신체상태에 해당하는 평균속도를 이용하여 산정된 최단 시간 경로를 안내받음으로써, 종래의 길안내 서비스보다 현실적으로 실제 이동시간과 근접한 최단시간에 해당하는 경로 안내를 제공받을 수 있다.
이하, 본 발명의 제2 실시 예에 따른 사용자 특성 및 시간 제약을 고려한 경로 추천 방법에 대해 설명하기로 한다.
도 12는 본 발명의 제2 실시 예에 따른 사용자 특성 및 시간 제약을 고려한 경로 추천 방법을 설명하기 위한 순서도이다.
도 12를 참조하면, 먼저 서버는 지도상 노드들에 대해 도로상태 별로 사용자 특성을 반영하여 산정한 이동시간 데이터를 포함하여 지도 그래프 데이터베이스를 구축한다(S410).
다음으로, 사용자 단말로부터 사용자 입력정보, 설정된 시간 제약에 부합하는 출발지점에서 도착지점까지의 보행경로에 대한 안내요청을 수신한다(S420).
다음으로, 지도 그래프 데이터베이스로부터 상기 사용자 입력정보와 상기 출발지점과 상기 도착지점 사이에 연관된 노드들에 해당하는 상기 이동시간 데이터를 조회하고(S430), 조회된 이동시간 데이터를 이용하여 제약된 시간 내에 가장 근접한 최적경로를 탐색한다(S440).
여기서 최적경로를 탐색하기 위해 변형된 A* 알고리즘을 이용한다. 상기 변형된 A* 알고리즘은 다음 순위의 노드를 선택하기 위해 현재 노드에서 시간 제약 값과 적합도에 기초하여 설정된 조건을 이용한다. 상기 조건은 현재 노드에서의 시간 제약 값이 현재 노드에서의 적합도보다 같거나 커야하고, 동시에 현재 노드의 시간 제약값에서 적합도를 차감한 값 중 가장 작은 값이라는 조건이며, 상기 두 조건이 모두 성립하는 노드를 선택한다.
한편, 상기 두 조건이 성립되지 않을 경우, 다시 전 단계 노드의 위치로 돌아가 선택되었던 노드를 제외하고 다음 순위의 노드를 선택하며, 이 과정을 목적지점이 탐색될 때까지 반복함으로써, 최종적으로 상기 시간 제약에 부합하는 상기 최적경로를 선택한다.
상기 적합도는 제1 실시 예에서 계산하였던 적합도와 동일한 방법으로, 현재 노드에서 경유노드까지의 실제거리에 대한 상기 이동시간 데이터와 상기 경유노드에서 목적지점 노드까지의 직선거리에 대한 상기 이동시간 데이터를 합산하여 계산한다.
다음으로, 탐색된 최적경로를 상기 사용자 단말에 제공한다(S450).
상기와 같은 본 발명의 실시 예에 따르면, 사용자는 관광지나 운동코스에서 자신이 설정한 제약시간에 부합하는 최적의 경로에 대한 안내를 요청하여 제공받을 수 있다. 이를 위해 서버는 지도상에서 제공된 거리를 기반으로 산출된 실제 이동 시간과 근접한 예상 이동 시간을 계산한 값을 사용하고, 이를 위해 도로상태 별로 사용자 특성을 고려하여 미리 산정된 보행속도 데이터를 이용함으로써, 사용자가 실제 이동하는 시간과 가장 근접한 경로 이동 예상시간을 계산할 수 있다.
이하, 본 발명의 제3 실시 예에 따른 사용자 특성 및 제한조건을 고려한 경로 탐색 방법에 대해 상세히 설명하기로 한다.
도 13은 본 발명의 제3 실시 예에 따른 사용자 특성 및 제한조건을 고려한 경로 탐색 방법을 설명하기 위한 순서도이다.
도 13을 참조하면 먼저, 지도상 노드들에 대해 도로상태 별로 사용자 특성을 반영하여 산정된 평균이동시간, 상기 각 노드를 보행하는 데에 드는 평균비용 및 상기 각 노드에 포함된 각 명소의 중요도를 수치화하여 데이터베이스를 구축한다(S510).
여기서, 각 명소(혹은 랜드마크)의 중요도는 시스템 설계자에 의해 미리 각 명소마다 유명도, 중요도, 사람들의 선호도 등에 따라 각 명소에 대한 차별적인 수치를 설정하여 저장할 수 있다. 예를 들어, A 노드가 불국사, 안압지 및 첨성대와 같은 명소를 포함하고 있다면, 설계자에 의해 각 명소에 대해 불국사(7), 안압지(5), 첨성대(4)와 같은 수치로 설정되어 데이터베이스에 저장될 수 있고, A 노드는 총 16의 수치로 명소의 중요도를 갖는다. B 노드는 불국사(7), 보문호수(4)를 포함하면, 총 11의 수치로 명소의 중요도를 갖는다.
여기서, 평균비용이란 일반적으로 여행객들이 각 노드를 보행하는데 드는 비용을 평균한 값이라 할 수 있고, 상기 평균비용에는 각 명소나 박물관 등의 입장료, 관람료, 미리 설정된 소정의 거리마다 필요한 음용비 등을 포함할 수 있다. 예를 들어, A 노드의 평균비용이 2만원이면 평균비용(2), B 노드의 평균비용이 5만원이면 평균비용(5)의 수치로 설정되어 데이터베이스에 저장될 수 있다.
상기 평균이동시간에 대해서는 앞서 제1 및 제2 실시 예에서 상세히 설명하였으므로, 이를 참조하기로 한다. 평균이동시간의 수치에 대해서는 예를 들어, 30대의 건강한 사람의 A 노드에 대한 평균이동시간이 1시간이면, 평균이동시간(1), B 노드에 대한 평균이동시간이 2시간 30분이면 평균이동시간(2.5)의 수치로 설정되어 데이터베이스에 저장될 수 있다.
다음으로, 사용자 단말로부터 사용자 입력정보, 출발지점에서 도착지점까지의 보행경로에 대한 최단이동시간, 최소비용 및 주요 명소안내 중 적어도 하나에 대한 제한조건과 함께 상기 각 제한조건에 대한 사용자 선호도를 입력받으며, 상기 보행경로에 대한 안내요청을 수신한다(S520).
여기서 각 제한조건에 대한 사용자 선호도란, 사용자가 여행을 함에 있어서, 최단이동시간, 최소비용 및 주요 명소 안내에 대해서 중요하게 생각하는 정도를 설정하여 입력한 정보라 할 수 있다. 서버는 이러한 사용자 선호도 입력정보를 수치화하여 이용할 수 있고, 이를 위해 각 제한조건의 선호도에 대한 점수를 미리 설정해둘 수 있다.
예를 들어, 사용자 선호도는 상, 중, 하의 등급으로 나뉠 수 있다. 최단이동시간에 대한 사용자 선호도의 상급은 30, 중급은 20, 하급은 10이라는 점수를 부여하고, 최소비용에 대한 사용자 선호도의 상급은 30, 중급은 20, 하급은 10의 점수를 부여하고, 주요 명소안내에 대한 선호도의 상급은 3, 중급은 2, 하급은 1이라는 점수를 부여할 수 있다.
다음으로, 데이터베이스로부터 상기 사용자 입력정보 및 상기 입력된 제한조건에 해당하는 수치를 조회하고, 상기 조회된 수치와 상기 사용자 선호도를 이용하여 최적경로를 탐색한다(S530).
최적경로를 탐색하기 위해서, 경유노드에서 인접한 노드들에 대해 상기 각 노드에 해당하는 상기 각 제한조건의 수치와 상기 각 사용자 선호도의 곱들을 합산하여 가중치를 구하고, 상기 경유노드에서 인접한 노드들 중 상기 가중치가 가장 낮은 노드를 다음 노드로 선택한다.
예를 들어, 사용자가 최단이동시간에 대한 선호도의 등급을 상급으로 선택하고, 최소비용에 대한 선호도의 등급을 중급으로 선택하며, 주요 명소 안내에 대한 선호도의 등급을 상급으로 선택한 경우, A 노드와 B 노드의 가중치의 계산은 다음과 같다.
A 노드: 1(평균이동시간)*30(상급)+ 2(평균비용)*20(중급) -16(중요 명소)*3(상급) = 22
B 노드: 2.5(평균이동시간)*30(상급)+ 5(평균비용)*20(중급) -11(중요명소)*3(상급) = 137
두 노드 중 A 노드의 가중치가 작으므로, 서버는 A 노드를 다음 노드로 선택할 수 있다.
다음으로, 탐색된 최적경로를 상기 사용자 단말에 제공한다(S540). 즉, 앞선 S530 단계의 과정을 반복하며 다음 노드를 선택하다가 목적 노드가 탐색되면 탐색을 종료하고, 목적 노드가 탐색되었을 때 최종적으로 탐색된 경로를 최적경로로 결정한다. 결정된 최적경로는 사용자 단말에 제공한다.
이와 같은 제3 실시 예에 따른 본 발명은 여행 경로를 탐색함에 있어서 사용자의 최단이동시간, 최소비용 및 주요 명소 안내에 대한 선호도를 반영함으로써, 사용자 맞춤형 여행 경로를 안내할 수 있다.
한편, 본 발명의 실시 예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시 예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (12)

  1. 지도상 노드들에 대해 도로상태 별로 사용자 특성을 반영하여 산정된 이동시간 데이터를 포함하여 지도 그래프 데이터베이스를 구축하는 단계;
    사용자 단말로부터 사용자 입력정보 및 출발지점에서 도착지점까지의 보행경로에 대한 안내요청을 수신하는 단계;
    상기 지도 그래프 데이터베이스로부터 상기 사용자 입력정보에 해당하는 상기 이동시간 데이터를 조회하고, 상기 조회된 이동시간 데이터를 이용하여 최단시간 경로를 탐색하는 단계; 및
    상기 탐색된 최단시간 경로를 상기 사용자 단말에 제공하는 단계;를 포함하는, 사용자 특성을 고려한 경로 추천 방법.
  2. 제 1 항에 있어서,
    상기 최단시간 경로를 탐색하는 단계는,
    경유노드에서 목적노드로의 방향 및 목적노드까지의 최단거리에 대한 시간을 고려하면서 다음 노드를 선택하기 위한 적합도를 계산하고, 상기 경유노드에서 인접한 노드들에 대한 상기 적합도의 수치 비교에 기초하여 상기 다음 노드를 선택하는, 사용자 특성을 고려한 경로 추천 방법.
  3. 제 2 항에 있어서,
    상기 적합도는 현재 노드에서 경유노드까지의 실제거리에 대해 산정된 상기 이동시간 데이터와 상기 경유노드에서 목적노드까지의 직선거리에 대해 산정된 상기 이동시간 데이터를 합산하여 계산되는, 사용자 특성을 고려한 경로 추천 방법.
  4. 제 1 항에 있어서,
    상기 지도 그래프 데이터베이스를 구축하는 단계는,
    상기 도로 상태를 오르막, 내리막, 평지 및 횡단보도로 분류하는 단계; 및
    상기 분류된 도로상태마다 상기 사용자의 특성을 고려하여 상기 보행속도를 산정하는 단계;를 포함하는, 사용자 특성을 고려한 경로 추천 방법.
  5. 제 1 항에 있어서,
    상기 사용자 특성정보는 사용자의 연령대 및 사용자의 신체상태 정보 중 적어도 하나를 포함하여 구성되고, 상기 사용자의 연령대는 평균 보행속도가 유사한 연령대별로 구분되며, 상기 사용자의 신체상태 정보는 임신 및 병력 정보 중 적어도 하나를 포함하는 정보로 구성되는, 사용자 특성을 고려한 경로 추천 방법.
  6. 지도상 노드들에 대해 도로상태 별로 사용자 특성을 반영하여 산정된 이동시간 데이터를 포함하여 지도 그래프 데이터베이스를 구축하는 단계;
    사용자 단말로부터 사용자 입력정보 및 출발지점에서 도착지점까지의 보행경로에 대한 안내요청을 수신하고, 사용자가 원하는 이동시간에 대한 제약시간을 입력받는 단계;
    상기 지도 그래프 데이터베이스로부터 상기 사용자 입력정보에 해당하는 상기 이동시간 데이터를 조회하고, 상기 조회된 이동시간 데이터를 이용하여 상기 제한시간에 부합하는 최적경로를 탐색하는 단계; 및
    상기 탐색된 최적경로를 상기 사용자 단말에 제공하는 단계;를 포함하는, 사용자 특성 및 시간 제약을 고려한 경로 추천 방법.
  7. 제 6 항에 있어서, 상기 최적경로를 탐색하는 단계는,
    경유노드에서 다음 순위의 노드를 선택하기 위해 현재노드에서 상기 시간제한 및 적합도에 기초하여 설정된 조건을 이용하고,
    상기 적합도는 상기 경유노드에서 상기 목적노드로의 방향 및 상기 목적노드까지의 최단거리에 대한 시간을 고려하면서 다음 노드를 선택하기 위해 상기 현재노드에서 상기 경유노드까지의 실제거리에 대해 산정된 상기 이동시간 데이터와 상기 경유노드에서 목적노드까지의 직선거리에 대해 산정된 상기 이동시간 데이터를 합산하여 계산되는, 사용자 특성 및 시간 제약을 고려한 경로 추천 방법.
  8. 제 7 항에 있어서,
    상기 다음 노드를 선택하기 위해
    Figure pat00085
    의 조건에 따라,
    경유노드에서의 제약시간이 경유노드에서의 적합도보다 같거나 커야하고, 동시에 경유노드의 상기 제약시간에서 적합도를 차감한 값 중 가장 작은 값을 우선으로 선택하며,
    여기서,
    Figure pat00086
    이고,
    Figure pat00087
    은 경유노드(n노드)에서의 시간 제약 값이고,
    Figure pat00088
    는 입력받은 시간 제약 값이며,
    Figure pat00089
    는 k번째 g(n)값이고, v는 현재 위치한 노드이며,
    Figure pat00090
    의 식을 이용하여 계산하고, 여기서,
    Figure pat00091
    은 적합도,
    Figure pat00092
    은 현재 노드에서 경유노드까지의 실제 거리에 대한 상기 사용자 특성에 따른 예상이동시간을 의미하고, 여기서,
    Figure pat00093
    이며,
    Figure pat00094
    는 인접한 두 노드 i에서 j까지의 예상이동시간,
    Figure pat00095
    는 인접한 두 노드 i에서 j까지의 보행도로 상태에 따른 세부구간의 이동거리, d는 인접한 두 노드 i에서 j까지의 보행도로 상태에 따른 세부구간의 개수,
    Figure pat00096
    는 사용자 특성별 경사도에 따른 보행 속도,
    Figure pat00097
    는 신호대기시간,
    Figure pat00098
    는 횡단보도의 개수,
    Figure pat00099
    은 휴식시간,
    Figure pat00100
    은 휴식횟수를 나타내는, 사용자 특성 및 시간 제약을 고려한 경로 추천 방법.
  9. 제 8 항에 있어서,
    상기 경유노드에서 상기 조건이 성립되지 않을 경우, 다시 전 단계 노드의 위치로 돌아가 선택되었던 노드를 제외하고, 다음 순위의 노드를 선택하는 과정을 목적노드가 탐색될 때까지 반복하는, 사용자 특성 및 시간 제약을 고려한 경로 추천 방법.
  10. 제 7 항에 있어서,
    상기 다음 노드를 선택하기 위해,
    Figure pat00101
    의 조건에 따라,
    경유노드에서의 시간 제약 값
    Figure pat00102
    이 상기 경유노드에서 목적노드까지의 수직거리에 대한 예상이동시간 h(n)보다 크거나 같아야하고, 상기 경유노드에서의 시간 제약 값
    Figure pat00103
    과 상기 경유노드에서 상기 목적노드까지의 수직거리에 대한 예상이동시간 h(n)의 차이가 최소인 노드를 다음 노드로 선택하는, 사용자 특성 및 시간 제약을 고려한 경로 추천 방법.
  11. 지도상 노드들에 대해 도로상태 별로 사용자 특성을 반영하여 산정된 평균이동시간, 상기 각 노드를 보행하는 데에 드는 평균비용 및 상기 각 노드에 포함된 각 명소의 중요도를 수치화하여 데이터베이스를 구축하는 단계;
    사용자 단말로부터 사용자 입력정보, 출발지점에서 도착지점까지의 보행경로에 대한 최단이동시간, 최소비용 및 주요 명소안내 중 적어도 하나에 대한 제한조건과 함께 상기 각 제한조건에 대한 사용자 선호도를 입력받으며, 상기 보행경로에 대한 안내요청을 수신하는 단계;
    상기 데이터베이스로부터 상기 사용자 입력정보 및 상기 입력된 제한조건에 해당하는 수치를 조회하고, 상기 조회된 수치와 상기 사용자 선호도를 이용하여 최적경로를 탐색하는 단계; 및
    상기 탐색된 최적경로를 상기 사용자 단말에 제공하는 단계;를 포함하는, 사용자 특성 및 제한조건을 고려한 경로 추천 방법.
  12. 제 11 항에 있어서,
    상기 최적경로를 탐색하는 단계는,
    경유노드에서 인접한 노드들에 대해 상기 각 노드에 해당하는 상기 각 제한조건의 수치와 상기 각 사용자 선호도의 곱들을 합산하여 가중치를 구하고, 상기 경유노드에서 인접한 노드들 중 상기 가중치가 가장 낮은 노드를 다음 노드로 선택하는, 사용자 특성 및 제한조건을 고려한 경로 추천 방법.
KR1020160101779A 2016-08-10 2016-08-10 사용자 특성과 제한조건을 고려한 경로 추천 시스템 및 그 방법 KR101860495B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160101779A KR101860495B1 (ko) 2016-08-10 2016-08-10 사용자 특성과 제한조건을 고려한 경로 추천 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160101779A KR101860495B1 (ko) 2016-08-10 2016-08-10 사용자 특성과 제한조건을 고려한 경로 추천 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20180017637A true KR20180017637A (ko) 2018-02-21
KR101860495B1 KR101860495B1 (ko) 2018-05-23

Family

ID=61524696

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160101779A KR101860495B1 (ko) 2016-08-10 2016-08-10 사용자 특성과 제한조건을 고려한 경로 추천 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101860495B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200011103A (ko) * 2018-07-24 2020-02-03 주식회사 에이알브릿지 단말기들의 상태 정보에 따라 생성한 요소들을 이용한 러닝 경쟁 방법 및 이를 위한 단말기와 시스템
KR20210067479A (ko) * 2019-11-29 2021-06-08 건국대학교 글로컬산학협력단 도보 기반 경로 안내 정보 제공 장치 및 방법
CN113704440A (zh) * 2021-09-06 2021-11-26 中国计量大学 一种基于物品图网络中路径表征的会话推荐方法
KR20230021394A (ko) * 2021-08-05 2023-02-14 김경민 산책 코스 추천 방법 및 컴퓨터로 읽을 수 있는 기록매체

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200011103A (ko) * 2018-07-24 2020-02-03 주식회사 에이알브릿지 단말기들의 상태 정보에 따라 생성한 요소들을 이용한 러닝 경쟁 방법 및 이를 위한 단말기와 시스템
KR20210067479A (ko) * 2019-11-29 2021-06-08 건국대학교 글로컬산학협력단 도보 기반 경로 안내 정보 제공 장치 및 방법
KR20230021394A (ko) * 2021-08-05 2023-02-14 김경민 산책 코스 추천 방법 및 컴퓨터로 읽을 수 있는 기록매체
CN113704440A (zh) * 2021-09-06 2021-11-26 中国计量大学 一种基于物品图网络中路径表征的会话推荐方法
CN113704440B (zh) * 2021-09-06 2022-02-18 中国计量大学 一种基于物品图网络中路径表征的会话推荐方法

Also Published As

Publication number Publication date
KR101860495B1 (ko) 2018-05-23

Similar Documents

Publication Publication Date Title
KR101860495B1 (ko) 사용자 특성과 제한조건을 고려한 경로 추천 시스템 및 그 방법
US10288436B2 (en) Method and apparatus for recommending a route
Azmi et al. Comparing the walking behaviour between urban and rural residents
US8996304B2 (en) Customized travel route system
JP5170081B2 (ja) 歩行運動支援装置
US7254481B2 (en) Action support method and apparatus
Dudas et al. ONALIN: Ontology and algorithm for indoor routing
KR20090004252A (ko) 보행자 길 안내 시스템 및 방법
CN108829852A (zh) 一种个性化旅游路线推荐方法
Chang et al. Discovering personalized routes from trajectories
CN110222277B (zh) 一种基于大数据分析的旅游信息推荐方法及装置
KR20100089218A (ko) 경로 탐색 장치 및 방법
Zhang et al. Walking down a different path: route recommendation based on visual and facility based diversity
Balata et al. Automatically generated landmark-enhanced navigation instructions for blind pedestrians
Sasaki et al. Walking route recommender system considering saw criteria
CN112836119A (zh) 一种基于加权异构信息网络的景点推荐方法
KR102136807B1 (ko) 도시 인프라를 이용한 맞춤형 조깅경로 제공장치 및 맞춤형 조깅경로 제공방법
JP5065105B2 (ja) 休憩場所案内システム
Santos et al. Tourism Recommendation System based in user's profile and functionality levels
CN111898043B (zh) 一种城市旅行路线规划的方法
JP3534228B2 (ja) 目的地案内装置
JP3728497B2 (ja) 歩行者経路案内システム及びその方法
JP6840029B2 (ja) ナビゲーション装置、ナビゲーション方法、及びプログラム
Wang et al. Language density driven route navigation system for pedestrians based on twitter data
Karimi et al. Accessible wayfinding testbed: infrastructure and components

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant