
M. de Berg 3
may not have separators of sublinear size. An and Oh [
3
] therefore apply the following
preprocessing step. Let
DP
be the set of disks defined by the points in
P
and their ranges.
Then An and Oh iteratively remove collections of Ω(
n1/3
)disks that contain a common
point. Note that the disks in such a collection form a clique in the intersection graph defined
by
DP
. For each collection
C
, a structure is built to check for two query points
s, t ∈P
if
s
can reach
t
via a point corresponding to a disk in
C
. The set of disks remaining after
this preprocessing step has ply
O
(
n1/3
)—any point in the plane is contained in
O
(
n1/3
)
of them. This implies that the corresponding transmission graph admits a separator of
size
O
(
n2/3
)[
18
,
19
], leading to a reachability oracle with
O
(
n5/3
)storage and
O
(
n2/3
)query
time.
2
Our main insight is that we can use the so-called clique-based separators recently
developed by De Berg et al. [
6
]. (A clique-based separator for a graph
G
is a separator that
consists of a small number of cliques, rather than a small number of nodes.) This allows
use to avoid An and Oh’s preprocessing step and integrate the handling of cliques into the
global separator approach, giving an oracle with O(n√n)storage and O(√n)query time.
We also show how to adapt the oracle such that it can answer approximate hop-distance
queries. In particular, we show how to construct, for a given parameter
ε >
0, an approximate
distance oracle that uses
O
((
n/ε
)
√nlog n
)storage. The oracle can report, for two query
points
s, t ∈P
, a value
d∗
hop
(
s, t
)satisfying
dhop
(
s, t
)
⩽d∗
hop
(
s, t
)
<
(1+
ε
)
·dhop
(
s, t
)+1, where
dhop
(
s, t
)denotes the hop-distance from
s
to
t
in
Gtr
(
P
). The query time is
O
((
√n/ε
)
log n
).
Finally, we study so-called continuous reachability queries, where the target point
t
can
be any point in
R2
. Such a query asks, for a query pair
s, t ∈P×R2
, if there is a point
q∈P
with
|qt|⩽r
(
q
)such that
s
can reach
q
. Kaplan et al. [
15
] presented a data structure
using
O
(
nlog
Ψ) storage such that any reachability oracle can be extended to continuous
reachability queries
3
with an additive overhead of
O
(
log nlog
Ψ) to the query time. An
and Oh [
3
] also extended their reachability oracle to continuous reachability queries. The
storage of their oracle remained the same, namely
O
(
n5/3
), but the query increased by a
multiplicative polylogarithmic factor to
O
(
n2/3log2n
). We present a new data structure to
extend any reachability oracle to continuous queries. It uses
O
(
nlog n
)storage and has an
additive overhead of
O
(
log2n
)to the query time. Thus, unlike the method of Kaplan et al.,
its performance is independent of the ratio Ψ, and unlike the method of An and Oh, we
do not incur a penalty on the query time when combined with our reachability oracle: the
total query time remains
O
(
√n
)and the total storage remains
O
(
n√n
). The extension to
continuous queries also applies to approximate distance queries, with an additional additive
error of a single hop.
To construct our oracles, we need an algorithm to construct a clique-based separator for
the intersection graph
G×
(
D
)of a set
D
of
n
disks in the plane. De Berg et al. [
6
] present a
brute-force construction algorithm for the case where
D
is a set of convex fat objects in
Rd
,
running in
O
(
nd+2
)time. This is sufficient for their purposes, since they use the separator
to develop sub-exponential algorithms. For us the separator construction would become the
bottleneck in our preprocessing algorithm. Before presenting our oracles, we therefore first
show how to construct the clique-based separator in
O
(
nlog n
)time. Since we expect that
clique-based separators will find more applications where the construction time is relevant,
we believe this result is of independent interest.
2
Actually, this preprocessing needs to be done at each step in the recursive construction of the oracle.
Otherwise the ply would be
O
(
n2/3
0
)instead of
O
(
n1/3
), where
n0
is the initial number of points and
n
is the number of points in the current recursive call, resulting in an extra logarithmic factor in storage.
3Kaplan et al. used the term geometric reachability queries.