Abstract 1 Introduction 2 Preliminaries 3 Algorithmic outline 4 Pathlet-preserving simplifications 5 The universe 𝓤 and greedy set cover 6 Subtrajectory clustering 7 The reachability graph 8 Vertex-to-vertex pathlets 9 Subedge pathlets 10 Conclusion References

Faster, Deterministic and Space Efficient Subtrajectory Clustering

Ivor van der Hoog ORCID Department of Applied Mathematics and Computer Science, Technical University of Denmark, Lyngby, Denmark Thijs van der Horst ORCID Department of Information and Computing Sciences, Utrecht University, The Netherlands
Department of Mathematics and Computer Science, TU Eindhoven, The Netherlands
Tim Ophelders ORCID Department of Information and Computing Sciences, Utrecht University, The Netherlands
Department of Mathematics and Computer Science, TU Eindhoven, The Netherlands
Abstract

Given a trajectory T and a distance Δ, we wish to find a set C of curves of complexity at most , such that we can cover T with subcurves that each are within Fréchet distance Δ to at least one curve in C. We call C an (,Δ)-clustering and aim to find an (,Δ)-clustering of minimum cardinality. This problem variant was introduced by Akitaya et al. (2021) and shown to be NP-complete. The main focus has therefore been on bicriteria approximation algorithms, allowing for the clustering to be an (,Θ(Δ))-clustering of roughly optimal size.

We present algorithms that construct (,4Δ)-clusterings of 𝒪(klogn) size, where k is the size of the optimal (,Δ)-clustering. We use 𝒪(n3) space and 𝒪(kn3log4n) time. Our algorithms significantly improve upon the clustering quality (improving the approximation factor in Δ) and size (whenever Ω(logn/logk)). We offer deterministic running times improving known expected bounds by a factor near-linear in . Additionally, we match the space usage of prior work, and improve it substantially, by a factor super-linear in n, when compared to deterministic results.

Keywords and phrases:
Fréchet distance, clustering, set cover
Category:
Track A: Algorithms, Complexity and Games
Funding:
Ivor van der Hoog: This project has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 899987, and from the Carlsberg Foundation via Eva Rotenberg’s Young Researcher Fellowship CF21-0302 “Graph Algorithms with Geometric Applications”.
Tim Ophelders: Partially supported by the Dutch Research Council (NWO) under the project number VI.Veni.212.260.
Copyright and License:
[Uncaptioned image] © Ivor van der Hoog, Thijs van der Horst, and Tim Ophelders; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Computational geometry
Related Version:
Full Version: https://arxiv.org/abs/2402.13117
Acknowledgements:
We thank Jacobus Conradi for pointing out an error in a preprint of this paper.
Editors:
Keren Censor-Hillel, Fabrizio Grandoni, Joël Ouaknine, and Gabriele Puppis

1 Introduction

In subtrajectory clustering, the goal is to partition an input trajectory T with n vertices into subtrajectories and group them into clusters such that all subtrajectories within a cluster have low Fréchet distance to one another. Clustering under the Fréchet distance is a natural application of the Fréchet distance and a well-studied topic [15, 11, 10, 9, 16] with applications in, for example, map reconstruction [6, 7]. In recent years, several variants of this algorithmic problem have been proposed [8, 1, 3, 5]. Regardless of the variant, the subtrajectory clustering problem has been shown to be NP-complete [8, 1, 3].

We focus on the problem variant proposed by Akitaya, Brüning, Chambers, and Driemel [3]. Given a trajectory T and a distance Δ, and some , they compute what we call an (,Δ)-clustering C of T. Each cluster ZC is a set of subtrajectories together with a center curve (the “reference curve” PZ) of complexity at most . Each curve in a cluster must have Fréchet distance at most Δ to the center and each point on T must be present in at least one cluster. The goal is to compute an (,Δ)-clustering of minimum cardinality. Note that the parameter is necessary to not trivialize the problem. Indeed, if PZ may have arbitrary complexity, then a trivial (n,0)-clustering exists consisting of a single cluster Z where Z={T}.

Akitaya et al. [3] propose a bicriteria approximation scheme: Given and Δ, let k be the minimum size of an (,Δ)-clustering of T. The goal is to compute an (,Θ(Δ))-clustering of size 𝒪(f(k)). This paradigm was studied in [3, 5, 13] and previous results are summarised in Table 1. [3] computes an (,19Δ)-clustering of 𝒪(k2log(k)) size. The running time and space bounds depend on the arc length of T relative to Δ. Brüning, Conradi and Driemel[5] compute an (,11Δ)-clustering of 𝒪(klogk) size (where the hidden constant is exceptionally large). Their algorithm uses 𝒪~(n3) space and has 𝒪~(kn3) expected running time. Recently, Conradi and Driemel [13] improve both the size and the quality of the clustering. They compute an (,11Δ)-clustering of 𝒪(klogn) size in 𝒪~(n4) space and 𝒪~(kn4+n42) time.

Table 1: Prior work and our result. The first two (red) rows indicate randomized results. k denotes the smallest (,Δ)-clustering size of T. λ denotes the arc length of T relative to Δ.
# Clusters Δ= Time Space Source
𝒪(k2log(k)) 19Δ 𝒪~(k4λ2+nλ) 𝒪(n+λ) [3]
𝒪(klogk) 11Δ 𝒪~(kn3) 𝒪~(n3) [5]
𝒪(klogn) 11Δ 𝒪~(kn4+n42) 𝒪~(n4) [13]
𝒪(klogn) 4Δ 𝒪(kn3log4n) 𝒪(n3) Thm. 16

Results.

We present a bicriteria approximation algorithm that uses 𝒪(kn3log4n) time and 𝒪(n3) space, and computes an (,4Δ)-clustering of size 𝒪(klogn). When compared to previous works [3, 13, 5] our results:

  • obtain deterministic results and improve the running time by a factor near-linear in ,

  • match the space usage,

  • improve the approximation in Δ from a factor 11 to 4,

  • asymptotically match the clustering size (whenever Ω(logn/logk)).

Compared exclusively to deterministic results [13], we instead improve time by a factor near-linear in n, space by a factor super-linear in n, and obtain asymptotically equal clustering size for all (see also Table 1).

Methodology and contribution.

Our algorithm constructs a clustering iteratively by greedily adding a cluster that covers an approximately-maximum set of uncovered points on T. The challenge is to compute such a cluster. Previous work [5, 3] presented randomized algorithms for constructing a cluster based on ε-net sampling over the set of all candidate clusters. They shatter the set of candidate clusters and show that it has bounded VC dimension, which leads to their asymptotic approximation of k – the minimum size of an (,Δ)-clustering. The algorithm of Conradi and Driemel [13] is more similar to ours. They also simplify the input and iteratively select the cluster with the (exact) maximum coverage to obtain an (,Δ)-clustering of size 𝒪(klogn). The key difference lies in finding the next cluster. Conradi and Driemel [13] explicitly consider a set of 𝒪(n3) candidate clusters, which requires 𝒪(n4) time and space to construct.

We make two key contributions that distinguish us from prior works: First, we present a novel simplification algorithm that computes a curve S such that we may restrict potential reference curves of clusters to be subcurves of S. This new curve simplification technique allows us to create a clustering where clusters have radius at most 4Δ as opposed to 11Δ. Second, we prove that we may restrict the reference curves to be one of two types:

  • vertex-subcurves of S, which are subcurves that start and end at a vertex of S,
    (we may furthermore only consider subcurves whose complexity is a power of 2)

  • and subedges of S, which are subcurves that are a subsegment of a single edge of S.

We prove that a greedy algorithm that exclusively adds maximal clusters where the reference curve is of one of these two types creates a clustering of size 𝒪(klogn). This characterization reduces the set of candidate clusters from 𝒪~(n3) to 𝒪~(n2) which significantly reduces the time spent compared to [13]. The geometric characterization of these subcurves allow us to compute candidate clusters on the fly, significantly reducing space usage.

2 Preliminaries

A (polygonal) curve with n vertices is a piecewise-linear map P:[1,n]d whose breakpoints (called vertices) are at each integer parameter, and whose pieces are called edges. We denote by P[a,b] the subcurve of P that starts at P(a) and ends at P(b). If a and b are integers, we call P[a,b] a vertex subcurve of P. Let |P| denote the number of vertices of P.

Fréchet distance.

A reparameterization of [1,n] is a non-decreasing surjection f:[0,1][1,n]. Two reparameterizations f and g of [1,m] and [1,n], respectively, describe a matching (f,g) between two curves P and Q with n and m vertices, where for any t[0,1], point P(f(t)) is matched to Q(g(t)). A matching (f,g) is said to have cost maxtP(f(t))Q(g(t)), where denotes the Euclidean norm. A matching with cost at most Δ is called a Δ-matching. The (continuous) Fréchet distance dF(P,Q) between P and Q is the minimum cost over all matchings.

Free space diagram.

The parameter space of curves P and Q with m and n vertices, respectively, is given by the orthogonal rectangle [1,m]×[1,n]. This parameter space is associated with a regular grid whose cells are the squares [i,i+1]×[j,j+1] for integers i and j. A point (x,y) in the parameter space corresponds to the pair of points P(x) and Q(y). We say that (x,y) is Δ-free if P(x)Q(y)Δ. The Δ-free space diagram ΔFSD(P,Q) of P and Q is the set of Δ-free points in the parameter space of P and Q. The obstacles of ΔFSD(P,Q) are the connected components of ([1,m]×[1,n])ΔFSD(P,Q).

Alt and Godau [4] observe that the Fréchet distance between P[x1,x2] and Q[y1,y2] is at most Δ if and only if there is a bimonotone path in ΔFSD(P,Q) from (x1,y1) to (x2,y2) (and x1x2 and y1y2).

Input and output.

Our input is a curve T with n vertices, which we will call the trajectory, some integer parameter 2, and some distance parameter Δ0. We consider clustering subtrajectories of T using pathlets:

Definition 1 (Pathlet).

An (,Δ)-pathlet is a tuple (P,) where P is a curve with |P| and is a set of intervals in [1,n], where dF(P,T[a,b])Δ for all [a,b]. We call P the reference curve of (P,).

Figure 1: The trajectory T (blue, left) is covered by three pathlets. Each pathlet is defined by a reference curve (green, red, yellow) and the subcurve(s) of T the curve covers.

We can see a pathlet (P,) as a cluster, where the center is P and all subtrajectories induced by get mapped to P. See Figure 1. An (,Δ)-clustering of T is defined as follows:

Definition 2.

An (,Δ)-clustering C is a set of (,Δ)-pathlets with (P,)CII=[1,n].

Throughout this paper, we let k(Δ) denote the smallest integer for which there exists an (,Δ)-clustering of size k(Δ). The goal is to find an (,Δ)-clustering C where |C| is not too large compared to k(Δ), and Δ𝒪(Δ).

Weighting a cluster.

We define a Universe 𝒰 as any set of interior-disjoint closed intervals that together cover [1,n]. Given a fixed universe 𝒰, we can weigh each pathlet by what we call its coverage:

Definition 3.

The coverage over 𝒰 of a pathlet (P,) is Cov𝒰(P,)={I𝒰ICov(P,)}. The coverage of a set C of pathlets is Cov𝒰(C)=(P,)CCov𝒰(P,).

Whenever 𝒰 is clear from context we denote the coverage of a pathlet (P,) by Cov(P,).

Definition 4 (Reference optimal).

Let the universe 𝒰 be fixed and let C be a set of (,Δ)-pathlets. An (,Δ)-pathlet (P,) is reference-optimal if its coverage over 𝒰Cov(C), i.e., |Cov(P,)\Cov(C)|, is maximum over all (,Δ)-pathlets with the same reference curve.

Definition 5.

Let the universe 𝒰 be fixed and let C be a set of (,Δ)-pathlets. An (,Δ)-pathlet (P,) is optimal whenever |Cov(P,)\Cov(C)| is maximum over all (,Δ)-pathlets.

3 Algorithmic outline

Our algorithmic input is a trajectory T, an integer 2, and value Δ0. We provide a high-level overview of our algorithm here. Our approach can be decomposed as follows:

  1. 1.

    Reference curves may lie anywhere in the ambient space. Our first step is to restrict where these reference curves may lie. In Section 4 we construct a 2Δ-simplification S of T, and prove that for any (,Δ)-pathlet (P,), there exists a subcurve S[a,d] of S for which (S[a,d],) is an (+2|{a,d}|,Δ)-pathlet, where Δ=4Δ. Hence we may restrict our attention to pathlets where the reference curve is a subcurve of S, if we allow for a slightly higher complexity. This higher complexity is circumvented later on, to still give an (,Δ)-clustering.

  2. 2.

    In Section 5, Given S and T, we smartly create some universe 𝒰. We prove, by adapting the argument for greedy set cover, that any algorithm that iteratively computes an optimal (,Δ)-pathlet outputs a clustering of size 𝒪(k(Δ)logn).

  3. 3.

    In Section 6 we give the general algorithm. We choose some ΔΘ(Δ). We iteratively construct an (,Δ)-clustering of size 𝒪(k(Δ)logn). Our greedy iterative algorithm maintains a set C of pathlets and adds an (,Δ)-pathlet (P,) to C at every iteration.

    Consider having a set of pathlets C={(Pi,i)}. We greedily select a pathlet (P,) that covers as much of 𝒰Cov(C) as possible, and add it to C. Formally, we select a (Δ,117)-maximal (,Δ)-pathlet: an (,Δ)-pathlet (P,) such that

    |Cov(P,)Cov(C)|117|Cov(P,)Cov(C)|

    for all (,Δ)-pathlets (P,).

  4. 4.

    The subsequent goal is to compute (Δ,117)-maximal pathlets. We restrict pathlets to two types: those where the reference curve is 1) a vertex subcurve of S, or 2) a subsegment of an edge of S. Then we give algorithms for constructing pathlets of these types with a certain quality guarantee, i.e., pathlets that cover at least a constant fraction of what the optimal pathlet of that type covers. These algorithms are given in Sections 8 and 9.

Reachability graph.

We introduce the reachability graph in Section 7. This graph is defined on a subcurve W of S and a set Z of points in ΔFSD(W,T). The reachability graph G(W,T,Z) is a directed acyclic graph whose vertices are the set of points Z, together with certain boundary points of the free space ΔFSD(W,T) and a collection of steiner points. Given two points (x,y) and (x,y) in Z, the graph contains a directed path from (x,y) to (x,y) if and only if dF(W[x,x],T[y,y])Δ.

We treat the free space diagram as a rectilinear polygon with rectilinear holes, obtained by reducing all obstacles of ΔFSD(W,T) to their intersections with the parameter space grid. We show that a bimonotone path between two points p and q exists in ΔFSD(W,T) if and only if a rectilinear shortest path between p and q in has length pq1, the L1-distance between p and q. The reachability graph G(W,T,Z) is defined as the shortest paths preserving graph [20] for the set Z with respect to , made into a directed graph by directing edges, which are all horizontal or vertical, to the right or top. This graph has 𝒪((|W|n+|Z|)log(n|Z|)) complexity, and a shortest path in the graph between points in Z is also a rectilinear shortest path between the corresponding points in .

Vertex-to-vertex pathlets.

In Section 8 we construct a pathlet where the reference curve is a vertex subcurve of S. For a given vertex S(i) of S, we construct reference-optimal (,Δ)-pathlets (S[i,i+j],j) for all j[]. We first identify a set Z of 𝒪(n) critical points in ΔFSD(S[i,i+],T). We show that for every reference curve S[i,i+j], there is a reference-optimal (,Δ)-pathlet (S[i,i+j],j) where for each interval [y,y]j, the points (i,y) and (i+j,y) are critical points. We construct the intervals j through a sweepline algorithm over the reachability graph G(S[i,i+],T,Z), which has 𝒪(nlogn) complexity. Our sweepline computes, for all j[], a reference-optimal (j,Δ)-pathlet (S[i,i+j],j) by iterating over all in-edges to critical points (i+j,y) in G(S[i,i+],T,Z). Doing this for all i (and remembering the optimum) thereby takes 𝒪(n2log2n) time and 𝒪(nlogn) space.

Subedge pathlets.

In Section 9 we construct a pathlet where the reference curve is a subsegment of an edge of S. For a given edge e of S, we again first identify a set Z of 𝒪(n2) critical points in ΔFSD(e,T). However, rather than restricting the intervals in pathlets based on these critical points, we restrict the reference curves based on these critical points. Specifically, there are m=𝒪(n) unique x-coordinates of points in Z, which we order as x1,,xm. We show that by allowing for pathlets to use subsegments of the reversal e of e as reference curves, we may restrict reference curves to be of the form e[xi,xi] or e[xi,xi] to not lose much coverage. That is, the optimal (2,Δ)-pathlet with such a reference curve covers at least one-fourth of what any other (2,Δ)-pathlet using a subsegment of e as a reference curve covers.

The remainder of our subedge pathlet construction algorithm follows the same procedure as for vertex-to-vertex pathlets, though with the following optimization. We consider every xi separately, for i[m]. However, rather than considering all reference curves e[xi,xi], of which there are mi, we consider only 𝒪(log(mi)) reference curves. The main observation is that we may split a pathlet (e[xi,xi],) into two: (e[xi,xi+2j],1) and (e[xi2j,xi],2), for some jlog(mi). One of the two pathlets covers at least half of what (e[xi,xi],) covers, so an optimal (2,Δ)-pathlet (e[xi,xi+2j],) that is defined by critical points covers at least one-eighth of any other subedge (2,Δ)-pathlet (e[x,x],).

For every i[m], we let ZiZ be the subset of critical points with x-coordinate equal to xi or xi+2j for some jlog(mi). We construct the reachability graph G(e,T,Zi), which has 𝒪(nlog2n) complexity. We then proceed as with the vertex-to-vertex pathlets, using a sweepline through the reachability graph. Doing this for all i (and remembering the optimal pathlet) thereby takes 𝒪(n2log3n) total time and 𝒪(nlog2n) space. Taken over all edges of S, we obtain a subedge pathlet in 𝒪(n3log3n) time and 𝒪(nlog2n) space.

4 Pathlet-preserving simplifications

We first aim to limit our attention to (,4Δ)-pathlets (P,) whose reference curves P are subcurves of some universal curve S. This way, we may design an algorithm that considers all subcurves of S, rather than all curves in d. This has the additional benefit of allowing the use of the free space diagram 4ΔFSD(S,T) to construct pathlets, as seen in Figure 2.

Figure 2: Top left: A simplification S (red) of the trajectory T (blue). Right: The diagram ΔFSD(S,T) in white. The obstacles of the diagram are colored in gray. The clustering (bottom left) corresponds to a set of colored bimonotone paths, where paths of a given color are horizontally aligned, and the paths together span the entire vertical axis.

For any (,Δ)-pathlet (P,) there exists an (n,2Δ)-pathlet (P,) where P is a subcurve of T. Indeed, consider any interval [a,b] and choose P=T[a,b]. However, restricting the subcurves of T to have complexity at most may significantly reduce the maximum coverage, see for example Figure 3.

Figure 3: There exists a segment P where dF(P,T[a,b])Δ. In contrast, for any vertex-restricted S with dF(T[a,b],S)Δ, the complexity of S is Θ(|T[a,b]|).

Instead of restricting pathlets to be subcurves of T, we restrict them to be subcurves of a different curve S. We enforce the following property:

Definition 6.

For a trajectory T and value Δ0, a pathlet-preserving simplification is a curve S together with a 2Δ-matching (f,g), where for any subtrajectory T[a,b] of T and all curves P with dF(P,T[a,b])Δ, the subcurve S[s,t] matched to T[a,b] by (f,g) has complexity |S[s,t]||P|+2|{s,t}|.

Theorem 7.

Let (S,f,g) be a pathlet-preserving simplification of T. For any (,Δ)-pathlet (P,), there exists a subcurve S[s,t] such that (S[s,t],) is an (+2|{s,t}|,4Δ)-pathlet.

Proof.

Consider any (,Δ)-pathlet (P,) and choose some interval [a,b]. For all [c,d], via the triangle inequality, dF(T[a,b],T[c,d])2Δ. Let S[s,t] be the subcurve of S matched to T[a,b] by (f,g). Naturally, dF(S[s,t],T[a,b])2Δ, and so by the triangle inequality dF(S[s,t],T[c,d])4Δ. By the definition of a pathlet-preserving simplification, we obtain that for every curve P with dF(P,T[a,b])Δ, we have |P||S[s,t]|2+|{s,t}|. In particular, setting PP implies that |S[s,t]|+2|{s,t}|. Thus (S[s,t],) is an (+2|{s,t}|,4Δ)-pathlet.

Prior simplifications.

The curve S that we construct is a curve-restricted αΔ-simplification of T; a curve whose vertices lie on T, where for every edge s=T(a)T(b)¯ of S we have dF(s,T[a,b])αΔ. Various αΔ-simplification algorithms have been proposed [17, 2, 14, 19].

If T is a curve in 2, Guibas et al. [17] provide an 𝒪(nlogn) time algorithm that constructs a 2Δ-simplification S for which there is no Δ-simplification S with |S|<|S|. Their algorithm is not efficient in higher dimensions however.

Agarwal et al. [2] also construct a 2Δ-simplification S of T in 𝒪(nlogn) time. This was applied by Akitaya et al. [3] for their subtrajectory clustering algorithm under the discrete Fréchet distance. The simplification S has a similar guarantee as the simplification of [17]: there exists no vertex-restricted Δ-simplification S with |S|<|S|. This guarantee is weaker than that of [17], as vertex-restricted simplifications are simplifications formed by taking a subsequence of vertices of T as the vertices of the simplification. It can, however, be constructed efficiently in higher dimensions.

As we show in Figure 3, the complexity of a vertex-restricted Δ-simplification can be arbitrarily bad compared to the (unrestricted) Δ-simplification with minimum complexity. Brüning et al. [5] note that for the subtrajectory problem under the continuous Fréchet distance, one requires an αΔ-simplification whose complexity has guarantees with respect to the optimal (unrestricted) simplification. They present a 3Δ-simplification S (whose definition was inspired by de Berg, Gudmundsson and Cook [14]) with the following property: for any subcurve T[a,b] of T within Fréchet distance Δ of some line segment, there exists a subcurve S[s,t] of S with complexity at most 4 that has Fréchet distance at most 3Δ to T[a,b]. Thus, there exists no Δ-simplification S with |S|<|S|/2.

Our new curve simplification.

In Definition 6 we presented yet another curve simplification under the Fréchet distance for curves in d. Our simplification has a stronger property than the one that is realized by Brüning et al. [5]: for any subcurve T[a,b] and any curve P with dF(P,T[a,b])Δ, we require that there exists a subcurve S[s,t] with dF(S[s,t],T[a,b])2Δ that has at most two more vertices than P. This implies both the property of Brüning et al. [5] and ensures that no Δ-simplification S exists with |S|<|S|2.

In the full version of our paper we provide an efficient algorithm for constructing pathlet-preserving simplifications. The algorithm is an extension of the vertex-restricted simplification of Agarwal et al. [2] to construct a curve-restricted simplification instead. For this, we use the techniques of Guibas et al. [17] to quickly identify if an edge of T is suitable to place a simplification vertex on. We combine this check with the algorithm of [2] and obtain:

Theorem 8.

For any trajectory T with n vertices and any Δ0, we can construct a pathlet-preserving simplification S in 𝒪(nlogn) time.

5 The universe 𝓤 and greedy set cover

Subtrajectory clustering is closely related to the set cover problem. In this problem, we have a discrete universe 𝒰 and a family of sets 𝒮 in this universe, and the goal is to pick a minimum number of sets in 𝒮 such that their union is the whole universe. The decision variant of set cover is NP-complete [18]. However, the following greedy strategy gives an 𝒪(log|𝒰|) approximation of the minimal set cover size [12]. Suppose we have picked a set 𝒮^𝒮 that does not yet cover all of 𝒰. The idea is then to add a set S𝒮 that maximizes |S(𝒰𝒮^)|, and to repeat the procedure until 𝒰 is fully covered.

Defining the universe 𝓤.

We apply this greedy strategy to subtrajectory clustering, putting the focus on constructing a pathlet that covers the most of some universe 𝒰. For subtrajectory clustering, the universe is, in principle, infinite. We therefore first define a discrete universe 𝒰 consisting of 𝒪(n3) intervals that together cover [1,n]. We choose this universe carefully, as an optimal covering of 𝒰 with pathlets must have roughly the same size as an optimal covering of [1,n]. We define 𝒰 using the following set of critical points in ΔFSD(S,T):

Definition 9.

For i[|S|1] and j[n1], consider their corresponding cell (the area [i,i+1]×[j,j+1]) and the following six extreme points:

  • A leftmost point of ΔFSD(S,T)([i,i+1]×[j,j+1]),

  • A rightmost point of ΔFSD(S,T)([i,i+1]×[j,j+1]),

  • The leftmost and rightmost points of ΔFSD(S,T)([i,i+1]×{j}), and

  • The leftmost and rightmost points of ΔFSD(S,T)([i,i+1]×{j+1}).

Let Xi,j be the set of corresponding x-coordinates and X:=i,jXi,j. For each xX, we call every point (x,y) that is an endpoint of a connected component (vertical segment) of ΔFSD(S,T)({x}×[1,n]) a critical point.

Definition 10.

Let Y be the set of critical points, sorted by their y-coordinate. We define the set 𝒰 as the set of intervals in [1,n] between two consecutive y-coordinates in X. Since there are at most 6n critical points in [i,i+1]×[j,j+1] for each i[|S|1] and j[n1], it follows that |𝒰|6n31=𝒪(n3).

Lemma 11.

We can construct 𝒰 in 𝒪(n3) time.

Proof.

Fix an integer i[|S|1]. We compute the critical points inside the cells [i,i+1]×[j,j+1], for all j[n1], in 𝒪(n2) time altogether. For this, we compute the sets Xi,j of Definition 9 in 𝒪(1) time each. Let Xi=jXi,j. Then, we compute the intersections of each vertical line {x}×[1,n], for xXi, in 𝒪(n) time each. The critical points inside the cells [i,i+1]×[j,j+1], for j[n1], are the endpoints of connected components of these intersections, and can be computed in 𝒪(n) time per line, totalling 𝒪(n2) time. Summing over all integers i completes the proof.

Applying greedy set cover.

In the remainder of this paper, we let 𝒰 denote this discrete universe. For notational convenience, we denote for a pathlet (P,) by Cov(P,) the set Cov𝒰(P,). We generalize the analysis of the greedy set cover argument to pathlets that cover a (constant) fraction of what the optimal pathlet covers. This relaxes the requirements on the pathlets and helps reduce complexity of the problem. For this, we introduce the following:

Definition 12 (Maximal pathlets).

Given a set C of pathlets, a (Δ,1c)-maximal (,Δ)-pathlet (P,) is a pathlet such that there exists no (,Δ)-pathlet (P,) with

1c|Cov(P,)Cov(C)||Cov(P,)Cov(C)|.

In Lemma 13, we show that if we keep greedily selecting (Δ,1c)-maximal pathlets for our clustering, the size of the clustering stays relatively small compared to the optimum size. The bound closely resembles the bound obtained by the argument for greedy set cover.

Lemma 13.

Iteratively adding (Δ,1c)-maximal pathlets yields a clustering of size at most 3ck(Δ)ln(6n)+1.

Proof.

Let C={(Pi,i)}i=1k be an (,Δ)-clustering of T of minimal size. Then k:=|C|=k(Δ). Consider iteration j of the algorithm, where we have some set of (,Δ)-pathlets Cj. Denote by Wj=|𝒰|Cov(Cj) the “size” of the part of the universe that still needs to be covered. Since C covers 𝒰, it must cover 𝒰Cov(Cj). It follows via the pigeonhole principle that there is at least one (,Δ)-pathlet (Pi,i)C that covers at least Wj/k intervals in Cov(Pi,i)Cov(Cj). Per definition of being (Δ,1c)-maximal, our greedy algorithm finds a pathlet (Pj,j) that covers at least Wjck uncovered intervals. Thus:

Wj+1=|𝒰||Cov(Cj)Cov(Pj,j)|WjWjck=Wj(11ck).

We have that W0=|𝒰|. Suppose it takes k+1 iterations to cover all of T with the greedy algorithm. Then before the last iteration, at least one edge of T remained uncovered. That is, |𝒰|(11ck)k1. We apply that ex1+x for all real x to obtain:

1e(11x)x

for all x1. Plugging in xck, it follows that

1|𝒰|(11ck)k=|𝒰|(11ck)ckkck|𝒰|ekck.

Hence ekck|𝒰|1, showing that kckln(|𝒰|1). Thus after k+1ck(Δ)ln(|𝒰|1)+1 iterations, all of T, and therefore T, is covered. Using that |𝒰|6n3 completes the proof.

6 Subtrajectory clustering

In this section we present our algorithm for subtrajectory clustering. We first restrict our attention to reference curves of two types.

Recall that using the pathlet-preserving simplification S of T, we may already restrict our attention to reference curves that are subcurves of S. Still, the space of possible reference curves remains infinite. We wish to discretize this space by identifying certain finite classes of reference curves that contain a “good enough” reference curve, i.e., one with which we can construct a pathlet that is (Δ,1c)-maximal for some small constant c.

We distinguish between two types of pathlets, based on their reference curves (note that not all pathlets fit into a class, and that some may fit into both classes):

  1. 1.

    Vertex-to-vertex pathlets: pathlets (P,) where P is a vertex subcurve of S.

  2. 2.

    Subedge pathlets: pathlets (P,) where P is a subsegment of an edge of S.

Figure 4: A pathlet (left), corresponding to the red Δ-matching (right), gets split into a vertex-to-vertex and two subedge pathlets. The new pathlets correspond to the parts of the red matching that are vertically above the part of the x-axis corresponding to the new reference curve.

We construct pathlets of the above types, ensuring that they all cover at least some constant fraction of the optimal coverage for pathlets of the same type. Let (Pver,ver) and (Psub,sub) respectively be a vertex-to-vertex and subedge (,Δ)-pathlet, that respectively cover at least a factor 1cver and 1csub of an optimal pathlet of the same type. We show that one of these two pathlets is a (Δ,1c)-maximal pathlet, for c=cver+2csub. For intuition, refer to Figure 4.

Lemma 14.

Given a collection C of pathlets, let

(P,){(Pver,ver),(Psub,sub)}

be a pathlet with maximal coverage among the uncovered points. Then (P,) is (Δ,1c)-maximal with respect to C, for c=cver+2csub.

Next we combine the previous ideas on simplification and greedy algorithms and present our algorithm for subtrajectory clustering. The algorithm uses subroutines for constructing the two types of pathlets described above, as well as a data structure for comparing their coverages to select the best pathlet for the clustering.

Our pathlet construction algorithms guarantee that cver=1 and csub=8. By Lemma 14, the pathlet with the most coverage is therefore (Δ,1c)-maximal with respect to the uncovered points, for c=1+28=17. By Lemma 13, the resulting (,Δ)-clustering has a size of at most 17k(Δ)ln(|𝒰|1)+1. We show in our constructions of the pathlets that |𝒰|2n2+4n36n3.

A data structure for comparing pathlets.

Recall that we fixed some discrete universe 𝒰 of 𝒪(n3) intervals, and that we denote Cov(P,)=Cov𝒰(P,). In each iteration of our greedy algorithm, we select one of two pathlets whose coverage is the maximum over 𝒰Cov(C), given the current set of picked pathlets C. To compare the coverages of pathlets, we make use of binary search trees built on 𝒰 and Cov(C):

Lemma 15.

In 𝒪(n3logn) time, we can preprocess 𝒰 and Cov(C) into a data structure of 𝒪(n3) size, such that given a pathlet (P,), the value |Cov(P,)Cov(C)| can be computed in 𝒪(||logn) time.

Proof.

We make use of a general data structure for storing a set of m interior-disjoint intervals, such that given a query interval I, the number of intervals in that are fully contained in I can be reported efficiently. For the data structure, we store the (multiset of) endpoints of intervals in in a balanced binary search tree. The tree uses 𝒪(m) space and is constructed in 𝒪(mlogm) time.

We report the number of intervals in contained in a query interval I as follows. An interval [a,b] is contained in I if and only if both a and b are. Furthermore, there are k2 intervals in that I intersects but does not contain. Thus, if I contains k endpoints stored in the binary search tree, then it contains (kk)/2 intervals of . We compute k by reporting the intervals of containing the endpoints of I in 𝒪(logm) time. Computing k and then reporting (kk)/2 takes an additional 𝒪(logm) time. Thus we answer a query in 𝒪(logm) time.

We use the above data structure to efficiently compute |Cov(P,)Cov(C)| for a query pathlet (P,). For this, we preprocess both 𝒰 and Cov(C) into the above data structure. Since Cov(C)𝒰 and |𝒰|=𝒪(n3), this takes 𝒪(n3logn) time, and the data structures use 𝒪(n3) space. With the two data structures, we report the values |Cov𝒰(P,)𝒰| and |Cov(P,)Cov(C)| in 𝒪(logn) time. We then report

|Cov(P,)Cov(C)|=|Cov(P,)𝒰||Cov(P,)Cov(C)|.

Asymptotic complexities.

Our algorithm iteratively constructs a set C of 𝒪(k(Δ)logn) pathlets. Before we start constructing pathlets, we compute the universe 𝒰 of 𝒪(n3) intervals. This takes 𝒪(n3) time (Lemma 11).

In each iteration, we construct the data structure of Lemma 15 on the universe 𝒰 and current set of pathlets C. This takes 𝒪(n3logn) time and uses 𝒪(n3) space. Constructing the vertex-to-vertex pathlet then takes 𝒪(n2log2n) time and uses 𝒪(nlogn) space (Theorem 19). The subedge pathlet takes 𝒪(n3log3n) time and 𝒪(nlog2n) space to construct (Theorem 21).

To decide which pathlet to use in the clustering, we make further use of the data structure of Lemma 15. All constructed pathlets (P,) have ||n, and so we compute the coverages of the two pathlets in 𝒪(nlogn) time. By summing up all complexities, we derive our main theorem:

Theorem 16.

Given a trajectory T with n vertices, an integer 2, and a value Δ0, we can construct an (,4Δ)-clustering of size at most 51k(Δ)ln(6n)+1 in 𝒪(k(Δ)n3log4n) time and using 𝒪(n3) space.

7 The reachability graph

Let Δ=4Δ. For any subcurve W of S and a set of points Z in ΔFSD(W,T) we define the reachability graph G(W,T,Z). The vertices of this graph are the set of points Z, together with some Steiner points in [1,|W|]×[1,|T|]. The reachability graph G(W,T,Z) is a directed graph where, for any two μ1,μ2Z, there exists a directed path from μ1 to μ2 if and only if μ2 is reachable from μ1 in the free space ΔFSD(W,T).

A more detailed description of the reachability graph is provided in the full version. There we show that our definition of the graph has 𝒪((n|W|+|Z|)log(n|Z|)) vertices and edges, and can be constructed in 𝒪((n|W|+|Z|)log(n|Z|)) time.

Theorem 17.

Let W be a subcurve of S and Z a set of points in ΔFSD(W,T). The reachability graph G(W,T,Z) has 𝒪((n|W|+|Z|)log(n|Z|)) vertices and edges, and can be constructed in 𝒪((n|W|+|Z|)log(n|Z|)) time.

8 Vertex-to-vertex pathlets

Let Δ=4Δ, and let C be a set of pathlets. Recall that we can compute |Cov(P,)Cov(C)|, for a given pathlet (P,), in 𝒪(||logn) time (Lemma 15). We fix some integer i. We then give an algorithm for constructing a vertex-to-vertex (,Δ)-pathlet (P,) where P starts at the i’th vertex of S, and its coverage over 𝒰Cov(C) is maximum.

We find for each subcurve S of S of length at most a reference-optimal (,Δ)-pathlet. To this end, we consider each vertex S(i) of S separately. We construct a set of reference-optimal pathlets (S[i,i+1],1),,(S[i,i+j],j),,(S[i,i+],). We let each interval j contain all maximal intervals [y,y] for which dF(S[i,i+j],T[y,y])Δ, and thus all maximal intervals for which (i,y) can reach (i+j,y) by a bimonotone path in ΔFSD(S,T).

Recall that in Definition 9 we defined a set of critical points. Let Z denote all critical points in ΔFSD(S[i,i+],T) of the form (i+j,y), for integers j[]. That is, Z contains for all j[] the endpoints of all connected components (vertical line segments) of ΔFSD(S,T)({i+j}×[1,n]). Since each cell has at most 𝒪(1) such critical points, it follows that |Z|𝒪(n). Observe that for any Δ-matching between T and a vertex-to-vertex subcurve, we can always extend each curve in the matching to start and end at a point in Z:

Observation 18.

Let (P,) be a vertex-to-vertex (,Δ)-pathlet where P starts at the i’th vertex. Then there exists an (,Δ)-pathlet (P,) with Cov(P,)Cov(P,) such that for each interval in , the corresponding bimonotone path in ΔFSD(S,T) starts and ends at a point in Z.

We create a sweepline algorithm that, for each j[], constructs a reference-optimal (,Δ)-pathlet (S[i,j],j). We let each interval j contain all maximal intervals [y,y] for which dF(S[i,i+j],T[y,y])Δ, and thus all maximal intervals for which (i,y) can reach (i+j,y) by a bimonotone path in ΔFSD(S,T). Note that both (i,y) and (i+j,y) are critical points. Thus we aim to find all maximal intervals [y,y] for which ΔFSD(S,T) contains a bimonotone path between critical points (i,y) and (i+j,y).

To this end, we construct, for each i[n], the reachability graph G(S[i,i+],T,Z) from Section 7, which encodes reachability between all critical points. This graph takes 𝒪((n+|Z|)log(n|Z|))=𝒪(nlogn) time to construct and has complexity 𝒪(nlogn) (see Theorem 17). We aim to annotate each vertex μ (which does not necessarily have to be a critical point) in G(S[i,i+],T,Z) with the minimum y, such that there exists a critical point (i,y) that can reach μ. We annotate μ with if no such value y exists.

Annotating vertices.

We begin by annotating the vertices (i,y) in 𝒪(n) time, by scanning over them in order of increasing y-coordinate. We go over the remaining vertices in yx-lexicographical order, where we go over the vertices based on increasing y-coordinate, and increasing x-coordinate when ties arise. Each vertex μ that we examine has only incoming arcs originating from vertices below and left of μ. By our lexicographical ordering, each of these vertices are already annotated. The minimal y for which there exists a path from (i,y) to μ, must be the minimum over all its incoming arcs which we compute in time proportional to the in-degree of μ. If μ has no incoming arcs, we annotate it with .

Let V and A be the sets of 𝒪(nlogn) vertices and arcs of G(S[i,i+],T,Z). For the above annotation procedure, we first compute the yx-lexicographical ordering of the vertices, based on their corresponding points in the parameter space. This takes 𝒪(|V|log|V|) time. Afterwards, we go over each vertex and each incoming arc exactly once, which take an additional 𝒪(|V|+|A|) time. In total, we annotate all vertices in 𝒪(nlog2n) time.

Constructing the pathlets.

With the annotations, constructing the pathlets becomes straightforward. For each j[], we construct j as follows. We iterate over all critical point (i+j,y) in the graph G(S[i,i+],T,Z). For each critical point (i+j,y) with a finite annotation y, we add the interval [y,y] to j. This procedure ensures that j contains all maximal intervals [y,y] for which dF(S[i,i+j],T[y,y])Δ, creating an optimal pathlet (S[i,i+j],j) with respect to its reference curve. Since there are 𝒪(n) critical points per j, this algorithm uses 𝒪(n) time. Storing the pathlets takes 𝒪(n) space. We conclude:

Theorem 19.

Suppose Cov(C) is preprocessed by  Lemma 15. In 𝒪(n2log2n) time and using 𝒪(nlogn) space, we can construct an optimal vertex-to-vertex (,Δ)-pathlet (P,).

Proof.

For a given vertex S(i), we compute optimal pathlets (S[i,i+j],j) with respect to their reference curves for j[] in 𝒪(nlog2n) time, using 𝒪(nlogn) space. Using the data structure of Lemma 15, we subsequently compute the coverage of one of these pathlets 𝒪(nlogn) time, so 𝒪(nlogn) time for all. We pick the best pathlet and remember its coverage. Doing so for all vertices S(i) of S, we obtain |S| pathlets, of which we report the best. By only keeping the best pathlet in memory, rather than all |S|, the space used by these pathlets is lowered from 𝒪(n2) to 𝒪(n).

9 Subedge pathlets

Let Δ=4Δ, and let C be a set of pathlets. We assume that Cov(C) has at most 𝒪(n2logn) connected components. We construct a subedge (2,Δ)-pathlet (P,) whose coverage over 𝒰Cov(C) is at least 18’th of the the optimum.

Recall that a subedge pathlet (P,) is a pathlet where P=e[x,x] is a subsegment of some edge e of S. We construct a subedge pathlet given the edge e. To this end, recall that in Definition 9 we defined a set of critical points. Let Z denote all critical points in ΔFSD(e,T). Since there are at most 𝒪(n) critical points per cell in the free-space diagram, there are at most 𝒪(n2) critical points in Z. We fix Z throughout this section and compute subedge pathlet (e[x,x],) with at least one-fourth the coverage of any pathlet that uses a subedge of e as a reference curve, and where for all [y,y], the points (x,y) and (x,y) are both critical points.

Before we restrict pathlets to be defined by these critical points, we initially allow a broader range of pathlets. We consider the edge e, obtained by reversing the direction of e, and look at constructing a pathlet that is a subedge of either e or e. We show that by restricting pathlets to be defined by Z, allowing for reference curves that are subcurves of e, we lose only a factor four in the maximum (discrete) coverage.

Figure 5: The connected components of ΔFSD(e,T) fall into these four cases, based on where the minima and maxima of the bottom and top parabolic arcs lie. In the first three cases, a clear matching with optimal coverage exists (purple). In the fourth case, the matching is only valid when mirroring the free space, achieved by using e instead of e.
Lemma 20.

Let C be a set of pathlets. For any subedge (2,Δ)-pathlet (e[x,x],), there exists a subedge (2,Δ)-pathlet (P,) with

|Cov(P,)Cov(C)|14|Cov(e[x,x],)Cov(C)|,

where P is equal to e[xi,xj] or e[xi,xj] for some i and j, and for every interval [y,y], the points (xi,y) and (xj,y) are contained in Z.

Proof.

Consider a subedge (2,Δ)-pathlet (e[x,x],). Any interval [a,b] corresponds to a bimonotone path from (x,a) to (x,b) in ΔFSD(e,T). Consider such an interval [a,b] and a corresponding path π.

Suppose first that xixxxi+1 for some i. Observe that every connected component of ΔFSD(e,T)([xi,xi+1]×[1,n]) is bounded on the left and right by (possibly empty) vertical line segments, and that the bottom and top chains are parabolic curves whose extrema are the endpoints of these segments. In particular, these connected components are convex. Thus there is a straight line segment e from (x,a) to (x,b) in the free space. The line segment e connecting the extrema of the parabolic curves bounding the connected component containing (x,a) and (x,b) is longer than e. The endpoints of e are both critical points, and e describes a valid matching between a subcurve of T and either a subcurve of e, or a subcurve of e. See Figure 5. As there are four different reference curves we choose from, the resulting intervals are spread over four different pathlets. Therefore, one of the pathlets must have at least one-fourth the coverage of any subedge pathlet.

Next suppose that xixxi+1<x for some i. At some point, π reaches a point (xi+1,a). Let (x,y) be the lowest point in the connected component containing (x,a). This point is a critical point. By convexity, the segment e from (x,y) to (xi+1,a) lies in the free space. Because ya by our choice of (x,y), we may connect e to the suffix of π that starts at (xi+1,a) to obtain a matching that starts at a critical point and that covers at least as much of T as the original matching. Applying a symmetric procedure to the end (x,b) of π yields a matching that starts and ends at critical points without losing coverage. Again, since there are four different reference curves to choose from for the intervals in , the resulting intervals are spread over four different pathlets. One of the pathlets must therefore have at least one-fourth the coverage of any subedge pathlet. We find for each point e(xi) of e corresponding to a critical point a subedge pathlet whose reference curve starts at e(xi) and ends at some point e(xj) that also corresponds to a critical point. To this end, we consider each point e(xi) separately. We proceed akin to the construction for vertex-to-vertex pathlets Section 8, with some optimization steps.

It proves too costly to consider each reference curve e[xi,xi] for every xi we consider. By sacrificing the quality of the pathlet slightly, settling for a pathlet with at least one-eighth the coverage of any subedge pathlet rather than one-fourth, we can reduce the number of reference curves we have to consider from Θ(m2)=𝒪(n2) to 𝒪(mlogm). Let (e[xi,xi],) be a subedge pathlet. We can split e[xi,xi] into two subedges e[xi,xi+2j] and e[xi2j,xi]. The matchings corresponding to decompose into two sets of matchings (whose matched subcurves may overlap), giving rise to two pathlets (e[xi,xi+2j],1) and (e[xi2k,xi],2) with 12=. Thus at least one of these pathlets has at least half the coverage that (e[xi,xi],) has. By Lemma 20, a pathlet (e[xi,xi+2j],) that has maximum coverage out of all such pathlets then covers at least one-eighth of what any other subedge pathlet covers.

Using a sweepline algorithm analogous to that of Section 8, we construct reference-optimal (,Δ)-pathlets using each e[xi,xi+2j] and e[xi,xi+2j] with jlog(mi) as reference curves. This leads to the following result (for details, see the full version):

Theorem 21.

Suppose that the universe 𝒰 and the coverage Cov(C) is preprocessed into the data structure of Lemma 15. In 𝒪(n3log3n) time and using 𝒪(nlog2n) space, we can construct a (2,Δ)-pathlet (P,) with

|Cov(P,)Cov(C)|18|Cov(P,)Cov(C)|

for any subedge (2,Δ)-pathlet (P,).

10 Conclusion

In this work, we presented an improved approximation algorithm for subtrajectory clustering. We discuss our technical contribution, and how it differs from previous works, our asymptotic improvements and finally interesting directions for future work.

Technical contribution.

Our technical contributions are threefold:

First, we introduced a new type of curve simplification in Section 4. This simplification allows us to construct a curve S, such that our clustering needs to consider only pathlets whose reference curve is a subcurve of S. Although numerous similar curve-simplification algorithms exist, our method distinguishes itself by lying significantly closer to the input curve T. Consequently, our approximation algorithm is a 4-approximation in Δ, compared to the 11-approximations of prior works. We consider this simplification to be of independent interest, as future works may immediately use our simplification method to obtain 4-approximations in Δ also.

Secondly, we considered in Section 6 an extension to the greedy set cover algorithm wherein each iteration adds an approximately-maximum covering element, rather than a maximum one. Observe that P can always be divided into at most three subcurves, where at most one of them starts and ends at a vertex of S (a vertex-subcurve) and at most two of them are subcurves of an edge of S (a subedge of S). We design a greedy meta-algorithm, that in each iteration computes an (,Δ)-pathlet (P,) with approximately-maximum coverage, whose reference curve is a vertex-subcurve or subedge of S. Our approximately greedy set cover analysis shows that our meta-algorithm computes a clustering of size 𝒪(klogn). A key takeaway from our construction is that by restricting our attention to vertex-subcurves and subedges of S, we significantly reduce the set of candidate pathlets from 𝒪~(n3) to 𝒪~(n2). We consider this fact to also be of independent interest. Indeed, our subsequent algorithm spends near-linear time per candidate pathlet but future works may discover more efficient algorithms over the same smaller candidate set.

Finally, we presented algorithms in Sections 8 and 9 that compute the corresponding candidate pathlet for a candidate reference curve in near-linear time and near-linear space. The key observation to this contribution is that we show that it suffices to compute all candidate pathlets on the fly, significantly reducing the space.

Asymptotic improvements.

Compared to the best prior deterministic work [13], our algorithm improves the running time by a factor near-linear in n, improves the space by a factor near-linear in n2, and improves the approximation in Δ from a factor 11 to 4, all whilst asymptotically matching the size of the clustering. We consider this a significant improvement over the state-of-the-art.

When we compare to previous randomized work [5, 3] we improve the running time by a factor near-linear in , improve space by a factor n, and improve the approximation in Δ from a factor 11 to 4. A downside of our approach is that, compared to randomised works, we only asymptotically match the clustering size whenever is relatively large (i.e., Ω(logn/logk)). However, we note that on all other algorithmic quality measures, we still offer a substantial improvement whilst also being deterministic. In addition, when considering algorithmic performance in practice, we note that these previous randomized results [5, 3] use ε-net sampling. Such a sampling procedures leads to very high hidden constants in the asymptotic clustering size which makes such an approach impractical.

Future work.

We think it remains an interesting open problem whether one can obtain a clustering size of 𝒪(klogk) in a deterministic manner. We also note that, currently, our algorithm considers a set of 𝒪~(n2) reference curves P, and computes an (,Δ)-pathlet (P,) with approximately-maximum coverage for each reference curve independently, in near-linear time. We think it is an interesting open problem whether one can present an algorithm that is overall more efficient whenever these maximum pathlets are considered simultaneously rather than independently.

References

  • [1] Pankaj K. Agarwal, Kyle Fox, Kamesh Munagala, Abhinandan Nath, Jiangwei Pan, and Erin Taylor. Subtrajectory clustering: Models and algorithms. In proc. 37th ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems (PODS), pages 75–87, 2018. doi:10.1145/3196959.3196972.
  • [2] Pankaj K. Agarwal, Sariel Har-Peled, Nabil H. Mustafa, and Yusu Wang. Near-linear time approximation algorithms for curve simplification. Algorithmica, 42(3):203–219, 2005. doi:10.1007/s00453-005-1165-y.
  • [3] Hugo A. Akitaya, Frederik Brüning, Erin Chambers, and Anne Driemel. Subtrajectory clustering: Finding set covers for set systems of subcurves. Computing in Geometry and Topology, 2(1):1:1–1:48, 2023. doi:10.57717/cgt.v2i1.7.
  • [4] Helmut Alt and Michael Godau. Computing the Fréchet distance between two polygonal curves. International Journal of Computational Geometry & Applications, 5:75–91, 1995. doi:10.1142/S0218195995000064.
  • [5] Frederik Brüning, Jacobus Conradi, and Anne Driemel. Faster approximate covering of subcurves under the Fréchet distance. In proc. 30th Annual European Symposium on Algorithms (ESA), pages 28:1–28:16, Dagstuhl, Germany, 2022. doi:10.4230/LIPIcs.ESA.2022.28.
  • [6] Kevin Buchin, Maike Buchin, David Duran, Brittany Terese Fasy, Roel Jacobs, Vera Sacristan, Rodrigo I. Silveira, Frank Staals, and Carola Wenk. Clustering trajectories for map construction. In proc. 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, pages 1–10, 2017. doi:10.1145/3139958.3139964.
  • [7] Kevin Buchin, Maike Buchin, Joachim Gudmundsson, Jorren Hendriks, Erfan Hosseini Sereshgi, Vera Sacristán, Rodrigo I. Silveira, Jorrick Sleijster, Frank Staals, and Carola Wenk. Improved map construction using subtrajectory clustering. In proc. 4th ACM SIGSPATIAL Workshop on Location-Based Recommendations, Geosocial Networks, and Geoadvertising, pages 1–4, 2020. doi:10.1145/3423334.3431451.
  • [8] Kevin Buchin, Maike Buchin, Joachim Gudmundsson, Maarten Löffler, and Jun Luo. Detecting commuting patterns by clustering subtrajectories. International Journal of Computational Geometry & Applications, 21(03):253–282, 2011. doi:10.1142/S0218195911003652.
  • [9] Kevin Buchin, Anne Driemel, Joachim Gudmundsson, Michael Horton, Irina Kostitsyna, Maarten Löffler, and Martijn Struijs. Approximating (k,)-center clustering for curves. In proc. Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2922–2938, 2019. doi:10.1137/1.9781611975482.181.
  • [10] Maike Buchin and Dennis Rohde. Coresets for (k,)-median clustering under the Fréchet distance. In proc. 8th International Conference on Algorithms and Discrete Applied Mathematics (CALDAM), pages 167–180, 2022. doi:10.1007/978-3-030-95018-7_14.
  • [11] Siu-Wing Cheng and Haoqiang Huang. Curve simplification and clustering under Fréchet distance. In proc. 2023 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 1414–1432, 2023. doi:10.1137/1.9781611977554.ch51.
  • [12] Vasek Chvátal. A greedy heuristic for the set-covering problem. Mathematics of Operations Research, 4(3):233–235, 1979. doi:10.1287/MOOR.4.3.233.
  • [13] Jacobus Conradi and Anne Driemel. Finding complex patterns in trajectory data via geometric set cover. arXiv preprint arXiv:2308.14865, 2023. doi:10.48550/arXiv.2308.14865.
  • [14] Mark de Berg, Atlas F. Cook, and Joachim Gudmundsson. Fast Fréchet queries. Computational Geometry, 46(6):747–755, 2013. doi:10.1016/j.comgeo.2012.11.006.
  • [15] Anne Driemel, Amer Krivošija, and Christian Sohler. Clustering time series under the Fréchet distance. In proc. twenty-seventh annual ACM-SIAM symposium on Discrete algorithms (SODA), pages 766–785, 2016. doi:10.1137/1.9781611974331.ch5.
  • [16] Joachim Gudmundsson and Sampson Wong. Cubic upper and lower bounds for subtrajectory clustering under the continuous Fréchet distance. In proc. 2022 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 173–189, 2022. doi:10.1137/1.9781611977073.9.
  • [17] Leonidas J. Guibas, John Hershberger, Joseph S. B. Mitchell, and Jack Snoeyink. Approximating polygons and subdivisions with minimum link paths. International Journal of Computational Geometry & Applications, 3(4):383–415, 1993. doi:10.1142/S0218195993000257.
  • [18] Richard M. Karp. Reducibility among combinatorial problems. In proc. Symposium on the Complexity of Computer Computations, The IBM Research Symposia Series, pages 85–103, 1972. doi:10.1007/978-1-4684-2001-2_9.
  • [19] Mees van de Kerkhof, Irina Kostitsyna, Maarten Löffler, Majid Mirzanezhad, and Carola Wenk. Global curve simplification. European Symposium on Algorithms (ESA), 2019.
  • [20] Peter Widmayer. On graphs preserving rectilinear shortest paths in the presence of obstacles. Annals of Operations Research, 33(7):557–575, 1991. doi:10.1007/BF02067242.