Abstract 1 Introduction 2 Preliminaries 3 From free-space reachability to graph reachability 4 From free-space graph reachability to grid graph reachability 5 Fréchet distance under transformation 6 Conclusion References

Faster Fréchet Distance Under Transformations

Kevin Buchin ORCID Technical University of Dortmund, Germany Maike Buchin ORCID Ruhr University Bochum, Germany Zijin Huang ORCID University of Sydney, Australia André Nusser ORCID Université Côte d’Azur, CNRS, Inria, Sophia Antipolis, France Sampson Wong ORCID BARC, University of Copenhagen, Denmark
Abstract

We study the problem of computing the Fréchet distance between two polygonal curves under transformations. First, we consider translations in the Euclidean plane. Given two curves π and σ of total complexity n and a threshold δ0, we present an 𝒪~(n7+13) time algorithm to determine whether there exists a translation t2 such that the Fréchet distance between π and σ+t is at most δ. This improves on the previous best result, which is an 𝒪(n8) time algorithm.

We then generalize this result to any class of rationally parameterized transformations, which includes translation, rotation, scaling, and arbitrary affine transformations. For a class 𝒯 of rationally parametrized transformations with k degrees of freedom, we show that one can determine whether there is a transformation τ𝒯 such that the Fréchet distance between π and τ(σ) is at most δ in 𝒪~(n3k+43) time.

Keywords and phrases:
Fréchet distance, curve similarity, shape matching
Category:
Track A: Algorithms, Complexity and Games
Funding:
André Nusser: This work was supported by the French government through the France 2030 investment plan managed by the National Research Agency (ANR), as part of the Initiative of Excellence of Université Côte d’Azur under reference number ANR-15-IDEX-01.
Sampson Wong: This work was supported by the European Union under a Marie Skłodowska-Curie Actions (MSCA) Postdoctoral Fellowship Grant number 101146276.
Copyright and License:
[Uncaptioned image] © Kevin Buchin, Maike Buchin, Zijin Huang, André Nusser, and Sampson Wong; 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/2501.12814
Editors:
Keren Censor-Hillel, Fabrizio Grandoni, Joël Ouaknine, and Gabriele Puppis

1 Introduction

Many applications require determining the similarity of two geometric shapes, disregarding their location or orientation. More specifically, shape matching asks for the distance between two shapes if we allow the shapes to be transformed to minimize their distance [1, 3, 55]. Transformations may include translations, rotations, scaling, or a combination thereof. In this paper, we focus on polygonal curves under the Fréchet distance. Curves occur in many applications and need to be matched whenever they describe a local pattern, for example to recognize handwritten characters [49], trademarks [5], or movement patterns [17, 41, 44]. The Fréchet distance is arguably the most popular distance measure for curves in computational geometry. There has been significant algorithmic progress on the Fréchet distance, for instance, most recently on approximation [31, 52, 53], data structures [6, 12, 18, 27, 37, 38, 43, 42], algorithm engineering [8, 19, 34, 15, 13], simplification [11, 28, 51, 54], clustering [16, 20, 26, 44, 48, 21], Fréchet variants [22, 23, 24, 33, 36, 39, 40], and its complexity in general [10, 25, 30, 29].

The Fréchet distance under translation is defined as the minimum Fréchet distance for any translation of the curves. Computing the Fréchet distance under translations was first studied by Efrat, Indyk and Venkatasubramanian [35] and by Alt, Knauer and Wenk [4, 47, 56]. For two curves of total complexity n in 2, an 𝒪~(n10) time algorithm111By 𝒪~() we hide (poly-)logarithmic factors in n. for the Fréchet distance under translation was presented in [35], and an 𝒪~(n8) time algorithm was presented in [4]. Wenk [56] generalized the approach in [4] to higher dimensions and a wide range of other transformations, e.g., for rotations or scalings in 2D in 𝒪~(n5) time, or for affine transformations in d dimensions in 𝒪~(n3(d2+d)+2) time.

Despite significant algorithmic progress on various aspects of the Fréchet distance, no faster algorithms for computing the (continuous) Fréchet distance under transformations have been developed until now. In contrast, for computing the discrete Fréchet distance under translation, first an 𝒪~(n6)-time algorithm [45] was developed, then an 𝒪~(n5)-time algorithm [7], and more recently, an 𝒪~(n4+23)-time algorithm [14].

Our Contribution

In this paper, we present the first progress on the Fréchet distance under transformations since its introduction [4, 35, 47, 56]. Similar to the algorithm in [4, 56], our algorithm can be used for a wide range of classes of transformations. Specifically, given two curves π and σ of total complexity n and a threshold δ0, we want to determine whether there is a transformation τ from a given class of transformations, such that the Fréchet distance between π and τ(σ) is at most δ. Our algorithm improves the running time for translations in two dimensions from 𝒪(n8) to 𝒪~(n7+13).

Theorem 1.

The Fréchet distance under translation in 2 can be decided in 𝒪(n7+13log2n) time.

More generally, we improve the running time for the various classes of transformations (and dimensions) given by Wenk [56] by roughly a factor of n2/3. For example, for rotations or scalings in 2, our algorithm runs in 𝒪~(n4+13) time and for affine transformations in d dimensions in 𝒪~(n3(d2+d)+43) time.

Theorem 2.

The Fréchet distance under transformations rationally represented with k degrees of freedom can be decided in 𝒪(n3k+4/3log2n) time.

We first present our approach for the special case of translations in two dimensions. Then we generalize our approach to other transformations and higher dimensions. Similarly to the approach in [4], we compute an arrangement in the space of transformations, which in the case of 2D translations has complexity 𝒪(n6). In [4], the Fréchet distance is computed for each face of this arrangement in 𝒪(n2) time per face by using the free-space diagram, which results in an overall running time of 𝒪(n8). In our approach, we instead traverse the arrangement, making use of the fact that the free-space diagram for adjacent faces in the arrangement is similar. The challenge with using this approach is that it requires a dynamic data structure for maintaining reachability in the free-space diagram. However, already on directed graphs this is a difficult problem that to the best of our knowledge mostly saw progress on planar graphs [32, 46, 50] or more specifically grid graphs [7, 14]. In [14], a data structure with efficient updates and queries for reachability in a dynamic directed grid graph is presented, which is used to give a faster algorithm for the discrete Fréchet distance under translation. However, while the discrete Fréchet distance naturally reduces to a reachability problem on such a grid, this is not the case for the (continuous) Fréchet distance.

To that end, we present a detailed analysis of the changes in the free-space diagram when traversing the arrangement in the space of translations, which we call events (see Section 3). We then show how to construct a (directed) free space graph from the free-space diagram, and analyze how the free-space graph changes for the various types of events. Then, we show how each of these events can be modeled as changes in a suitable grid graph, which allows us to utilize the data structure in [14] to maintain reachability in this graph (see Section 4). The main challenge here is that an event may cause rows or columns in the free-space graph to swap, appear or disappear, which are not operations that can be handled by the previous data structure of [14]. Using our approach, we show how to handle these row or column events using a linear number of updates to the grid graph per event. Finally, we use an amortized analysis to show that each event only requires a constant number of updates to the grid graph per event, since expensive events do not happen too often.

We note that in an independent work, progress was made on the one-dimensional Fréchet distance under translation or scaling [9]. In that work, the authors present an 𝒪~(n8/3) algorithm for both problems, making use of the offline dynamic data structure of [14].

2 Preliminaries

A d-dimensional polygonal curve π is a piecewise linear curve represented as a continuous mapping from [1,n] to d. For integer i, πi=π[i] is a vertex, and πi¯=πiπi+1=π[i,i+1] is a segment.

The Fréchet distance is a popular measure of the similarity between two polygonal curves. An orientation-preserving reparameterization is a continuous and bijective function f:[0,1][0,1] such that f(0)=0, and f(1)=1. The 0ptf,g(π,σ) between two curves π and σ with respect to the reparameterizations f and g, is defined as follows.

0ptf,g(π,σ)=maxt[0,1]π(f(t))σ(g(t))

Imagine the scenario where a person is walking their dog with a leash connecting them: the person needs to stay on π while walking according to f, and the dog needs to stay on σ while walking according to g. The maximum leash length is the width between π and σ with respect to the reparameterizations f and g. The Fréchet distance d(π,σ) is the minimum leash length required over all possible walks (defined by reparameterizations f and g).

d(π,σ)=inff,g[0,1][0,1]0ptf,g(π,σ)

Problems relating to the Fréchet distance are commonly solved in a configuration space called the free-space diagram. In our problem, we assume for simplicity that both input curves have exactly n vertices. The free-space δ(π,σ) is a collection of points in 2 in the range [1,n]×[1,n]. A point (x,y) is in the free-space if the Euclidean norm (distance) π(x)σ(y) between π(x) and σ(y) is at most δ. As opposed to the free-space, we will call [1,n]×[1,n]δ(π,σ) the forbidden space.

δ(π,σ)={(x,y)[1,n]×[1,n]π(x)σ(y)δ}

The free-space diagram 𝒟=𝒟δ(π,σ) is the partition of the free-space into n×n cells. A cell Ci,j in 𝒟 contains the free-space in the range [i,i+1]×[j,j+1]. Alt and Godau [2] made the critical observation that the free-space within a cell Ci,j is an intersection between an ellipse Ei,j and the square Si,j=[i,i+1]×[j,j+1]; hence it is convex with constant description complexity. They also showed that d(π,σ)δ if and only if there is a bi-monotone path in 𝒟δ(π,σ) from (1,1) to (n,n) through the free-space.

An intersection between the boundaries Ei,j and Si,j{(i,j),(i+1,j),(i,j+1),(i+1,j+1)} is called a critical point. A point (i,j)× is a corner point. We say the line π[i]×[1,n] is the free-space diagram boundary defined by πi (and analogous for σi). We say the strip [i,i+1]×[1,n] is the ith column, and the strip [1,n]×[i,i+1] is the ith row. We say a critical point p is a row (resp. column) critical point if p lies on a vertical (resp. horizontal) boundary.

3 From free-space reachability to graph reachability

In this and the next section, we describe our ideas using an intuitive class of transformations: translation in 2. Specifically, we determine whether there exists a translation vector t=λv such that d(π,σ+t)δ, where λ0 and v is a unit vector. For this, we first describe how to transform the free-space reachability problem into a graph reachability problem.

Using the free-space diagram 𝒟=𝒟δ(π,σ), we construct a refined free-space diagram (see Figure 1, left). Let l(πi) (resp. l(σj)) be the vertical (resp. horizontal) boundary of 𝒟 defined by πi (resp. σj). For every critical point p on the boundaries, we draw a perpendicular grid line l(p) through p. Note that by definition, a critical point does not coincide with a corner point of 𝒟. If p lies on the horizontal boundary, l(p) is a vertical line; otherwise, l(p) is a horizontal line. The refined free-space diagram includes all grid lines, the free-space diagram boundaries, and their intersections. For simplicity, we redefine 𝒟δ(π,σ) to denote the refined free-space diagram. Let the intersection between a grid line and a free-space boundary be a propagated critical point.

Figure 1: From the refined free-space diagram to the refined free-space graph. On the left free-space diagram (FSD), the corner points, critical points, and propagated critical points are marked by squares, blue circles, and red circles, respectively. On the right free-space diagram graph (FSG), the corner, boundary, and interior vertices are marked by squares, circles, and crosses, respectively.

Using the refined free-space diagram 𝒟δ(π,σ), we construct a refined free-space graph (refined FSG or FSG for short) 𝒢f=𝒢δf(π,σ) as follows (see Figure 1, right). For every intersection between a grid line and a free-space boundary, add a boundary vertex. For every intersection between two grid lines, add an interior vertex. For every intersection between two free-space boundaries, add a corner vertex. Note that each vertex in 𝒢f is uniquely defined by an ordered pair (p,q), where l(p) is vertical and l(q) is horizontal; p (resp. q) is either a vertex of π (resp. σ) or a critical point in 𝒟 – let v(p,q) denote such vertex in 𝒢f. Each vertex is assigned a weight that is either 1 or 0. For every vertex u=v(p,q), if a=l(p)l(q) lies on a boundary of the free-space diagram, we set w(u)=1 if a lies in the free-space or w(u)=0 otherwise. We set the weights of the rest of the vertices, the interior vertices, to 1. We say a vertex u is activated if w(u)=1 or deactivated if w(u)=0. We say a vertex v(πi,) (resp. v(,σj)) lies on the free-space graph boundary defined by πi (resp. σj).

To construct edges, we use the geometric positions of the grid lines and the FSG boundaries. For vertices in 𝒢f defined by every grid line or FSG boundary l(p), add a directed edge (v(p,q),v(p,q)) to 𝒢f if l(q) is immediately below l(q). If l(q) and l(q) overlap, break ties arbitrarily. Analogously, add a directed edge (v(p,q),v(p,q)) if l(p) is immediately to the left of l(p). A path P𝒢f is an ordered subset {(a1,b1),,(am,bm)} of edges where bi=ai+1, 1i<m. We say P is a feasible path if a1=v(π1,σ1), bm=v(πn,σn), and w(ai)=w(bi)=1 for all values of i. When a1 and bm are specified, P is a feasible path if P uses exclusively activated vertices. We say a FSG 𝒢f is st-reachable if there exists a feasible path in 𝒢f from v(π1,σ1) to v(σn,πn). The following lemma naturally is derived from the properties of the free-space diagram (see the full version for the proof).

Lemma 3.

The FSG 𝒢f=𝒢δf(π,σ) is st-reachable if and only if d(π,σ)δ.

Now consider translating σ along v. As σ translates continuously, the FSG also changes, and we would like to know how these changes affect the st-reachability of 𝒢f. To do this, we track the following free-space events. See Figure 2 for visualizations of these row free-space events.

Definition 4.

We define the following row free-space events. Column free-space events are defined analogously.

  1. 1.

    A Vertex-edge (VE) event is defined by a pair (p,σw¯), where p is either a vertex of π or p is a row critical point in row w.

    1. (a)

      Entering/leaving event: the corner point p enters or leaves the free-space.

    2. (b)

      Appearing/disappearing event: the grid line l(p) appears or disappears as the critical point p appears or disappears.

  2. 2.

    A Vertex-vertex-edge (VVE) event is defined by a triplet (p,q,σw¯), where p and q are row critical points in row w.

    1. (a)

      Overlapping event: two grid lines l(p) and l(q) overlap.

    2. (b)

      Separating event: two overlapping grid lines l(p) and l(q) no longer overlap.

Figure 2: In the top row of figures, as the segment σ1σ2 translates, the critical points p and q moves down and up, respectively. As l(p) and l(q) (colored in blue) move, they overlap and then separate. In the bottom row, as σ1σ2 translates, a new critical point p appears, and then a new critical point p appears.

For now, we assume that we are given an ordered set T={t1,t2,,tm} of translations, where ti=λiv, λi0, and λiλi+1. We further assume that T is complete, which is defined as follows.

Definition 5.

We say the ordered set T={t1,,tm} of translations is complete if 𝒢δf(π,σ+ti) and 𝒢δf(π,σ+ti+1) differ by exactly one free-space event, for all 1i<m.

Here, σ+t denotes the curve obtained by adding the translation vector t to σ. To update the free-space graph to reflect the state of the free-space diagram, we define the following free-space graph operations. Let R(p) be the set of vertices defined by l(p), and let R(p)[i] denote the ith vertex, where i1.

Definition 6.

We define the following free-space graph operations.

  • Vertex operation: either activate or deactivate a vertex of 𝒢f.

  • Row operation: either insert or delete a row of 𝒢f. Column operations are defined analogously.

    • To insert a row R(p) of vertices between adjacent rows R(pa) and R(pb), add a vertex v(q,p) for every q, where q is either a critical point on a horizontal FSG boundary or a vertex of π. For every 1i<|R(pa)|,

      1. 1.

        remove the edge (R(pb)[i],R(pa)[i]),

      2. 2.

        add horizontal edge (R(p)[i],R(p)[i+1]), and

      3. 3.

        add vertical edges (R(pb)[i],R(p)[i]) and (R(p)[i],R(pa)[i]).

    • To remove the row R(p) of vertices, remove R(p) and their adjacent edges. For every 1i|R(pa)|, add edges (R(pb)[i],R(pa)[i]).

We show that we can update the FSG 𝒢δf(π,σ+ti1) to 𝒢δf(π,σ+ti) using a constant number of free-space graph operations, plus processing time. For these updates, we will distinguish between a corner vertex operation and a boundary vertex operation. We use corner vertex operations to handle VE event updates, and boundary vertex operations to handle VVE event updates.

Lemma 7.

Let 𝒢if=𝒢δf(π,σ+ti). Given 𝒢i1f, to compute 𝒢if, it takes

  • 𝒪(1) time and 𝒪(1) corner vertex operations if ti is an entering/leaving event,

  • 𝒪(1) time and 𝒪(1) boundary vertex operations if ti is an overlapping or separating event,

  • 𝒪(n) time plus 𝒪(1) row operations if ti is an appearing/disappearing event.

Proof.

If ti is an entering/leaving event, we simply set the weight of the respective corner vertex to either 1 or 0. If ti is a VVE event defined by (p,q,σw¯), let p and q lie on the ith and jth free-space boundary, respectively. Observe that when a VVE event occurs, among all vertices partly defined by p or q, only the weights of vertices v(πi,p), v(πj,p), v(πi,q), and v(πj,q) change. It is sufficient to spend 𝒪(1) time to determine and update their weights, by computing cells Ci,w and Cj,w from scratch.

If ti is an appearing/disappearing event in the jth row, it takes linear time to recompute the row critical points in this row. Then, it takes linear time to compute the grid lines l(pa) and l(pb) that l(p) lie between by recomputing the cells in the jth row. Once l(pa) and l(pb) is identified, it takes exactly one row insertions or deletions to update 𝒢i1f to 𝒢if. Therefore, it takes 𝒪(n) time plus a constant number of row operations.

Using a naive implementation, in the worst case, a row operation can take Ω(n2) time since there are Ω(n2) vertical grid lines. Determining st-reachability takes Ω(n4) time, since there are Ω(n4) vertices in the FSG. Hence, using the FSG directly would not result in a faster algorithm. In the next section, we fix these issues by defining an “equivalent” grid graph in which updates and queries can be done more efficiently than the naive implementation.

4 From free-space graph reachability to grid graph reachability

In this section, using the refined FSG 𝒢f=𝒢δf(π,σ), we define a grid graph 𝒢g=𝒢δg(π,σ). We then show that 𝒢f is st-reachable if and only if 𝒢g is st-reachable. An advantage of the newly defined grid graph is that its number of vertices does not change under updates. We show that the structural changes implied by the FSG operations can be simulated by simply modifying the weights in the grid graph, without needing to add or remove vertices. These features of the grid graph allow us to use the offline dynamic grid reachability result in [14] to obtain a faster update and query time.

The grid graph 𝒢g contains all vertices of the free-space graph 𝒢f. In addition to the free-space graph 𝒢f, we add a set of placeholder vertices to the grid graph 𝒢g so as to maintain the same number of vertices in the grid graph 𝒢g under updates. Refer to Figure 3 for an illustration. We define the placeholder vertices. Let mir (resp. mic) be the number of row critical points in the ith row (resp. column) of 𝒟=𝒟δ(π,σ). We define a family of ordered sets {H1r,,Hn1r} of row placeholder points. Each set Hir contains exactly 2nmir+2 points, and let Hir[j] denote the jth point for 1j2nmir+2. The family of ordered sets of column placeholder points {H1c,,Hn1c} are analogously defined. For a row (resp. column) placeholder point h, the placeholder line l(h) is horizontal (resp. vertical). Note that the placeholder points and lines are abstractly defined as they do not exist in 𝒟.

Figure 3: A visual illustration of the placeholder lines and their relative positions among the grid lines and the free-space diagram boundaries. The row (resp. column) placeholder points and lines are colored in red (resp. green). The grid lines are colored in blue.

Finally, define v(p,q) to be a placeholder vertex if p is either a vertex of π, a critical point, or a placeholder point, and q is also either a vertex of σ, a critical point, or a placeholder point. Add the placeholder vertex v(p,q) to 𝒢g. The weight of a placeholder vertex on a boundary matches the weight of the adjacent corner vertex either directly above or to its right. Specifically, for every h in every Hir and every point p in the union of the vertices of π and row critical points, we set w(v(p,h))=w(v(πi,σj+1)) if p=πi, otherwise we set w(v(p,h))=1. Analogously, for every hHic, we set w(v(h,q))=w(v(πi+1,σj)) if q=σj. Otherwise, we set w(v(h,q))=1. This completes the definition of placeholder vertices.

To define the edges in 𝒢g, we define the ordering of the placeholder lines among the grid lines and the free-space boundaries. The lowest placeholder line l(Hir[1]) lies above all grid lines l(p), where p is a row critical point on the ith row. The placeholder line l(Hir[j+1]) is above l(Hir[j]). The free-space boundary l(σi+1) is above the highest placeholder line l(Hir[2nmir+2]). The ordering involving vertical placeholder lines is analogously defined. The set of placeholder lines defined by Hic are between l(πi+1) and the rightmost grid line in the ith column.

For vertices in 𝒢g defined by l(p), add a directed edge (v(p,q),v(p,q)) to 𝒢g if l(q) is immediately below l(q) and add a directed edge (v(q,p),v(q,p)) to 𝒢g if l(q) is immediately to the left of l(q). If l(q) and l(q) overlap, then break ties using the same ordering as in 𝒢f. Add additional diagonal directed edge (v(p,q),v(p,q)) if p is immediately to the left of p and q is immediately below q. Note that a vertex defined by two placeholder points is simultaneously a placeholder vertex as well as an interior vertex.

Next, we check that our construction fits the grid graph definition of [14]. An N×N grid graph consists of vertices numbered from (1,1) to (N,N) and edges from vertex (i,j) to each of vertices (i+1,j), (i,j+1), and (i+1,j+1), where the weight of a vertex is either 1 or 0. By construction, every of n1 rows in 𝒟δ(π,σ) contains exactly 2n critical points and placeholder points combined. Together with n horizontal boundaries, there are N=2n(n1)+n=2n2n horizontal lines. For the same reasons, there are N vertical lines. Clearly, 𝒢δg(π,σ) is an N×N grid graph.

Before proving that 𝒢δf(π,σ) and 𝒢δg(π,σ) are equivalent in terms of st-reachability, we first show that a feasible path P𝒢g has several desired properties. Recall from Section 3 that a feasible path is bi-monotone and only passes through activated vertices. By the monotonicity of a feasible path and the convexity of the free-space in a cell, we observe the following (see the full version for the proof).

Observation 8.

Let P be a feasible path in 𝒢g. If P contains a corner vertex v(πi,σj), then let l(pl) and l(pr) be the first grid lines that are not placeholder lines to the left and right of l(πi), respectively. Similarly, let l(pa) and l(pb) be the first grid line above and below l(σj) respectively. Then, we have either w(v(pl,σj))=1 or w(v(πi,pb))=1. Analogously, we have either w(v(πi,pa))=1 or w(v(pr,σj))=1.

Due to the properties of 𝒢g, a diagonal edge in a path P can be replaced by using the rectilinear edges in the same “cube”. Furthermore, if the final vertex b of a subpath PjP is a placeholder vertex, we can transform Pj such that it ends at a non-placeholder vertex. We have the following lemma.

Lemma 9.

If there is a feasible path P in a grid graph 𝒢g, there is a feasible path P in 𝒢g with the following properties.

  1. 1.

    P does not contain diagonal edges.

  2. 2.

    For every 1jn, the first vertex of P partly defined by σj is not a placeholder vertex.

Proof.

We first replace the diagonal edges in P. Consider a diagonal edge (a,b)P in the “cube”, where (a,ct) and (cb,b) are the vertical edges, and (a,cb) and (ct,b) are horizontal edges. Observe that by construction, either both a and b lie on the boundaries, or at least one of them is an interior vertex. If both a and b lie on the boundaries, either cb or ct must be activated, since the opposite would contradict either Observation 8 or the convexity of the free-space in a cell.

If a is an interior vertex, we consider the following cases. If b is also an interior vertex, then so are ct and cb with weight 1, and we replace (a,b) with (a,ct) and (ct,b). If b is a boundary vertex, then either cb or ct is an interior vertex, and we replace (a,b) with either (a,cb) and (cb,b) or (a,ct) and (ct,b). The more interesting case is when b=v(πi+1,σj+1) is a corner vertex. In this case, cb=v(πi+1,hHir), and by construction, w(cb)=w(b)=1. We replace (a,b) with (a,cb) and (cb,b).

If b is an interior vertex, we use similar case distinctions. If a is an interior vertex, cb must also be an interior vertex. If a is a boundary vertex lying on the left (resp. bottom) boundary, then cb (resp. ct) is an interior vertex. The more interesting case is where a=v(πi,σj) is a corner vertex. In this case, both cb and ct are boundary vertices. By Observation 8, at least one of them (say cb) has weight 1, and we replace (a,b) with (a,cb) and (cb,b).

Figure 4: A path Pj1 ending at a placeholder vertex b can be transformed to end at a non-placeholder vertex c.

With P containing exclusively rectilinear edges, we partition P into subpaths lying on different rows (see Figure 4). Specifically, let PjP be the subpath containing the first vertex a defined by σj and the first vertex b defined by σj+1. We first transform Pj to guarantee that b is not defined by a placeholder point. Let b=v(hHic,σj+1), and note that w(b)=w(πi+1,σj+1)=1. Let l(p) be immediately to the left of l(Hic[1]). By Observation 8, w(c=v(p,σj+1))=1. Combining this argument with the fact that all interior vertices have weight 1 and the rectilinearity of P, we can transform Pj to end at c, and Pj+1 to start at c. Since the first vertex v(π1,σ1) and the final vertex v(πn,σn) of P are not defined by a placeholder vertex, once we apply the transformation above, the first vertex of every subpath Pj is not defined by a placeholder vertex. The proof is complete.

We next observe that if there is a path in 𝒢g that does not use a placeholder vertex, the path also exists in 𝒢f. Indeed, excluding the placeholder lines, 𝒢g and 𝒢f use the same set of grid lines and FSG boundaries, and the same ordering.

Observation 10.

If there is a path P in 𝒢g=𝒢δg(π,σ) such that P does not use any placeholder vertices or diagonal edges, then P also exists in 𝒢f=𝒢δf(π,σ).

To demonstrate that 𝒢f and 𝒢g are equivalent with respect to st-reachability, we first note that any feasible path in 𝒢g corresponds to a feasible path in 𝒢f. Specifically, given a subpath P𝒢g that traverses the “strip” defined by a single set of placeholder points, we can always construct a corresponding subpath Q𝒢f such that Q starts and ends at the same vertices as P. We have Lemma 11 and 12.

Lemma 11.

Let P be a path in 𝒢g=𝒢δg(π,σ). Let P start at a non-placeholder vertex v(p,σj). Let (v(p,q),v(p,Hjr[1])) be the last edge of P, where qHjr[1]. There exists a path Q from v(p,σj) to v(p,q) in 𝒢f=𝒢δf(π,σ).

Proof.

Figure 5: A path Qi in 𝒢f can be constructed by connecting the vertex bi where Pi ends and the vertex ai+1 where Pi+1 starts.

Let {P1,,Pu} be the subpaths of P generated by removing all placeholder vertices from P (see Figure 5). For 1iu, let Pi be a path starting from ai and ending at bi. By Observation 10, the path Pi also exists in 𝒢f. Since the placeholder vertices are removed, every ai or bi is either a boundary vertex or an interior vertex. Since the interior vertices have weight 1, a path Qi from bi to ai+1 exists in 𝒢f. We set Q=(1iu1PiQi)Pu to complete the proof.

Lemma 12.

Let P be a path in 𝒢g=𝒢δg(π,σ). Let (v(p,q),v(p,Hjr[1])) be the first edge of P, and let P ends at a non-placeholder vertex v(p,σj+1). There exists a path Q from v(p,q) to v(p,σj+1) in 𝒢f=𝒢δf(π,σ).

Proof.

If P does not contain a vertex defined by any vertical boundary, then the lemma trivially holds as the interior vertices have weight 1. Otherwise, P contains a set of vertices defined by {πu,,πw} in increasing order of indices. By Observation 8 and convexity of the free-space in a cell, there is a path P1 in 𝒢f from v(p,q) to v(πu,σj+1), and a path P2 from v(πw,σj+1) to v(p,σj+1).

Since P uses only activated vertices, for every uiw, w(v(πi,h))=1 for some hHjr. By construction of 𝒢g, v(πi,h) is activated if and only if v(πi,σj+1) is activated, whose weight must also be 1. By the convexity of the free-space within a cell, since v(πi,σj+1) and v(πi+1,σj+1) are activated, for every l(p) lying between l(πi) and l(πi+1), the vertex v(p,σj+1) is activated. Therefore, uiw, there is a path Pi𝒢f from v(πi,σj+1) to v(πi+1,σj+1) using activated vertices. We set Q=P1(uiwPi)P2 to complete the proof.

We are finally ready to show that 𝒢f and 𝒢g are equivalent in terms of st-reachability.

Lemma 13.

There exists a feasible path Pf in the free-space graph 𝒢δf(π,σ) if and only if there exists a feasible path Pg in the grid graph 𝒢δg(π,σ).

Proof.

First, we observe that if there is a feasible path Pf𝒢f, then there is a feasible path Pg𝒢g. Consider a partition of Pf into subpaths lying in different cells of the free-space diagram. Let the subpath Pi,jfP start from the vertex a to the vertex b, where a lies on the bottom or left boundary of Ci,j, and b lies on the top or right boundary of Ci,j. Since the interior vertices have weight 1, and a diagonal edge can be used if b is a corner vertex, there is a path Pi,jg𝒢g from a to b using activated vertices.

Second, we show that if there is a feasible path Pg𝒢g, then there is a feasible path Pf𝒢f. We use an analogous argument where we construct a feasible path Pf using subpaths in Pg. By Lemma 9, we know that Pg uses exclusively rectilinear edges. Furthermore, by the same Lemma 9, Pg can be partitioned into subpaths {P1g,,Pn1g} such that 1jn1, Pjg starts at a non-placeholder vertex a=v(p,σj), and ends at another non-placeholder vertex b=v(p,σj+1). We partition Pjg using its first edge (a,b), where vertex a is partly defined by a placeholder point Hjr[1]. By Lemma 11, there is a path Pjfa in 𝒢f from a to a. By Lemma 12, there is a path Pjfb in 𝒢f from a to b. We set Pjf=PjfaPjfb and Pf=jPjf to complete the proof.

Now, we show that free-space graph operations can be implemented in the grid graph efficiently. Recall from Lemmas 6 and 7 that corner vertex operations activate or deactivate a vertex of 𝒢f given an entering or leaving event, boundary vertex operations activate or deactivate a vertex of 𝒢f given an overlapping or separating event, and row operations insert or delete a row of 𝒢f given an appearing or disappearing event.

Lemma 14.

Let 𝒢ig be the associated grid graph of the free-space graph 𝒢if. Let u be a free-space graph operation that updates 𝒢1f to 𝒢2f. To update 𝒢1g to 𝒢2g, it is sufficient to update the weights of at most:

  • 𝒪(n) vertices if u is a corner vertex operation,

  • 𝒪(1) vertices if u is a boundary vertex operation, or

  • 𝒪(n) vertices if u is a row operation.

Proof.

If u is a corner vertex operation activating a corner vertex v(πi,σj), we activate v(πi,σj) in 𝒢g. Then, we activate v(πi,h1) for every h1Hj1r, and activate v(h2,σj) for every h2Hi1c. Since there are at most a linear number of placeholder points defined per row and column, this operation requires us to change the weights of 𝒪(n) vertices in 𝒢g. If u activates a boundary vertex a, we simply activate a in 𝒢g. If u deactivates a vertex, we use analogous procedure.

If u is a boundary vertex operation, to insert a row of vertices while maintain the properties of the grid graph, we take advantage of the fact that the intersection between the free-space and a cell boundary is a single interval. Specifically, to insert R(p) of vertices below R(pa) and above R(pb) in row j, let the critical point p lie on the ith vertical boundary. For 1in, if i=i, then set w(v(πi,Hjr[1]))=1. For every other value of i, set w(v(πi),Hjr[1])=1, if the weights of both v(πi,pa) and v(πi,pb) are 1. Otherwise, set w(v(πi),Hir[1])=0. Reduce the size of Hjr by one by removing Hjr[1].

We prove the correctness of the boundary vertex operation by showing that this insertion process maintains the properties of the grid graph. First, the total number of row critical points plus the placeholder points stays the same. Second, it is sufficient to determine the weight of v(πi,p) by checking the weights of v(πi,pa) and v(πi,pa). Both intersections l(πi)l(pa) and l(πi)l(pb) need to lie in the free-space for l(πi)l(p) to lie in the free-space, since the opposite suggests that there is a grid line between l(pa) and l(pb), contradicting the assumption that l(pa) and l(pb) are adjacent.

If u is a row operation, to delete R(p) lying in the jth row, let l(q) be the first grid line below l(Hjr[1]). For all 1in, set w(v(πi,q))=w(v(πi,σj)). Insert a new placeholder point at the beginning of Hjr by setting Hjr[1]=q. This process also maintains the properties of the grid graph. Column operations uses analogous arguments.

Given 𝒢i1g=𝒢δg(π,σ+ti1) and event ti, we can now transform 𝒢i1g to 𝒢ig. Specifically, in Lemma 7, we have shown that if ti is a VE event, it takes 𝒪(n) time plus 𝒪(1) corner vertex operations or row operations. If ti is a VVE event, it takes 𝒪(1) time plus 𝒪(1) boundary vertex operations. By combining Lemma 7 and Lemma 14, we can bound the number of vertex weight changes for each free-space event type.

Lemma 15.

Given 𝒢δg(π,σ+ti1) and the next event ti, to compute 𝒢δg(π,σ+ti), it takes

  • 𝒪(n) vertex weight changes if ti is a VE event, or

  • 𝒪(1) vertex weight changes if ti is a VVE event.

We can now summarize Sections 3 and 4 and state the main lemma of this section. In Lemma 3, we have shown that the Fréchet distance d(π,σ) is at most δ if and only if the refined free-space graph 𝒢f=𝒢δf(π,σ) is st-reachable. In Section 4, for each 𝒢f, we have defined an associate grid graph 𝒢g=𝒢δg(π,σ). In Lemma 13, we have shown that 𝒢g is st-reachable if and only if 𝒢f is st-reachable. Combining the above with Lemma 15, we have the following.

Lemma 16.

Let T={t1,,tm} be a complete set of free-space events containing exclusively mvve VVE events and mve VE events. Let N=2n2n, and let Tu(N) (resp. Tq(N)) be the time complexity to update (resp. query st-reachability) in an N×N grid graph. It takes

𝒪(N2+(mven+mvve)Tu(N)+mTq(N))

time to determine if there exists tiT such that d(π,σ+ti)δ.

Using the results by Alt, Knauer and Wenk [4], we can build an arrangement in the translation space. Using this arrangement, we can compute a set of complete events (translations) T containing exclusively 𝒪(n6) VVE events and 𝒪(n5) VE events. They have shown that it is sufficient to consider only translations in T to determine if there is a translation t such that d(π,σ+t)δ.

To obtain fast updates and queries in the grid graph, we use the offline dynamic grid reachability result of Bringmann, Künnemann and Nusser [14]. The problem is defined as follows. We start from a directed N×N-grid graph, and we are given a set {u1,,uU} of updates such that each update ui is to either activate or deactivate a vertex. For 1iU, the goal is to compute after each update ui whether there is a feasible path from vertex v(1,1) to v(N,N). Their result is as follows.

Fact 17 ([14, Theorem 3.4]).

Offline dynamic grid reachability can be solved in time 𝒪(N2+UN2/3log2N).

We analyze the running time. In total, we require 𝒪(n6) vertex updates for 𝒢g, and we can update a vertex and perform st-reachability queries in amortized 𝒪(N2/3log2N)=𝒪(n4/3log2n) time. Plugging these running times into Lemma 16 we obtain the following theorem.

See 1

5 Fréchet distance under transformation

In this section, we consider a class 𝒯 of transformations that is rationally parameterized or rationally represented with k degrees of freedom as defined by Wenk [56]. The set of rationally parameterized transformations is a subset of affine transformations, and an affine transformation is composed of a linear transformation and a translation. In the definition below, the pair (A,t) represents the affine transformation obtained by composing a linear transformation A, given as a d×d matrix, and a translation t, given as a d-dimensional vector.

Definition 18 ([56, Definition 25]).

Let 1kd2+d, and let p1,,pd2+d,q1,,qd2+d[X1,,Xk] be 2(d2+d) polynomials of constant degree in k variables, such that qi(x)0 for all 1id2+d and for all xk. Let ri:=pi/qi for all 1id2+d, such that ri(x):=pi(x)/qi(x) for all xk. If

𝒯={(r1(x)rd(x)rd+1(x)r2d(x)rd2d+1(x)rd2(x)),(rd2+1(x)rd2+2(x)rd2+d(x))|xk},

then we call 𝒯 rationally parameterized or rationally represented with k degrees of freedom (dof). k is called the parameter space of 𝒯.

Let k be the parameter space of 𝒯. For xk, let τx denote the transformation defined by the k-tuple x of parameters. Let π and σ be two d-dimensional polygonal curves. Let τx(σ) be the resulting curve by applying the transformation τx to σ.

In k, a vertex-vertex-edge (VVE) critical transformation 𝒯δvve(πi,πj,σw¯) is the union of every point xk such that the segment τx(σw¯) lies on the intersection of the boundary of the d-spheres centered at πi and πj, respectively, and it is formally defined as follows.

𝒯δvve(πi,πj,σw¯)={xkzσw¯,τx(z)πi=τx(z)πj=δ}

Analogously, a vertex-edge (VE) critical transformation 𝒯δve(πi,σw¯) is the union of every point xk such that the segment τx(σw¯) lie on the boundary of the d-ball centered at πi, and it is formally defined as follows.

𝒯δve(πi,σw¯)={xkzσw¯,τx(z)πi=δ}

Every critical transformation is a semi-algebraic set in k. Using 𝒪(n3) VVE critical transformations and 𝒪(n2) VE critical transformations, Wenk [56, Proof of Theorem 8] showed that they can build an arrangement 𝒜δ in k, in time 𝒪(n3k) and using 𝒪(n3k) space. Furthermore, 𝒜δ contains at most 𝒪(n3k) k-dimensional faces for 0kk1. Let τF=τx be the transformation that is represented by an arbitrary parameter xF. In [56, Lemma 24], Wenk showed that if there exists some transformation τ such that d(π,τ(σ))<δ, then there exists some k-dimensional face F𝒜δ such that for any τF, d(π,τF(σ))δ. Their results are summarized as follows.

Fact 19.

Given a pair of polygonal curves π and σ, a real number δ0, and a class 𝒯 of transformations that is rationally represented with k degrees of freedom, one can build an arrangement 𝒜δ=𝒜δ(π,σ,𝒯) using at most 𝒪(n3) VVE critical transformations and 𝒪(n2) VE critical transformations. The arrangement 𝒜δ has in total 𝒪(n3k) complexity, and it can be constructed in 𝒪(n3k) time using 𝒪(n3k) space. To determine if there exists a transformation τ𝒯 such that d(π,τ(σ))δ, it is sufficient to check exactly one transformation τF for every k-dimensional face F𝒜δ, where 0kk1.

Once the arrangement 𝒜δ is constructed, the remainder of the previous algorithm in Wenk [56] is straightforward. For every face F𝒜δ, sample a point xF, and determine if d(π,τx(σ))δ using classic algorithms (Alt and Godau [2] for example). In total, this takes 𝒪~(n3kn2) time.

To obtain a running time improvement, we use a similar approach to previous sections. We generate a complete set of events as follows. Initialize an empty graph 𝒢=(𝒱,). For every face F𝒜δ, add a vertex vF to 𝒱. For every two adjacent faces F and F, add an edge (vF,vF) to . For each vertex vF, record a transformation τF. Next, we compute a complete set of events using 𝒢. Initialize an empty set of events T. Then, use a DFS to compute a spanning tree of 𝒢, and perform a Euler tour over the spanning tree starting from an arbitrary vertex. For each directed edge e=(vF,vF) in the tour, we add an event only if we enter or leave a critical transformation. More specifically, let B(F) be the set of critical transformations adjacent to face F. If B(F)B(F)={𝒯c}, we say e traverses into the critical transformation 𝒯c via F. If B(F)B(F)={𝒯c}, we say e traverses out of the critical transformation 𝒯c via F.

Let D(p) be the d-sphere of radius δ centered at p. Depending on the cases where e traverse into or out of a VVE or VE critical transformation, we add the respective free-space events defined in Definition 4.

  1. 1.

    If 𝒯c is a VVE critical transformation 𝒯δvve=𝒯δvve(πi,πj,σw¯), we compute p=D(πi)τF(σw¯) and q=D(πj)τF(σw¯), and append an event t defined by (p,q,σw¯) to T. If e traverses into 𝒯c, t is an overlapping event. If e traverses out of 𝒯δvve, t is a separating event.

  2. 2.

    If 𝒯c is a VE critical transformation 𝒯δve=𝒯δve(πi,σw¯), we compute p=D(πi)σw¯, and we append an event t represented by (p,σw¯) to T. If e traverses into 𝒯c, t is an entering event if p=πi, or an appearing event if pπi. Analogously, if e traverses out of 𝒯c, te is a leaving event if p=πi, or a disappearing event if pπi.

We say an event t is associated with the critical transformation 𝒯c and the edge e, if t is computed from an edge e traversing into or out of 𝒯c. We show that T has two desired properties.

Lemma 20.

Given the arrangement 𝒜δ=𝒜δ(π,σ,𝒯), one can compute a complete set T={t1,,t𝒪(n3k)} of free-space events in 𝒪(n3k) time with the following properties.

  1. 1.

    Every face in 𝒜δ is associated with at least one event in T.

  2. 2.

    For each event ti associated with edge (vF,vF), 𝒢δf(π,τF(σ)) and 𝒢δf(π,τF(σ)) differ by exactly one free-space event.

Proof.

Note that 𝒢 is connected and contains a vertex vF for every face F𝒜δ. The Euler tour that we constructed over 𝒢 visits every vertex of 𝒢, and hence every face of 𝒜δ, at least once. Moreover, note that a pair of adjacent faces in 𝒜δ is separated by exactly one critical arrangement, which we recall is a semi-algebraic set in k. Therefore, any edge (vF,vF) in the Euler tour traverses exactly one critical transformation, that is, the transformation associated with the critical arrangement separating the adjacent faces F and F.

We next argue that the free-space graph does not change unless a free-space event occurs. It is clear that unless an appearing or disappearing event occurs, neither the vertices nor the edges in a free-space graph 𝒢f change. What remains is to argue that the vertex weights do not change unless an event occurs. More specifically, unless a free-space event occurs, no intersection a=l(p)l(q) enter or leave the free-space.

For the sake of contradiction, say that a either enters or leaves the free-space and a free-space event does not occur. Clearly, v(p,q) cannot be a corner vertex, as the weight change is explicitly captured by the entering/leaving event. v(p,q) cannot be an interior vertex, as every interior vertex has weight 1 regardless.

Therefore, v(p,q) is a boundary vertex and a is a critical point. Without loss of generality, let p be a vertex of π. If a enters the free-space, a must coincide with a critical point b=l(p)l(q), so grid lines l(p) and l(p) overlap. If a leaves the free-space, a must first coincide with (again say) b, so the grid lines l(p) and l(p) separate. In both cases, either an overlapping event occurs or a separating event occurs, contradicting the assumption.

Let p (resp. q) be a critical point on the ith (resp. jth) free-space boundary. We next argue that no free-space event occurs unless we traverse into or out of a critical transformation. This is true by the definition. An entering/appearing (resp. leaving/disappearing) event defined by (p,πw¯) occurs only when the associated edge (vF,vF) traverses into (resp. out of) the critical transformation 𝒯δve(πi,σw¯). An overlapping (resp. separating) event defined by (p,q,σw¯) occurs only when (vF,vF) traverses into (resp. out of) the critical transformation 𝒯δvve(πi,πj,σw¯).

Observe that exactly one free-space event occurs every time we traverse into or out of a critical transformation, which is captured by the Euler tour. Therefore, every face is associated with at least one event in T, and for every edge (vF,vF) associated with an event tT, 𝒢f(π,τF(σ)) and 𝒢f(π,τF(σ)) differ by exactly one event.

We also observe that fewer faces are adjacent to VE critical transformations than to VVE critical transformations (see the full version for the proof).

Observation 21.

In the arrangement 𝒜δ=𝒜δ(π,σ,𝒯), there are at most 𝒪(n3k) faces adjacent to VVE critical transformations, and 𝒪(n3k1) faces adjacent to VE critical transformations.

We are now ready to put the pieces together to obtain a faster algorithm for computing the Fréchet distance under rationally parameterized transformations. Given a real number δ0, a class 𝒯 of transformations rationally represented with k degrees of freedom, and a pair of polygonal curves π and σ, each with n vertices, it was shown in Wenk [56] that it is sufficient to construct an arrangement 𝒜δ in the parameter space k and sample a transformation from each face. In Lemma 20, we showed that we can traverse this arrangement and generate a complete set of 𝒪(n3k) free-space events in 𝒪(n3k) time. Our results in Section 3 and 4 for handling free-space events under translations also extend to handling free-space events under rationally parameterized transformations, and therefore we can plug in the number of updates to Lemma 16. Our algorithm takes 𝒪(n4+n3k(Tu(n2)+Tq(n2)) time, where Tu(n2) is the time complexity to update a vertex and Tq(n2) is the time complexity to query st-reachability in an 𝒪(n2)×𝒪(n2)-grid graph. For a fast query time Tq(n2), we again use the result of Bringmann, Künnemann and Nusser [14], which we restate for convenience.

Fact 22 ([14, Theorem 3.4], restate of Fact 17).

Offline dynamic grid reachability can be solved in time 𝒪(N2+UN2/3log2N).

By Fact 22, Tu(n2)+Tq(n2) takes amortized 𝒪(n4/3log2n) time. For classes of rationally parameterized transformations with at least one degree of freedom, we state our final result.

See 2

6 Conclusion

Our algorithm provides the first progress in over 20 years for computing the (continuous) Fréchet distance under transformations. The running time comes from traversing an arrangement in the space of transformations, performing an update to a dynamic grid graph data structure in each step.

We conclude with open questions. Can the update time be reduced? Improving the update time for the data structure of [14] would directly improve our running time. But it may also be possible to tailor the data structure for our setting. For instance, we could prune the lower levels of the data structure, since reachability in the inside of free space cells does not carry any information.

Can we prove a non-trivial conditional lower bound for computing the Fréchet distance under translations? The complexity of the arrangement, Ω(n6), would seem like a natural lower bound. However, even transferring the n4o(1) conditional lower bound for the discrete Fréchet distance under translation [14] to the (continuous) Fréchet distance seems difficult, since the lower bound construction crucially relies on the fact that the discrete Fréchet traversal can only stay on the vertices and not on the edges.

References

  • [1] Helmut Alt. The computational geometry of comparing shapes. In Susanne Albers, Helmut Alt, and Stefan Näher, editors, Efficient Algorithms, Essays Dedicated to Kurt Mehlhorn on the Occasion of His 60th Birthday, volume 5760 of Lecture Notes in Computer Science, pages 235–248. Springer, 2009. doi:10.1007/978-3-642-03456-5_16.
  • [2] Helmut Alt and Michael Godau. Computing the Fréchet distance between two polygonal curves. International Journal of Computational Geometry & Applications, 05:75–91, 1995. doi:10.1142/S0218195995000064.
  • [3] Helmut Alt and Leonidas J. Guibas. Discrete geometric shapes: Matching, interpolation, and approximation. In Jörg-Rüdiger Sack and Jorge Urrutia, editors, Handbook of Computational Geometry, chapter 3, pages 121–153. North Holland / Elsevier, 2000. doi:10.1016/B978-044482537-7/50004-8.
  • [4] Helmut Alt, Christian Knauer, and Carola Wenk. Matching polygonal curves with respect to the Fréchet distance. In Proc. 18th Annual Symposium on Theoretical Aspects of Computer Science (STACS), pages 63–74. Springer, 2001. doi:10.1007/3-540-44693-1_6.
  • [5] Helmut Alt, Ludmila Scharf, and Sven Scholz. Probabilistic matching and resemblance evaluation of shapes in trademark images. In Proc. 6th ACM International Conference on Image and Video Retrieval (CIVR), pages 533–540. ACM, 2007. doi:10.1145/1282280.1282357.
  • [6] Boris Aronov, Tsuri Farhana, Matthew J. Katz, and Indu Ramesh. Discrete Fréchet distance oracles. In Proc. 40th International Symposium on Computational Geometry (SoCG), volume 293 of LIPIcs, pages 10:1–10:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPICS.SOCG.2024.10.
  • [7] Rinat Ben Avraham, Haim Kaplan, and Micha Sharir. A faster algorithm for the discrete Fréchet distance under translation. CoRR, abs/1501.03724, 2015. arXiv:1501.03724.
  • [8] Julian Baldus and Karl Bringmann. A fast implementation of near neighbors queries for Fréchet distance (GIS Cup). In Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, SIGSPATIAL’17, pages 99:1–99:4, New York, NY, USA, 2017. ACM. doi:10.1145/3139958.3140062.
  • [9] Lotte Blank, Jacobus Conradi, Anne Driemel, Benedikt Kolbe, André Nusser, and Marena Richter. Transforming dogs on the line: On the Fréchet distance under translation or scaling in 1D. In Proceedings of the 41st International Symposium on Computational Geometry (SoCG), 2025. arXiv:2501.12821. doi:10.48550/arXiv.2501.12821.
  • [10] Lotte Blank and Anne Driemel. A faster algorithm for the Fréchet distance in 1d for the imbalanced case. In Proc. 32nd Annual European Symposium on Algorithms (ESA), volume 308 of LIPIcs, pages 28:1–28:15. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPICS.ESA.2024.28.
  • [11] Karl Bringmann and Bhaskar Ray Chaudhury. Polyline simplification has cubic complexity. J. Comput. Geom., 11(2):94–130, 2020. doi:10.20382/JOCG.V11I2A5.
  • [12] Karl Bringmann, Anne Driemel, André Nusser, and Ioannis Psarros. Tight bounds for approximate near neighbor searching for time series under the Fréchet distance. In Proc. ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 517–550. SIAM, 2022. doi:10.1137/1.9781611977073.25.
  • [13] Karl Bringmann, Marvin Künnemann, and André Nusser. When lipschitz walks your dog: Algorithm engineering of the discrete fréchet distance under translation. In Fabrizio Grandoni, Grzegorz Herman, and Peter Sanders, editors, 28th Annual European Symposium on Algorithms, ESA 2020, September 7-9, 2020, Pisa, Italy (Virtual Conference), volume 173 of LIPIcs, pages 25:1–25:17. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2020. doi:10.4230/LIPICS.ESA.2020.25.
  • [14] Karl Bringmann, Marvin Künnemann, and André Nusser. Discrete Fréchet distance under translation: Conditional hardness and an improved algorithm. ACM Trans. Algorithms, 17(3):25:1–25:42, 2021. doi:10.1145/3460656.
  • [15] Karl Bringmann, Marvin Künnemann, and André Nusser. Walking the dog fast in practice: Algorithm engineering of the fréchet distance. J. Comput. Geom., 12(1):70–108, 2021. doi:10.20382/JOCG.V12I1A4.
  • [16] 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), volume 244 of LIPIcs, pages 28:1–28:16. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2022. doi:10.4230/LIPICS.ESA.2022.28.
  • [17] 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, June 2011. doi:10.1142/S0218195911003652.
  • [18] Kevin Buchin, Maike Buchin, Joachim Gudmundsson, Aleksandr Popov, and Sampson Wong. Map-matching queries under Fréchet distance on low-density spanners. In Proc. 40th International Symposium on Computational Geometry (SoCG), volume 293 of LIPIcs, pages 27:1–27:15. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPICS.SOCG.2024.27.
  • [19] Kevin Buchin, Yago Diez, Tom van Diggelen, and Wouter Meulemans. Efficient trajectory queries under the Fréchet distance (GIS Cup). In Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, SIGSPATIAL’17, pages 101:1–101:4, New York, NY, USA, 2017. ACM. doi:10.1145/3139958.3140064.
  • [20] Kevin Buchin, Anne Driemel, Joachim Gudmundsson, Michael Horton, Irina Kostitsyna, Maarten Löffler, and Martijn Struijs. Approximating (k,)-center clustering for curves. In Proc. 30th ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2922–2938. SIAM, 2019. doi:10.1137/1.9781611975482.181.
  • [21] Kevin Buchin, Anne Driemel, Natasja van de L’Isle, and André Nusser. klcluster: Center-based clustering of trajectories. In Farnoush Banaei Kashani, Goce Trajcevski, Ralf Hartmut Güting, Lars Kulik, and Shawn D. Newsam, editors, Proceedings of the 27th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, SIGSPATIAL 2019, Chicago, IL, USA, November 5-8, 2019, pages 496–499. ACM, 2019. doi:10.1145/3347146.3359111.
  • [22] Kevin Buchin, Chenglin Fan, Maarten Löffler, Aleksandr Popov, Benjamin Raichel, and Marcel Roeloffzen. Fréchet distance for uncertain curves. ACM Trans. Algorithms, 19(3):29:1–29:47, 2023. doi:10.1145/3597640.
  • [23] Kevin Buchin, Brittany Terese Fasy, Erfan Hosseini Sereshgi, and Carola Wenk. On length-sensitive Fréchet similarity. In Proc. 18th International Symposium on Algorithms and Data Structures (WADS), volume 14079 of Lecture Notes in Computer Science, pages 208–231. Springer, 2023. doi:10.1007/978-3-031-38906-1_15.
  • [24] Kevin Buchin, Maarten Löffler, Tim Ophelders, Aleksandr Popov, Jérôme Urhausen, and Kevin Verbeek. Computing the Fréchet distance between uncertain curves in one dimension. Comput. Geom., 109:101923, 2023. doi:10.1016/J.COMGEO.2022.101923.
  • [25] Kevin Buchin, Tim Ophelders, and Bettina Speckmann. SETH says: Weak Fréchet distance is faster, but only if it is continuous and in one dimension. In Proc. 30th ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2887–2901. SIAM, 2019. doi:10.1137/1.9781611975482.179.
  • [26] Maike Buchin, Anne Driemel, and Dennis Rohde. Approximating (k,)-median clustering for polygonal curves. ACM Trans. Algorithms, 19(1):4:1–4:32, 2023. doi:10.1145/3559764.
  • [27] Maike Buchin, Ivor van der Hoog, Tim Ophelders, Lena Schlipf, Rodrigo I. Silveira, and Frank Staals. Efficient Fréchet distance queries for segments. In Proc. 30th Annual European Symposium on Algorithms (ESA), volume 244 of LIPIcs, pages 29:1–29:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2022. doi:10.4230/LIPICS.ESA.2022.29.
  • [28] Siu-Wing Cheng and Haoqiang Huang. Curve simplification and clustering under Fréchet distance. In Proc. ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 1414–1432. SIAM, 2023. doi:10.1137/1.9781611977554.CH51.
  • [29] Siu-Wing Cheng and Haoqiang Huang. Fréchet distance in subquadratic time. CoRR, abs/2407.05231, 2024. To appear at SODA 2025. doi:10.48550/arXiv.2407.05231.
  • [30] Siu-Wing Cheng and Haoqiang Huang. Solving Fréchet distance problems by algebraic geometric methods. In Proc. ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 4502–4513. SIAM, 2024. doi:10.1137/1.9781611977912.158.
  • [31] Connor Colombe and Kyle Fox. Approximating the (continuous) Fréchet distance. In Proc. 37th International Symposium on Computational Geometry (SoCG), volume 189 of LIPIcs, pages 26:1–26:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2021. doi:10.4230/LIPICS.SOCG.2021.26.
  • [32] Krzysztof Diks and Piotr Sankowski. Dynamic plane transitive closure. In Lars Arge, Michael Hoffmann, and Emo Welzl, editors, Algorithms - ESA 2007, 15th Annual European Symposium, Eilat, Israel, October 8-10, 2007, Proceedings, volume 4698 of Lecture Notes in Computer Science, pages 594–604. Springer, 2007. doi:10.1007/978-3-540-75520-3_53.
  • [33] Anne Driemel, Ivor van der Hoog, and Eva Rotenberg. On the discrete Fréchet distance in a graph. In Proc. 38th International Symposium on Computational Geometry, (SoCG), volume 224 of LIPIcs, pages 36:1–36:18. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2022. doi:10.4230/LIPICS.SOCG.2022.36.
  • [34] Fabian Dütsch and Jan Vahrenhold. A filter-and-refinement-algorithm for range queries based on the Fréchet distance (GIS Cup). In Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, SIGSPATIAL’17, pages 100:1–100:4, New York, NY, USA, 2017. ACM. doi:10.1145/3139958.3140063.
  • [35] Alon Efrat, Piotr Indyk, and Suresh Venkatasubramanian. Pattern matching for sets of segments. Algorithmica, 40(3):147–160, 2004. doi:10.1007/S00453-004-1089-Y.
  • [36] Chenglin Fan and Benjamin Raichel. Computing the Fréchet gap distance. Discrete & Computational Geometry, 65(4):1244–1274, June 2021. doi:10.1007/s00454-020-00224-w.
  • [37] Arnold Filtser and Omrit Filtser. Static and streaming data structures for Fréchet distance queries. ACM Trans. Algorithms, 19(4):39:1–39:36, 2023. doi:10.1145/3610227.
  • [38] Arnold Filtser, Omrit Filtser, and Matthew J. Katz. Approximate nearest neighbor for curves: Simple, efficient, and deterministic. Algorithmica, 85(5):1490–1519, 2023. doi:10.1007/S00453-022-01080-1.
  • [39] Omrit Filtser, Mayank Goswami, Joseph S. B. Mitchell, and Valentin Polishchuk. On flipping the Fréchet distance. In Proc. 14th Innovations in Theoretical Computer Science Conference (ITCS), volume 251 of LIPIcs, pages 51:1–51:22. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. doi:10.4230/LIPICS.ITCS.2023.51.
  • [40] Emily Fox, Amir Nayyeri, Jonathan James Perry, and Benjamin Raichel. Fréchet edit distance. In Proc. 40th International Symposium on Computational Geometry (SoCG), volume 293 of LIPIcs, pages 58:1–58:15. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPICS.SOCG.2024.58.
  • [41] Joachim Gudmundsson, Zijin Huang, André van Renssen, and Sampson Wong. Computing a Subtrajectory Cluster from c-Packed Trajectories. In Satoru Iwata and Naonori Kakimura, editors, 34th International Symposium on Algorithms and Computation (ISAAC 2023), volume 283 of Leibniz International Proceedings in Informatics (LIPIcs), pages 34:1–34:15, Dagstuhl, Germany, 2023. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.ISAAC.2023.34.
  • [42] Joachim Gudmundsson, Martin P. Seybold, and Sampson Wong. Map matching queries on realistic input graphs under the Fréchet distance. In Proc. 2023 ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 1464–1492. SIAM, 2023. doi:10.1137/1.9781611977554.CH53.
  • [43] Joachim Gudmundsson, André van Renssen, Zeinab Saeidi, and Sampson Wong. Translation invariant Fréchet distance queries. Algorithmica, 83(11):3514–3533, 2021. doi:10.1007/S00453-021-00865-0.
  • [44] Joachim Gudmundsson and Sampson Wong. Cubic upper and lower bounds for subtrajectory clustering under the continuous Fréchet distance. In Proc. ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 173–189. SIAM, 2022. doi:10.1137/1.9781611977073.9.
  • [45] Minghui Jiang, Ying Xu, and Binhai Zhu. Protein structure-structure alignment with discrete Fréchet distance. In Proc. 5th Asia-Pacific Bioinformatics Conference (APBC), volume 5 of Advances in Bioinformatics and Computational Biology, pages 131–141. Imperial College Press, 2007. URL: http://www.comp.nus.edu.sg/%7Ewongls/psZ/apbc2007/apbc162a.pdf.
  • [46] Adam Karczmarz and Marcin Smulewicz. Fully Dynamic Strongly Connected Components in Planar Digraphs. In Karl Bringmann, Martin Grohe, Gabriele Puppis, and Ola Svensson, editors, 51st International Colloquium on Automata, Languages, and Programming (ICALP 2024), volume 297 of Leibniz International Proceedings in Informatics (LIPIcs), pages 95:1–95:20, Dagstuhl, Germany, 2024. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.ICALP.2024.95.
  • [47] Christian Knauer. Algorithms for Comparing Geometric Patterns. PhD thesis, Free University Berlin, 2002. doi:10.17169/refubium-16312.
  • [48] Abhinandan Nath and Erin Taylor. k-median clustering under discrete Fréchet and hausdorff distances. In Proc. 36th International Symposium on Computational Geometry (SoCG), volume 164 of LIPIcs, pages 58:1–58:15. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2020. doi:10.4230/LIPICS.SOCG.2020.58.
  • [49] E. Sriraghavendra, K. Karthik, and Chiranjib Bhattacharyya. Fréchet distance based approach for searching online handwritten documents. In Proc. 9th International Conference on Document Analysis and Recognition (ICDAR), pages 461–465. IEEE Computer Society, 2007. doi:10.1109/ICDAR.2007.4378752.
  • [50] Sairam Subramanian. A fully dynamic data structure for reachability in planar digraphs. In Thomas Lengauer, editor, Algorithms - ESA ’93, First Annual European Symposium, Bad Honnef, Germany, September 30 - October 2, 1993, Proceedings, volume 726 of Lecture Notes in Computer Science, pages 372–383. Springer, 1993. doi:10.1007/3-540-57273-2_72.
  • [51] Mees van de Kerkhof, Irina Kostitsyna, Maarten Löffler, Majid Mirzanezhad, and Carola Wenk. Global curve simplification. In Proc. 27th Annual European Symposium on Algorithms (ESA), volume 144 of LIPIcs, pages 67:1–67:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2019. doi:10.4230/LIPICS.ESA.2019.67.
  • [52] Thijs van der Horst and Tim Ophelders. Faster Fréchet distance approximation through truncated smoothing. In Proc. 40th International Symposium on Computational Geometry (SoCG), volume 293 of LIPIcs, pages 63:1–63:15. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPICS.SOCG.2024.63.
  • [53] Thijs van der Horst, Marc J. van Kreveld, Tim Ophelders, and Bettina Speckmann. A subquadratic nϵ-approximation for the continuous Fréchet distance. In Proc. ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 1759–1776. SIAM, 2023. doi:10.1137/1.9781611977554.CH67.
  • [54] Marc J. van Kreveld, Maarten Löffler, and Lionov Wiratma. On optimal polyline simplification using the Hausdorff and Fréchet distance. J. Comput. Geom., 11(1):1–25, 2020. doi:10.20382/JOCG.V11I1A1.
  • [55] Remco C. Veltkamp. Shape matching: Similarity measures and algorithms. In Proc. International Conference on Shape Modeling and Applications (SMI), page 188. IEEE Computer Society, 2001. doi:10.1109/SMA.2001.923389.
  • [56] Carola Wenk. Shape Matching in Higher Dimensions. PhD thesis, Free University Berlin, 2003. doi:10.17169/refubium-8310.