Efficient processing of coverage centrality queries on road networks
World Wide Web (2024) 27:25
https://doi.org/10.1007/s11280-024-01248-5
Efficient processing of coverage centrality queries on road
networks
Yehong Xu1 · Mengxuan Zhang2 · Ruizhong Wu3 · Lei Li1,3 · Xiaofang Zhou1,3
Received: 11 January 2023 / Revised: 28 August 2023 / Accepted: 21 November 2023 /
Published online: 12 April 2024
© The Author(s) 2024
Abstract
Coverage Centrality is an important metric to evaluate vertex importance in road networks.
However, current solutions have to compute the coverage centrality of all the vertices together,
which is resource-wasting, especially when only some vertices centrality is required. In addition, they have poor adaption to the dynamic scenario because of the computation inefficiency.
In this paper, we focus on the coverage centrality query problem and propose a method
that efficiently computes the centrality of single vertices without relying on the underlying
graph being static by employing the intra-region pruning, inter-region pruning, and top-down
search. We further propose the bottom-up search and mixed search to improve efficiency.
Experiments validate the efficiency and effectiveness of our algorithms compared with the
state-of-the-art method.
Keywords Coverage centrality · Road networks · Shortest paths
1 Introduction
Centrality computation serves as a fundamental operation in a range of applications within
road networks, including traffic monitoring and prediction [1], network maintenance and
B
B
Yehong Xu
Mengxuan Zhang
Ruizhong Wu
Lei Li
Xiaofang Zhou
1
The Hong Kong University of Science and Technology, Clear Water Bay, Hong Kong
2
Australian National University, 2601 Canberra, ACT, Australia
3
The Hong Kong University of Science and Technology (Guangzhou), Guangzhou, China
0123456789().: V,-vol
123
25
Page 2 of 24
World Wide Web (2024) 27:25
assessment [2]. Compared to various metrics of centrality evaluation, coverage centrality of
a vertex s (denoted as CC(s)) [3–5] has a particularly high correlation with s’s transportation
ability and surrounding traffic condition. This is because CC is defined based on the shortest
paths in a road network.
A road network is an undirected weighted graph G(V , E, W ) with the vertex set V
(i.e., road intersections), the edge set E ⊆ V × V (i.e., road segments), and cost function
W : E → R+ that assigns a non-negative travel cost to each edge (u, v) ∈ E. We denote
n = |V |, m = |E|, and N (v) for the neighbors of v ∈ G. A path p = v1 , ..., vk is a
sequence
vertices where (vi , vi+1 ) ∈ E, vi ∈ V . The length of a path p is defined as
of
k−1
l( p) = i=1
w(vi , vi+1 ). Let ps,t denote any path between a vertex pair (s, t). The shortest
path p̂s,t is a path among all ps,t with the minimum length. Coverage centrality (CC) of one
vertex is defined as the number of vertex pairs that have at least one shortest path passes it
(as shown in (1)).
CC(v) =
δs,t (v)
(1)
s,t∈V ,s=t=v
where δs,t (v) is equal to 1 if at least one shortest path between s and t passing through v,
otherwise 0.
In the context of the road network G, the travel cost associated with each edge can be
interpreted as the dynamic travel time required to traverse that edge. In this scenario, a high
value of CC(s) indicates the importance of vertex s in terms of transportation within the
graph G. In other words, the blockage of s can have a profound impact on the overall travel
costs within G. Moreover, an increase in CC(s) suggests an improvement in travel time
when passing through vertex s, and vice versa. By closely monitoring CC(s), we can obtain
valuable insights into the traffic conditions related to vertex s, allowing us to implement
more precise traffic management strategies. Therefore, its quick measurement is essential,
especially for those urgent situations.
Existing solutions CC has been extensively studied, mainly including two branches of methods. One branch orders CC roughly in proportion with the vertex degree [6] in a hypergraph,
which is constructed by the sampled vertices in the original graph. But it does not calculate
the centrality directly, so it is out of this paper’s consideration. Another branch focuses on
Betweenness Centrality (BC). The definition of BC is quite similar to that of CC except that
δst (v) is defined as the ratio of shortest paths between s, t passing through v, relative to all
shortest paths between s, t. The Brandes algorithm [7] is the fundamental BC algorithm,
whose time complexity is O(nm + n 2 logn) where n = |V |, m = |E| are the vertex and
edge number, respectively. Brandes is computationally expensive for large graphs and thus
cannot support real-time query answering. Subsequently, there come other strategies that
aim at improving the scalability of Brandes [8–13]. However, these strategies that either
distribute or parallelize the computation could hardly apply to road networks, as analyzed
in Section 2.2. Therefore, only Brandes could be used and extended to CC computation by
ignoring the path number [5].
Motivation The network is dynamic with traffic conditions keep changing [14–19], obtaining vertices’ CC values in real-time is quite useful. Typically, we are only interested in
monitoring a small set of critical vertices over time, e.g., those that connect different parts of
the road network. For other vertices, it is unnecessary to maintain their CC. However, existing
BC-based methods that either maintain CC of all vertices or none of them are computationally
expensive and cost-ineffective. Then a question comes naturally: why not focus on developing an online CC-answering method for single vertices that can be easily adapted to dynamic
123
World Wide Web (2024) 27:25
Page 3 of 24
25
road networks? Therefore, we aim to propose Coverage Centrality Query Answering Framework that relieves the heavy computation involved in Brandes-based methods. Instead, it is
lightweight and can efficiently answer most CC queries in real-time.
Challenges Our problem is how to efficiently answer CC queries given a underlying road
network G(V , E, W ), where a CC query is denoted as q(s) (s ∈ V ). According to formula
(1), to answer q(s), we need to check every vertex pair (a, b) in G to see whether it has a
shortest path that passes through v. We term the checking as the dependency check for (a, b).
Thus, it takes t = (n − 1)(n − 2)τ time in total, where τ is the time of one dependency
check. This naive calculation is obviously time-consuming. Approximately, t is around 25
hours for medium-size road network (with around 300, 000 vertices like New York City and
Beijing) with τ in microsecond level. There comes our challenge: how to calculate accurate
CC values efficiently.
Our idea We focus on speeding up CC calculation through reducing the number of vertex
pairs that require dependency checks. Given a CC query q(v), we initially need to check
(n − 1)(n − 2) vertex pairs. However, we find that some vertex pairs can be pruned: vertex
pairs (a, b) that (...truncated)