KR20190075866A - 출발지 위치로부터 목적지 위치로의 여정에 대한 루트 또는 루트 소요 시간을 제공하기 위한 방법 및 컴퓨터 시스템 - Google Patents

출발지 위치로부터 목적지 위치로의 여정에 대한 루트 또는 루트 소요 시간을 제공하기 위한 방법 및 컴퓨터 시스템 Download PDF

Info

Publication number
KR20190075866A
KR20190075866A KR1020190045438A KR20190045438A KR20190075866A KR 20190075866 A KR20190075866 A KR 20190075866A KR 1020190045438 A KR1020190045438 A KR 1020190045438A KR 20190045438 A KR20190045438 A KR 20190045438A KR 20190075866 A KR20190075866 A KR 20190075866A
Authority
KR
South Korea
Prior art keywords
time
bus
route
subway
cluster
Prior art date
Application number
KR1020190045438A
Other languages
English (en)
Other versions
KR102514131B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=66285578&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20190075866(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 그제고스 말레비치 filed Critical 그제고스 말레비치
Publication of KR20190075866A publication Critical patent/KR20190075866A/ko
Application granted granted Critical
Publication of KR102514131B1 publication Critical patent/KR102514131B1/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/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/343Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
    • 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/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3423Multimodal routing, i.e. combining two or more modes of transportation, where the modes can be any of, e.g. driving, walking, cycling, public transport
    • 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/20Instruments for performing navigational calculations
    • 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
    • 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/3492Special cost functions, i.e. other than distance or default speed limit of road segments employing speed data or traffic data, e.g. real-time or historical
    • 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/367Details, e.g. road map scale, orientation, zooming, illumination, level of detail, scrolling of road map or positioning of current position marker
    • 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/3673Labelling using text of road map data items, e.g. road names, POI names
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Train Traffic Observation, Control, And Security (AREA)

Abstract

실시예들은 루트의 계획을 생성하는 것에 관한 것이다. 일 실시예는 계획을 생성하는 방법이다. 이 방법은 시작 및 종료 위치들을 포함하는, 루트 요건들을 수신한다. 이 방법은 차량들에 대한 데이터로부터 운송 시스템의 모델을 생성한다. 이 모델은 두 위치들 사이에서 운송할 수 있는 차량들 및 도보들의 다양한 선택들 중 임의의 선택을 이용하여 두 위치들 사이의 "예상 이동"을 추상화한다. 차량들에 대한 예상 대기 소요 시간들과 차량들의 라이딩 소요 시간들이 주어지면, 이 방법은 이러한 선택 사항들 중 임의의 선택 사항을 이용하여 예상 최소 이동 소요 시간을 결정한다. 이 방법은 다양한 위치들에 대한 기대치를 확장 가능한(scalable) 방식으로 결합한다. 결과적으로, 가장 짧은 예상 이동 소요 시간을 달성하고 다른 요건들을 충족하는 루트 계획이, 오늘날 존재하는 가장 큰 대도시권들 중 하나에 대해 컴퓨팅된다. 다른 실시예들은 이 방법을 구현하는 컴퓨터 시스템 및 제품 서비스를 포함한다.

Description

출발지 위치로부터 목적지 위치로의 여정에 대한 루트 또는 루트 소요 시간을 제공하기 위한 방법 및 컴퓨터 시스템{A METHOD AND A COMPUTER SYSTEM FOR PROVIDING A ROUTE OR A ROUTE DURATION FOR A JOURNEY FROM A SOURCE LOCATION TO A TARGET LOCATION}
본 발명은 대도시권의 루트 계획에 관한 것이다.
루트 계획의 목표는, 다양한 운송 서비스 제공자들이 제공하는 차량들을 이용하여 한 위치에서 다른 위치로 이동하는 방법을 결정하는 것이다. 종종, 다른 요건들 중에서도, 이동이 가능한 한 적은 시간 동안 소요되거나 특정 시간에 출발해야 하는 것이 요구된다. 루트는 일반적으로, 도보 경로들 및 차량 라이딩(ride) 경로들을 포함하는, 승객을 위한 지침을 지정한다.
실시예들은, 루트들을 컴퓨팅하기 위한 방법, 이 방법을 구현하고 실행하는 컴퓨터 시스템, 및 사용자들이 라우팅 질의들을 하고 루트들을 응답들로서 수신하는 것을 가능하게 하는 컴퓨터 서비스 제품을 포함한다.
본 발명의 실시예에 따르면, 루트 계획을 생성하기 위한 방법이 제공된다. 이 방법은, 루트의 출발지 위치 및 목적지 위치, 및 출발 시간 또는 도착 시한을 포함하는 기타 요건들의 형태로 질의를 수신한다. 이 방법은 차량들의 통계적 특성들을 모델링하는 그래프들을 생성한다. 양상들 중 하나는, 차량들 및 도보들의 다양한 선택들 중 임의의 선택을 이용하여 한 위치에서 다른 위치까지의 이동을 모델링하는 "예상 에지(prospect edge)"이다. 일 실시예에서 이 에지는 두 위치들 사이의 예상 최소 이동 시간을 모델링한다. 질의의 특성들에 따른 그래프 또는 그 확장을 이용하여, 이 방법은 질의에 응답하는 루트 계획을 컴퓨팅한다.
본 발명의 실시예에 따르면, 루트 계획을 생성하기 위한 컴퓨터 시스템이 제공된다. 시스템은 하드웨어와 소프트웨어의 결합이다. 시스템은, 복수의 데이터 제공자들로부터 위치들 사이의 도보들 및 운송 시스템에 관한 정보를 획득한다. 시스템은 운송 시스템을 모델링하는 복수의 그래프를 생성하고, 루트 계획을 생성하기 위해 그래프들에서 최단 경로를 컴퓨팅한다.
본 발명의 실시예에 따르면, 루트 계획을 생성하기 위한 컴퓨터 서비스 제품이 제공된다. 이 서비스는, 사용자가, 스마트폰을 포함하는 디바이스의 사용자 인터페이스를 통해 질의들을 지정할 수 있게 하고, 응답들로서 루트 계획들을 사용자에게 제공한다.
본 명세서에 제시된 본 발명의 실시예들은 예시의 목적을 위한 것이다; 이 실시예들은 모든 실시예들을 망라하려는 것은 아니다. 실시예들의 범위 및 사상을 벗어나지 않으면서 많은 수정들 및 변형들이 당업자들에게 명백할 것이다.
본원 명세서에 개시된 데이터 리트리브, 프로세싱 동작들 등은 알 수 없는 추상적인 아이디어 또는 임의의 정신적 단계로서 수행되는 것이 아니라, 컴퓨터 시스템 또는 서비스로서 수행된다.
본원 명세서에서, 용어들 "제1", "제2", 및 이와 유사한 것들은 의미를 제한하기 위해서 사용되는 것이 아니며, 문맥으로부터 명확하지 않다면 구별을 위한 목적으로 사용된다. 단수 형태의 표현은 문맥으로부터 명확하지 않다면 복수 형태를 포함한다.
본 발명의 일 실시예는 출발지 위치로부터 목적지 위치로의 여정에 대한 루트(route) 또는 루트 소요 시간(route duration)을 제공하기 위한 방법으로서, (a) 상기 출발지 위치 및 상기 목적지 위치를 포함하는 요청을 수신하는 단계; (b) 상기 출발지 위치로부터 상기 목적지 위치로의 두 개 이상의 이동 경로들을 결정하는 단계; (c) 상기 이동 경로들 각각에 대한 이동 소요 시간을 결정하는 단계 ― 상기 이동 소요 시간은 자명하지 않은(non-trivial) 수학적 랜덤 변수로서 정의됨 ―; (d) 상기 이동 소요 시간 수학적 랜덤 변수들 중 최소인 수학적 랜덤 변수를 사용하여 루트 또는 루트 소요 시간을 생성하는 단계; 및 (e) 상기 루트 또는 상기 루트 소요 시간을 포함하는 정보로 상기 요청에 응답하는 단계를 포함한다.
본 발명의 일 실시예는 출발지 위치로부터 목적지 위치로의 여정에 대한 루트 또는 루트 소요 시간을 제공하기 위한 방법으로서, (a) 복수의 차량들에 대하여, 차량의 복수의 정류장들 및 차량 이동 시간 정보에 관한 정보를 수신하는 단계; (b) 복수의 그래프 정점(vertex)들 및 복수의 그래프 에지(edge)들을 포함하는 그래프를 형성하는 단계 ― 상기 복수의 그래프 정점들은 차량 정류장들을 나타내는 적어도 두 개의 정점들을 포함하고, 상기 복수의 그래프 에지들은 차량 이동 소요 시간들을 나타내는 적어도 두 개의 그래프 에지들을 포함함 ―; (c) 출발 정점(origin vertex)으로부터 도착 정점(destination vertex)으로 적어도 하나의 그래프 예상 에지를 형성하는 단계 ― 각각의 예상 에지는 이동 소요 시간을 나타내고, 상기 적어도 하나의 그래프 예상 에지를 형성하는 단계는: i. 상기 그래프 예상 에지의 출발 정점의 위치로부터 상기 그래프 예상 에지의 도착 정점의 위치까지의 두 개 이상의 이동 경로들을 결정하는 단계; ii. 상기 이동 경로들 각각에 대한 이동 소요 시간을 결정하는 단계;― 상기 이동 소요 시간은 자명하지 않은(non-trivial) 수학적 랜덤 변수로서 정의됨 ― iii. 상기 이동 소요 시간 수학적 랜덤 변수들 중 최소인 수학적 랜덤 변수를 사용하여 그래프 예상 에지 이동 소요 시간을 계산하는 단계를 포함함 ―; (d) 출발지 위치로부터 목적지 위치로의 루트 또는 루트 소요 시간에 대한 적어도 하나의 요청을 수신하는 단계; (e) 임의의 두 개의 정점들 사이의 적어도 하나의 그래프 경로를 사용하여 루트 또는 루트 소요 시간을 생성하는 단계 ― 상기 적어도 하나의 그래프 경로는 상기 그래프 예상 에지를 포함함 ―; 및 (f) 상기 루트 또는 상기 루트 소요 시간을 포함하는 정보로 상기 요청에 응답하는 단계를 포함한다.
본 발명의 일 실시예는 출발지 위치로부터 목적지 위치로의 여정에 대한 루트 또는 루트 소요 시간을 제공하기 위한 컴퓨터 시스템으로서, (a) 하나 이상의 프로세서들; 및 (b) 하나 이상의 프로세서들에 의해 실행하기 위한 하나 이상의 프로그램들을 저장하는 메모리를 포함하고, (c) 상기 하나 이상의 프로그램들은 앞서 설명된 본 발명의 방법을 수행하도록 상기 하나 이상의 프로세서들에 의해 실행될 명령들을 포함한다.
본 발명에 포함된 도면들은, 본 발명의 실시예들의 다양한 특징들 및 이점들을 예시한다:
도 1은 본 발명의 실시예에 따른 그래프(G0)를 도시한다.
도 2는 본 발명의 실시예에 따라 그래프(G0)를 구성하기 위한 프로세스 흐름을 도시한다.
도 3은 본 발명의 실시예에 따른, 도보, 대기, 버스 라이딩 및 도보를 수반하는 c에서 c'까지의 이동을 도시한다.
도 4는 본 발명의 실시예에 따른, 하나의 버스 운행 노선이지만 2개의 이동 진로를 수반하는 c에서 c'까지의 이동을 도시한다.
도 5는 본 발명의 실시예에 따른, 2개의 버스 운행 노선들을 도시하며, 이 버스 운행 노선들 각각은 c에서 c'까지의 이동의 별개의 진로를 제공한다.
도 6은 본 발명의 실시예에 따른, 도보, 대기, 지하철 라이딩 및 도보를 수반하는 c에서 c'까지의 이동을 도시한다.
도 7은 본 발명의 실시예에 따른, c에서 c'까지의 이동을 위한 3개의 선택들에 대한 예상 에지를 도시한다.
도 8은 본 발명의 실시예에 따른, c에서의 승객의 도착 시간에 좌우되는 소요 시간 랜덤 변수들이 주어질 때, c에서 c'까지의 이동을 위한 두 가지 선택들에 대한 예상 에지를 도시한다.
도 9는 본 발명의 실시예에 따른, 대기 소요 시간들 및 확정된 이동 소요 시간들의 간격 모델 하에서 예상 에지들을 컴퓨팅하기 위한 의사 코드를 도시한다.
도 10은 본 발명의 실시예에 따라 질의들에서 출발지들이 알려진 때, 그래프 G1이 출발지들로부터의 에지들을 갖게 그래프 G0을 어떻게 확장하는지를 도시한다.
도 11은 본 발명의 실시예에 따라 질의들에서 목적지들이 알려진 때, 그래프 G2가 목적지들까지의 예상 에지들을 갖게 그래프 G0을 어떻게 확장하는지를 도시한다.
도 12는 본 발명의 실시예에 따라 목적지가 질의 시간에 드러나게 될 때, 끝에서 두 번째 정류장/역으로부터 계속되는 예상 이동을 위한 선택들을 컴퓨팅하는 예를 도시한다.
도 13은 본 발명의 실시예에 따른 라우팅 질의들에 응답하기 위한 컴퓨터 시스템의 프로세스 흐름을 도시한다.
도 14는 본 발명의 실시예에 따른 사용자의 스마트폰 상의 서비스 제품에 의해 질의에 응답하여 루트를 렌더링하는 예를 도시한다.
이전 출원들에 대한 상호-참조
본 출원은 참조로서 본 출원에 통합되는 아래 세 개의 미국 가출원들에 기초하며, 상기 미국 가출원들에 우선권을 주장한다.
US 62/608586 (2017.12.21 출원)
US 62/613779 (2018.01.05 출원)
US 62/659157 (2018.04.18 출원)
대도시 운송 시스템은 차량들, 예컨대, 지하철들 및 버스들로 구성된다. 승객에 대한 공통적인 목표는, 주어진 위치에서 대도시 지역 내의 다른 위치까지의 가장 빠른 루트를 결정하는 것이다. 루트는, 온라인 지도 서비스의 주요 제공자들에서 알 수 있듯이, 차량들의 시간표들과, 원하는 출발 시간 또는 도착 시한을 사용하여 컴퓨팅될 수 있다. 그러나 실제로, 일부 차량들은 예컨대, 교통량으로 인해 시간표대로 정확하게 따르지 않는다. 종래 기술과는 대조적으로, 본 발명은 시간표대로 따르는, 그리고 따르지 않는 차량들의 조합을 사용하여 루트들을 컴퓨팅하는 방법을 교시한다. 본 발명은 루트 유사성들 및 대기 소요 시간들을 이용하여 라우팅 결과들을 개선한다.
간단한 예를 통해 개선점들을 설명하겠다. 버스의 노선을 따르는 연속한 두 버스 정류장들(b1 및 b2)을 고려한다. 라이딩은 평균 20분이 소요된다. 버스가 평균적으로 24분마다 b1에 도착한다고 추가로 가정한다. 임의의 시간에 b1에 도착하는 승객의 경우, b2까지의 평균 이동 소요 시간은 32분이다(대기 + 라이딩). 이제, 이 두 버스 정류장들 사이를 또한 운행하는 다른 버스가 있다고 가정한다. 동일한 타이밍 가정들 하에서, 그리고 버스들의 독립성을 가정하면, 평균 이동 소요 시간은 4분 단축된다. 일반적으로, n 개의 버스들이 있다면, 평균은 20 + 24/(n + 1)분이다. 이는 간단하게, b1에 먼저 도착하는 버스에 승객이 승차할 수 있기 때문이다.
그러나 실제의 대도시는 우리의 단순한 예시보다 더 복잡하다: 루트들의 복잡한 중첩 패턴들이 있을 수 있고, 차량들은 상이한 도착 및 속도 패턴들을 갖는다. 승객들이 도보로 보충할 수 있기 때문에, 개선들을 달성하기 위해 루트가 중첩하는 것이 심지어 절대적으로 필요한 것은 아니다. 운송 시스템은, 예컨대, 지하철 시간표들이 변경되고 버스 노선들이 추가되면서 시간이 지남에 따라 발전할 수 있다. 게다가, 우리는 컴퓨터가 심지어 가장 큰 대도시권에 대한 많은 라우팅 질의들에 신속하게 응답하는 것이 가능하도록 루트들을 컴퓨팅하기 위한 효율적인 방법을 원한다.
4.1. 모델 개요
우리는 루트 또는 루트 소요 시간들을 컴퓨팅하기 위한 운송 시스템의 모델을 소개한다. 우리는 운송 시스템이 두 종류의 차량들로 구성된다고 가정한다: (1) 예컨대, 주중 스케줄에 따라 하루 중의 미리 결정된 시간에 출발 및 도착하는, 확정된 시간표대로 따르는 차량들; 우리는 이 차량을 지하철이라고 지칭하고, 그 정류장을 지하철역이라고 지칭한다; (2) 출발 및 도착 시간이 확정되어 있지 않은 차량; 우리는 이 차량을 버스라고 지칭하고, 그 정류장을 버스 정류장이라고 지칭한다. 지하철역과 버스 정류장 둘 모두는, 지리적 위치가 확정되어 있으므로, 우리는 이들 사이의 도보를 결정할 수 있다. 버스들은 버스 운행 노선들로 그룹화된다. 버스 운행 노선의 임의의 버스는, 일반적으로 버스 운행 노선의 터미널 버스 정류장까지 버스 정류장들의 확정된 순서를 따라 라이딩한다.
실제로, 일부 버스들은 매우 정시에 도달할 수 있으며, 이는 우리 모델을 따르지 않는 것처럼 보일 수 있다. 예컨대, 확정된 시간표에 따라 버스 운행 노선의 첫 번째 버스 정류장에서 운행을 시작한 버스를 고려한다. 이 버스는, 교통량을 예상할 수 없는 대도시권에 도달할 때까지, 처음 몇 개의 정류장들에 정시에 도달할 수 있다. 승객이 지하철 라이딩 이후, 이들 처음 몇 개의 버스 정류장들 중 한 곳에 도착할 때, 버스의 대기 소요 시간이 예측 가능하며, 따라서, 전체 지하철-도보-버스 이동 소요 시간도 예측 가능하다. 우리는 이 멀티-차량 지하철-도보-버스 이동을 나타내기 위해 지하철을 개념적으로 추가하여 이 사례를 모델링 할 수 있다. 마찬가지로, 우리는 라이딩들이 동기화되거나 매우 정확한 경우 버스-도보-지하철, 버스-도보-버스 및 지하철-도보-지하철 및 기타 조합을 개념화할 수 있다. 본 개시내용의 설명을 단순화하기 위해, 우리는 본 발명의 설명의 나머지 부분에서 확정된 시간표를 갖는 지하철들 및 미확정된 시간표를 갖는 버스들이라는 우리의 가정을 유지한다.
우리의 방법은 버스들 또는 지하철에 의해 사람들을 라우팅하는 것에 제한되지 않는다. 대신에, 우리의 방법은 보다 일반적이다. 우리의 방법은 실제 발생하는 많은 종류의 차량들을 캡쳐한다. 예를 들어, 이들은 지하철, 버스, 트램, 기차, 택시, 공유 밴, 자동차, 자가운전 자동차, 페리 보트, 비행기, 배달 오토바이, 화물 대형트럭, 또는 컨테이너 트럭을 포함한다. 우리의 방법에 의해 생성되는 루트는 임의의 객체를 라우팅하기 위해 사용될 수 있다. 예를 들어, 임의의 객체들은 사람, 화물, 소포, 편지 또는 음식 품목을 포함한다. 우리는 때때로 이들 객체를 승객으로 지칭한다
운송 시스템은 각각 정점들과 에지들로 구성된 방향성 그래프들의 모음을 통해 모델링된다. 각 정점은, 버스 정류장, 지하철역 또는 보조 엔티티를 나타낸다. 정점 표현들의 다른 예들은 기차역, 택시 정류장, 공유 밴 픽업 또는 드롭오프 위치, 플랫폼, 플로어, 항구, 페리 또는 공항 터미널, 공항, 또는 하역장을 포함한다. 임의의 에지는 대기 또는 한 위치에서 다른 위치까지의 이동 또는 보조 엔티티를 나타낼 수 있다. 일 실시예에서, 에지는 대기 또는 이동의 소요 시간을 나타내는 가중치를 갖는다. 다른 실시예에서, 가중치는 랜덤 변수이다. 다른 실시예에서, 몇몇 랜덤 변수들은, 예컨대, 특히, 하루 중 시간, 휴일인 날/휴일이 아닌 날의 유형에 좌우된다. 다른 실시예에서, 몇몇 랜덤 변수들은 다른 랜덤 변수들과 상관될 수 있다.
일 실시예에서, 우리는 역사적 데이터로부터의 랜덤 변수에 대한 확률 분포를 결정한다. 예를 들어, 우리는 한 달이라는 기간에 걸쳐 주어진 버스 정류장 b1으로부터 주어진 버스 정류장 b2로 이동하기 위해 주어진 버스 노선의 버스를 이용하면 얼마나 걸리는지 측정하고, 그리고 상기 한 달 동안의 샘플들로부터 이동 소요 시간의 경험적인(empirical) 분포를 결정한다. 다른 예에서, 우리는 시간의 기간 동안 주어진 버스 정류장으로부터 주어진 버스 노선의 버스의 출발 또는 도착 시간들을 측정하고, 평일의 매 분(minute)에 대해 버스 노선의 버스에 대한 대기 시간에 대한 경험적 분포를 결정한다. 다른 예로서, 우리는 평균 대기 시간을 결정하기 위해 버스 운전사에 의해 보고되는 통과 간격을 사용한다. 다른 예로서, 버스의 현재 위치가 버스에 대한 대기 소요 시간의 보다 정확한 분포를 컴퓨팅하기 위해 사용된다.
우리의 방법에서 사용되는 랜덤 변수들 중 몇몇은 자명하지 않다(non-trivial). 자명한 랜덤 변수는 확률이 1인 단순한 하나의 값을 갖는다. 임의의 다른 랜덤 변수들은 자명하지 않은 것이다.
임의의 그래프의 목표는, 임의의 두 지리적 위치들 사이의 루트 또는 루트 소요 시간을 찾기 위해 임의의 질의에 응답하는 것을 돕는 것이다. 루트의 시작점을 출발지라고 지칭하고, 종료점을 목적지라고 지칭한다. 위치들은 라우팅 시스템의 적용에 의해 결정된다. 예컨대, 위치들은 상업적인 기업들, 버스 및 지하철 역들 그 자체, 공원의 임의의 지점들, 또는 GPS에 의해 결정되는 사람의 현재 위치일 수 있다. 일 실시예에서, 우리는 Dijkstra의 최단 경로 알고리즘 또는 A* (A star) 검색 알고리즘, 또는 이후에 논의될 이들 알고리즘들의 몇몇 변형을 그래프에 적용함으로써 루트를 탐색한다.
몇몇 실시예들에서, 우리는 루트들에 대한 제한들을 추가한다. 예를 들어, 제한들은: 차량의 종류, 차량 정류장 종류, 차량 환승들의 횟수에 대한 임계치, 대기 소요 시간에 대한 임계치, 도보 소요 시간에 대한 임계치, 특정 차량들에만 피팅될 수 있는 라우팅될 객체의 종류, 이동의 금전적 비용에 대한 임계치, 출발지로부터의 출발 시간, 목적지로의 도착 시간, 또는 기한 전에 도착할 수 있는 원하는 확률을 포함한다.
일 실시예에서, 우리의 방법은 가장 작은 예상 소요 시간을 갖는 루트 또는 루트 소요 시간들을 컴퓨팅한다. 그러나, 우리의 방법은 보다 일반적이다. 우리의 방법은 또한 대략적으로 가장 빠른 루트들 또는 루트 소요 시간들, 또는 가장 빠르지 않을 수 있지만 주어진 기한 이후에 도착할 확률을 제한하는 루트들 또는 루트 소요 시간들을 컴퓨팅한다.
본 발명은 라우팅 질의에 응답하기 위해 여러 개의 그래프를 생성한다. 일부 실시예들은 질의에 기초하여 여분의 정점들 및 에지들을 갖게 그래프를 확장한다.
4.2. 그래프 G0
G0라고 지칭되는 그래프는 버스 정류장들과 지하철역들 사이의 라우팅을 나타낸다. 그 구성에 대한 자세한 설명은 다음과 같다. 그래프 G0는 도 1에 예시되고, 구성들의 프로세스 흐름은 도 2에 예시된다.
4.2.1. 확정된 시간표들
정점들과 에지들의 제1 그룹은 확정된 시간표들대로 따르는 차량들에 의한 라우팅을 나타낸다. 시간표들이 확정되어 있기 때문에, 우리는 알려진 알고리즘을 사용하여 두 위치들 사이의 가장 빠른 루트 - 이는 중간의 도보들과 함께 다수의 차량들의 시퀀스를 포함할 수 있음 -을 컴퓨팅할 수 있다. 따라서 우리는 단일의 에지를 사용하여 출발지에서 목적지까지의 이러한 멀티-차량 이동을 추상화할 수 있다.
우리는, 마치 승객이, 자신이 역에 도착하는 시간을 지하철이 출발하는 시간과 맞춘 것처럼, 대기 없이 지하철에 승차하는 것을 모델링하는 정점을 추가한다. 우리는 각 지하철역 s에 대해 두 개의 정점들을 도입한다: SUBWAY_FROM_s 및 SUBWAY_STATION_s. 임의의 별개의 두 역들 s와 s'에 대해,
우리는 에지
SUBWAY_FROM_s
Figure pat00001
SUBWAY_STATION_s'을 가지며,
이는 가능하게는 지하철들의 환승 및 도보를 포함하는(예를 들어, 역 s에서부터, 먼저 지하철A를 타고 B역으로 간 다음, C역까지 도보 이동한 후 지하철 D를 타고 s'역까지 이동) s에서 s'까지의 라이딩 소요 시간을 나타내며; 에지는 RideManyGetOff로 라벨링된다. 일 실시예에서, 에지의 가중치는 평일 아침 러시 아워 동안의 최소의 라이딩 소요 시간이다. 다른 실시예에서, 우리는 많은 시간 윈도우들 각각에 대해 랜덤 변수를 이용한다. 다른 실시예에서, 랜덤 변수는 위치 s에 승객이 도착하는 시간 또는 위치 s로부터의 출발 시간에 좌우된다.
승객이 이동 중 지하철역에 늦게 도착하고 지하철을 대기할 필요가 있을 때의 이벤트를 우리는 모델링한다. 임의의 별개의 두 다른 역들인 s'와 s"에 대해, 우리는 s'에서 s"까지의 운행을 나타내는 정점 SUBWAY_FROM_TO_s'_s''를 추가한다. s'에서 s"까지 이동하는 지하철에 승차하기 위한 대기 소요 시간을 나타내는 WaitGetOn으로 라벨링된 에지
SUBWAY_STATION_s'
Figure pat00002
SUBWAY_FROM_TO_s'_s"이 있다. 일 실시예에서, 에지의 가중치는, 평일 아침 러쉬 아워 동안 랜덤한 시간에 s' 에 도착하는 승객을 고려해 볼 때, 승객을 s"까지 가장 빨리 수송하는 지하철에 대한 평균 대기로 설정된다. 다른 실시예에서, 가중치는 s'로부터 s''로의 임의의 지하철의 평균 배차 간격의 절반으로 설정된다. 다른 실시예에서, 우리는 많은 시간 윈도우들 각각에 대해 랜덤 변수를 이용한다. 다른 실시예에서, 랜덤 변수는 위치 s'에 승객이 도착하는 시간 또는 출발 시간의 분포에 좌우된다.
우리는, 가능하게는 지하철들의 환승 및 도보를 포함하는, s'에서 s"까지 라이딩 소요 시간을 나타내는 RideManyGetOff로 라벨링된 에지
SUBWAY_FROM_TO_STATION_s'_s"
Figure pat00003
SUBWAY_STATION_TO_s"를 추가한다. 일 실시예에서, 에지의 가중치는 평일 아침 러시 아워 동안의 평균 최단 라이딩 소요 시간으로 설정된다. 다른 실시예에서, 우리는 많은 시간 윈도우들 각각에 대해 랜덤 변수를 이용한다. 다른 실시예에서, 랜덤 변수는 위치 s'에 승객이 도착하는 시간또는 위치 s'로부터 출발 시간에 좌우된다.
4.2.2. 미확정된 시간표들
정점들과 에지들의 제2 그룹은 확정된 시간표들대로 따르지 않는 차량들에 의한 라우팅을 나타낸다.
모든 버스 운행 노선마다, 우리는 그 버스 정류장들 및 이들 버스 정류장들의 버스를 모델링하는 정점들을 추가한다. 전자는 버스 외부의 승객을 추상화하고, 후자는 버스 내부의 승객을 추상화한다. b1,..., bn을 버스 운행 노선 e를 따르는 n개의 연속한 버스 정류장들(요구에 따른 정류장들을 포함함)이라고 하자. 그 다음, 우리는 각각의 k (1≤k≤n)에 대해 정점들 BUS_STOP_bk 및 BUS_AT_BUS_STOP_bk_k_e를 추가한다. 2개의 버스 운행 노선들이 버스 정류장을 공유할 수 있다. 이 버스 정류장에서 버스에서 하차하는 것을 나타내는 GetOff로 라벨링된 에지
BUS_AT_BUS_STOP_bk_k_e
Figure pat00004
BUS_STOP_bk가 있다; 에지는 제로의 가중치를 갖는다. 승차하기 전에 버스 정류장 bk에서 버스 운행 노선 e의 버스를 대기하는 소요 시간을 나타내는 WaitGetOn으로 라벨링된, 역방향의 에지
BUS_STOP_bk
Figure pat00005
BUS_AT_BUS_STOP_bk_k_e가 있다. 일 실시예에서, 에지의 가중치는, 평일 아침 러시 아워 동안 버스 운행 노선 e의 버스의 평균 도착 간격 시간의 절반으로 설정되며, 이는 이 버스 운행 노선의 모든 버스 정류장에 대해 동일하다. 다른 실시예에서, 우리는 많은 시간 윈도우들 및 버스 정류장들 각각에 대해 랜덤 변수를 이용한다. 다른 실시예에서, 랜덤 변수는 위치 bk에서 승객의 도착 시간 또는 출발 시간의 분포에 좌우된다.
동일한 버스 내에서 이동을 모델링하기 위해, 우리는, 버스 운행 노선 e에 따라 버스 정류장 bk에서 다음 버스 정류장 bk+1까지의 라이딩의 소요 시간을 나타내는 RideSame으로 라벨링된 에지
BUS_AT_BUS_STOP_bk_k_e
Figure pat00006
BUS_AT_BUS_STOP_bk+1_k+1_e를 추가한다. 일 실시예에서, 에지의 가중치는 평일 아침 러시 아워 동안 이들 버스 정류장들 사이의 평균 라이딩 소요 시간으로 설정된다. 다른 실시예에서, 우리는 많은 시간 윈도우들 및 버스 정류장들 각각에 대해 랜덤 변수를 이용한다. 다른 실시예에서, 랜덤 변수는 위치 bk에 버스가 도착하는 시간 또는 위치 bk로부터의 출발 시간에 좌우된다.
4.2.3. 도보
우리는 버스 정류장 정점과 지하철역 정점을 연결하기 위해 도보를 이용한다.
본 발명의 개시내용의 이 섹션 및 다른 섹션에서, 우리는 도보에 대한 다양한 요건들을 허용한다. 일 실시예에서, 우리는 4km/h의 특정 속도로, 가장 짧은 소요 시간으로 도보를 이용한다. 다른 실시예에서, 가중치는, 6km/h의 속도를 포함하고, 계단을 피하고 어두운 거리를 피하는 것을 포함하는 몇 가지 도보 경로 요건들 각각에 대한 랜덤 변수이다. 다른 실시예에서는, 우리는 확정된 최대 양의 시간, 예를 들어, 1 시간의 소요 시간으로만 도보를 허용한다. 다른 실시예에서, 도보는 임의의 장애물들을 무시하는 직선이다. 다른 실시예에서, 도보는 리프트, 무빙 패스, 엘리베이터, 또는 에스컬레이터에 의한 이동을 포함할 수 있다.
요건들에 의해 허용될 때, 임의의 b, b', s, s'에 대해, 우리는, 에지들
BUS_STOP_b
Figure pat00007
BUS_STOP_b'
BUS_STOP_b
Figure pat00008
SUBWAY_STATION_s 및
SUBWAY_STATION_s
Figure pat00009
BUS_STOP_b
SUBWAY_STATION_s
Figure pat00010
SUBWAY_STATION_s'을 추가한다. 각 에지는 Walk로 라벨링되고, 그 가중치는 도보의 소요 시간을 나타낸다.
4.2.4. 제약들
다음으로, 우리는, 루트를 따르는 첫 번째 대기에 대한 제약을 모델링할 수 있게 하는 보조 정점들을 추가한다. 일 실시예에서, 대기는 제로이며, 이는 더 이르지는 않지만, 출발하는 버스/지하철을 잡을 정도로만 이르게 승객이 정류장/역까지 도보하는 것을 모델링한다. 다른 실시예에서, 대기는 이동의 시작 시간에 의존하며, 이는 승객이 특정 시간에 이동을 시작하는 것을 모델링한다(예를 들어, 오전 8시에 집을 출발).
우리는 버스 정류장들과 지하철역들의 지리적인 근접성에 기반하여 이들을 클러스터링한다. 일 실시예에서, 우리는 클러스터 반경을 2미터로 정한다. 다른 실시예에서, 우리는 라우팅 시스템의 사용자에 의해 요구되는 자원/품질 트레이드-오프들에 따라 클러스터들의 수를 선택한다. 다른 실시예에서, 클러스터 반경은 0 미터이며, 이 경우 클러스터들은 버스 정류장들 및 지하철 역들의 간단한 모형이다.
각각의 클러스터 c에 대해, 우리는 정점 STOPSTATION_CLUSTER_SOURCE_c를 추가하고, 클러스터를 그 버스들 및 지하철들에 연결하는 에지들을 추가한다:
bk 또는 s가 클러스터 c에 있을 때,
STOPSTATION_CLUSTER_SOURCE_c
Figure pat00011
BUS_AT_BUS_STOP_bk_k_e
STOPSTATION_CLUSTER_SOURCE_c
Figure pat00012
SUBWAY_FROM_s
에지는 FirstWaitGetOn으로 라벨링된다. 일 실시예에서, 에지의 가중치는 0이다. 다른 실시예에서, 에지의 가중치는 정점(버스 정류장 bk 또는 지하철역 s)의 위치에 승객이 도착한 시간에 좌우되는 차량(버스 e 또는 지하철)에 대한 대기 소요 시간을 나타내는 랜덤 변수이다. 다른 실시예에서, 가중치는, 예컨대, 클러스터 반경이 클 때, c와 bk/s 사이의 도보 소요 시간만큼 증가된다.
STOPSTATION_CLUSTER_SOURCE_c로부터의 그래프에서 임의의 자명하지 않은(non-trivial) 경로는 FirstWaitGetOn 에지를 정확히 한 번 트래버스할 것임을 주목하라.
우리는 다른 보조 정점들을 추가한다. 이전과 마찬가지로, 우리는 버스 정류장들과 지하철역들을 클러스터링하고, 각각의 클러스터 c에 대해,
정점
STOPSTATION_CLUSTER_TARGET_c 및
클러스터 c에 있을 때 모든 b 및 s에 대해
에지들
BUS_STOP_b
Figure pat00013
STOPSTATION_CLUSTER_TARGET_c
SUBWAY_STATION_s
Figure pat00014
STOPSTATION_CLUSTER_TARGET_c를 추가한다. 에지들은 제로로 라벨링되고 0의 가중치를 갖는다. 다른 실시예에서, 가중치는, 예컨대, 클러스터 반경이 클 때, 도보 소요 시간만큼 증가된다.
정점들 STOPSTATION_CLUSTER_TARGET_c의 도입은, 라우팅 목적지 위치들이 많은 경우 그래프 크기를 감소시키는 것을 도울 수 있다. 다른 실시예에서, 적절할 때, 임의의 b 및 s에 대해, 우리는 이들 정점들을 BUS_STOP_b 및 SUBWAY_STATION_s에서 목적지까지의 직행 에지들로 대체할 수 있다.
지금까지 작성된 그래프는 임의의 c 및 c'에 대해 STOPSTATION_CLUSTER_SOURCE_c에서 STOPSTATION_CLUSTER_TARGET_c'까지의 이동 소요 시간을 모델링하여, 첫 번째 버스 또는 지하철은 대기 없이 또는 주어진 대기 후에 승차되고, 승객이 버스 또는 지하철을 시퀀스를 하차한 후, 임의의 후속 차량 라이딩은 승차를 위한 대기를 필요로 한다.
4.2.5. 예상 에지들
다음으로, 우리는 여러 차량들 중 임의의 차량을 사용하는 것으로 인한, 이동 소요 시간의 개선들을 반영하는 보조 정점들과 에지들을 추가한다. 임의의 차량에 대한 더욱 짧은 대기 또는 임의의 차량에 의한 더욱 짧은 라이딩에 의한 개선들이 야기될 수 있다.
차량에 승차하기 위한 대기의 소요 시간은, 미확정된 시간표들을 사용하는 차들량의 확률적인 특성으로 인해, 승객이 랜덤 시간에 정류장/역에 도착한다고 가정하여 모델링될 수 있다.
우리는 차량들의 여러 선택 중 하나를 사용하여 두 위치들 사이의 이동을 추상화하는 예상 에지를 소개한다. 일 실시예에서, 에지의 가중치는 이러한 선택들 중에서 예상 최소 이동 소요 시간의 값이다.
본 섹션에서, 예상 에지에 의해 연결되는 두 개의 위치들은 차량 정류장들 근처에 있다. 실제로, 이후 섹션에서 우리는 임의의 차량 정류장으로부터 떨어져 있을 수 있는 임의의 위치에서 끝나는 예상 에지를 설명할 것이다. 일반적으로, 예상 에지는 그래프에서 임의의 두 개의 정점들을 연결할 수 있다. 그러나, 설명을 위하여, 이 섹션에서 우리는 차량 정류장들 근처의 예상 에지들에 초점을 맞출 것이다.
우리는 이전과 마찬가지로, 버스 정류장들과 지하철역들의 지리적인 근접성에 기반하여 이들을 클러스터링한다. 두 개의 별개의 클러스터들 c와 c'가 주어지면, 우리는, 도보를 하고, 이어 버스를 타고, 이어 도보를 하여 c에서 c'까지 이동의 임의의 진로를 고려하며, 두 도보들 중 임의의 도보는 길이 0을 가질 수 있다. 예컨대, 도 3은, c에서 정점 BUS_STOP_b까지의 도보, 그리고 그로부터, 정점 BUS_STOP_b'에서 종료되는, 에지들 WaitGetOn, RideSame 및 GetOff를 갖는 버스 운행 노선 e를 수반하는 그래프 경로 및 그 다음 BUS_STOP_b'에서 c'까지의 도보가 있는 경우를 도시한다. T를, 그래프 경로로 모델링되는 c에서 b까지 그리고 b'에서 c'까지 도보를 이용하고, b에서 b'까지 버스를 타는, c에서 c'까지의 이동 소요 시간을 나타내는 랜덤 변수라고 하자. 이 변수는 단지, 경로를 따르는 그래프 에지들의 랜덤 변수들과, 전후 2번의 도보들의 랜덤 변수들의 합이다. 그 분포는 구성 분포들로부터 설정될 수 있다. 일 실시예에서, 우리는 c로부터의 출발 시간에 대한 랜덤 변수를 컨디셔닝한다.
일 실시예에서, 이 랜덤 변수 T는 간격 [x, y]에 균일하게 분포되며, 여기서 간격 팁들은 다음과 같다.
x = (c에서 b까지의 최소 도보 소요 시간) + (경로 에지들을 따르는 예상 RideSame 소요 시간의 합) + (b'에서 c'까지의 최소 도보 소요 시간)
y = x + 2 * (예상 WaitGetOn 소요 시간).
다른 실시예에서, 팁들은 랜덤 변수들의 표준 편차의 다양성에 의해 조정된다.
다른 실시예에서, c에서 b까지 및 b'에서 c'까지의 도보 소요 시간들이 확정된 최대 양의 시간, 예컨대 1시간인 때만, 우리는 c, b, b', c'를 고려한다.
다른 실시예에서, 도보들 중 임의의 도보는 제로-길이(선택적 도보)일 수 있다.
다른 실시예에서, 우리는 c에서 b까지 또는 b'에서 c'까지 최단 소요 시간 도보를 필요로 한다.
다른 실시예에서, 도보들은 섹션 4.2.3에서와 같은 실시예들을 가질 수 있다.
다른 실시예에서, 랜덤 변수 T는 비균일하다.
다른 실시예에서, 랜덤 변수 T는 위치 c에 승객이 도착하는 시간에 좌우된다.
확정된 버스 운행 노선 e의 경우, c에서 c'까지 이동하기 위한 많은 대안들이 있을 수 있는데, 그 이유는 승객이 버스 운행 노선의 다양한 버스 정류장들에서 승차/하차할 수 있고, 나머지 이동을 위해 도보를 이용할 수 있기 때문이다. 예를 들어, 도 4는, 전체 라이딩 소요 시간을 증가시키지만 총 도보 소요 시간을 감소시키는, 하나의 추가의 정류장 BUS_STOP_b"까지의 대안적인 라이딩을 도시함으로써 도 3을 확장한다. 일 실시예에서, 이들 대안들 중에서, 우리는 가장 낮은 기대치를 갖는 랜덤 변수 T를 취한다. 이 변수를 Tc,c ',e로 표시한다. 이것은 버스 운행 노선 e와 시작 및 종료 클러스터 c 및 c'에 대한 확정된 랜덤 변수이다. 변수는 확률적으로 버스 운행 노선 e를 통해 c에서 c'까지 가는 가장 빠른 이동 소요 시간을 나타낸다.
일 실시예에서, Tc,c ',e에 대한 후보들이 간격들에 대해 균일하게 분포될 때, 가장 낮은 기대치 후보는 간격의 가장 작은 중앙값을 갖는 바로 그 후보이다.
다른 실시예에서, 우리는, 예컨대, 피크 시간 동안 그리고 또한 더 많은 도로 교통량 동안 더 높은 빈도의 버스들을 잡기 위해, 많은 시간 윈도우들 마다 하나의 변수를 사용한다. 다른 실시예에서, 랜덤 변수는 위치 c에 승객이 도착하는 시간에 좌우된다.
승객을 c에서 c'까지 운송하는 것을 도울 수 있는 모든 버스 운행 노선 e1 내지 en을 고려하자. 구성 도보들 및 버스 정류장들은 다를 수 있음을 주목하라. 예컨대, 도 5는 두 개의 버스 운행 노선 e1과 e2를 보여주며, 각각은 별개의 버스 정류장들을 이용하고, 상이한 도보 소요 시간들을 갖는다. Tc,c ',e1 내지 Tc,c ',en을 앞에서 정의한 바와 같이, 각각 가장 빠른 이동 소요 시간 랜덤 변수라고 하자.
우리는 변수들의 기대 최소값 (expected minimum) E[min1 ≤i≤ nTc,c ', ei]를 계산할 수 있다. 이 기대치는 "어느 버스든지 나를 그곳에 더 빨리 데려다 줄 버스"에 의해 이동 소요 시간을 모델링한다.
일 실시예에서, 상이한 버스 운행 노선들의 랜덤 변수들은 독립적이다. 즉, 임의의 두 별개의 버스 운행 노선들 ei와 ej에 대해 Tc,c ', ei는 Tc,c ', ej와는 독립적이다. 다른 실시예에서, 랜덤 변수들은 공통 간격 [x, y]에 대해 독립적으로 균일하다. 그러면 기대 최소값는 (y + n * x)/(n + 1)이다. 다른 실시예에서, 우리는 수학 공식, 근사 적분 또는 랜덤 샘플링 또는 기대 최소값에 대한 다른 근사 알고리즘 또는 체험을 통해 기대치를 계산한다. 근사 알고리즘이 사용되면, 우리의 방법은 더 이상 가장 짧은 루트들을 제공하지 않지만, 대신에 대략적으로 가장 짧은 루트들을 제공한다.
이제 우리는 예상 최소 이동 소요 시간의 계산에 지하철들을 포함시키는 방법을 논의한다. 버스들과 마찬가지로, Tc,c ', s,s '를 도보들과 지하철 라이딩들을 이용하여 c에서 c'까지의 가장 빠른 이동 소요 시간의 랜덤 변수라고 하다. 도 6에 예시되어 있듯이, c에서 s까지의 도보, 그래프의 경로
SUBWAY_STATION_s
Figure pat00015
SUBWAY_FROM_TO_s_s'
Figure pat00016
SUBWAY_STATION_s' 및
s'에서 c'까지의 도보가 있다. 이 변수의 분포는 구성 분포들로부터 설정될 수 있다. 일 실시예에서, 우리는 c로부터의 출발 시간에 대한 랜덤 변수를 컨디셔닝한다.
일 실시예에서, Tc,c ', s,s '는 간격 [x, y]에 대해 균일하게 분포되며, 여기서 간격 팁들은
x = (c에서 s까지 최소 도보 소요 시간) + (그래프 경로 상의 예상 RideManyGetOff 소요 시간) + (s'에서 c'까지의 최소 도보 시간),
y = x + 2*(그래프 경로 상의 예상 WaitGetOn 소요 시간)이다.
다른 실시예에서, 팁들은 랜덤 변수들의 표준 편차의 다양성에 의해 조정된다. 다른 실시예에서, 우리는, c에서 s까지 그리고 s'에서 c'까지의 도보 소요 시간들을 확정된 최대 양의 시간, 예컨대 1시간으로 제한한다. 다른 실시예에서, 도보들 중 임의의 도보는 제로-길이(선택적 도보)일 수 있다. 다른 실시예에서, 우리는 c에서 s까지 또는 s'에서 c'까지 최단 소요 시간의 도보를 필요로 한다. 다른 실시예에서, 도보들은 섹션 4.2.3에서와 같은 실시예를 가질 수 있다.
다른 실시예에서, Tc,c ', s,s '는 비균일하다.
다른 실시예에서, Tc,c ', s,s '는 위치 c에 승객이 도착하는 시간에 좌우된다. 다른 실시예에서, 우리는 많은 시간 윈도우들 각각에 대해 하나의 변수를 사용한다.
지하철 랜덤 변수들이 확정된 지하철 스케줄들로부터 도출되기 때문에, 지하철 랜덤 변수들은 쌍 방향 종속성이라는 점에서 복잡함이 발생한다. 이는 c에서 c'까지의 예상 최소 이동 소요 시간의 계산을 복잡하게 할 수 있다.
승객을 c에서 c'로 운송하는 데 도움을 줄 수 있는 모든 지하철 라이딩을 고려하고, s1, s'1,..., sm, s'm은, 각각의 랜덤 변수들 Tc,c ',s1,s'1 내지 Tc,c ', sm,s'm을 가진 승차 및 하차 지하철역들이라고 하자.
일 실시예에서, 모든 버스 운행 노선 랜덤 변수들과 함께 임의의 하나의 지하철 랜덤 변수는 독립적이다. 이 경우, 우리는 버스 라이딩들의 풀에 한 번에 1회씩 지하철 라이딩을 부가하여, 기대 최소값들 중 최소값으로서 버스들 및 지하철들에 대한 예상 최소 이동 소요 시간을 컴퓨팅하고 이를 P(c,c')로 표시할 수 있다.
등식 1 :
P(c,c') = min1 ≤j≤ mE[min(Tc,c ', sj,s'j,Tc,c ',e1,…, Tc,c ',en)]
우리는 P(c,c')를 예상 이동으로 지칭하는데, 그 이유는 예상 이동이 기회주의적으로 여러 운송 수단 선택들 중 임의의 선택을 수반하는 c에서 c'까지의 이동이기 때문이다. 우리는 m+n 구성 랜덤 변수들 Tc,c ', sj,s'j 및 Tc,c ', ei를 선택들이라고 지칭한다.
일 실시예에서, Tc,c ', ei는 간격에 걸쳐 균일하고, Tc,c ', sj,s'j도 마찬가지이다. 이 경우, 우리는 간격 [xi, yi]에 걸쳐 각각 균일한 Ti의 일부 수에 대해, 기대 최소값 E [min Ti]를 계산한다.
예컨대, 도 7은 세 가지 선택들:
[0,900]에 대한 대기 균일성 및 도보 & 라이딩 1700을 갖는 버스 운행 노선 e',
[0,3600]에 대한 대기 균일성 및 도보 & 라이딩 1000을 갖는 버스 운행 노선 e",
[0,300]에 대한 대기 균일성 및 도보 & 라이딩 2200을 갖는 지하철
을 수반하는 c에서 c'까지의 이동을 도시한다. 이 경우, 최소 예상 이동 소요 시간은 2150 = min{2150, 2800, 2350}이며, 이는 "어느 것이든 더 빠른 것"에 의한 이동으로부터의 개선을 반영하지 않는다. 그러나 기대 최소값은 더 낮다: P(c,c')=1933.
다른 예에서, 도 8은 승객이 c(예상 에지의 출발지)에 도착한 시간에 좌우되는 확률 분포들을 예시한다. c에서 c'까지 가는 2가지 선택들이 있는데, 하나는 버스를 이용하는 것이고, 나머지 하나는 지하철을 이용하는 것이다. 각 선택은 대기에 대한 그리고 대기 및 라이딩에 대한 그 자체의 조건부 확률 분포들을 갖는다.
P(c,c')의 값이 기대치들의 최소치 min(min1 ≤j≤ mE[Tc,c ', sj,s'j], min1 ≤i≤nE[Tc,c',ei])보다 작으면, 예상 이동으로 인해 소요 시간에 이득이 있다.
이 경우, 우리는 그래프에 다음을 추가한다:
정점들
PROSPECT_CLUSTER_SOURCE_c 및 PROSPECT_CLUSTER_TARGET_c',
가중치 P(c,c')를 갖는 AvgMinWalkWaitRideWalk로 라벨링된 에지
PROSPECT_CLUSTER_SOURCE_c
Figure pat00017
PROSPECT_CLUSTER_TARGET_c', 및
클러스터 c의 버스 및 지하철 역들로부터 정점 PROSPECT_CLUSTER_SOURCE_c까지의 에지들, 및 정점 PROSPECT_CLUSTER_TARGET_c'에서 클러스터 c'의 버스 및 지하철 역들까지의 에지들. 이 에지들은 Zero로 라벨링되고 제로 가중치를 갖는다.
일 실시예에서, 우리는, 예상 에지의 가중치 P(c,c')가 임계치, 예컨대 적어도 10초를 초과하는 이득을 초래할 때만 예상 에지를 추가한다.
우리의 방법은, 운송 수단 선택들 중 첫 번째로 도착한 운송 수단에 승객이 승차할 필요가 없는데, 그 이유는 간단하게, 후속 선택이 심지어 더 긴 대기를 필요로 하더라도, 목적지에 더 빠르게 도달할 수 있기 때문임(고속 버스 대 일반 버스를 고려하라)을 우리는 주목하고 있다. 우리의 방법은, 동일한 정류장/역에서 버스에 승차할 것을 심지어 필요로 하지 않는데, 그 이유는 승객이 예컨대, 다른 역에서 출발하는 고속 기차를 예상하고 그 역까지 도보로 이동할 수 있기 때문이다.
정의 1:
다른 실시예에서, 예상 이동은 이하에 관하여 정의된다:
ㆍ임의의 두 위치들(c 및 c'),
ㆍ각각 c에서 c'까지의 이동 소요 시간을 나타내는 랜덤 변수들 T1,…,Tk 중 k≥2인 임의의 수,
ㆍk개의 변수들은 독립적이거나 종속적이거나 임의로 상관되며,
ㆍk개의 변수들 중 임의의 변수는 승객이 위치 c에 도착한 시간 A에 좌우될 수 있다; 시간 A는 랜덤 변수일 수 있다. 예상 이동의 소요 시간은 최소치 min(T1,…,Tk)이다. 예상 에지의 가중치는 이 최소치의 기대 값으로 P(c,c') = E[min(T1,…,Tk)]이다.
다른 실시예에서, 랜덤 변수 Ti는 간격 상에 균일하게 분포된다. 일 실시예에서, 랜덤 변수 Ti는 특정 시간 윈도우에 속하는 c에서의 출발 시간 또는 c에 대한 도착 시간의 확률적 분포에 좌우된다.
일 실시예에서, 랜덤 변수들 T1,...,Tk를 결정하기 위해, 우리는 c 근처의 차량 정류장들의 리스트 및 c로부터 이들 정류장들로의 도보 소요 시간, 그리고 c' 근처의 차량 정류장들의 리스트 및 이들 정류장들로루터 c'으로의 도보 소요 시간을 결정하고, 그리고 나서 상기 두 리스트들 상의 차량 정류장들에 대한 각각의 쌍에 대해 우리는 이동 소요 시간 랜덤 변수를 결정한다.
일 실시예에서, 우리는 랜덤 변수 min(T1,...,Tk)에 대한 다양한 통계를 계산한다. 하나는 이미 언급한 기대 값이다. 그러나, 우리는 특정 확률로 달성될 수 있는 출발 시간을 결정하기 위해, 확률 질량(probability mass)을 또한 계산한다. 이들 통계들을 계산하기 위하여, 우리는 샘플링, 닫힌-형태(closed-form) 공식, 근사 적분, 및 다른 근사적 알고리즘 또는 경험칙을 포함하는 몇몇 방법들을 사용한다.
일 실시예에서, 우리는 예상 이동의 컴포넌트를 미리 계산하고 그리고 이를 저장함으로써, 예상 이동이 결정될 필요가 있는 경우 우리는 저장장치로부터 컴포넌트를 리트리브하고 컴포넌트를 처음부터 계산하는 것을 피할 수 있다. 이러한 컴포넌트들의 예들은: 차량 정류장들의 쌍들 사이의 이동 소요 시간의 랜덤 변수; 두 개 이상의 이동 소요 시간 랜덤 변수들의 기대 최소값; 적어도 두 개의 이동 소요 시간 랜덤 변수들의 최소값의 확률 분포; 또는 한 쌍의 차량 정류장들 사이의 경로 또는 이동 소요 시간을 포함한다.
지금까지 우리는 주어진 c와 c'에 대한 예상 에지를 컴퓨팅하는 방법을 정의했다. 우리는 이 정의를 별개의 c와 c'의 모든 쌍에 적용하며, 이는 예상 에지에 의해 어느 예상 클러스터들이 연결되고, 어느 것이 연결되지 않는지와 어떤 가중치를 갖는지를 결정한다.
일 실시예에서, c 및 c' 쌍들의 2차수를 고려하는 대신에, 우리는 그래프 트래버스를 수행한다. 일 실시예에서, 우리는 각각의 c에 대해, 정점 PROSPECT_CLUSTER_SOURCE_c로부터 도보-버스/지하철-도보로 도달할 수 있는 모든 정점 PROSPECT_CLUSTER_TARGET_c'으로 향하는 "순방향(forward)" 트래버스를 사용한다. 트래버스 동안, 우리는 각각의 c'에 대해, PROSPECT_CLUSTER_TARGET_c'로 이어지는 그래프 경로들을 식별한다. 우리가 특정한 c'에 대해 이러한 모든 경로들을 식별하면, 우리는 PROSPECT_CLUSTER_SOURCE_c와 PROSPECT_CLUSTER_TARGET_c' 사이의 모든 선택들을 계산하고, 따라서 이들 선택들의 기대 최소값을 계산할 수 있다(추가적인 예는 도 9를 참조). 우리는 탐색을 그래프의 도달 가능한 부분들로만 제한하기 때문에, 우리는 종종, 예상 에지들을 더욱 효율적으로 컴퓨팅할 수 있다. 일 실시예에서, 우리는 "리버스된" 경로 도보-버스/지하철-도보에 의해 도달 가능한 모든 정점 PROSPECT_CLUSTER_SOURCE_c로 돌아가는, 각각의 c'에 대해 정점 PROSPECT_CLUSTER_TARGET_c'로부터의 "역방향" 트래버스의 대칭적 방법을 사용한다.
도 9는, 임의의 대기 소요 시간이 각각의 에지에 대한 구간 [0, 2*WaitGetOn]에 균일하게 분포되고, 라이딩 소요 시간이 결정론적인 경우, 그래프 G0에 예상 에지들을 추가하는 프로세스의 실시예를 예시한다.
4.3. 그래프 G0의 확장
우리는 그래프 G0에 대한 확장을 기술한다. 각 확장은 특정 종류의 라우팅 질의들에 유용하다.
4.3.1. 사전에 알려진 출발지들
일부 실시예들에서, 라우팅 질의들의 출발지 위치들은 미리 알려져 있다. 예컨대, 우리는 대도시권의 모든 레스토랑으로부터 최단 루트들 찾는 데 관심이 있고, 레스토랑의 위치가 알려져 있다고 가정한다. 이것은 확장된 그래프 G0의 도움으로 달성될 수 있다.
일 실시예에서, 이러한 각각의 출발지 s마다, 우리는, 정점 SOURCE_s를 추가한다. 예시를 위해 도 10을 참조하라. 일 실시예에서, 우리는 그래프 G0에서, SOURCE_s에서 임의의 버스 정류장 및 지하철역 클러스터 STOPSTATION_CLUSTER_SOURCE_c까지 에지를 추가한다. 에지는 Walk로 라벨링되고, 그 가중치는 도보의 소요 시간을 나타낸다. 다른 실시예에서, 우리는 최대 임계치인 소요 시간을 갖는 최단 도보 또는 섹션 4.2.3에서와 같은 다른 실시예들을 이용한다.
결과 그래프는 G1(이는 G0을 포함함)으로 표시된다. G1은 임의의 SOURCE_s에서 임의의 STOPSTATION_CLUSTER_TARGET_c까지의 최단 경로들을 컴퓨팅하기 위해 사용될 수 있다. 일 실시예에서, 몇몇 경로들은 미리 계산되고, 저장되고, 그리고 쿼리가 제시될 때 저장장치로부터 리트리브된다.
다른 실시예에서, 목적지들이 이전에 알려져 있는 경우에는 대칭적인 방법을 사용한다: 각각의 목적지 t에 대하여, 우리는 정점 TARGET_t를 추가하고, 임의의 STOPSTATION_CLUSTER_TARGET_c로부터 임의의 TARGET_t으로 Walk로 라벨링된 에지를 추가한다. 결과 그래프는 G1'로 표시된다.
4.3.2. 사전에 알려진 목적지들
일부 실시예들에서, 라우팅 질의들의 목적지 위치들은 미리 알려져 있고, 우리는 목적지들까지 예상 에지들을 갖게 G0를 확장한다.
각 목적지 t마다, 우리는 정점 TARGET_t를 추가한다. 예시를 위해 도 11을 참조하라. 일 실시예에서, 우리는 그래프 G0에서, 임의의 버스 정류장 및 지하철역 클러스터 STOPSTATION_CLUSTER_TARGET_c에서 TARGET_t까지 에지를 추가한다. 에지는 Walk로 라벨링되고, 그 가중치는 도보의 소요 시간을 나타낸다. 다른 실시예에서, 우리는 최대 임계치인 소요 시간을 갖는 최단 도보 또는 섹션 4.2.3에서와 같은 다른 실시예들을 이용한다.
우리는 섹션 4.2.5와 유사한 프로세스에 따라 예상 에지들을 추가한다. 특히, 임의의 PROSPECT_CLUSTER_SOURCE_c 및 TARGET_t에 대해, 우리는 c에서 t까지의 두 유형의 경로들 모두를 결정한다:
(1) 도보 및 버스 라이딩:
c에서 b까지 도보:
그래프 경로
BUS_STOP_b
Figure pat00018
BUS_AT_BUS_STOP_b_i_e
Figure pat00019
BUS_AT_BUS_STOP_b'_j_e
Figure pat00020
BUS_STOP_b'
Figure pat00021
STOPSTATION_CLUSTER_TARGET_c"
Figure pat00022
TARGET_t
(2) 도보 및 지하철 라이딩:
c에서 s'까지 도보
그래프 경로
SUBWAY_STATION_s'
Figure pat00023
SUBWAY_FROM_TO_s'_s"
Figure pat00024
SUBWAY_STATION_s"
Figure pat00025
STOPSTATION_CLUSTER_TARGET_c'
Figure pat00026
TARGET_t
다른 실시예에서, 우리는 최대 임계치인 소요 시간을 갖는 최단 도보 또는 섹션 4.2.3에서와 같은 다른 실시예들을 이용한다. 우리는 섹션 4.2.5에서와 같이 각 경로를 따라 이동 소요 시간의 랜덤 변수를 정의한다.
일 실시예에서, 우리는, 유형(1)은 독립적인 랜덤 변수이고, 유형(2)는 종속적이라고 가정한다. 그 다음, 우리는 P(c,c')에 대한 등식1에서와 같이, 모든 유형(1) 랜덤 변수들(반복된 버스 운행 노선들에 대해 중복을 적절히 제거)의 풀에 한 번에 하나씩 유형(2) 랜덤 변수를 부가하면서 이 모든 유형(1) 랜덤 변수들의 풀을 고려함으로써 예상 최소 이동 소요 시간을 컴퓨팅한다. 다른 실시예에서, 우리는 예상 이동의 정의 1을 이용한다. 이는 c에서 t까지의 예상 이동이라 지칭되는P(c, t)를 정의한다.
기대치들의 최소치보다 높은 이동 소요 시간에서의 이득이 있을 때, 우리는 PROSPECT_CLUSTER_SOURCE_c에서 TARGET_t까지, 가중치 P(c, t)를 갖는 AvgMinWalkWaitRideWalk로 라벨링된 에지를 추가한다. 우리는, 이전에 정의된 PROSPECT_CLUSTER_SOURCE_c에서 PROSPECT_CLUSTER_TARGET_c까지의 에지에 우리가 이용한 것들과 유사한 실시예들을 이용한다.
일 실시예에서, 우리는 모든 c 및 t에 대해, PROSPECT_CLUSTER_SOURCE_c와 TARGET_t사이의 예상 예지들의 컴퓨테이션의 속도를 높이기 위해 섹션 4.2.5에 개시된 "순방향" 또는 "역방향" 그래프 트래버스를 이용한다. 다른 실시예에서, 이 트래버스는 G0에서 예상 에지들을 컴퓨팅할 때 트래버스로 병합될 수 있다.
결과 그래프는 G2(이는 G0을 포함함)로 표시된다. G2는 임의의 STOPSTATION_CLUSTER_SOURCE_c에서 임의의 TARGET_t까지의 최단 경로들을 컴퓨팅하기 위해 사용될 수 있다.
일 실시예에서, 몇몇 경로들은 미리 계산되고, 저장되고 그리고 질의가 제기되면 저장장치로부터 리트리브된다.
다른 실시예에서, 우리는 출발지들이 이전에 알려져 있는 경우에는 대칭적인 방법을 사용한다: 각각의 목적지 s에 대하여, 우리는 정점 Source_s를 추가하고, 임의의 Source_s로부터 임의의 PROSPECT_CLUSTER_TARGET_c로의 예상 에지를 계산한다. 결과 그래프는 G2'로 표시된다.
4.3.3. 질의가 제기되었을 때 밝혀진 출발지, 알려진 목적지들
일부 실시예들에서, 라우팅 질의들의 목적지 위치들은 미리 알려져 있지만, 출발지는 질의가 제기될 때만 밝혀진다.
일 실시예에서, 우리는 최단 라이딩을 컴퓨팅하기 위해 섹션 4.3.2의 그래프 G2를 사용한다.
질의(s, t)가 제기될 때, 우리는 s의 위치에서 각 STOPSTATION_CLUSTER_SOURCE_c까지의 도보들을 결정한다. 일 실시예에서, 우리는 출발지 위치 근처의 차량 정류장들의 리스트를 생성하기 위해 최대 임계치인 소요 시간을 갖는 최단 도보를 이용하거나 또는 섹션 4.2.3에서와 같은 다른 실시예들을 이용한다. 우리는 그래프 G2에서 STOPSTATION_CLUSTER_SOURCE_c에서 TARGET_t까지의 최단 이동 연속을 또한 결정한다.
일 실시예에서, 우리는 각각의 STOPSTATION_CLUSTER_SOURCE_c에서 각 TARGET_t까지의 최단 경로 소요 시간을 사전 컴퓨팅하고 그 결과들을 저장한다. 질의가 제기될 때, 우리는 저장소로부터 이러한 결과들을 조회한다. 다른 실시예에서, 질의가 제기될 때, 소요 시간을 컴퓨팅하기 위해, 우리는 G2에서 그래프 최단 경로 알고리즘을 이용한다.
우리는 s에서 c까지의 도보의 소요 시간들과 c에서 t까지의 이동 연속의 합을 최소화하는 클러스터 c를 찾는다. 이 최소값은 s에서 t까지의 최단 이동 소요 시간이다.
다른 실시예에서, 질의가 제기될 때만 목적지가 밝혀지는 경우 대칭적인 방법을 사용한다. 그 다음, 출발지 위치 근처의 차량 정류장들의 리스트를 생성하는 것 대신에 우리는 목적지 위치 근처의 차량 정류장들의 리스트를 생성한다.
다른 실시예에서, 그래프 G2를 사용하는 것 대신에, 우리는 그래프 G1'을 사용한다.
4.3.4. 질의가 제기될 때 밝혀지는 목적지, 알려진 출발지들
일부 실시예들에서, 라우팅 질의들의 출발지 위치들은 미리 알려지지만, 목적지는 질의가 제기 될 때만 밝혀진다.
일 실시예에서, 섹션 4.3.1의 그래프 G1을 사용하여 최단 라이딩을 컴퓨팅한다. 그러나 우리는, 목적지까지의 예상 에지들을 컴퓨팅할 필요가 있다. 이 컴퓨테이션은, 목적지가 사전에 알려져 있지 않기 때문에 섹션 4.3.2보다 더 복잡하다.
우리는 G0에서 각 예상 에지에 대해 선택이 어떻게 계산되었는지를 상기한다. 각 클러스터 c 및 c'에 대해, 선택들(c,c')을, G0의 PROSPECT_CLUSTER_SOURCE_c에서 PROSPECT_CLUSTER_TARGET_c'까지의 에지에 대한 P(c,c')를 계산하는 데 사용되는 선택들이라고 하자. 선택들(c,c')이 단지 하나의 선택을 갖는 것이 가능하다(예컨대, 1회의 버스 또는 1회의 지하철 라이딩). 충분한 이득의 부족으로 인해 예상 에지가 G0에 추가되지 않은 경우에도 선택들(c,c')이 정의된다.
그래프 G1의 출발지 SOURCE_s와 그래프에 표시되지 않을 수 있는 임의의 목적지 위치 t에 대해 제기된 질의를 (s, t)라고 하자.
S에서 t까지의 최단 경로는 단 한 번의 버스 또는 지하철들만을 포함할 수 있다. 이 경우, 우리는 예상 에지들을 고려할 필요가 없다. 우리는 그래프 G1을 취하고, 이를 더 확장한다. 우리는 정점 TARGET_t와, 임의의 c에 대해 STOPSTATION_CLUSTER_TARGET_c에서 TARGET_t까지의 에지들을 추가한다. 이 에지들 각각은 Walk로 라벨링되고, 그 가중치는 도보 소요 시간이다. 일 실시예에서, 임의의 에지는, 섹션 4.2.3에서와 같은 다른 실시예들 또는 최대 임계치인 최단 도보 소요 시간을 나타낸다. 우리는 결과 그래프에서 SOURCE_s에서 TARGET_t까지의 최단 경로를 컴퓨팅하고 경로 길이를 A(s, t)로 표시한다. 이 길이는 s에서 t까지의 최단 이동 소요 시간에 대한 후보이다.
다른 후보가 있다. 최단 경로가 더 많은 차량들을 포함하는 것이 또한 가능하다. 이 경우, 경로를 따라 끝에서 두 번째 정류장/역이 있다. 이 경우를 커버하기 위해, 우리는 t까지의 예상 에지들을 컴퓨팅한다. 이 프로세스는 도 12에 예시된다. 예시를 단순화하기 위해, 도면은 싱글톤 예상 클러스터들을 도시한다(각각 단 하나의 버스 정류장 또는 단 하나의 지하철역을 가짐).
t까지의 예상 에지들을 컴퓨팅하기 위해, 우리는 그래프 G1으로 시작한다. 우리는 끝에서 두 번째 정류장/역에서 끝나는, s에서 t까지의 여정의 일부들을 열거한다. 구체적으로, 우리는 각 c에 대해 SOURCE_s에서 PROSPECT_CLUSTER_SOURCE_c까지의 최단 이동 소요 시간을 결정한다. 우리는 이 소요 시간을 최단으로 표시한다(s->c). 예컨대, 도 12에서 SOURCE_s에서 SUBWAY_STATION_s1까지의 에지 상의 값 900은 SOURCE_s에서 PROSPECT_CLUSTER_SOURCE_s1까지의 최단 이동 소요 시간을 나타낸다. 이 이동은 그래프 G1에서 예상 에지를 따라 통과할 수 있음을 주목하라. 일 실시예에서, 이 소요 시간은 질의들이 제기되기 전에 미리 컴퓨팅되어 저장되고, 질의 시 저장소로부터 조회될 수 있다.
우리는, 예상 에지들과 도보들을 이용하여, 각각의 끝에서 두 번째 정류장/역에서 목적지 t까지 여정이 어떻게 연속할 수 있는지를 결정한다. 모든 PROSPECT_CLUSTER_SOURCE_c 마다, 우리는 선택들(c,c')이라고 지칭되는 중간 PROSPECT_CLUSTER_TARGET_c'로 먼저 가고 이어서 c'에서 t까지 도보로 이동함으로써 c에서 t까지 이동하는 선택들을 결정한다.
일 실시예에서, 우리는 섹션 4.2.3에서와 같은 다른 실시예들 또는 최대 임계치인 소요 시간을 갖는 c'에서 t까지의 최단 도보들만을 고려한다. 예컨대, 도 12에서, 선택들(b1, b0)은 BUS_STOP_b1에서 BUS_STOP_b0까지의 에지에 도시되며 - 두 가지 선택들이 있다:
[0, 900]에 대한 대기 소요 시간 균일성 및 이동 소요 시간 1600을 갖는 버스 운행 노선 e" 및
[0, 3600]에 대한 대기 소요 시간 균일성 및 이동 소요 시간 1000을 갖는 버스 운행 노선 e'''. BUS_STOP_b0에서 TARGET_t까지 도보를 계속하는 데 240이 걸린다.
c에 위치한 승객이 임의의 c'를 연속으로 선택할 수 있기 때문에, 우리는 모든 c'에 걸쳐 선택들을 t에서 결합한다. 이 조합은 c에서 t까지의 이동에 대한 선택들을 형성한다. 예컨대, 도 12에서, BUS_STOP_b1으로부터의 다른 에지가 있다; 이 에지는 BUS_STOP_b2로 간다. 에지 상에 도시된 선택들(b1, b2)은 단지 하나의 선택을 갖는다: [0, 300]에 대한 대기 소요 시간 균일성 및 이동 시간 900을 갖는 버스 운행 노선 e'. BUS_STOP_b2에서 TARGET_t까지 도보를 계속하는 데 500이 걸린다. 선택들(b1, b0)과 선택들(b1, b2)의 조합은 세 개의 선택들(버스 운행 노선 e', e"및 e''')을 산출한다. 이것들은 BUS_STOP_b1에서 TARGET_t까지 가는 선택들이다. 이 선택들을 사용하는 예상 최소 이동 시간은 2636이다.
우리는, 섹션 4.2.5에서와 같은, 동일한 버스 운행 노선에 의한 중복된 버스 라이딩을 제거할 필요가 있다. 예컨대, 도 12에서, 승객은 동일한 버스 운행 노선 e"을 사용하여 SUBWAY_STATION_s1에서 출발할 수 있지만, 두 상이한 위치들, 즉 BUS_STOP_b2와 SUBWAY_STATION_s0으로 갈 수 있다. c에 있는 임의의 버스 운행 노선의 경우, 우리는 c에서 t까지의 최소 예상 이동 소요 시간을 갖는 이 버스 운행 노선에 대한 선택만 유지한다(c에서 이 버스 운행 노선에 대한 임의의 다른 선택은 제거). 예컨대, 도 12에서, 우리는 SUBWAY_STATION_s0에 대한 선택을 제거하는데, 그 이유는 이것이 더 높은 기대값를 갖기 때문이다. 우리는 남은 선택들 중에서, 섹션 4.2.5에서 P(c,c')를 컴퓨팅한 방법과 유사한 예상 최소 이동 소요 시간 P(c, t)를 컴퓨팅한다.
최단 경로는 c 중 임의의 하나를 통과할 수 있어서, c에 걸쳐서 최소값을 컴퓨팅하고 이를 B(s, t)로 표시한다.
B(s, t) = min_c{최단(s-> c) + P(c, t)}
예컨대, 도 12에서, 최소 B(SOURCE_s, TARGET_t) = 2445이며, 이는 min {2636, 2445}인데, 그 이유는 승객이 끝에서 두 번째 BUS_STOP_b1이 아닌 끝에서 두 번째 SUBWAY_STATION_s1로 이동하는 것이 더 유리하기 때문이다.
이 양은 끝에서 두 번째 차량을 포함하는 s에서 t까지의 최단 이동 소요 시간을 나타낸다. B(s, t)는 s에서 t까지의 최단 이동 소요 시간에 대한 다른 후보이다.
마지막으로, 질의에 대한 응답은 두 후보들 중 최소값: min{A(s,t), B(s,t)}이다.
예컨대, 도 12에서, 질의에 대한 응답은 여전히 2445인데, 그 이유는 이 이동 소요 시간이 A(SOURCE_s, TARGET_t) = 3000 + 240이기 때문에 SOURCE_s에서 BUS_STOP_b0를 거쳐 TARGET_t까지 이동하는 차량 하나만을 이용하여 우리가 이동을 단축할 수 없기 때문이다.
다른 실시예에서, 그래프 G1을 사용하는 대신에, 우리는 그래프 G2'를 사용한다.
다른 실시예에서, 질의가 제기된 때에만 출발지가 밝혀지는 경우, 우리는 출발지로부터 예상 에지들을 계산하는 대칭적인 방법을 사용한다. 그 다음, 목적지에 도착하기 이전에 뒤에서 두 번째 정류장과 마지막 정류장을 고려하는 것 대신에, 우리는 출발지로부터 출발한 이후 첫 번째 정류장과 두 번째 정류장을 고려한다.
4.3. 5. 질의 시 밝혀진 출발지 및 목적지
질의의 출발지와 목적지가 모두 사전에 알려지지 않은 경우, 우리는 이전의 섹션들의 방법들을 선택하고 결합한다. 일 실시예에서 우리는 출발지 s의 위치에서 각 c에 대한 STOPSTATION_CLUSTER_SOURCE_c까지 도보들을 결정하고, 그 다음, STOPSTATION_CLUSTER_SOURCE_c에서 목적지 t까지 이동한다(끝에서 두 번째 선택들을 포함하거나 포함하지 않음). 우리는 c에 걸쳐서 선택된 최소 합으로 응답한다. 일 실시예에서, 우리는 최대 임계치인 소요 시간을 갖는 최단 도보, 또는 섹션 4.2.3에서와 같은 다른 실시예들을 이용한다.
4.4. 변형들
실시예들의 범위 및 사상을 벗어나지 않으면서 많은 수정들 및 변형들이 당업자들에게 명백할 것이다. 우리는 예시에 대해 몇 가지 변형들을 제시한다.
일 실시예에서, 우리는 예상 에지의 더 많은 일반적인 개념을 사용한다. 이동이 다수의 차량들과 대기들을 포함할 때, 그래프의 최단 경로 검색은 다수의 예상 에지들을 트래버스할 수 있고, 경로를 따르는 이러한 예상 에지들은 하나보다 많은 대기 및 라이딩의 시퀀스를 함께 추상화할 것이다. 이러한 다중성을 포착하기 위해, 일 실시예에서, 우리는 최대 d의 대기들 및 라이딩들의 시퀀스를 추상화하는 심도-d 예상 에지의 더 일반적인 개념을 사용한다. 예컨대, 경로 c-walk1-wait1-bus1-walk2-wait2-bus2-walk3-c'은 c에서 c'까지의 심도-2 예상 에지로서 추상화될 수 있다. 일 실시예에서, 우리는 우리의 그래프들에, 1보다 큰 d에 대한 심도-d 예상 에지들을 추가한다.
일 실시예에서, 우리의 방법은 출발 시간이 주어지면 루트들을 구성한다. 예컨대, 승객이 화요일 오전 8시에 이동을 시작하려는 경우를 생각한다. 여기서 라우팅 질의는 이동의 출발지 및 목적지 위치들 외에도, 출발 시간을 지정한다. 일 실시예에서, 출발지는 STOPSTATION_CLUSTER_SOURCE_s이고, 목적지는 STOPSTATION_CLUSTER_TARGET_t이다. 우리는 그래프 G0(도 1 참조)을 수정한다. 여기서, 심지어 첫 번째 라이딩이 대기를 포함할 수 있기 때문에, 클러스터 c에서 임의의 b 및 s에 대해, 우리는 FirstWaitGetOn 에지들과 SUBWAY_FROM_s 정점들을 제거하지만, 각 STOPSTATION_CLUSTER_SOURCE_c에서 BUS_STOP_b 및 SUBWAY_STATION_s까지 에지들을 추가한다. 일 실시예에서, 우리는 Dijkstra의 최단 경로 알고리즘을 적용하여 예상 에지들을 이용한다: 각 정점 PROSPECT_CLUSTER_SOURCE_c에 대해, 우리는 정점에서 승객의 알려진 최소 예상 도착 시간을 유지하고, 각 PROSPECT_CLUSTER_TARGET_c'에 대한 예상 에지들을 컴퓨팅하기 위해 이 시간을 이용하여 대기, 도보 및 라이딩 소요 시간 랜덤 변수들을 조정한다. 이렇게 컴퓨팅된 에지 가중치들을 이용하여, 우리는 알려진 최소 예상 도착 시간들을 PROSPECT_CLUSTER_SOURCE_c'에서 업데이트한다. 다른 실시예에서, 각각의 PROSPECT_CLUSTER_SOURCE_c 또는 각각의 PROSPECT_CLUSTER_TARGET_c에서의 알려진 최소 예상 도착 시간을 유지하거나 업데이트하는 것 대신에, 우리는 도착 시간의 확률적 분포를 유지하거나 업데이트한다. 다른 실시예에서, 우리는 유사한 방식으로, 예를 들어 A*(A star) 검색 알고리즘과 같은, 다른 최단 경로 알고리즘들을 채택한다. 다른 실시예에서, 예컨대, 출발 시간이 "현재/곧"일 때, 조건부 랜덤 변수들은, 대기 소요 시간 및 라이딩 소요 시간들의 더욱 정확한 분포들을 제공하기 위해, 질의 시 운송 시스템의 상태를 이용하여 컴퓨팅된다.
일 실시예에서, 우리의 방법은 도착 시한(arrival deadline)이 주어지면, 루트들을 구성한다. 예컨대, 승객이 화요일 오전 9시 이전에 목적지에 도착하려는 경우를 생각한다. 이것은 오전 9시에 목적지에서 출발하는 것과 동일하지만 시간과 공간에서 되돌아간다. 이것은 우리의 그래프들 중 임의의 그래프의 적절하게 반전된 구성을 통해 간단히 추상화될 수 있다(버스들과 지하철들이 역방향 시간과 공간으로 이동).
일 실시예에서, 우리는 시한 전에 원하는 도착 확률 p를 충족하는 예상 이동을 결정한다. c에서 c'까지의 예상 에지를 고려할 때, 우리는 c에서 승객의 도착 시간을 나타내는 랜덤 변수 A를 이용한다. 그 다음, 선택들을 이용하여 c에서 c'까지의 이동 소요 시간의 k개의 랜덤 변수들(T1,…, Tk)이 주어지면, 우리는 예상 이동, min(A + T1,…, A + Tk)을 이용하여 c'에서의 도착 시간의 분포를 결정한다. 그 다음, 우리는, 이 분포가 어느 시간 t까지 원하는 확률 p인 크기를 갖는 지를 결정한다.
일 실시예에서, 우리는 경로를 따르는 각 포인트에 대한 최단 경로 또는 도착/출발 시간들을 따르는 차량들을 보고한다. 이 정보는 단순히, 그래프의 경로와 경로를 따르는 예상 에지들의 선택들로부터 읽혀질 수 있다.
일 실시예에서, 우리는 한정된 저장소를 갖고 백엔드 서버와 제한된 통신을 하는 컴퓨팅 디바이스 상의 라우팅 질의들에 응답한다. 예컨대, 이는 프라이버시를 염려하는 사용자를 위해 휴대폰에서 발생할 수 있다. 이 경우, 우리는 그래프 G0에서 적절하게 적은 수의 클러스터들을 사용한다. 유사한 기법들이 우리의 다른 그래프들에 사용될 수 있다.
일 실시예에서, 우리는, 최대 보행 소요 시간, 최대 환승 횟수, 최대 대기 소요 시간, 특정 유형의 차량들에 대한 제한(예컨대, 오직 고속 버스와 지하철을 이용)을 포함하는 라우팅 응답에 대한 요건들을 부과한다. 우리의 발명은 그래프들의 적절한 수정 및 그래프들 상에서 최단 경로 알고리즘에 의해 이러한 요건들을 실현한다.
일 실시예에서, 우리의 방법은 불완전한 그래프에 적용된다. 예컨대, 아마도 우리가 지하철에 대한 예상 대기 소요 시간을 부정확하게 추정했기 때문에, 에지 WaitGetOn의 가중치는 이 소요 시간을 부정확하게 반영할 수 있거나, 아마도 우리의 방법이 취소를 아직 통지할 수 없는 동안 도시 정부에 의해 버스 노선이 막 취소되었기 때문에 대도시권에 존재하지 않는 버스에 대한 정점들 및 에지들이 있을 수 있거나, 우리가 큰 에러로 선택들의 최소의 기대값을 샘플링했거나, 우리가 근사한 수학 공식/알고리즘을 사용했다. 이것들은 불완전성의 단지 몇 개의 비-망라적인 예들이다. 어느 경우든, 우리의 방법은 여전히 적용될 수 있다. 이는 일부 오류가 있는 루트들을 단순히 생성할 것이다.
일 실시예에서, 우리는 그래프로부터 불필요한 정점들 및 에지들을 제거한다. 예컨대, 들어오는 에지와 나가는 에지를 융합함으로써, 우리는 G0에서 "통과" 정점들 SUBWAY_AVG_FROM_TO_s'_s''을 와해시킨다.
일 실시예에서, 우리의 방법의 단계들은 다른 순서로 적용된다. 예컨대, 그래프 G0을 구성할 때, 우리는 섹션 4.2.1과 4.2.2에서 설명된 순서를 반전시킬 수 있다: 미확정된 시간표의 차량들의 정정들 및 에지들을 우선 추가하고, 이어 확정된 시간표의 차량들의 정점들 및 에지들을 추가한다.
일 실시예에서, 우리는 이 방법을 병렬화한다. 예컨대, 차례로 각 PROSPECT_CLUSTER_SOURCE_c로부터의 예상 에지들을 컴퓨팅하는 대신, PROSPECT_CLUSTER_SOURCE_c2로부터의 예상 에지들을 컴퓨팅하는 것과 동시에, 우리는 임의의 두 개의 c1과 c2를 고려하고, PROSPECT_CLUSTER_SOURCE_c1으로부터의 예상 에지들을 컴퓨팅할 수 있다.
5. 컴퓨터 시스템
본 발명의 실시예들 중 하나는 라우팅 질의들에 응답하는 컴퓨터 시스템이다.
일 실시예에서, 시스템은 출발 시간이 주어지면, 위치들 사이의 최단 루트에 대한 질의들에 응답한다: 임의의 질의는 (출발지, 목적지, minuteOfDay)의 형태이다. 응답은 소요 시간과 선택들이 있는 루트의 형태이다. 실시예의 예시는 도 13에 있다.
우리는 우리의 상세한 설명에서 단어 "모듈"을 사용한다. 통상의 기술자에게 상기 단어는 몇몇 특정한 기능을 제공하는 컴퓨터 (서브)시스템을 의미한다. 컴퓨터 시스템을 특정 모듈들로 분할하는 것에 대한 우리의 선택은 예시적인 것이며, 강제적인 것이 아니다. 통상의 기술자는 본원 발명의 범위를 벗어나지 않는 다른 방식으로 상기 시스템이 모듈들로 구성될 수 있음을 인식할 것이다.
시스템의 한 모듈(1202)이 복수의 데이터 소스(1201)로부터 대도시 운송 시스템에 관한 정보를 판독한다. 이 모듈은 어느 차량들, 루트들 또는 이들의 부분들이 확정된 시간표를 고려하고 어느 것이 미확정된 시간표를 고려하는 지를 결정한다. 이 모듈은 확정된 시간표의 차량들의 루트들을 컴퓨팅한다. 이 모듈은 또한, 미확정된 시간표 차량들에 대한 시간에 좌우되는 대기 및 라이딩 소요 시간들의 분포들을 컴퓨팅한다.
출력은 예상 에지들을 컴퓨팅하는 모듈(1204)에 전달된다. 이 모듈은 복수의 데이터 소스들(1203)로부터의 도보들에 관한 정보를 질의한다. 선택된 예상 클러스터들 c 및 c'와, c에 승객이 도달하는 도착 시간들에 대해, 모듈은, c에 승객이 도달하는 도착 시간에 좌우되는 랜덤 변수들을 사용하여 예상 에지와 선택들의 가중치 P(c,c')를 컴퓨팅한다. 결과는 저장소(1205)에 저장된다.
모듈들(1202 및 1204)은 연속적으로 동작한다. 결과적으로, 시스템은 운송 시스템의 새로운 모델을 유지한다.
그 동안, 다른 모듈(1206)은 최단 경로들을 사전 컴퓨팅한다. 모듈은 (1205)로부터의 예상 예지들 및 (1202)로부터의 비-예상 에지들을 판독함으로써 때때로 위치들을 연결하는 그래프들을 구성한다. 최단 경로 알고리즘들이 그래프들에 적용되어 (정류장/역 클러스터 출발지, 정류장/역 클러스터 목적지, minuteOfDay)의 형태로 선택된 질의들에 대한 경로들을 컴퓨팅한다. 결과들이 저장되므로, 추후에 필요할 때, 저장소(1207)로부터 결과가 조회될 수 있다.
동시에, 질의 응답 모듈(1208)은 질의들에 응답한다. 질의(출발지, 목적지, minuteOfDay)가 도착하면(1209), 모듈은 섹션 4에 따라 최단 경로를 컴퓨팅한다. 모듈은 출발지와 목적지 사이의 도보들과 정류장/역 클러스터들을 결정하기 위해 접촉한다(1203). 모듈은 (1207)로부터, 관련된, 사전 컴퓨팅된 최단 경로들을 조회한다. 필요하지만 아직 이용 가능하지 않을 때, 모듈은 모듈(1206)로부터 최단 경로를 요청하고, 장래의 사용을 위해 저장소(1207)에 결과적인 최단 경로를 저장할 수 있다. 모듈(1208)은 또한 (1205)로부터, 시간들 및 선택들을 조회한다. 이러한 도보들, 최단 경로들 및 선택들이 결합되어 질의에 대한 응답(1210)을 생성한다.
본 발명의 양상들은, 하드웨어 실시예, 소프트웨어 실시예 또는 이 둘의 결합의 형태를 취할 수 있다. 임의의 흐름도의 블록들을 포함하는 본 발명의 단계들은, 기능 및 최적화에 따라, 비순차적으로 실행되거나, 부분적으로 동시에 실행되거나, 또는 캐시로부터 서비스될 수 있다. 양상들은 순차 시스템, 또는 병렬/분산 시스템의 형태를 취할 수 있으며, 여기서 각 컴포넌트는 가능하게는 다른 컴포넌트들과 중복적으로 일부 양상들을 구현하고, 컴포넌트들은 예컨대, 임의의 네트워크를 이용하여 통신할 수 있다. 본 발명의 양상들에 대한 동작들을 수행하는 컴퓨터 프로그램은, C++, 자바 또는 자바 스크립트를 포함하는 임의의 프로그래밍 언어로 작성될 수 있다. 임의의 프로그램은 CPU(Central Processing Unit), GPU(Graphics Processing Unit) 및 관련 메모리 및 저장 디바이스들을 포함하는 임의의 하드웨어 플랫폼에서 실행될 수 있다. 프로그램은, 안드로이드(Android) 또는 iOS 운영 체제를 구동하는 스마트폰, 또는 파이어폭스(Firefox), 크롬(Chrome), 인터넷 익스플로어(Internet Explorer) 또는 사파리(Safari)를 포함한 웹 브라우저를 포함하지만 이에 국한되지 않는 하나 이상의 소프트웨어 플랫폼들에서 본 발명의 양상들 실행할 수 있다.
6. 컴퓨터 서비스 제품
본 발명의 실시예들 중 하나는, 스마트폰 애플리케이션 또는 웹 페이지와 같은 사용자 대면(user-facing) 디바이스를 통해 사용자들이 이용할 수 있는 서비스 제품이다. 통상의 기술자에게 본원 발명이 이들 디바이스들로 제한되지 않음은 자명하다. 우리의 도면들에서 서비스에 대한 설명이 본원 발명의 범위를 벗어나지 않으면서 수정(재배열, 리사이징, 색, 형상의 변경, 컴포넌트들의 추가 또는 제거를 포함함)될 수 있음은 자명하다.
일 실시예에서, 서비스는 스마트폰 애플리케이션을 통해 액세스된다. 사용자는, 스마트폰에서 애플리케이션의 사용자 인터페이스와 상호 작용함으로써, 출발 시간과, 출발지 및 목적지를 지정한다. 그 다음, 서비스는 루트를 생성하고 루트의 표현을 스마트폰에 렌더링한다. 도 14는, 오전 8시에 출발하는, A에서 L까지의 질의에 대한 예시적인 결과를 도시한다.
일 실시예에서, 서비스는 어느 선택이 현재 최단 이동 소요 시간을 산출하는지를 보고한다. 일 실시예에서, 시스템은 이 더 빠른 선택(루트에서 1401로 표시됨)을 하이라이팅하거나, 선택에 의해 이동 소요 시간을 보여 주거나, 현재 대기 소요 시간(D 근처에 1402로 표시됨)을 표현한다. 일 실시예에서, 이 더 빠른 선택은 차량들의 현재 위치들을 고려하여 컴퓨팅된다. 일 실시예에서, 사용자가 선택한 위치 근처에 현재 있을 때 이 리포트가 렌더링된다; 예를 들어, 사용자가 A에서 출발하려고 할 때, 서비스는, 현재 상황들에서 B와 C를 통하기 보다는 D와 E를 통해 F에 도착하는 것이 더 빠르다고 렌더링할 수 있다.
일 실시예에서, 서비스는, 위치(F 근처에 1403으로 표시됨)에서의 선택들 중 각각의 선택에 대한 현재 대기 소요 시간 또는 각 선택에 대한 예상 라이딩 소요 시간(1404로 표시됨)을 표현한다. 이는 사용자가, 최적이 아닌 경우에도, 어떤 선택을 할 지를 스스로 결정하는 것을 도울 수 있다.
일 실시예에서, 서비스는 한 위치에서 모든 선택들에 대해 하나의 예상 대기 소요 시간을 보고한다. 이 소요 시간은, 사용자가 예상 최소 이동 소요 시간(H 근처에 1405로 표시됨)을 달성하는 선택에 승차할 것이라고 가정할 경우 예상 대기 소요 시간이다. 일 실시예에서, 이 리포트는, 예컨대 사용자의 현재 위치와 비교하여 도로의 훨씬 아래의 루트의 구획에 대해 차량 위치들이 불확실한 경우에 렌더링된다. 이것은 사용자에게, 차량을 대기하면서 정류장/역에서 얼마 동안 기다려야 할지를 알려준다.
일 실시예에서, 이 서비스는 두 위치들 사이의 예상 이동의 소요 시간(루트 상에 1406으로 표시됨)을 보고한다. 이는 섹션 4에서 P(c,c')로 표시된 값이다.
일 실시예에서, 이 서비스는 다음 중 적어도 하나로 사용자에게 응답한다.
(1) 지도 상에 렌더링되는 상기 출발지 위치
(2) 지도 상에 렌더링 되는 상기 목적지 위치
(3) 지도 상에 렌더링 되는 루트를 따른 임의의 정류장의 위치
(4) 지도 상에 렌더링 되는 루트를 따르는 위치들의 순서
(5) 상기 출발지 위치, 상기 목적지 위치, 또는 루트를 따르는 임의의 정류장 중 임의의 것에 대한 하나의 명칭, 주소, 또는 식별자;
(6) 출발 시간;
(7) 출발 시간 범위;
(8) 도착 시간;
(9) 도착 시간 범위;
(10) 시한 전에 도착할 확률;
(11) 지도 상에 렌더링되는 두 개의 위치들 사이의 두 개 이상의 이동 경로들을 따르는 위치들의 순서;
(12) 임의의 이동 경로에서의 도보 컴포넌트에 대한 방향들;
(13) 임의의 이동 경로에서의 대기 컴포넌트의 위치 또는 소요 시간;
(14) 임의의 이동 경로에서의 라이딩 컴포넌트에 대한 방향들;
(15) 적어도 두 개의 이동 경로들에서의 예상 최소 대기 소요 시간;
(16) 적어도 두 개의 이동 경로들에서의 현재 최소 대기 소요 시간;
(17) 이동 경로의 임의의 컴포넌트 또는 이동 경로에 대한 예상 이동 소요 시간, 또는 적어도 두 개의 이동 경로들에서의 예상 최소 이동 소요 시간;
(18) 이동 경로의 임의의 컴포넌트 또는 이동 경로에 대한 현재 이동 소요 시간, 또는 적어도 두 개의 이동 경로들에서의 최소 이동 소요 시간;
(19) 이동 경로의 임의의 컴포넌트, 이동 경로, 또는 적어도 두 개의 이동 경로들에서의 최소값에 대한, 예상 출발 시간 또는 예상 도착 시간;
(20) 이동 경로의 임의의 컴포넌트, 이동 경로 또는 적어도 두 개의 이동 경로들에서의 최소값에 대한, 현재 출발 시간 또는 현재 도착 시간;
(21) 임의의 이동 경로에서의 임의의 차량에 대한 명칭 또는 식별자;
(22) 임의의 이동 경로에서의 임의의 차량의 임의의 정류장에 대한 명칭, 주소, 또는 식별자
(23) 임의의 이동 경로에서의 임의의 차량의 현재 위치; 또는
(24) 두 개 이상의 이동 경로들 중 차량들의 주어진 현재 위치들에서 가장 빠른 이동 경로의 렌더링
당업자는 본 발명의 범위를 벗어나지 않으면서, 다양한 변형이 이루어질 수 있고 본질적으로 등가물로 치환될 수 있음을 인식할 것이다. 게다가, 특정 상황은 본 발명의 범위를 벗어나지 않으면서 본 발명의 교시에 적용될 수 있다. 따라서, 본 발명이 개시된 실시예들을 참조하여 설명되었다는 사실에도 불구하고, 본 발명은 이들 실시예들에 제한되지 않아야 한다. 오히려, 본 발명은 첨부된 청구항들의 범위 내에 속하는 모든 실시예들을 포함할 것이다.

Claims (1)

  1. 출발지 위치로부터 목적지 위치로의 여정에 대한 루트(route) 또는 루트 소요 시간(route duration)을 제공하기 위한 방법으로서,
    (a) 상기 출발지 위치 및 상기 목적지 위치를 포함하는 요청을 수신하는 단계;
    (b) 상기 출발지 위치로부터 상기 목적지 위치로의 두 개 이상의 이동 경로들을 결정하는 단계;
    (c) 상기 이동 경로들 각각에 대한 이동 소요 시간을 결정하는 단계 ― 상기 이동 소요 시간은 자명하지 않은(non-trivial) 수학적 랜덤 변수로서 정의됨 ―;
    (d) 상기 이동 소요 시간 수학적 랜덤 변수들 중 최소인 수학적 랜덤 변수를 사용하여 루트 또는 루트 소요 시간을 생성하는 단계; 및
    (e) 상기 루트 또는 상기 루트 소요 시간을 포함하는 정보로 상기 요청에 응답하는 단계
    를 포함하는,
    방법.
KR1020190045438A 2017-12-21 2019-04-18 출발지 위치로부터 목적지 위치로의 여정에 대한 루트 또는 루트 소요 시간을 제공하기 위한 방법 및 컴퓨터 시스템 KR102514131B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201762608586P 2017-12-21 2017-12-21
US62/608,586 2017-12-21
US201862613779P 2018-01-05 2018-01-05
US62/613,779 2018-01-05
US201862659157P 2018-04-18 2018-04-18
US62/659,157 2018-04-18
KR1020180045558A KR101974109B1 (ko) 2017-12-21 2018-04-19 출발지 위치로부터 목적지 위치로의 여정에 대한 루트 또는 루트 소요 시간을 제공하기 위한 방법 및 컴퓨터 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180045558A Division KR101974109B1 (ko) 2017-12-21 2018-04-19 출발지 위치로부터 목적지 위치로의 여정에 대한 루트 또는 루트 소요 시간을 제공하기 위한 방법 및 컴퓨터 시스템

Publications (2)

Publication Number Publication Date
KR20190075866A true KR20190075866A (ko) 2019-07-01
KR102514131B1 KR102514131B1 (ko) 2023-03-23

Family

ID=66285578

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180045558A KR101974109B1 (ko) 2017-12-21 2018-04-19 출발지 위치로부터 목적지 위치로의 여정에 대한 루트 또는 루트 소요 시간을 제공하기 위한 방법 및 컴퓨터 시스템
KR1020190045438A KR102514131B1 (ko) 2017-12-21 2019-04-18 출발지 위치로부터 목적지 위치로의 여정에 대한 루트 또는 루트 소요 시간을 제공하기 위한 방법 및 컴퓨터 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020180045558A KR101974109B1 (ko) 2017-12-21 2018-04-19 출발지 위치로부터 목적지 위치로의 여정에 대한 루트 또는 루트 소요 시간을 제공하기 위한 방법 및 컴퓨터 시스템

Country Status (17)

Country Link
US (2) US10712162B2 (ko)
EP (1) EP3593091A1 (ko)
JP (2) JP2021500580A (ko)
KR (2) KR101974109B1 (ko)
CN (2) CN111065894A (ko)
AU (1) AU2018388686B2 (ko)
BR (1) BR112020005864B1 (ko)
CA (1) CA3060360A1 (ko)
CL (1) CL2019002484A1 (ko)
EA (1) EA202090999A1 (ko)
IL (2) IL271698B (ko)
MA (1) MA47748A (ko)
PH (1) PH12019502919A1 (ko)
SG (1) SG11202005476YA (ko)
TW (2) TWI704522B (ko)
WO (1) WO2019125625A1 (ko)
ZA (1) ZA202002926B (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018217640A1 (en) * 2017-05-22 2018-11-29 Via Transporation, Inc. Systems and methods for managing ridesharing vehicles
US11361361B2 (en) * 2018-02-20 2022-06-14 Grzegorz Malewicz Method and an apparatus for searching or comparing sites using routes or route lengths between sites and places within a transportation system
US11346681B2 (en) * 2019-02-13 2022-05-31 Grzegorz Malewicz Method and an apparatus for searching or comparing sites using routes or route lengths between sites and places within a transportation system
CN110793535A (zh) * 2019-08-22 2020-02-14 腾讯科技(深圳)有限公司 一种通勤线路规划方法、装置
JP7238714B2 (ja) * 2019-09-18 2023-03-14 トヨタ自動車株式会社 情報処理装置、情報処理方法、およびプログラム
CN110975288B (zh) * 2019-11-20 2023-08-29 中国人民解放军国防科技大学 基于跳点路径搜索的几何容器数据压缩方法及系统
CN111461287A (zh) * 2020-02-25 2020-07-28 上海大学 一种基于残差图卷积的共享单车空闲车桩预测方法
CN111815057B (zh) * 2020-07-13 2024-04-26 携程旅游信息技术(上海)有限公司 路径行程自动规划方法、系统、设备及存储介质
US11550827B2 (en) * 2020-09-22 2023-01-10 International Business Machines Corporation Graph enabled location optimization
CN112562378B (zh) * 2020-12-01 2023-04-18 平安科技(深圳)有限公司 公交车调度方法、装置、计算机设备及介质
TWI789876B (zh) * 2021-08-19 2023-01-11 奇點無限有限公司 最低風險路線的產生方法
TWI846124B (zh) * 2022-11-01 2024-06-21 南開科技大學 自由旅行行程的行程推薦與建立系統及其方法
KR102529163B1 (ko) * 2022-12-21 2023-05-08 (주)와이오엘 경로탐색 알고리즘 기반의 수출입화물 운송 경로 최적화 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090000417A (ko) * 2007-06-28 2009-01-07 엘지전자 주식회사 정보 단말기를 이용한 경로와 교통 수단을 제공하는 방법과시스템
KR20130012828A (ko) * 2011-07-26 2013-02-05 한국철도기술연구원 대중교통 스케줄을 고려한 복합 대중교통수단의 경로 정보 제공 시스템
KR20150144958A (ko) * 2014-06-18 2015-12-29 하인크코리아(주) 사용자용 경로 안내 장치 및 방법
KR20160004502A (ko) * 2014-07-03 2016-01-13 조형민 실시간 대중교통 도착예정시간 산출방법

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0987665A3 (en) * 1998-07-30 2000-10-25 Visteon Technologies, LLC Vehicle navigation system, method and apparatus
JP2000230838A (ja) * 1999-02-10 2000-08-22 Kenwood Corp カーナビゲーションシステム
EP1582841B1 (en) * 2002-12-24 2010-04-21 Navitime Japan Co., Ltd. Route search server, system and method
JP4400104B2 (ja) * 2003-06-18 2010-01-20 株式会社エクォス・リサーチ 最短時間経路探索方法
US20060161337A1 (en) * 2005-01-19 2006-07-20 Ping-Chung Ng Route planning process
US7957871B1 (en) * 2005-09-29 2011-06-07 Hopstop.com, Inc. Methods and apparatuses for navigation in urban environments
US7573866B2 (en) * 2006-08-30 2009-08-11 Mitsubishi Electric Research Laboratories, Inc. Method for finding optimal paths using a stochastic network model
RU2377658C1 (ru) * 2008-11-14 2009-12-27 Андрей Валентинович Сабайдаш Способ определения оптимального маршрута движения транспортного средства
US8417409B2 (en) * 2009-11-11 2013-04-09 Google Inc. Transit routing system for public transportation trip planning
US8681635B2 (en) * 2009-12-31 2014-03-25 Mapquest, Inc. Computer-implemented systems and methods for planning a route
JP5216034B2 (ja) * 2010-02-22 2013-06-19 セイコープレシジョン株式会社 フォーカルプレーンシャッタ及び光学機器
JP5562691B2 (ja) * 2010-03-18 2014-07-30 株式会社豊田中央研究所 渋滞時間算出装置、出発時刻算出装置、渋滞なし時間算出装置、及びプログラム
JP2011232167A (ja) * 2010-04-27 2011-11-17 Clarion Co Ltd ナビゲーション装置
US8185302B2 (en) * 2010-08-26 2012-05-22 Ford Global Technologies, Llc Conservational vehicle routing
GB2499177A (en) * 2010-11-26 2013-08-07 Ibm Routing system, routing method, and routing program
DE102011015775A1 (de) * 2011-04-01 2012-10-04 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Durchführen einer Reiseroutenplanung für ein Fahrzeug
US9594772B2 (en) * 2011-07-27 2017-03-14 International Business Machines Corporation Multi-modal journey planner
JP2013053987A (ja) * 2011-09-06 2013-03-21 Internatl Business Mach Corp <Ibm> 運転者にとって好ましい経路を選択して表示する方法、装置及びコンピュータプログラム
JP5824695B2 (ja) * 2011-10-12 2015-11-25 新潟市 経路算出方法及び経路算出装置
GB2499795A (en) * 2012-02-28 2013-09-04 Ibm Routing in a network, based on travel and waiting time
US9255809B2 (en) * 2012-03-30 2016-02-09 Global Eagle Entertainment Inc. System and method for integrated trip planning based on fixed and flexible itinerary components
US9097535B2 (en) * 2012-05-09 2015-08-04 Google Inc. Public transportation journey planning
US10521473B2 (en) * 2012-05-21 2019-12-31 Kent State University Shortest path computation in large networks
JP5974716B2 (ja) * 2012-08-03 2016-08-23 トヨタ自動車株式会社 カーシェアリングシステムの運用計画システム、運用計画方法
US9459108B2 (en) * 2012-08-31 2016-10-04 International Business Machines Corporation Hedging risk in journey planning
JP5902607B2 (ja) * 2012-12-27 2016-04-13 トヨタ自動車株式会社 旅行時間情報提供装置、旅行時間情報提供方法
US8909475B2 (en) * 2013-03-08 2014-12-09 Zzzoom, LLC Generating transport routes using public and private modes
DE102013207895A1 (de) * 2013-04-30 2014-10-30 Kuka Laboratories Gmbh Fahrerloses Transportfahrzeug, System mit einem Rechner und einem fahrerlosen Transportfahrzeug, Verfahren zum Betreiben eines fahrerlosen Transportfahrzeugs
US9110464B2 (en) * 2013-11-21 2015-08-18 Intelligrated Headquarters Llc Route builder
US8949028B1 (en) * 2013-12-02 2015-02-03 Ford Global Technologies, Llc Multi-modal route planning
JP6366296B2 (ja) * 2014-02-21 2018-08-01 株式会社ゼンリン 経路探索装置および経路探索方法
US9482542B2 (en) * 2014-03-24 2016-11-01 International Business Machines Corporation Stochastic route planning in public transport
US9404760B2 (en) * 2014-08-04 2016-08-02 Xerox Corporation Efficient route planning in public transportation networks
US10175054B2 (en) * 2015-01-11 2019-01-08 Microsoft Technology Licensing, Llc Predicting and utilizing variability of travel times in mapping services
US10620010B2 (en) * 2015-02-05 2020-04-14 Moovit App Global Ltd Public and ordered transportation trip planning
GB201503227D0 (en) * 2015-02-26 2015-04-15 Tomtom Int Bv Methods and systems for generating routing policies and routes
DE102015205901A1 (de) * 2015-04-01 2016-10-06 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur Berechnung einer Route für ein Landfahrzeug
CN105023426B (zh) * 2015-05-18 2017-06-30 南京邮电大学 一种城市公交路线选择方法
US9726502B2 (en) * 2015-08-31 2017-08-08 Sap Se Route planner for transportation systems
US20170132544A1 (en) * 2015-11-10 2017-05-11 Xerox Corporation Method and system for stochastic optimization of public transport schedules
CN107024217B (zh) * 2016-02-01 2019-06-11 北京迈维出行科技有限公司 城际交通的路线规划的方法、装置及系统
US10895461B2 (en) * 2016-03-15 2021-01-19 Ford Global Technologies, Llc Multi-day, multi-person, and multi-modal trip planning system
CN107238391A (zh) * 2016-03-28 2017-10-10 高德软件有限公司 一种公交出行路线的推荐方法及装置
US11562300B2 (en) * 2016-06-10 2023-01-24 Conduent Business Services, Llc System and method for optimal automated booking of on-demand transportation in multi-modal journeys
CN106781468B (zh) * 2016-12-09 2018-06-15 大连理工大学 基于建成环境和低频浮动车数据的路段行程时间估计方法
CN106898142B (zh) * 2017-03-07 2019-07-02 北京航空航天大学 一种考虑路段相关性的路径行程时间可靠度计算方法
US10274329B2 (en) * 2017-04-04 2019-04-30 Here Global B.V. Method and apparatus for providing a minimum overlapping alternative path
US10546255B2 (en) * 2017-05-05 2020-01-28 Conduent Business Services, Llc Efficient optimization of schedules in a public transportation system
AU2017423439A1 (en) * 2017-07-12 2019-12-05 Deutsche Post Ag Improved routing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090000417A (ko) * 2007-06-28 2009-01-07 엘지전자 주식회사 정보 단말기를 이용한 경로와 교통 수단을 제공하는 방법과시스템
KR20130012828A (ko) * 2011-07-26 2013-02-05 한국철도기술연구원 대중교통 스케줄을 고려한 복합 대중교통수단의 경로 정보 제공 시스템
KR20150144958A (ko) * 2014-06-18 2015-12-29 하인크코리아(주) 사용자용 경로 안내 장치 및 방법
KR20160004502A (ko) * 2014-07-03 2016-01-13 조형민 실시간 대중교통 도착예정시간 산출방법

Also Published As

Publication number Publication date
SG11202005476YA (en) 2020-07-29
WO2019125625A1 (en) 2019-06-27
TWI704522B (zh) 2020-09-11
CL2019002484A1 (es) 2020-01-17
CN114076606A (zh) 2022-02-22
CN111065894A (zh) 2020-04-24
JP2021500580A (ja) 2021-01-07
TWI735292B (zh) 2021-08-01
US10712162B2 (en) 2020-07-14
JP2022003353A (ja) 2022-01-11
BR112020005864B1 (pt) 2020-12-01
AU2018388686A1 (en) 2020-04-02
PH12019502919A1 (en) 2020-11-09
TW202044192A (zh) 2020-12-01
KR102514131B1 (ko) 2023-03-23
CA3060360A1 (en) 2019-06-27
US20200348141A1 (en) 2020-11-05
TW201946025A (zh) 2019-12-01
EP3593091A1 (en) 2020-01-15
US11204252B2 (en) 2021-12-21
IL271698B (en) 2021-01-31
ZA202002926B (en) 2021-07-28
IL279023B (en) 2021-08-31
AU2018388686B2 (en) 2021-07-01
KR101974109B1 (ko) 2019-04-30
BR112020005864A2 (pt) 2020-05-26
US20190195639A1 (en) 2019-06-27
EA202090999A1 (ru) 2020-08-05
MA47748A (fr) 2021-03-31
IL271698A (en) 2020-02-27

Similar Documents

Publication Publication Date Title
KR101974109B1 (ko) 출발지 위치로부터 목적지 위치로의 여정에 대한 루트 또는 루트 소요 시간을 제공하기 위한 방법 및 컴퓨터 시스템
JP7135014B2 (ja) ライドシェア管理装置、ライドシェア管理方法、およびプログラム
US11475490B2 (en) Method and system for vehicle allocation to customers for ride-sharing
Agatz et al. Optimization for dynamic ride-sharing: A review
JP5666613B2 (ja) 公共交通機関トリップ計画のためのトランジットルート決定システム
US20150276410A1 (en) Journey planning method and system
JP2014126500A (ja) 旅行時間情報提供装置、旅行時間情報提供方法
US20130226446A1 (en) Method for routing in a network, routing system, and transport system
US11842644B2 (en) System for operating commercial vehicles
Trozzi et al. Effects of countdown displays in public transport route choice under severe overcrowding
KR102696587B1 (ko) 운송 관련 서비스에 대한 요청을 관리하기 위한 통신 서버 장치, 방법, 및 통신 시스템
JP2020160960A (ja) 移動支援システム及び方法
EP2927847A1 (en) Journey planning method and system
JP7168344B2 (ja) 移動体の停止位置決定方法および決定システム
KR102223499B1 (ko) 여정 계획 방법 및 시스템
WO2024134897A1 (ja) 配車管理装置及び配車管理方法
JP4977666B2 (ja) ナビゲーションシステム、経路探索サーバおよび経路表示方法ならびに端末装置
EA040136B1 (ru) Способ построения маршрута или продолжительности маршрута для поездки от начального пункта до конечного пункта (варианты)
Subramanya Adaptive Bus Routing Heuristics for Improving Vehicle Utilization and Reducing Commuter Waiting Times
JP2022019414A (ja) 情報処理装置および情報処理方法
JP2023068848A (ja) 管制システム、配車システム、車両、配車計画作成方法およびコンピュータプログラム
JP2022149328A (ja) 情報処理装置、情報処理システムおよび情報処理方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E601 Decision to refuse application
J301 Trial decision

Free format text: TRIAL NUMBER: 2021101000110; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20210115

Effective date: 20211130

J2X1 Appeal (before the patent court)

Free format text: TRIAL NUMBER: 2021201000223; APPEAL AGAINST DECISION TO DECLINE REFUSAL

J301 Trial decision

Free format text: TRIAL NUMBER: 2022131000014; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20221109

Effective date: 20230119

GRNO Decision to grant (after opposition)
GRNT Written decision to grant