0% found this document useful (0 votes)
12 views15 pages

Learning To Route With Sparse Trajectory Sets - Extended Version

Uploaded by

mikbatum
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views15 pages

Learning To Route With Sparse Trajectory Sets - Extended Version

Uploaded by

mikbatum
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Learning to Route with Sparse Trajectory Sets

—Extended Version
Chenjuan Guo, Bin Yang, Jilin Hu, Christian S. Jensen
Department of Computer Science, Aalborg University, Denmark
{cguo, byang, hujilin, csj}@cs.aau.dk

Abstract—Motivated by the increasing availability of vehicle We study a very different routing approach that relies on the
arXiv:1802.07980v1 [cs.LG] 22 Feb 2018

trajectory data, we propose learn-to-route, a comprehensive availability of trajectories from local drivers. Assuming that
trajectory-based routing solution. Specifically, we first construct local drivers implicitly take into account a multitude of factors,
a graph-like structure from trajectories as the routing infras-
tructure. Second, we enable trajectory-based routing given an such as traffic conditions, turns, travel time, fuel consumption,
arbitrary (source, destination) pair. road types, and traffic lights, when making routing decisions
In the first step, given a road network and a collection of and thus know best which paths are preferable, we propose a
trajectories, we propose a trajectory-based clustering method methodology that utilizes paths found in historical trajectories
that identifies regions in a road network. If a pair of regions are to construct new paths between arbitrary (source, destination)
connected by trajectories, we maintain the paths used by these
trajectories and learn a routing preference for travel between
pairs. We call this trajectory-based routing.
the regions. As trajectories are skewed and sparse, many region If historical trajectories show that many drivers traveling
pairs are not connected by trajectories. We thus transfer routing from a source s to a destination d follow a particular path, it
preferences from region pairs with sufficient trajectories to such is straightforward to recommend that path to drivers asking for
region pairs and then use the transferred preferences to identify directions from s to d. The big challenge now is how to benefit
paths between the regions. In the second step, we exploit the
above graph-like structure to achieve a comprehensive trajectory-
from historical trajectories when no historical trajectories
based routing solution. Empirical studies with two substantial capture paths from s to d. This is important because any set of
trajectory data sets offer insight into the proposed solution, historical trajectories is sparse in the sense that it is unlikely to
indicating that it is practical. A comparison with a leading provide paths for all s’s and d’s. For example, the road network
routing service offers evidence that the paper’s proposal is able of Denmark, a small country, contains some 1.6 million edges.
to enhance routing quality.
Thus, if all edges are candidate s’s and d’s, a minimum of 2.6
This is an extended version of “Learning to Route with Sparse
Trajectory Sets” [1], to appear in IEEE ICDE 2018. trillion (s, d) pairs are needed. Given that the distribution of
trajectories in a road network is skewed, an enormous set of
I. I NTRODUCTION trajectories (e.g., trillions for Denmark and quadrillions for
Germany) would be needed before routing could be done by
Vehicular transportation is an important aspect of the daily simply looking up paths of past trajectories for any (s, d) pair.
lives of many people and is essential to many businesses Figure 1 exemplifies the problem setting. The solid edges
as well as society as a whole [2], [3]. As a part of the and filled vertices are covered by a set of five trajectories,
continued digitization of societal processes, more and more while the dashed edges and unfilled vertices are not covered
data is becoming available in the form of trajectories that by any trajectories. For example, trajectory T1 visited A and
capture the movements of vehicles [4], [5]. This data offers then J, X, Y , and B3 before reaching B. If routing from A
a foundation for improving vehicular transportation, including to B is requested, the path A → J → X → Y → B3 → B,
vehicle routing. as captured by trajectory T1 , can be recommended directly.
Traditional routing is cost-centric and aims at returning The challenge is to enable routing for (s, d) pairs that are not
paths with minimal costs, e.g., distance, travel time, or fuel connected by trajectories, e.g., (A1 , B2 ) and (H, F ).
consumption. The cost of a path is computed from edge costs To enable trajectory-based routing with massive, but still
in edge-based cost modeling [6]–[11] or sub-path costs in sparse, sets of historical trajectories, we propose means that
path-based cost modeling [12]–[15]. In such routing, trajectory are able to generalize the cases where historical trajectories
data is often used for annotating the edges or sub-paths with can be utilized for routing. This includes three steps. In the
travel costs such as travel times; and routing services employ first step, we cluster vertices into regions and thus map a road
shortest path algorithms, e.g., Dijkstra’s algorithm or contrac- network graph into a region graph. Trajectories that originally
tion hierarchies [16], to return fastest, or simply shortest, paths. connect vertices in the road network graph now connect
However, an existing study [17] suggests that local drivers who regions in the region graph. This arrangement generalizes the
drive passenger vehicles follow paths that differ substantially cases where trajectories can be used for routing from being
from the paths computed using cost-centric routing and are between specific vertex pairs to being between region pairs. As
often neither fastest nor shortest. Our paper also focuses on regions include multiple vertices, this arrangement contributes
trajectory data that was generated from passenger vehicles. to solving the data sparseness problem.
D N region R2 pairs. Third, it presents a unified routing algorithm for the
B1 region graph. Fourth, it reports on an empirical evaluation
K B
region R1
B3 that offers insight into the proposed solution, indicating that it
Y B2
A1 A X is capable of efficiently computing paths that match those of
J local drivers better than do traditional routing services.
F1
A2 I Z F2 F Paper Outline: Section 2 covers related work. Section 3
region R4
covers preliminaries. Section 4 presents Step 1, region graph
E generation. Section 5 presents Step 2, preference learning and
G C Visited Vertex transfer. Section 6 presents Step 3, unified routing. Section 7
M Unvisited Vertex reports on empirical evaluations. Section 8 concludes.
region R3 Visited Edge
H Unvisited Edge
II. R ELATED W ORK
Trajectories: T1=<A, J, X, Y, B3, B> T2=<D, X, Z, C>
We first review studies on employing historical trajectories
T3=<E, Z, F2, F> T4=<G, H> T5=<D, K, Y, F1, F>
for path recommendation, considering three cases.
Fig. 1: Motivating Example Case 1: Given a source and a destination, complete tra-
For example, in Figure 1, A and J are clustered into region jectories exist that connect the source to the destination. For
R1 , and B3 and B are clustered into region R2 . Now, although example, given A and B in Figure 1, trajectory T1 went from
no trajectories connect A1 and B2 , T1 connects regions R1 and A to B. Then, the path of trajectory T1 is recommended.
R2 that are close to A1 and B2 . Thus, the path of T1 can be When multiple paths exist, the path with the highest popularity
used for recommending a path from A1 to B2 . For instance, is recommended, where the popularity can be defined using
a user may go from A1 to A, then follow the path used by T1 different strategies [18]–[20]. This is the simplest case, which
to reach B, and then go to B2 . This enables trajectory-based is also considered in our proposal.
routing between regions connected by trajectories. However, Case 2: Given a source and a destination, no complete
in the region graph, some region pairs are still not connected trajectories exist that connect the source to the destination,
by any trajectories, e.g., regions R3 and R4 in Figure 1. but trajectories exist that can be spliced such that the spliced
trajectories connect the source to the destination. In Figure 1,
In the second step, we learn routing preferences from
given A and F , sub-paths A → X from T1 , X → Z from T2 ,
available historical trajectories that connect some region pairs
and Z → F from T3 can be spliced to form a path from A
and then transfer these preferences to similar region pairs that
to F . Alternatively, T1 and T5 can also be spliced to enable a
are not connected by trajectories. Based on the transferred
different path from A to F . To determine which spliced path
preferences, we identify paths for the non-covered region pairs.
is “best”, absorbing Markov chains [18] and hidden Markov
Note that the routing preferences are learned for different
models [21] are employed to the probabilities that different
region pairs, not for different individual drivers. Assume that
spliced paths may occur based on historical trajectories. The
(R1 , R2 ) is similar to (R3 , R4 ), e.g., because both are from
spliced path with the highest probability is chosen. In contrast,
a residential area to a business district. Next, we extract a
we learn routing preference vectors from trajectories and apply
routing preference from the trajectories connecting R1 and R2
the preference vectors to identify best paths.
that explains the choice of paths from R1 to R2 . We transfer
Case 3: Neither complete nor spliced trajectories are able
this routing preference to driving from R3 to R4 and then
to connect a source to a destination. In the example, consider,
identify paths connecting R3 and R4 , upon which trajectory-
e.g., A1 to B2 , H to F , and M to N . Here, existing
based routing from H to F is possible.
methods [18]–[21] no longer work. In this paper, the use of
In the third step, we provide a unified routing solution, the proposed region graph, together with the mechanism of
called learn-to-route (L2R), which performs path finding on learning and transferring routing preferences captured by past
the region graph, thus enabling routing between arbitrary (s, d) trajectories, makes it possible to extend the situations where
pairs in the original road network graph. historical trajectories can be utilized to cover also Case 3.
To the best of our knowledge, this is the first solution Next, we review related work on road network clustering.
that learns routing preferences from historical trajectories and Gonzalez et al. [22] propose a graph partition method based on
transfers the learned preferences to the part of a road network prior knowledge of the road network hierarchy with l levels,
that is not covered by trajectories, thus supporting comprehen- which may vary from country to country. Wei et al. [23]
sive trajectory-based routing for arbitrary (s, d) pairs. propose a grid-based method for constructing regions using
The paper makes four contributions. First, it presents a trajectories, where two adjacent grid cells are merged if more
trajectory-based road network clustering algorithm that pro- than τ trajectories exist that passed through them. These
duces the data foundation—the region graph. Second, it studies rely heavily on “appropriate” parameters, e.g., l and
presents a general routing preference model, including an τ . Tuning such parameters is non-trivial. Based on recent
algorithm that extracts preferences from historical trajectories advances in modularity based graph clustering, we propose
and an algorithm that transfers preference to similar region a generic, parameter-free region generation method, where
parameters such as l and τ are not needed. Our proposal is routing from s to d when no trajectories capture paths from s
also different from POI clustering [24]. to d.
Finally, we consider learning of routing preferences [25]– Solution Overview. We propose a three-step procedure to
[28]. Methods [25], [26] compare the paths used by trajectories conquer the data sparseness problem, as outlined in Figure 2.
to skyline paths [9] to identify different users’ dominating Legend
factors when choosing paths, e.g., travel time, fuel consump- Road Network G Trajectories T Module

tion, or distance. TRIP [27] uses the ratios between individual Data
drivers’ travel time and average travel time to model person- Clustering
alized travel times. A recent study from Microsoft presents Both T-edges
Only T-edges
an algorithm that learns driver-specific parameters for Bing Region Graph GR and B-edges

Maps’ ranking function for candidate paths based on individual


Preference Learning Preference Transfer
drivers’s past trajectories [28]. However, all existing methods
work only when trajectories are available. In contrast, our
Preferences for T-edges Preferences for B-edges
proposal is also able to transfer routing preferences to places
without trajectories, where existing methods do not apply. Source, Recommended
Routing
destination Paths
III. P RELIMINARIES
Fig. 2: Solution Overview
We cover the definitions of important concepts, introduce
the problem, and present a solution overview. Given a road network G and a set of trajectories T, the
A road network is a weighted graph G = (V, E, W), where clustering module employs modularity-based clustering to
vertex set V consists of vertices representing road intersec- cluster vertices into regions, thus obtaining a region graph GR .
tions, edge set E ⊆ V × V consists of edges representing We partition the edges in a region graph into T-edges and B-
road segments, and W is a set of weight functions, where edges, according to whether they are traversed or not traversed
each function has signature E → R+ . For specificity, we by trajectories, respectively. For each T-edge, the preference
maintain four functions in W. Functions wDI (·), wTT (·), learning module learns a routing preference. The resulting
wFC (·), and wRT (·) return the distance (DI), travel time (TT), preferences are fed into the preference transfer module as
fuel consumption (FC), and road type (RT) of the argument training data, and the preference transfer module transfers
edge, respectively. the preferences from T-edges to similar B-edges. Based on
A path P = hv1 , v2 , . . . , va i is a sequence of vertices where the learned and transferred preferences, the routing module
two consecutive vertices are connected by an edge. recommends paths for user-specified (s, d) pairs.
A trajectory T is a time-ordered sequence of GPS records Scope of the paper. (1) To account for time-dependent traffic
capturing the movement of an object, where a GPS record conditions, we construct peak and off-peak region graphs
captures the location of the object at a time point. The time using trajectories that occurred in peak and off-peak periods,
gap between two consecutive GPS records in trajectories respectively. These are constructed the same way, so we
varies, from a few seconds (a.k.a., high-frequency trajectories) disregard the distinction in the presentation. Depending on the
to tens of seconds or a few minutes (a.k.a., low-frequency departure time, one of the two region graphs is chosen for
trajectories). In the experiments, we test the proposed method routing. Modeling time-dependent traffic conditions at a finer
on both a high-frequency and a low-frequency GPS data sets. granularity and building a dynamic region graph are interesting
Map matching [29] is able to align a trajectory with the road- extensions that are left for future work.
network path that the trajectory traversed. For example, the (2) L2R utilizes trajectories from multiple drivers to recom-
path used by trajectory T1 is PT1 = hA, J, X, Y, B3 , Bi. mend paths, and thus is not a personalized routing approach. In
Problem Setting. We study a new routing methodology— Section VII-C, we empirically compare L2R with state-of-the-
trajectory-based routing. Specifically, we study how to best art personalized routing approaches. L2R can also be adapted
utilize the paths found in trajectories to enable routing for to support personalized routing by only using the trajectories
arbitrary source and destination (s, d) pairs such that the from specific drivers, which we also leave as future work.
identified paths are similar to the paths chosen by local drivers.
Spareness. The spareness considered in the paper means that
past trajectories cannot cover paths between all possible (s, d) IV. B UILDING THE R EGION G RAPH
pairs, so simply looking up paths of past trajectories for a given
(s, d) pair does not work. Although it may be possible that a We propose a trajectory-based method for clustering the
substantial set of trajectories cover the roads in a road network, vertices of a road network into regions (Section IV-A). Then,
e.g., the 1.6 million edges in Denmark, it is almost impossible we build a region graph that connects pertinent regions
to cover all possible (s, d) pairs with paths. Having just one (Section IV-B). The region graph extends the cases where
path for each (s, d) pair in Denmark calls for 2.6 trillion trajectories can be used for recommending paths between
trajectories. The key challenge is to conquer data sparseness an arbitrary pair of source and destination, thus providing a
by making it possible to benefit from historical trajectories for foundation for the final routing module.
A. Clustering Vertices to Regions the benefit of merging vertices vi and vj into a cluster:
 s S ·S
ij
A region is a set of homogenous vertices where the ho- − iS 2 j if vi , vj are connected by an edge;
∆Qvi vj = S
mogeneity is defined based on two properties that are used 0 otherwise.
in urban planning [30], [31]: (i) the numbers of trajectories It has been shown that if merging two vertices vi and vj gives
associated with the vertices in a region are similar [30]; (ii) a non-positive modularity gain, the two vertices should not be
the edges connecting the vertices have the same road type [31]. merged [34]. If the modularity gain is positive, vertices vi and
The intuition is as follows. A region with vertices connected vj are merged into an aggregate vertex with a popularity that
by edges of residential-road type may capture a residential equals the sum of the popularity of the vi and vj , i.e., Si + Sj .
area; and by taking into account the number of trajectories To take into account property (ii) of regions, i.e., the road
associated with the vertices, we can distinguish a residential type constraint, we also associate a road type attribute with an
area in the city from one in a suburb area because the former aggregate vertex that records the road type of edge (vi , vj ).
has more trajectories. We proceed to propose a hierarchical clustering method that
Consider Figure 3, where the label x:y on an edge indicates follows a bottom-up, agglomerative clustering strategy [35]. In
that x trajectories occurred on the edge and that the road type the beginning, each vertex is treated as a cluster. The clustering
of the edge is y. For example, 100 trajectories occurred on method keeps merging clusters into larger clusters until no
edge (D, X), a type 1 road. According to the above two more clusters can be merged.
properties, vertices D, K, X, and Y can be regarded as Merging vertices. We call an original, non-merged vertex
a region because they have more trajectories than the other a simple vertex and refer to a cluster that contains merged
vertices and are connected by road type 1 edges. Similarly, vertices as an aggregate vertex. We differentiate the processes
vertices F , F1 , and F2 can be regarded as a region. of merging adjacent simple and aggregate vertices.
D Merging two simple vertices: Given two adjacent simple
region R2
100:1 region R6
B vertices vi , vj ∈ V′ , if ∆Qvi vj > 0, we merge the two vertices
region R1
100:1 K B3 into an aggregate vertex va , whose popularity is the sum of
20:1 20:1
A 30:1 J 400:1 the popularity values of both vi and vj . In addition, we set
10:1
30:2
X 300:1 Y 10:1 the road type of the aggregate vertex va .RT as the road type
F1
30:2
F of edge (vi , vj ), i.e., wRT (vi , vj ).
30:1 Z 20:2 50:1
After merging vi and vj , the topology of the graph is
E F2
G 50:1
region R4 adjusted. First, vi and vj are removed from V′ , and the
50:1 C aggregate vertex va is added to V′ . Second, the edge (vi , vj ) is
region R5
region R3
x:y # Trajectories : Road Type removed from E′ and any edges that used to connect to vi and
H vj are now connected to va . We use function MergeSS (vi , vj )
Trajectories: T1=<A, J, X, Y, B3, B> T2=<D, X, Z, C> to denote the procedure of merging two simple vertices vi and
T3=<E, Z, F2, F> T4=<G, H> T5=<D, K, Y, F1, F> vj .
Fig. 3: An Example of Regions Merging an aggregate vertex and a simple vertex: We
use function MergeAS (va , vi ) to denote the procedure of
Based on the two properties, we propose a modularity-based
merging an aggregate vertex va and a simple vertex vi . If the
method that clusters vertices connected by the same road types
modularity gain ∆Qva vi > 0 and if the road type wRT (va , vi )
into regions. The setting is a trajectory graph that consists of
is consistent with the road type of the aggregate vertex va .RT ,
vertices and edges that are traversed by trajectories. Figure 3
the two vertices are merged in a way similar to merging two
shows the trajectory graph of the road network in Figure 1. A
simple vertices. Otherwise, the two vertices cannot be merged,
trajectory graph may not be a connected graph.
and edge (va , vi ) is removed from edge set E′ .
Next, we define popularity values for the edges and vertices Merging two aggregate vertices: We use function
in a trajectory graph. The popularity sij of edge e = (vi , vj ) MergeAA(va , va′ ) to denote the procedure of merging two
is the number of trajectories that occurred on edge e. The aggregate vertices va and va′ . If ∆Qva va′ > 0 and if the
popularity Si of vertex vi is the sum of the trajectories P that road type va .RT is consistent with va′ .RT , the two vertices
occurred on the edges that P are incident to vi , i.e., Si = j sij . are merged similarly to the process of merging two simple
Next, we define S = (vi ,vj )∈E sij as the sum of the vertices. Otherwise, they are not merged, and edge (va , va′ )
popularity values of all edges in the trajectory graph. is removed from edge set E′ .
Modularity, which is used widely in the network analysis Clustering process. The clustering method always chooses
literature [32], [33], quantifies the quality of the clusters in a a vertex vk with the highest popularity, regardless of whether
graph from a global perspective. In our context, the modularity it is an aggregate or a simple vertex, to merge with its adjacent
is high if the popularity of edges inside clusters is high and the vertices. If vk has no adjacent vertex, vk forms a region. If
popularity of edges between clusters is low, which is desired vk has adjacent vertices, we compose a vertex set VA that
by property (i) of regions. consists of all the adjacent vertices, which are candidates for
We define modularity gain [32]–[34] ∆Qvi vj to quantify being merged with vk . Next, we further filter the vertices in
VA to identify the vertices that are final candidates for being Algorithm 1: BottomUpClustering
merged with vk , which forms vertex set VB . Input: A trajectory graph: G ′ = (V′ , E′ );
Checking qualification: Function CheckQ (vk , vj ) checks Output: A Cluster Set VC ;
whether vk can be merged with an adjacent vertex vj in VA. 1 Initialize a priority queue PQ based on vertex popularity;
It returns true if vk and vj can be merged. We distinguish 2 Insert all vertices in V′ into PQ;
3 while PQ is not empty do
cases according to whether vertices vk and vj are simple 4 Vertex vk ← PQ.extractMax ();
or aggregate vertices. All cases should satisfy the condition 5 Vertex set VA ← obtainAdjacentVertices (vk );
∆Qvk vj > 0. In addition, we state the additional road type 6 if VA 6= ∅ then
related conditions that vertices vk and vj must satisfy to be 7 Qualified vertex set VB ← ∅;
merged in Table I. 8 for each vertex vj ∈ VA do
9 if CheckQ (vk , vj ) then
vk : Simple vk : Aggre. 10 VB ← VB ∪ {vj }
vj : Simple ∅ vk .RT = wRT (vk , vj )
vj : Aggre. vj .RT = wRT (vk , vj ) vj .RT = vk .RT 11 VB ′ ← SelectM (vk , VB );
12 for each vertex vj ∈ VA \ VB ′ do
TABLE I: Additional Condition for Merging vk and vj 13 Remove edge (vk , vj ) from E′ ;
Merging selection: After filtering, vertex set VB consists 14 for each vertex vj ∈ VB ′ do
of vk ’s adjacent vertices that have passed the qualification 15 Remove vj from PQ;
check. We call function SelectM (vk , VB) that returns a subset 16 Call one of MergeSS (vk , vj ), MergeAS (vk , vj ),
VB ′ ⊆ VB of vertices that should be merged with vk . and MergeAA(vk , vj ) depending on whether vk
and vj are simple or aggregate vertices and
If vk is an aggregate vertex, vk has a road type vk .RT . generate a new aggregate vertex vk .
All vertices in VB are returned by SelectM (vk , VB), i.e., 17 Insert the new aggregate vertex vk into PQ;
VB ′ = VB . This is so because Table I enforces that
18 else
vk .RT = wRT (vk , vj ), if vj is a simple vertex, and that 19 VC .add(vk );
vj .RT = vk .RT , if vj is an aggregate vertex.
If vk is a simple vertex, the edges between vk and its 20 return VC ;
adjacent vertices v1 , . . . , vm ∈ VB may have different road
∆QY,B3<0 ∆QY,X>0
types, i.e., wRT (vk , v1 ), . . ., and wRT (vk , vm ) may be dif- D D ∆QXYK,D>0
100:1 ∆QY,F1<0 ∆QY,K>0
ferent. Thus, SelectM (vk , VB ) returns the largest subset of B3
vertices in VB such that their edges that are incident to vk 100:1 K 200:1
J 400:1
20:1
J XYK
have the same road type. For example, let VB = {v1 , v2 , v3 }, 30:2 10:1 (type:1)
wRT (vk , v1 ) = 1, wRT (vk , v2 ) = 1, and wRT (vk , v3 ) = 2, X 300:1 Y 30:2
30:2 F1 30:2
then SelectM (vk , VB ) returns VB ′ = {v1 , v2 }. Z Z
Given a trajectory graph G ′ = (V′ , E′ ), where vertices in 1st Merging
2nd Merging
V′ are those in the road network G traversed by trajectories,
Simple Vertex Aggregated Vertex
the pseudo code of the algorithm is presented in Algorithm 1.
We utilize a priority queue to order simple and aggregate Fig. 4: An Example of the Clustering Process
vertices according to their popularity values. The priority both 1, an aggregated vertex XYK is formed with road type
queue returns the vertex vk with the highest popularity to start 1.
a merge iteration (lines 1–4). If vk has no adjacent vertices, it
becomes a cluster (line 19). Otherwise, we consider whether In the 2nd merging iteration, aggregate vertex XYK has
vk should be merged with its adjacent vertices. We first find the largest popularity and thus is considered with its adjacent
those of vk ’s adjacent, qualified vertices VB for merging with vertices. Vertices J and Z cannot be merged with XYK since
vk (lines 8–10). Then we identify VB ′ which includes the the road types are inconsistent. Since the modularity gain
vertices that will actually be merged with vk and cut the graph between D and XYK is positive and the road type of edge
between vk and the vertices in VA\VB ′ (lines 11–13). Finally, (D, XYK ) is consistent with the road type of XYK , a new
we merge vk with its adjacent vertices in VB ′ and add it back aggregate vertex XYKD with road type 1 is created.
to the priority queue (lines 14–17). During the clustering, we need not control manually the size
A simple example of the clustering algorithm is show in of clusters, as a cluster “ends” automatically when merging
Figure 4. In the beginning, simple vertex Y has the largest it with the neighbors gives non-positive modularity gains or
popularity and is first popped from the priority queue. We they have different road types. This prevents naturally clusters
compute the modularity gains between Y and K, X, B3 of extremely large sizes. In addition, we maintain paths used
and F1 , respectively. The modularity gains are also shown in by trajectories inside regions (see “inner-region paths” in
Figure 4. Vertices B3 and F1 are not merged with Y because Section IV-B). This design is useful when the source and
their modularity gains are negative. Edges (Y, B3 ) and (Y, F1 ) destination in a routing request is inside a region, which is
are removed from E′ . Since vertices K and X have positive common for large regions.
modularity gains and the road types of (Y, K) and (Y, X) are Based on the above, we are able to form regions in a
trajectory graph where both properties (i) and (ii) are satisfied. However, when only using trajectories for constructing re-
For example, the dashed circles in Figure 3 indicate regions. gion edges, the resulting region graph may not be a connected
The popularity of edges in region R6 is high, while the graph. For example, in Figure 3, region R3 is not connected
popularity of the edge between regions R2 and R6 is low; with any other regions since no trajectory went through R3 and
region R6 has road type 1 edges, while the edge between other regions. Thus, we get the region graph in Figure 5(a). To
regions R6 and R1 have road type 2. enable the region graph to serve as a foundation for routing,
we need to ensure that the region graph is connected. To this
B. Region Graph end, we apply a breadth first search (BFS) based procedure to
make the region graph connected.
We build a region graph GR = (VR , ER ) based on the To ease the following discussion, we call the region edges
obtained regions, which serves as a foundation for routing. that are constructed from trajectories T-edges and the region
The region graph can be regarded as a backbone of the road edges that are constructed from the BFS procedure B-edges.
network graph. To distinguish it from the road network graph, BFS construction of region edges: We consider the orig-
we call a vertex in the region graph region vertex and an edge inal road network graph G. We conduct a BFS for each
in the region graph region edge. In particular, a region vertex vertex ui in a region Ri . When the search reaches a vertex
Ri ∈ VR represents a region. We proceed to show how to uj in a different region Rj , we stop further exploring uj ’s
construct region edges by connecting region vertices, using neighbors so that the search does not enter another region Rk
the combination of two different strategies. via Rj . If no T-edge or B-edge exists between regions Ri and
Constructing region edges from trajectories: Having Rj , we build a B-edge as their region edge. We repeat the
identified regions, trajectories that originally connected ver- same procedure until all vertices in region Ri are traversed.
tices in the road network are now utilized to connect regions. The method of obtaining specific paths for B-edges will be
If a trajectory exists that went through a vertex in region Ri discussed in detail in Section V.
and a vertex in region Rj , we construct a region edge (Ri , Rj ). For instance, consider vertex G in region R3 in Figure 3 and
Note that a trajectory may produce more than one region edge. the original road network graph in Figure 1. A BFS starting
In particular, if a trajectory went through vertices in m regions, from G visits vertices A and E. Since vertex A is in region R1 ,
up to m·(m−1)
2 region edges can be constructed. For example, a region edge (R3 , R1 ) is constructed as a B-edge. Similarly,
in Figure 3, trajectory T1 went through vertices in R1 , R6 , since vertex E is in region R5 , a region edge (R3 , R5 ) is
and R2 , and we are able to construct region edges (R1 , R6 ), constructed as a B-edge. The same procedure is applied to
(R1 , R2 ), and (R6 , R2 ), as shown in Figure 5(a). the other vertex in region R3 , i.e., vertex H, but it does not
produce any new B-edges. After applying the same procedure
R6 R6
to each region, we obtain the final region graph shown in
R2 R2
T-edge Figure 5(b).
R1 R1
Different from T-edges that are composed by trajectory
R4 R4 B-edge paths, B-edges have no path information because no trajec-
R3 R5 R3 R5 tories went through the regions connected by the B-edges. To
(a) Before calling BFS (b) After calling BFS enable routing on top of the region graph, we need to know the
paths when traveling between two regions that are connected
Fig. 5: Region Graph
by B-edges. To this end, in Section V, we study how to learn
Each region edge (Ri , Rj ) is associated with a set Pij of and transfer appropriate paths for B-edges.
paths, where each path P = hva , · · · , vb i in Pij was traversed An alternative way to make the region graph connected is
by at least a trajectory that left Ri at vertex va and entered to connect every region pair, i.e., making the region graph
Rj at vertex vb . A vertex at which a trajectory Tk enters or fully connected. However, the BFS based procedure has two
leaves a region is called a transfer center, e.g., va and vb . benefits. First, it guarantees that there are no disconnected
For example, region edge (R1 , R6 ) is associated with regions. Second, it tries to connect a disconnected region to
path hJ, Xi because trajectory T1 left R1 at vertex J and its nearby regions, which makes the region graph simple.
entered R6 at vertex X, and thus J and X are transfer
centers. Similarly, region edge (R1 , R2 ) is associated with path V. I DENTIFYING PATHS FOR B-E DGES
hJ, X, Y, B3 i, where J ∈ R1 and B3 ∈ R2 are transfer centers; To enable routing using the region graph, we associate
and region edge (R6 , R2 ) is associated with path hY, B3 i, appropriate paths with all B-edges using a three-step method.
where Y ∈ R6 and B3 ∈ R2 are transfer centers. First, for each T-edge, we learn a routing preference from
For each region, we also maintain inner-region paths based the set of paths that are associated with the T-edge, which
on trajectories. Specifically, given a region Ri and a trajectory explains why drivers choose specific paths. Second, we quan-
Tk , if Tk entered Ri at vc and left Ri at vd , the path P ′ = tify the similarity between T-edges and B-edges, and then we
hvc , · · · , vd i that was traversed by Tk in Ri is recorded as an transfer routing preferences from T-edges to B-edges based on
inner-region path of Ri . For example, regions R1 and R3 have similarity. Third, we apply the transferred routing preferences
inner-region paths hA, Ji and hG, Hi, respectively. to identify appropriate paths for B-edges.
A. Step 1: Learning routing preferences for T-Edges and each of the three lowest-cost paths and choose the optimal
Each T-edge (Ri , Rj ) is with a set of paths Pij (see cost type whose corresponding lowest-cost path has the highest
Section IV-B) that connects region Ri to region Rj . We learn similarity. Next, we identify the optimal road condition feature.
a representative routing preference vector Vij for each T-edge For each road condition feature, we compute a new lowest-
(Ri , Rj ) that explains why drivers chose the paths in Pij . cost path based on the optimal cost type while making sure
We consider two categories of features that may affect a that the road condition feature is also satisfied. We check if
driver’s travel decisions—travel costs and road conditions. the similarity between the new path and the ground truth path
Travel cost features describe the travel costs that drivers Pk can be further improved. The road condition feature that
want to minimize. Road condition features describe drivers’ gives the largest improvement is chosen as the optimal road
preferences or restrictions relating to road conditions. For condition feature.
example, we may consider three different travel cost features, For example, if the optimal cost type is distance, we test if
travel time (TT), distance (DI), and fuel consumption (FC); the shortest path with preferences for highways or residential
and three road condition features, e.g., highways, residential roads can yield a higher similarity compared to shortest path
roads, and highways and residential roads. without any road type preferences. If so, we choose the road
Based on the above, we use a 2-dimensional vector to type that gives the largest similarity improvements. Otherwise,
represent a routing preference, where the so-called master all the road condition features are ignored.
dimension corresponds to travel cost features and the so-called Next, we provide statistical evidence to justify our design
slave dimension corresponds to road condition features. For choice of choosing only a single representative preference for
example, vector V = hTT, Highwayi indicates a preference each T-edge. Given a T-edge (Ri , Rj ), we learn a routing
for minimizing travel time and using highways. preference for each path in Pij , and we count the number of
Based on the routing preference model, we aim at identify- unique preferences. The curve in Figure 6(a) shows that for
ing an appropriate preference vector for the T-edge (Ri , Rj ) more than 70% of all T-edges, we obtain a single preference,
based on its path set Pij . Given the source and destination of although multiple paths often exist in Pij . Thus, we chose
a path Pk ∈ Pij and a preference vector V , we are able to to learn a single routing preference for each T-edges. On the
construct a path PkV based on V that connects the source and other hand, Figure 6(a) also suggests that it is possible that a
destination of Pk . If V captures the driver’s preferences well, T-edge has more than one preference—we leave the modeling
path PkV should largely match the actual, or ground truth, path multiple preferences per T-edge as future research.
Pk . Thus, we aim to identify a routing preference vector V ∗

$SSHDUDQFH3HUFHQWDJH 
3UHIHUHQFH6LPLODULW\ 
 6LPLODULW\ 3HUFHQWDJH 

such that the constructed paths match the paths in Pij as much
 
as possible. Equivalently, we P aim at solving the optimization
problem V ∗ = arg maxV ∈V Pk ∈Pij pSim(Pk , PkV ), where DI
TT
FC
 

V is a set of possible vectors and pSim(·, ·) is a path similarity  

function that evaluate the similarity between two paths.  


         

We use a popular path similarity function [26], [36]: 7(GJH6LPLODULW\

P (a) Distribution of Preferences (b) vs. Preference Similarity


V e∈Pk ∩PkV len(e)
pSim(Pk , Pk ) = P . (1)
e∈Pk len(e)
Fig. 6: Statistical Evidences for Design Choices

The intuition is two-fold: first, the more edges the constructed We also show the distribution of the learned routing pref-
path PkV shares with the ground-truth path Pk , the more erences as bars in Figure 6(a). We aggregate more than 200
similar the two paths are; second, the longer the shared edges unique routing preferences based on their travel cost features,
are, the more similar the two paths are. i.e., DI, TT, and FC. The bars show that the routing preferences
A naive way of solving the optimization problem is to search are distributed almost uniformly, indicating that T-edges do
the whole space, i.e., all combinations of features in the master have different routing preferences.
and slave dimensions. However, the search space can be very
large, thus rendering the learning algorithm inefficient. We B. Step 2: Transferring routing preferences
instead propose an efficient learning algorithm that is inspired So far, we have identified preference vectors for T-edges.
by coordinate descent. In short, we first identify the best travel The next step is to associate preference vectors with B-edges,
cost feature in the master dimension, and next, based on the which can then be used to identify appropriate paths for B-
chosen travel cost feature, we identify the best road condition edges. To this end, we transfer the routing preferences of T-
features in the slave dimension. edges to similar B-edges, which follows the intuition that when
Specifically, given the source and destination of each ground two region edges are similar, they also have similar routing
truth path Pk , we obtain a lowest-cost path using each cost preferences. For example, if most local drivers choose the
type. This yields three lowest-cost paths P̂kDI , P̂kTT , and P̂kFC , fastest paths with a preference for main roads to travel between
for distance, travel time, and fuel consumption [37], [38], a region in the city center and a northern suburb residential
respectively. We then measure the similarity between path Pk area, it is also likely that local drivers have this preference
when traveling between another region in the city center and few highly similar (e.g., similarity above 0.9) T-edges. This
a southern suburb residential area. makes it possible to transfer routing preferences among region
Based on the above intuition, we first introduce the similar- edges, and these observations indicate that the design choices
ity function that quantifies the similarity between two region are purposeful.
edges and then provide an algorithm that transfers routing Transferring preferences among similar region edges: We
preferences between similar region edges. adopt the idea of graph-based transduction learning [39], [40]
Similarity between two region edges: Any region edge, to transfer routing preferences from T-edges to similar B-
a T-edge or a B-edge, connects two regions. A region edge is edges. First, we build a undirected, weighted graph, where
described by the features of its two regions. In particular, we a vertex represents a region edge, which can be a T-edge or a
use two elements dis and F to describe a region edge re. B-edge. Given a total of n region edges, we use an adjacency
Element re.dis is a real value, indicating the Euclidean matrix M ∈ Rn×n to record the edge weights of the graph.
distance between the centroids of the two regions connected Specifically, M[i, j] equals to the similarity reSim(rei , rej )
by the region edge. The distance information is an influential between region edges rei and rej , where 1 6 i, j 6 n.
factor when drivers choose their paths. For example, drivers Next, we introduce an adjacency matrix reduction threshold
may prefer the fastest paths if they travel long distances, but amr . In the adjacency matrix, we only keep the values that
they may prefer the shortest paths when traveling at shorter exceed amr ; otherwise, we set the values to 0. This way, the
distances. adjacency matrix only captures “sufficiently” similar region
Next, element re.F describes the functionalities of the two edge pairs, which enables to control the accuracy of the
regions. Element re.F is also essential because, for example, transferred preferences. The less dense resulting matrix also
when traveling between two business districts and between a improves efficiency (see Figure 9(b) in experiments).
residential area and a city center, drivers may have different Figure 7 shows a graph with four vertices (i.e., n = 4)
preferences. In particular, we use a set of road types to describe representing two T-edges and two B-edges. The corresponding
the functionality of a region [31]. For each region, we consider matrix M is also shown. For example, M[1, 3] = 0.9 indicates
all edges that are incident to the vertices in the region and that the similarity between re1 and re3 is 0.9, and M[2, 3] = 0
select top-k road types of the edges as the region’s road type indicates that the similarity between re2 and re3 is smaller
set. For example, regions Ri and Rj have top-2 road type than threshold amr .
sets {TP1, TP2} and {TP3, TP4}, respectively. Then, region In the next step, we use a matrix Y ∈ Rn×p to denote
edge (Ri , Rj ) has element re.F that is the Cartesian product the initial routing preferences of different region edges. Here,
of the road type sets from both regions: re.F = {hTP1, TP3i, n is the total number of region edges, including T-edges
hTP1, TP4i, hTP2, TP3i, hTP2, TP4i}. and B-edges, and p is the total number of travel cost and
Based on the above, the similarity between two region road condition features that are used for modeling routing
edges rei and rej , quantified by the similarity of their feature preferences in Section V-A.
vectors, is defined as follows. To illustrate, we consider two travel cost features DI and
TT and three road condition features indicating preferences
min(rei .dis, rej .dis)
reSim(rei , rej ) = + J (rei .F, rej .F). on road type TP1, TP2, and both, i.e., TP1+2. In this setup,
max(rei .dis, rej .dis) matrix Y has p = 5 columns that represent features DI, TT,
The similarity function is the sum of distance similarity and TP1, TP2, and TP1+2.
region function similarity. For distance similarity, the more Each row in Y corresponds to a region edge’s routing
similar the two distances are, the larger the similarity is. preference. For a T-edge, the features corresponding to its
This captures the intuition that travels between equally far learned routing preference V ∗ are set to 1. For example,

apart regions may tend to have similar routing preferences. assuming that T-edge re1 has preference vector Vre 1
= hDI,
For region function similarity, we use Jaccard similarity to TP1i, the first row of Y is set to (1, 0, 1, 0, 0). Similarly, if T-

evaluate the similarity between the region functions. If the edge re2 has preference vector Vre 2
= hTT, TP2i, the second
two region edges share more function features, meaning that row is set to (0, 1, 0, 1, 0), as shown in Figure 7. Next, since
they connect similar region pairs, travels on the two region the routing preferences of the B-edges are unknown, the rows
edges are expected to have similar routing preferences. that represent B-edges are set to (0, 0, 0, 0, 0).
To justify design choices, that (i) similar region edges The transduction learning yields matrix Ŷ ∈ Rn×p that
have similar routing preferences and that (ii) the proposed records the transferred routing preferences for the B-edges.
region edge similarity function reSim(·, ·) is effective, we Specifically, Ŷ[i, j] indicates the probability of region edge
show the results of an experiment using preferences learned rei having the j-th routing preference feature. For B-edge
from T-edges in Figure 6(b). First, the “Similarity” bars show rei , the travel cost feature with the largest probability, i.e.,
that similar T-edges have similar routing preferences, while arg maxx∈{1,2} Ŷ[i, x], is used as the final travel cost feature.
dissimilar T-edges have dissimilar routing preferences. Second, In the example Ŷ in Figure 7, this is DI for re3 and TT for
the “Percentage” bars show the percentages of T-edge pairs re4 . The road type feature with the largest probability, i.e.,
that fall in a different T-edge similarity ranges. There are many arg maxx∈{3,4,5} Ŷ[i, x], is used as the final road type feature.
similar (e.g., similarity above 0.5) T-edges, although there are In the example Ŷ in Figure 7, this is TP1 for re3 and TP2
re1 re2 re3 re4
V*re1=<DI, TP1> V*re2=<TT, TP2>
re1 graph Laplacian matrix L in the second term of Equation 2. In
re1 re2 re2
re3
particular, L = D − M, where M is the adjacency
P matrix and
re4 D is a diagonal matrix where D[i, i] = k∈{1...n} M[i, k]

TP1+2
and D[i, j] = 0 if i =
6 j. In our example, we have

TP1

TP2
TT
DI
 1.6 0 0 0
  1.6 0 −0.9

−0.7
0 0.8 0 0 0 0.8 0
re1
re2
D= 0 0 1.6 0 L= −0.9 0 1.6
−0.8
−0.7
0 0 0 2.2 2.2
re3 re4 re3
−0.7 −0.8 −0.7
With the help of L, the second term actually computes the
?  DI, TP1 ? TT, TP2
re4
re1 sum of the products of the similarities of two region edges and
re2
T-edge B-edge re3 the differences of the two region edges’ corresponding routing
re4 preferences. When the similarity of the two region edges is
Fig. 7: Transferring routing preferences high, a small difference between their routing preferences
make the product significant. Minimizing the second term in
for re4 . Finally, B-edges re3 and re4 obtain the transferred the objective function has the effect of smoothly spreading the
routing preferences Vre3 = hDI, TP1i and Vre4 = hTT, TP2i, routing preferences from T-edges to B-edges such that (1) two
respectively. region edges with high similarities have highly similar routing
Now the remaining question is how to obtain Ŷ, which is preferences; (2) two region edges with low similarities may
the core of the transduction learning. have dissimilar routing preferences.
Obtain matrix Ŷ: We obtain Ŷ by minimizing the following Third, we conduct L2 regularization [39], [40] to avoid over-
objective function fitting.
p h
X Next, we need to minimize the objective function. By
O(Ŷ) = (Y·x − Ŷ·x )T S(Y·x − Ŷ·x ) differentiating Equation 2 by Ŷ·x and then setting it to 0,
| {z } we get
x=1
Keeping T-edges’ preferences
(S + µ1 L + µ2 I)Ŷ·x = SY·x (3)
i
T
+ µ1 Ŷ·x LŶ·x + µ2 ||Ŷ·x ||22 , Using basic linear algebra practice, Equation 3 can be solved
| {z } | {z }
Transferring preferences to B-edges Regularization by iterative approximation algorithms [41], e.g., the Jacobi
(2) method [39] or the conjugate gradient method [42]. We need
where Y·x and Ŷ·x indicate the x-th column of matrices to solve Equation 3 p times; and each time, we obtain a Ŷ·x
Y and Ŷ, respectively. Hyper-parameters µ1 and µ2 control where x ∈ {1, 2, . . . , p}. Finally, we obtain Ŷ.
the relative influences of the second and third terms in the
objective function, respectively. C. Step 3: Applying Transferred Preferences
The intuition of each term of the objective function is as After step 2, each B-edge has a transferred preference vec-
follows. First, the T-edges should keep the routing preferences tor. For each B-edge, we now identify a few appropriate paths
that are learned in step 1. The T-edges’ learned routing according to its transferred preference vector. Consider B-
preferences serve as training data in the transduction learning edge (Ri , Rj ). Recall that a region has transfer centers where
process. trajectories enter and leave the region (see Section IV-B).
Matrix S ∈ Rn×n is an auxiliary matrix that indicates For each pair of a transfer center from Ri and a transfer
which region edges are T-edges. In particular, we organize center from Rj , we identify a path according to the preference
the region edges such that the first x edges are T-edges and vector. Finally, the identified paths are associated with B-edge
the remaining n − x edges are B-edges. Then, S is a diagonal (Ri , Rj ).
matrix, where the first x diagonal entries are set to 1 and the We proceed to modify Dijkstra’s algorithm to accommodate
remaining
 1 diagonal entries are set to 0. Specifically, we have the preference, as shown in Algorithm 2. To ease the discus-
0 0 0
0 1 0 0
sion, we assume that a B-edge is associated with a transferred
S= in our example because re1 and re2 are
0
0
0
0
0 0
0 0
routing preference vector hDI, TP1i, meaning that minimizing
T-edges. travel distance and using road type TP1 are preferred. Recall
Based on S, the first term actually computes the sum of that the first dimension is master dimension and the second
the squared differences between Y·x and Ŷ·x of the rows that dimension is the slave dimension.
represents T-edges. By minimizing the first term, we try to The overall procedure is similar to the classical Dijkstra’s
identify a Ŷ that minimizes the difference. This means that algorithm. In the algorithm, each vertex is associated with two
the T-edges should try to keep their learned preferences from attributes—a cost attribute that records the cost of travel from
step 1. On the other hand, the first term does not pose any the source to the vertex and a parent attribute that records the
constraints between Y·x and Ŷ·x of the rows that represents parent vertex of the vertex. And we use a priority queue Q to
B-edges. control the order of visiting different vertices (lines 1–4).
Second, the T-edges’ routing preferences are transferred to Here, the cost value maintained in a vertex corresponds
B-edges. The transfer process ensures that the more similar to the specific cost type feature for the master dimension
the two region edges are, the more similar their routing of a given preference vector. For example, when considering
preferences are. This is realized by the use of the unnormalized preference vector hDI, TP1i, each vertex is associated with
a cost that equals to the distance (according to DI) from the prefer to follow a region edge that enables us to go to a region
source vertex to the vertex. that is geometrically close to the destination region. When a
The algorithm always chooses the vertex with the lowest region edge exists that directly connects Rs and Rd , we always
cost, say vertex u, to continue exploring (line 6). When use that region edge. Otherwise, we give higher priorities to
exploring from u, we differentiate two cases (lines 7–14): (i) at the region edges that lead to regions that are closer to the
least one edge (u, x) satisfies the slave preference, and (ii) no destination region Rd .
edge (u, x) exists that satisfies the slave preference. For case To illustrate, consider the region graph shown in Figure 5(b)
(i), only edges that satisfy slave preference are explored. For and assume the physical locations of the regions are also
case (ii), all u’s adjacent vertices are explored. This way, we represented in Figure 5(b). Assume that regions R1 and R4 are
make sure that the preferences on both the master and slave given as the source and destination regions. When exploring
dimensions are accommodated by the algorithm. from R1 , region R5 is preferred over regions R2 , R3 and R6
because R5 is much closer to destination region R4 . Finally,
Algorithm 2: ApplyingPreferencesModifiedDijkstra
the region path h(R1 , R5 ), (R5 , R4 )i is returned.
Input: Preference Vector: V = hmaster , slavei; Source and
destination vertices: vs , vd ; Road Network: G; Recall that each region edge corresponds to some paths in
Output: Path P that connects vs and vd the original road network graph. Based on this, a region path
1 for each vertex v ∈ G.V do can be mapped back to a path in the road network graph,
2 v.cost ← +∞; v.parent ← null; which is then returned as the result.
3 vs .cost ← 0; Case 2: At least one of vs and vd is not in a region. In
4 Initialize a priority queue Q and add all vertices to Q; this case, we find appropriate region vertices for vs or/and vd .
5 while vd is still in Q do Then, we apply the procedure from case 1.
6 vertex u ← Q.extractMin ();
7 Boolean noneSat ← false; To this end, we issue a fastest path finding algorithm from
8 if there does not exist a vertex x such that x is u’s adjacent vs to vd based on road network graph G. If a region is visited
vertex and edge (u, x)’s road type satisfies V.slave then by the algorithm, we consider it as a candidate region Rs .
9 noneSat ← true; Similarly, we can identify a candidate region Rd . Then we
10 for each vertex x that is adjacent u do apply the procedure from case 1 with source region Rs and
11 if edge (u, x)’s road type satisfies V.slave ∨noneSat destination region Rd to identify a path P . Finally, we return
then
a path that consists of three sub-paths—the fastest path from
12 if u.cost + wV .master (u, x) < x.cost then
13 x.cost ← u.cost + wV .master (u, x); vs to Rs , denoted as Ps , the path P that connects Rs and Rd ,
14 x.parent ← u; and the fastest path from Rd to vd , denoted as Pd , as shown
in Figure 8. In case there is only one or no candidate region,
15 Construct P from vd using the parent attributes and return P ; we simply return the fastest path, e.g., in the case of vs and
vd′ in Figure 8.
The three steps yield a region graph where each region edge
v d’ Path associated with
has a set of paths, meaning that the region graph can serve as R1 region edge (Rs, Rd)
a foundation for routing. Fastest path

vs Rd
VI. ROUTING ON R EGION G RAPHS
Ps P Pd vd
Given an arbitrary pair of a source vs and a destination vd
in the original road network graph G, we present a routing Rs
R2
algorithm that is able to recommend a path connecting them,
using the region graph. We distinguish two cases. Fig. 8: Routing, Case 2
Case 1: Vertex vs is in a region, say Rs , and vertex vd
is also in a region, say Rd . If both vertices are in the same VII. E MPIRICAL S TUDY
region, i.e., Rs = Rd , since we maintain inner-region paths
We conduct a comprehensive empirical study on two sub-
inside regions, we check if trajectories exist that traverse from
stantial GPS trajectory data sets.
vs to vd . If yes, we return a path with the largest number of
trajectory traversals; if no, we return the fastest path.
A. Experimental Setup
If the vertices are not in the same region, i.e., Rs 6= Rd , we
first identify a region path based on the region graph and then Road Network and GPS Trajectories: We use two road
map the region path to a path in the original road network. networks, N1 and N2 , both obtained from OpenStreetMap
Routing on the region graph: The intuition is to find (openstreetmap.org). N1 represents the road network of Den-
a region path that follows fewer region edges to reach the mark and includes 667,950 vertices and 1,636,040 edges,
destination region Rd . This is because if a region path consists which are contained in a 320 km × 370 km rectangular
of many region edges, it involves the stitching of many paths region. N2 represents the road network of Chengdu, China
from different trajectories, which may not represent coherent and includes 27,671 vertices and 77,444 edges, which are
routing preferences. Thus, in the routing procedure, we always contained in a 33 km × 25 km rectangular region.
We use two GPS data sets D1 and D2 from N1 and N2 , If neither source nor destination belongs to a region, the path
respectively. D1 consists of more than 180 million high- is in category OutRegion.
frequency GPS records that were collected by 183 vehicles Implementation Details: All algorithms are implemented in
at 1 Hz (i.e., one GPS record per second) in 2007 and 2008. Java using JDK 1.8. We conduct experiments on a server
D2 consists of 100 million low-frequency GPS records that with a 64-core AMD Opteron(tm) 2.24 GHZ CPU, 528
were collected by 10,864 taxis from August 3rd to 30th 2014. GB main memory under Ubuntu Linux. We use distance,
The sampling rate varies from 0.03 Hz to 0.1 Hz. We only travel time, and fuel consumption as the travel cost features,
use parts of trajectories where taxi have passengers on. We where the fuel consumption is computed based on speed
map match [29] the GPS records in D1 and D2 onto N1 and limits using vehicular environmental impact models [37]. We
N2 , respectively, obtaining 466,305 trajectories and 185,284 use six commonly used road types from OpenStreetMap as
trajectories, where the trajectories in D2 represent trips with road condition features: motorway, trunk, primary, secondary,
passengers. The travel distance distributions of the trajectories tertiary, and residential. The transduction learning algorithm
are shown in Table II. for transferring preferences (cf. Section V-B) is implemented
Distance (km) (0,10] (10,50] (50,100] (100, 500]
# Trajectories of D1 427,430 35,271 2,263 1,341
using the Junto library (github.com/parthatalukdar/junto).
Percentage (%) 91.6 7.6 0.5 0.3
Distance (km) (0,2] (2,5] (5,10] (10, 35] B. Evaluation of Design Choices
# Trajectories of D2 29,256 105,503 43,473 7,052
Percentage (%) 15.8 56.9 23.5 3.8
We evaluate the design choices chosen for L2R. In partic-
TABLE II: Statistics of Trajectories ular, we show the effect of important parameters by varying
Training and Testing Data: We partition the trajectories in them according to Table III where default values are shown
D1 and D2 into training data and testing data. Specifically, as bold. When we vary one parameter, we keep the remaining
trajectories that occurred during the first 18 months in D1 parameters at their default values. We show results for both
and the first 21 days in D2 are used as training data; and D1 and D2 in most empirical studies, but omit some results
trajectories that occurred in the last 6 months in D1 and the for D2 when they show little difference to those of D1 .
Parameters Values
last 7 days in D2 are used as testing data. # T-edges 1X, 2X, 3X, 4X, 5X
Evaluation Criteria: For each trajectory in the testing data Threshold amr 0.5, 0.6, 0.7, 0.8, 0.9
Test, we record its source and destination, departure time, TABLE III: Parameters of L2R
and the actual path used by the trajectory. Since the aim
Region Sizes: We report the sizes of the obtained regions by
of the paper is to reuse local drivers’ routing intelligence
computing their convex hulls and then reporting their areas
to recommend paths, the paths used by the local drivers are
(in km2 ) and maximum diameters (in km). Table IV reports
considered as the ground truth (GT) paths.
Size (km2 ) (0,2] (2,10] (10,100] >100
In the experiments, we run learn-to-route (L2R) on each pair D1 3,357 (78.6%) 539 (12.6%) 304 (7.12%) 70 (1.63%)
of source and destination in Test, and we compare the returned / 9.5 / 15.8 / 29.9 / 304.1
Size (km2 ) (0,2] (2,5] (5,10] >10
path with the GT path, using the path similarity function in D2 388 (72.1%) 127 (23.6%) 19 (3.53%) 4 (0.74%)
Section V-A. In addition, we also identify the shortest path, / 4.24 / 8.17 / 8.59 / 6.22
the fastest path, the paths returned by two personalized routing TABLE IV: Region Sizes
algorithms and by Google Maps, and compare them with the
GT path. The departure time is used when identifying the L2R the numbers of regions whose area falls in given ranges and
paths, the fastest paths and the Google Maps paths. the maximum diameter of the regions in each range. There
are a few large regions, but most regions have sizes less
We also report results w.r.t. the accuracy using a different
than 2 km2 . This indicates that the proposed modularity-based
but also popular path similarity function [26], [36] to evaluate
clustering is able to control the region size and avoids very
the similarity between the routing path and the ground truth
large regions. D1 has a few large regions, which represent
path.
P backbone highways. Since we maintain inner-region paths for
V e∈Pk ∩PkV len(e) regions, large regions do not affect the final routing quality.
pSim(Pk , Pk ) = P (4)
e∈Pk ∪P V len(e)
k
Transferring Preferences: We study the accuracy of trans-
ferring preferences from T-edges to B-edges in Step 2. As
It follows the intuition of the similarity function in Sec- we have no ground-truth preferences for B-edges, we cannot
tion V-A, but utilizes the union of segments in the constructed evaluate the accuracy of the transferred preferences in a
path PkV and the ground-truth path Pk as the denominator. straightforward manner. To evaluate the accuracy, we ran-
Results are categorized according to the lengths of the GT domly partition the preferences of T-edges into 5 partitions. We
paths and according to whether the source or destination of a reserve one partition as a ground truth. Next, we use partition
GT path belongs to a region in the obtained region graph. If 1; partitions 1 and 2; partitions 1, 2, and 3; and partitions 1, 2,
both the source and destination of a GT path are in regions, 3, and 4, to conduct the preference transfer. For each T-edge
the path is in category InRegion. If either the source or the in the reserved partition, we obtain a transferred preference,
destination is in a region, the path is in category InOutRegion. which we compare it with the ground truth preference. We
report the accuracy of the transferred preference against the We leave such performance improvements as an interesting
ground truth preference using Jaccard similarity. future research direction.
Figure 9(a) shows the accuracy when using 1, 2, 3, and 4 We also consider two personalized routing algorithms,
partitions, labeled as X, 2X, 3X, and 4X. The results indicate Dom [26] and TRIP [27], that are able to find personalized
that the more preferences of T-edges are used, the better the “shortest” paths between arbitrary source and destination for
accuracy we get. Therefore, we use all the preferences of T- individual drivers. The algorithms first learn a global routing
edges (i.e., 5X) in the remaining experiments. preference (rather than a routing preference for each region
Next, we consider the effect of the adjacency matrix reduc- pair in this paper) for each driver from the driver’s historical
tion parameter threshold amr on the transfer process. Since trajectories, then use the learned preference to obtain new,
Figure 6(b) already suggests that when the similarity between personalized weights for all edges, and finally apply shortest-
two region edges is low, their preference vectors are dissimilar, path finding using the new edge weights. Specifically, Dom uti-
we vary amr from 0.5 to 0.9 and ignore small values. lizes a routing preference that considers distance, travel time,
We use 4 partitions of T-edge preferences to build the and fuel consumption, whereas TRIP uses a routing preference
adjacency matrix and use the last partition as the ground that considers only travel time. In the experiment, we apply
truth preferences. We report the accuracy of the transferred each algorithm to learn a routing preference according to a
preferences against the ground truth measured using Jaccard driver’s trajectories in the training data. For each trajectory in
similarity, the null rate (N-rate), i.e., the percentage of trans- the testing data, we obtain the source, the destination, and
ferred preferences that get null values, and the run-time in the driver id. Then we apply Dom and TRIP to compute
Figure 9(b). the personalized, shortest path connecting the source and the
The accuracy of the transfer process increases slightly as destination according to the driver id. Other routing algorithms
amr increases and is not sensitive to the change of amr that use historical trajectories, e.g., [18], [19], [21], do not
values when amr exceeds 0.5. This is intuitive because a support routing between arbitrary source and destination, and
large amr enables transfer of routing preferences from T- thus are not comparable to L2R.
edges only to highly similar B-edges. However, as the amr Accuracy: The accuracies of L2R, Shortest, Fastest, Dom, and
value increases, the graph used in the graph-based transduc- TRIP are calculated using the path similarity functions (see
tion learning may become disconnected. Thus, some B-edges Equations 1 and 4), and are reported in Figures 10 and 11.
cannot be associated with transferred preferences and thus get Shortest’s accuracy drops as the travel distance increases.
a null preference vector. A smaller amr has the effect that the This is because Shortest tends to find a path that approximates
graph used in the graph-based transduction obtains many edges the straight line segment from a source to a destination. Such
and thus takes longer run-time. The setting amr = 0.7 gives paths are often not preferred by drivers. In D1 , when traveling
the best trade-off, i.e., relatively high accuracy and efficiency longer distances, highways are usually preferred. However,
and low null rate. We thus use this value in the remaining given the fact that using highways often yield longer travel
experiments. We simply associate fastest paths with B-edges distances, Shortest does not return such paths. Therefore, the
with null preference vectors. accuracy of Shortest is poor for longer distances.
The accuracy of Fastest is comparable to that of Shortest for
D1 D2 10 4
100 100 Accuracy small travel distances. However, Fastest achieves much higher
N-Rate Run-time
80 80 accuracy when travel distance is longer. When travelling
Accuracy (%)

10 3
Accuracy (%)

Run-time (s)

60 60 longer distances, highways usually offer the lowest travel times


40 40 10 2 and are therefore returned by Fastest. Thus, Fastest achieves
20 20 much better accuracy than does Shortest.
0 0 10 1 Dom achieves higher accuracy than the other routing meth-
x 2x 3x 4x 0.5 0.6 0.7 0.8 0.9
# T-Edges amr
ods, except L2R, because it learns routing preferences that
(a) Varying # T-Edges (b) Varying amr , D1 consider the trade-off among distance, travel time, and fuel
consumption for individual drivers. However, as it conducts an
Fig. 9: Parameters of Preference Transfer expensive multi-objective skyline routing process, it requires
significantly more running time than other methods (see Fig-
C. Comparisons with Other Routing Algorithms ure 12). TRIP is slightly more accurate than Fastest due to
We proceed to compare L2R with the shortest and fastest the personal ratio learned for each driver, and it needs similar
routing algorithms and with two personalized routing algo- running time to Shortest and Fastest.
rithms. We apply Dijkstra’s algorithm to identify the shortest L2R achieves the highest accuracy in all settings. The
(Shortest) and fastest paths (Fastest). We do not apply ad- accuracy increases as the travel distance becomes longer—
vanced speeding up techniques for routing, e.g., contraction this is achieved by capturing the preference for different travel
hierarchy [16], since they have no improvement over the costs and road types in the region graph.
accuracy but only over the query efficiency. When applying The accuracy of L2R decreases when sources and (or)
such speed-up techniques, the efficiency of computing all destinations are not in regions. This is intuitive because when
paths, including the L2R paths, can be improved consistently. no historical trajectories are available for path finding, an
L2R Dom L2R Dom 100 L2R Dom 100 L2R Dom
Shortest TRIP Shortest TRIP Shortest TRIP Shortest TRIP
100 Fastest 100 Fastest Fastest Fastest
80 80

Accuracy (%)

Accuracy (%)
Accuracy (%)

Accuracy (%)
80 80
60 60
60 60
40 40 40 40
20 20 20 20
0 0 0 0
(0,10] (10,50] (50,100] (100,500] InRegion InOutRegion OutRegion (0,5] (5,10] (10,35] InRegion InOutRegion OutRegion
Distance (KM) Region Distance (KM) Region

(a) By Distance, D1 (b) By Region, D1 (c) By Distance, D2 (d) By Region, D2

Fig. 10: Accuracy using Equation 1

L2R Dom L2R Dom 100 L2R Dom 100 L2R Dom
Shortest TRIP Shortest TRIP Shortest TRIP Shortest TRIP
100 Fastest 100 Fastest Fastest Fastest
80 80
Accuracy (%)

Accuracy (%)
Accuracy (%)

Accuracy (%)
80 80
60 60
60 60
40 40 40 40
20 20 20 20
0 0 0 0
(0,10] (10,50] (50,100] (100,500] InRegion InOutRegion OutRegion (0,5] (5,10] (10,35] InRegion InOutRegion OutRegion
Distance (KM) Region Distance (KM) Region

(a) By Distance, D1 (b) By Region, D1 (c) By Distance, D2 (d) By Region, D2

Fig. 11: Accuracy using Equation 4

1.2 L2R Dom L2R Dom L2R Dom L2R Dom


Shortest TRIP Shortest TRIP Shortest TRIP Shortest TRIP
Fastest 0.5 Fastest 21.0 Fastest 20.0 Fastest

Running Time (ms)


Running Time (ms)

0.96
Running Time (s)
Running Time (s)

0.4 16.8 16.0


0.72
0.3 12.6 12.0
0.48 0.2 8.4 8.0
0.24 0.1 4.2 4.0
0.0 0.0 0.0 0.0
(0,10] (10,50] (50,100] (100,500] InRegion InOutRegion OutRegion (0,5] (5,10] (10,35] InRegion InOutRegion OutRegion
Distance (KM) Region Distance (KM) Region

(a) By Distance, D1 (b) By Regions, D1 (c) By Distance, D2 (d) By Regions, D2

Fig. 12: Efficiency

100 L2R Google 100 L2R Google 100 L2R Google 100 L2R Google
80 80 80 80
Accuracy (%)

Accuracy (%)
Accuracy (%)

Accuracy (%)

60 60 60 60
40 40 40 40
20 20 20 20
0 0 0 0
(0,10] (10,50] (50,100] (100,500] InRegion InOutRegion OutRegion (0,5] (5,10] (10,35] InRegion InOutRegion OutRegion
Distance (KM) Region Distance (KM) Region

(a) By distance, D1 (b) By regions, D1 (c) By distance, D2 (d) By regions, D2

Fig. 13: Comparison with Google Maps

L2R path simply coincides with the fastest path. However, The personalized routing Dom requires significantly more
when historical trajectories can be utilized, L2R improves the running time as it conducts an expensive multi-objective
accuracy of the fastest path (see InOutRegion and OutRegion skyline routing process. Next, Trip has a running time similar
in Figure 10(b)). to those of Shortest and Fastest as all three perform single-
Online Running Time: Run-times are reported in Figure 12. objective routing. Trip just uses personalized weights.
In all settings, L2R is most efficient. This is because the path Offline Processing Time for L2R: When using all training
finding process is conducted on the region graph, which is data and default parameters, the offline processing time for
much smaller than the original road network graph. When constructing the region graph (Section IV) and for executing
sources and (or) destinations are not in regions, the run-time steps 1–3 to learn and transfer routing preferences (Section V)
of L2R increases because it needs extra time to identify the for D1 are 21, 245, 106, and 7 minutes, respectively, and for
fastest paths from the source (destination) to a region. D2 are 9, 10, 29, and 0.06 minutes, respectively. Note that such
offline processing is parallelizable, e.g., by MapReduce [43], time-dependency, e.g., using a time-varying region graph, real-
[44]. time region graph updates when receiving new trajectories, and
the modeling of more than one preference for each T-edge.
D. Comparison with Google Maps
R EFERENCES
We also compare L2R with Google Maps. We query the
Google Directions API using a source, a destination, and the [1] C. Guo, B. Yang, J. Hu, and C. S. Jensen, “Learning to route with sparse
trajectory sets,” in ICDE, 2018, 12 pages.
departure time from the testing set as arguments to obtain [2] C. Guo, C. S. Jensen, and B. Yang, “Towards total traffic awareness,”
a Google path, which consists of a sequence of waypoints, SIGMOD Record, vol. 43, no. 3, pp. 18–23, 2014.
represented by longitude-latitude coordinates. [3] Z. Ding, B. Yang, Y. Chi, and L. Guo, “Enabling smart transportation
systems: A parallel spatio-temporal database approach,” IEEE Trans.
We follow an existing methodology [19] to compute the Computers, vol. 65, no. 5, pp. 1377–1391, 2016.
similarity between a Google path and a GT path. We first [4] J. Hu, B. Yang, C. Guo, and C. S. Jensen, “Risk-aware path selection
represent a GT path as a polyline in the longitude-latitude with time-varying, uncertain travel costsa time series approach,” VLDB
Journal, to appear, 2018.
coordinate system. We call this polyline a GT path polyline.
[5] Z. Ding, B. Yang, R. H. Güting, and Y. Li, “Network-matched trajectory-
Next, we introduce two polylines that are parallel to the GT based moving-object database: Models and applications,” IEEE Trans.
path polyline and are 10 meters away on each side. We thus Intelligent Transportation Systems, vol. 16, no. 4, pp. 1918–1928, 2015.
obtain a band around the GT path polyline. The solid line in [6] C. Guo, B. Yang, O. Andersen, C. S. Jensen, and K. Torp, “Ecosky: Re-
ducing vehicular environmental impact through eco-routing,” in ICDE,
Figure 14 shows the GT path polyline, and the two dashed 2015, pp. 1412–1415.
lines indicate the band. When a Google waypoint is within [7] M. Hua and J. Pei, “Probabilistic path queries in road networks: traffic
the band, it is a matched waypoint. We project each matched uncertainty aware path selection,” in EDBT, 2010, pp. 347–358.
[8] H. Liu, C. Jin, B. Yang, and A. Zhou, “Finding top-k shortest paths with
waypoint onto the GT path polyline to obtain a projection diversity,” IEEE Trans. Knowl. Data Eng., vol. 30, no. 3, pp. 488–502,
point. If two consecutive waypoints are matched waypoints, 2018.
we regard the edges between their projection points as the [9] B. Yang, C. Guo, C. S. Jensen, M. Kaul, and S. Shang, “Stochastic
skyline route planning under time-varying uncertainty,” in ICDE, 2014,
edges on which the Google path is matched to the GT path, pp. 136–147.
e.g., edges e1 , e2 , e3 , e4 , e5 , and e6 in Figure 14. The above [10] H. Liu, C. Jin, B. Yang, and A. Zhou, “Finding top-k optimal sequenced
enables us to use the path similarity function in the similarity routes,” in ICDE, 2018, p. 12 pages.
[11] B. Yang, C. Guo, and C. S. Jensen, “Travel cost inference from sparse,
function in Section V-A of the paper submission to measure spatio-temporally correlated time series using markov models,” PVLDB,
the similarity between Google and GT paths. vol. 6, no. 9, pp. 769–780, 2013.
Boundary Polyline
[12] J. Dai, B. Yang, C. Guo, C. S. Jensen, and J. Hu, “Path cost distribution
× estimation using trajectory data,” PVLDB, vol. 10, no. 3, pp. 85–96,
2016.
10m GT Path Polyline
× e5 e6 e7 [13] B. Yang, J. Dai, C. Guo, and C. S. Jensen, “PACE: A PAth-CEntric
e4 paradigm for stochastic path finding,” VLDB Journal, online first, 2017.
e3 10m Boundary Polyline
e1 e2 [14] S. Aljubayrin, B. Yang, C. S. Jensen, and R. Zhang, “Finding non-
× Google Waypoint Projection Point dominated paths in uncertain road networks,” in SIGSPATIAL, 2016,
pp. 15:1–15:10.
Fig. 14: Google Accuracy [15] J. Hu, B. Yang, C. S. Jensen, and Y. Ma, “Enabling time-dependent
uncertain eco-weights for road networks,” GeoInformatica, vol. 21,
We report the accuracy of Google vs. L2R paths in Fig- no. 1, pp. 57–88, 2017.
ure 13. In particular, the accuracy of Google paths lies between [16] R. Geisberger, P. Sanders, D. Schultes, and D. Delling, “Contraction
hierarchies: Faster and simpler hierarchical routing in road networks,”
60% and 85%, and the accuracy increases with the travel in WEA, 2008, pp. 319–333.
distance. However, Google paths show no pattern when we [17] V. Ceikute and C. S. Jensen, “Routing service quality - local driver
categorize according to whether the source and destination be- behavior versus routing services,” in MDM, 2013, pp. 97–106.
[18] Z. Chen, H. T. Shen, and X. Zhou, “Discovering popular routes from
long to regions. In all settings, L2R achieves higher accuracy, trajectories,” in ICDE, 2011, pp. 900–911.
indicating that L2R has the potential to improve the quality of [19] V. Ceikute and C. S. Jensen, “Vehicle routing with user-generated
state-of-the-art routing services. trajectory data,” in MDM, 2015, pp. 14–23.
[20] W. Luo, H. Tan, L. Chen, and L. M. Ni, “Finding time period-based most
frequent path in big trajectory data,” in SIGMOD, 2013, pp. 713–724.
VIII. C ONCLUSION AND O UTLOOK [21] J. Dai, B. Yang, C. Guo, and Z. Ding, “Personalized route recommen-
dation using big trajectory data,” in ICDE, 2015, pp. 543–554.
We propose a learn-to-route solution that enables compre- [22] H. Gonzalez, J. Han, X. Li, M. Myslinska, and J. P. Sondag, “Adaptive
fastest path computation on a road network: A traffic mining approach,”
hensive trajectory-based routing. The solution encompasses an in VLDB, 2007, pp. 794–805.
algorithm that clusters road intersections into regions, yielding [23] L. Wei, Y. Zheng, and W. Peng, “Constructing popular routes from
a derived region graph. It learns routing preferences for region uncertain trajectories,” in SIGKDD, 2012, pp. 195–203.
pairs with sufficient trajectories and transfers these preferences [24] S. Shang, K. Zheng, C. S. Jensen, B. Yang, P. Kalnis, G. Li, and J. Wen,
“Discovery of path nearby clusters in spatial networks,” IEEE Trans.
to region pairs with insufficiently many trajectories. It then Knowl. Data Eng., vol. 27, no. 6, pp. 1505–1518, 2015.
utilizes the learned and transferred preferences to enable [25] A. Balteanu, G. Jossé, and M. Schubert, “Mining driving preferences in
routing. Empirical studies offer evidence that the solution is multi-cost networks,” in SSTD, 2013, pp. 74–91.
[26] B. Yang, C. Guo, Y. Ma, and C. S. Jensen, “Toward personalized,
practical and is able to compute high-quality routes. In future context-aware routing,” VLDB Journal, vol. 24, no. 2, pp. 297–318,
work, it is of interest to consider finer granularity modeling of 2015.
[27] J. Letchner, J. Krumm, and E. Horvitz, “Trip router with individualized [37] C. Guo, B. Yang, O. Andersen, C. S. Jensen, and K. Torp, “Ecomark
preferences (TRIP): incorporating personalization into route planning,” 2.0: empowering eco-routing with vehicular environmental models and
in AAAI, 2006, pp. 1795–1800. actual vehicle fuel consumption data,” GeoInformatica, vol. 19, no. 3,
[28] D. Delling, A. V. Goldberg, M. Goldszmidt, J. Krumm, K. Talwar, and pp. 567–599, 2015.
R. F. Werneck, “Navigation made personal: inferring driving preferences [38] C. Guo, Y. Ma, B. Yang, C. S. Jensen, and M. Kaul, “Ecomark:
from GPS traces,” in SIGSPATIAL, 2015, pp. 31:1–31:9. evaluating models of vehicular environmental impact,” in SIGSPATIAL,
[29] P. Newson and J. Krumm, “Hidden Markov map matching through noise 2012, pp. 269–278.
and sparseness,” in SIGSPATIAL, 2009, pp. 336–343. [39] P. P. Talukdar and K. Crammer, “New regularized algorithms for
[30] X. Liang, J. Zhao, L. Dong, and K. Xu, “Unraveling the origin of transductive learning,” in ECML/PKDD, 2009, pp. 442–457.
exponential law in intra-urban human mobility,” arXiv:1305.6364, 2013.
[40] Y. Wang, B. Yang, L. Qu, M. Spaniol, and G. Weikum, “Harvesting facts
[31] G. Forbes, “Urban roadway classification,” in Urban Street Symposium,
from textual web sources by constrained label propagation,” in CIKM,
1999, pp. B-6/1–B-6/8.
2011, pp. 837–846.
[32] M. E. Newman and M. Girvan, “Finding and evaluating community
structure in networks,” Physical review E, vol. 69, no. 2, p. 026113, [41] G. H. Golub and C. F. Van Loan, Matrix computations. JHU Press,
2004. vol. 3, 2012.
[33] M. E. Newman, “Analysis of weighted networks,” Physical review E, [42] B. Yang, M. Kaul, and C. S. Jensen, “Using incomplete information
vol. 70, no. 5, p. 056131, 2004. for complete weight annotation of road networks,” IEEE Trans. Knowl.
[34] H. Shiokawa, Y. Fujiwara, and M. Onizuka, “Fast algorithm for Data Eng., vol. 26, no. 5, pp. 1267–1279, 2014.
modularity-based graph clustering,” in AAAI, 2013, pp. 1170–1176. [43] B. Yang, Q. Ma, W. Qian, and A. Zhou, “TRUSTER: trajectory data
[35] J. Han, J. Pei, and M. Kamber, Data mining: concepts and techniques. processing on clusters,” in DASFAA, 2009, pp. 768–771.
Elsevier, 2011. [44] P. Yuan, C. Sha, X. Wang, B. Yang, A. Zhou, and S. Yang, “XML
[36] E. Erkut and V. Verter, “Modeling of transport risk for hazardous structural similarity search using mapreduce,” in WAIM, 2010, pp. 169–
materials,” Operations Research, vol. 46, no. 5, pp. 625–642, 1998. 181.

You might also like