Abstract 1 Introduction 2 Preliminaries 3 Technical Overview 4 Offline Incremental Weighted Directed Shortest Path 5 Incremental Shortest Paths with Predictions 6 All Pairs Shortest Paths 7 Conclusion References

Incremental Approximate Single-Source Shortest Paths with Predictions

Samuel McCauley Williams College, Williamstown, MA, USA Benjamin Moseley ORCID Carnegie Mellon University, Pittsburgh, PA, USA Aidin Niaparast Carnegie Mellon University, Pittsburgh, PA, USA Helia Niaparast Carnegie Mellon University, Pittsburgh, PA, USA Shikha Singh ORCID Williams College, Williamstown, MA, USA
Abstract

The algorithms-with-predictions framework has been used extensively to develop online algorithms with improved beyond-worst-case competitive ratios. Recently, there is growing interest in leveraging predictions for designing data structures with improved beyond-worst-case running times. In this paper, we study the fundamental data structure problem of maintaining approximate shortest paths in incremental graphs in the algorithms-with-predictions model. Given a sequence σ of edges that are inserted one at a time, the goal is to maintain approximate shortest paths from the source to each vertex in the graph at each time step. Before any edges arrive, the data structure is given a prediction of the online edge sequence σ^ which is used to “warm start” its state.

As our main result, we design a learned algorithm that maintains (1+ϵ)-approximate single-source shortest paths, which runs in O~(mηlogW/ϵ) time, where W is the weight of the heaviest edge and η is the prediction error. We show these techniques immediately extend to the all-pairs shortest-path setting as well. Our algorithms are consistent (performing nearly as fast as the offline algorithm) when predictions are nearly perfect, have a smooth degradation in performance with respect to the prediction error and, in the worst case, match the best offline algorithm up to logarithmic factors. That is, the algorithms are “ideal” in the algorithms-with-predictions model.

As a building block, we study the offline incremental approximate single-source shortest-path (SSSP) problem. In the offline incremental SSSP problem, the edge sequence σ is known a priori and the goal is to construct a data structure that can efficiently return the length of the shortest paths in the intermediate graph Gt consisting of the first t edges, for all t. Note that the offline incremental problem is defined in the worst-case setting (without predictions) and is of independent interest.

Keywords and phrases:
Algorithms with Predictions, Shortest Paths, Approximation Algorithms, Dynamic Graph Algorithms
Category:
Track A: Algorithms, Complexity and Games
Funding:
Samuel McCauley: Supported in part by NSF CCF-2103813.
Benjamin Moseley: Supported in part by Google Research Award, an Infor Research Award, a Carnegie Bosch Junior Faculty Chair, NSF grants CCF-2121744 and CCF-1845146.
Aidin Niaparast: Supported in part by the Air Force Office of Scientific Research under award number FA9550-23-1-0031 and NSF award CCF-1845146.
Helia Niaparast: Supported in part by NSF CCF-1845146.
Shikha Singh: Supported in part by NSF CCF-1947789.
Copyright and License:
[Uncaptioned image] © Samuel McCauley, Benjamin Moseley, Aidin Niaparast, Helia Niaparast, and
Shikha Singh; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Shortest paths
Related Version:
Full Version: https://www.arxiv.org/abs/2502.08125 [35]
Editors:
Keren Censor-Hillel, Fabrizio Grandoni, Joël Ouaknine, and Gabriele Puppis

1 Introduction

The efficiency of algorithms is typically measured in the worst-case model. The worst-case model makes a fundamental assumption that algorithmic problems are solved from scratch. In real applications, many problems are solved repeatedly on similar input instances. There has been a growing interest in improving the running time of algorithms by leveraging similarities across problem instances. The goal is to warm start the algorithm; that is, initialize it with a machine-learned state, speeding up its running time. This initial state is learned from the past instances of the problem.

This recent line of work has given rise to a widely-applicable model for beyond-worst-case running time analysis. The area has come to be known as algorithms with predictions. In the algorithms-with-predictions model, the goal is to establish strong worst-case-style guarantees for the algorithm. The critical difference is that the running time of the algorithm is parameterized by the quality of the learned starting state; that is, the prediction quality. The algorithms designed in this model are also frequently referred to as learning-augmented or simply learned algorithms.

Ideally, an algorithm outperforms the best worst-case algorithm with high quality predictions (i.e. the algorithm is consistent). When the predictions are incorrect, the algorithm’s performance should degrade proportionally to the error (i.e. the algorithm should be smooth) and never be worse than the best worst-case algorithm (i.e. the algorithm is robust). If an algorithm is consistent, smooth, and robust, it is called an ideal learned algorithm.

Kraska et al. [27] empirically demonstrated how machine-learned predictions can speed up data structures. This seminal paper inspired Dinitz et al. [15] to propose a theoretical framework to leverage predictions to speed up offline algorithms. Since this work, several papers have used predictions to improve the running time of offline combinatorial optimization problems such as maximum flow [12, 40], shortest path [29], and convex optimization [43]. Recently, Srinivas and Blum [45] give a framework for utilizing multiple offline predictions to improve the running time of online optimization problems. This growing body of theoretical and empirical work shows the incredible potential of using machine-learned predictions to improve the efficiency of algorithms. The prediction framework provides a rich and algorithmically interesting landscape that is yet to be understood.

Data structures are a critical building block for dynamic algorithms for optimization problems. There is a growing body of theoretical work on designing ideal algorithms for data structure problems [31, 36, 37, 47, 32, 2, 48, 1, 14]; see Section 1.1 for details. Predictions have been particularly effective at speeding up data structures for dynamic graph problems, which typically incur polynomial update times in the worst case. In particular, McCauley et al. [37] use predictions to design faster data structures for incremental topological maintenance and cycle detection. Henzinger et al. [22] and van den Brand et al. [47] initiate the use of predictions for designing faster dynamic graph algorithms. In particular, van den Brand et al. [47] solve the online matrix-vector multiplication with predictions and use it to obtain faster algorithms for several dynamic graph problems such as incremental all-pairs shortest paths, reachability, and triangle detection. Liu and Srinivas [32] give efficient black-box transformations from offline divide-and-conquer style algorithms to fully dynamic learned algorithms that are given predictions about the update sequence. These initial results demonstrate incredible potential and there is a need to develop algorithmic techniques for designing data structures that can leverage predictions. Towards this goal, in this paper, we study the fundamental data structure problem of maintaining approximate single-source shortest paths in dynamic graphs with edge insertions. No learned data structure has been developed for this problem despite being a clear target in the area.

Incremental Single-Source Shortest Paths

In this paper, we design a data structure to maintain shortest paths in a weighted directed graph when edges are inserted over time. Initially, all nodes V of the graph are available and, in the single-source case, a source s is specified. There are m edges that arrive one by one: at each time step t, an edge (with a positive weight) is added to the graph. The goal is to design a data structure that approximately stores the shortest path distance from the source s to every other vertex v in the graph. Let dt(s,v) be the distance between s and v after t edge insertions. Let d^t(s,v) be an approximation of dt(s,v) computed by the algorithm after t edges arrive. The algorithm needs to efficiently compute d^t(s,v) such that dt(s,v)d^t(s,v)(1+ϵ)dt(s,v) for some constant ϵ>0.

Incremental shortest paths is a fundamental algorithmic problem used in applications as well as a building block for other data structures [42, 21]. This problem has been extensively studied in the literature [18, 6, 7, 28, 9, 19, 20]. The best-known worst-case update times for the problem are O~(n2logW/ϵ2.5+m) [41] for dense graphs and a O~(m4/3logW/ϵ2) algorithm [28] for sparse graphs.111The O~ notation suppresses log factors.

Recently, Henzinger et al. [22] and van den Brand [47] applied predictions to the problem of computing all-pairs shortest paths (APSP) in incremental graphs. We follow their prediction model in which the data structure is given a prediction of the online edge sequence σ^ before any edges arrive. The performance of the algorithm is given in terms of the prediction error. Define an edge e’s error ηe as the difference between its arrival time in σ^ and σ and the aggregate error η as the maxeηe. They show that for the incremental APSP problem, predictions can be used to support O(1)-lookup time and O(η2) time per edge insert, which is optimal under the Online Matrix-Vector Multiplication Hypothesis [47]. The preprocessing time used in [22] is O(mn3), and it is O(n(3+ω)/2) in [47] where ω is the exponent from matrix multiplication.

Their work leaves open an important question – can predictions also help speed up the related and fundamental problem of maintaining approximate single-source shortest paths under edge inserts, which has not yet been studied in this framework.

Our Contributions

The main contribution of this paper is a new learned data structure for the incremental approximate SSSP problem and a demonstration that it is ideal (consistent, robust, and smooth) with respect to the prediction error. As a building block, we study the offline version of the problem that has not previously been considered, which is of independent interest.

We show that these techniques extend to the all-pairs shortest-path problem as well.

Offline Incremental Single-Source Shortest Paths

We give a new algorithm for the offline version of the incremental shortest path problem. In the offline version of the problem, the sequence of arriving edges is given in advance where each edge is assigned a unique time. The goal is to maintain approximate distances d^t(s,v) for all v and all times t as efficiently as possible. That is, given a query (v,t), the data structure outputs the approximate shortest path from source s to vertex v in the graph with edges inserted up to time t. By reversing time, the incremental and decremental versions of this problem are immediately equivalent.

Surprisingly, to our knowledge, past work in the offline setting has focused solely on exact, rather than approximate, incremental shortest path. These exact versions have strong lower bounds. Roddity and Zwick [42] show that for the incremental/decremental single-source shortest paths problem in weighted directed (or undirected) graphs, the amortized query/update time must be n1o(1), unless APSP can be solved in truly subcubic time (i.e. n3ϵ for constant ϵ>0).

We show that the offline approximate version of the problem can be solved significantly faster than the exact version in the worst-case setting. This natural problem reveals key algorithmic ideas for designing our learned online SSSP algorithm.

Theorem 1.

For the offline incremental SSSP problem there exists an algorithm running in worst-case total time O(mlog(nW)(log3n)(loglogn)/ϵ) that returns (1+ϵ) approximate single-source shortest paths for each time t.

A similar result was discovered independently and concurrently by [17].

Predictions Model and Learned Online Single Source Shortest Paths

Let σ=e1,,em denote the actual online sequence of edge inserts. Before any edges arrive, the algorithm receives a prediction of this sequence, σ^. This is the same prediction model considered by Henzinger et al. [22] and van den Brand [47] for the all-pairs shortest-paths problem. Let index(e) be the index of e in σ and index^(e) be the index of e in σ^. Define index^(e):=m+1 for edges e that are not in σ^. Let ηe=|index(e)index^(e)| for each edge e in σ.

We first describe the performance of our learned SSSP algorithm in terms of parameters τ and HIGH(τ). For any τ, define HIGH(τ) to be the set of edges e in σ with error ηe>τ. Then, we show that the bounds obtained are more robust than several natural measures of prediction error.

Theorem 2.

There is a learned online single-source shortest path algorithm that given a prediction σ^ gives the following guarantees:

  • The algorithm maintains a (1+ϵ)-approximate shortest path among edges that have arrived.

  • The total running time for all edge inserts is O~(m(1+minτ{τ+|HIGH(τ)|})logW/ϵ).

Our algorithm uses the offline algorithm as a black box, and therefore our results also apply to the decremental problem in which edges are deleted one by one.

This theorem can be used to give results for two natural error measures. We call the first error measure, the edit distance Edit(σ,σ^), defined as the minimum number of insertions and deletions needed to transform σ to the prediction σ^. To the best of our knowledge this is a new error measure.

The second error measure is η=maxeσηe the maximum error of any edge; this measure was also used by past work (e.g. [47, 36, 37]). The theorem gives the following corollary.

Corollary 3.

There is a learned online algorithm that maintains (1+ϵ)-approximate shortest paths and has running time at most the minimum of O~(m(1+Edit(σ,σ^))logW/ϵ) and O~(m(1+η)logW/ϵ).

The corollary can be seen as follows. By definition, there are no edges in HIGH(η). Thus, setting τ=η in Theorem 2 gives an O~(m(1+η)logW/ϵ) running time. Alternatively, setting τ=Edit(σ,σ^) ensures that HIGH(τ) contains at most τ edges. This is because any edge not inserted or deleted in the process of transforming σ^ to σ can move at most τ positions and so only inserted or deleted edges contribute to HIGH(τ). This gives a running time of O~(m(1+Edit(σ,σ^))logW/ϵ).

Discussion On Single-Source Shortest Paths

Notice that if a small number of edges have a large error ηe, the Edit(σ,σ^) is small even though the maximum error is large, and thus the algorithm retains strong running time guarantees on such inputs. Furthermore, Edit(σ,σ^) is small even if there is a small number of edges that are not predicted to arrive but do, or are predicted to arrive but never do (such edges are essentially insertions and deletions).

On the other hand, the edit distance bound is a loose upper bound in some cases: for example, even if a large number of edges are incorrect, but have small relative change in position between σ and σ^, then η will be small.

The algorithm is consistent as its running time is optimal (since Ω(m) is required to read the input) up to log factors when the predictions are perfect. It is smooth in that it has a slow linear degradation of running time in terms of the prediction error. We remark that robustness to arbitrarily erroneous predictions can be achieved with respect to any worst-case algorithm simply by switching to the worst-case algorithm in the event that the learned algorithm’s run time grows larger than the worst-case guarantee.

Extension to All-Pairs Shortest Paths

Next, we show that our techniques are generalizable by applying them to the all-pairs shortest-path (APSP) problem. Similar to the SSSP case, we first solve the offline incremental version of the problem by running the SSSP algorithm multiple times. We then extend it to the online setting with predictions.

For the incremental APSP problem, it does not make sense to consider amortized cost – Bernstein [5] gives an algorithm with nearly-optimal total work for the online problem even without predictions. As a result, past work on approximate all-pairs shortest path with predictions has focused on improving the worst-case time for each update and query.

For the APSP problem, we follow [22, 47] and assume that σ^ is a permutation of σ – the set of edges predicted to arrive are exactly the set that truly arrive.222While this is in some cases a strong assumption, it seems unavoidable for worst-case update and query cost.

Theorem 4.

There is a learned online all-pairs shortest path algorithm with O~(nmlogW/ϵ) preprocessing time, O(logn) worst-case update time, and O(η2loglog1+ϵ(nW)) worst-case query time.

Comparison to Prior Work

To the best of our knowledge, no prior work has considered the incremental SSSP problem in the algorithms-with-predictions framework. Our algorithm for the SSSP problem has a recursive tree of subproblems, that we bring online with predictions on the input sequence. We remark that the work of Liu and Srinivas [32] gave a general framework for taking offline recursive tree algorithms into the online setting with predictions. Their framework is general and applies to a large class of problems that can be decomposed into recursive subproblems with smaller cost. In contrast, our tree-based decomposition technique is tailored specifically to shortest paths which enables our efficient runtime. Moreover, our analysis differs significantly from [32] as well – we cannot spread the cost evenly over smaller-cost recursive subproblems. This is because a single edge insert can result in Ω(n) changes in shortest paths. To avoid this, we allow subproblems to grow and shrink as necessary and charge the cost of a large subproblem to a large number of distance changes; see Section 3.

The incremental APSP problem with predictions was studied by past work [22, 47]. Henzinger et al. [22] achieve O~(1) update time and O~(η2) query time, after O(mn3) preprocessing for any weighted graph. van den Brand et al. [47] achieve similar update and query times with O~(n(3+ω)/2) preprocessing time; however, the result is limited to unweighted graphs. They further show that this query time is essentially optimal: under the Online Matrix-Vector Multiplication Hypothesis, it is not possible to obtain O(η2δ) query time for any δ>0 while maintaining polynomial preprocessing time and O(n) update time. Thus, Theorem 4 obtains faster preprocessing time for sparse graphs and supports weighted graphs. Finally, we note that Liu and Srinivas [32] give bounds for the fully dynamic weighted APSP problem in the prediction-deletion model they propose and their bounds are incomparable to ours.

1.1 Additional Related Work

Data Structures with Predictions

Data structures augmented with predictions have demonstrated empirical success in key applications such as indexing [27, 13, 11], caching [26, 33], Bloom filters [38, 46], frequency estimation [24], page migration [25], routing [8].

Initial theoretical work on data structures with predictions focused on improving their space complexity or competitive ratio, e.g. learned filters [46, 38, 3] and count-min sketch [24, 16] on stochastic learned distributions. Several papers have since used predictions to provably improve the running time of dictionary data structures, e.g. learned binary-search trees [30, 10, 49, 14]. McCauley et al. [36] presented the first “ideal” data structures with prediction for the list-labeling problem [36]. They use a “prediction-decomposition” framework to obtain their bounds and extend the technique to maintain topological ordering and perform cycle detection in incremental graphs with predictions [37].

Incremental SSSP and APSP in the Worst-Case Setting

We review the state-of-the-art deterministic worst-case algorithms for the incremental (1+ϵ) SSSP problem.

The best-known deterministic algorithm for dense graphs is by Gutenberg et al. [41] with total update time O~(n2logW/ϵO(1)), which is nearly optimal for very dense graphs. For sparse graphs, Chechik and Zhang [9] give an algorithm with total time O~(m5/3logW/ϵ), which is improved by Kyng et al. [28] to a total time O~(m3/2logW/ϵ); this is the best-known deterministic algorithm for sparse graphs. Note that many of these solutions use the ES-tree data structure [44] as a key building block. The ES-tree can maintain exact distances in an SSSP tree for weighted graphs with total running time O(mnW) [23], where W is the ratio of the largest to smallest edge weight. The ES-tree can be used to maintain (1+ϵ)-approximate distances in total update time O~(mnlogW/ϵ) for incremental/decremental directed SSSP; see e.g. [4, 5, 34].

This paper shows that even modestly accurate predictions can be leveraged to circumvent these high (polynomial) worst-case update costs in incremental SSSP.

For the approximate incremental APSP problem without predictions, Bernstein [5] gave an algorithm that has nearly-optimal total runtime O(nmlog4(n)log(nW)/ϵ) and O(1) look-up time.

Peng and Rubinstein consider generally how incremental or decremental algorithms can be turned into fully dynamic algorithms [39].

2 Preliminaries

Let σ=e1,,em be the sequence of all edge insertions, and let V be the set of vertices. We assume m is of the form 2k throughout this paper, which can be assumed without loss of generality by allowing dummy edge inserts. Each edge ei has a weight w(ei)[1,W]. Let Gt be the graph consisting of vertices V and the first t edges e1,,et; we call this the graph at time t. We define G0 to be the empty graph on the vertex set V.

The length of a path is the sum of the weights of its edges. Let dt(v) be the length of the shortest path from s to v in Gt. Throughout this paper, all logarithms are base 2 unless otherwise specified.

Problem Definition

In the offline problem, the algorithm is given a sequence of edge inserts σ=e1,e2,,em, the set of vertices V, and the source vertex s. The goal of the algorithm is to output a data structure that answers queries (v,t) of the form: what is the length of the shortest path from s to v at time t? This answer should be a (1+ϵ)-approximation: specifically, for a query (v,t), if the data structure returns d, then dt(v)ddt(v)(1+ϵ).

In the online problem, the edges in σ=e1,,em arrive one at a time. Before any edge arrives, the algorithm is given a prediction σ^ of σ, as well as the set of vertices V={v1,,vn} and the source vertex s. We assume the length of σ^ is the same as σ. At all times, the algorithm must maintain an array D containing the length of the shortest path to each vertex. In particular, after edge t is inserted, D must satisfy dt(vi)D[i]dt(vi)(1+ϵ) for all vertices vi.

In both offline and online settings, our data structures can return the shortest paths themselves, in addition to their lengths.

Adjusting ϵ

Throughout this paper, we assume ϵ=O(1). In our algorithms, distance estimates d^t(v) are used for each node v and time t that satisfy the following invariant (see Lemmas 5 and 8): dt(v)d^t(v)dt(v)(1+ϵ/logm)logm.

We will need to slightly adjust ϵ in our algorithms to account for lower-order terms. For ϵ<1.79, it is known that

(1+ϵlogm)logmeϵ1+ϵ+ϵ2,

which ensures that dt(v)d^t(v)dt(v)(1+ϵ+ϵ2). To ensure our algorithms return (1+ϵ) approximations for dt(v), the ϵ parameters used are set to be (min{1.79,ϵ})/4.

Defining Recursive Subproblems

The offline algorithm is recursive. It divides the interval [0,m] in half and recurses on both sides. On each recursive call, the algorithm will process an interval [,r] and further subdivide the interval until it contains a single edge. We call each recursive call [,r] a subproblem. We refer to this subproblem both as subproblem [,r] and subproblem x, where x=(+r)/2 is the midpoint of [,r]. Each subproblem corresponds to a node in the recursion tree. We might refer to the subproblem [,r] in the recursion tree as node x in the recursion tree. Each time x{1,,m1} is the midpoint of exactly one node in the tree. Let the level of a time x be the depth of node x in the recursion tree. So the level of m/2 is 1, the level of m/4 and 3m/4 is 2, and so on. In particular, the level of x is one more than the maximum level of and r. For ease of notation, we set the level of 0 and m to be 0. See Figure 1 for an illustration of the recursion tree. We refer to the ancestors and descendants of a node in the recursion tree as ancestors and descendants of the corresponding subproblem. All these definitions extend to the online algorithm as well, as it is built up on the offline algorithm.

Figure 1: The recursion tree of the algorithm. Each node x in the tree is associated with an interval [,r] such that x=(+r)/2. The depth of a node is the number of nodes in the path from the root m/2 to that node. For example, the depth of node x=6 is 3, and its corresponding interval is [4,8].

3 Technical Overview

3.1 Offline Algorithm

The preliminary observation behind our algorithm is the following. Let’s say we round the distance to each vertex up to the nearest power of (1+ϵ). Since the maximum distance to any vertex is nW, this means that we group distances into O(log1+ϵ(nW))=O(log(nW)/ϵ) “buckets.” Knowing that the distance to any vertex only decreases over time, the buckets of all vertices only change O(nlog(nW)/ϵ) times in total. The goal of our algorithm is to list the O(log(nW)/ϵ) times when a vertex shifts from one bucket to the next.

Thus, when an edge is inserted at time t, our goal is to run Dijkstra’s only on vertices whose distance is changing at time t, charging the cost to the changing distances.

Removing Vertices from Recursive Calls

Our algorithm recursively divides the sequence of edge inserts in half, starting with the entire sequence of edge inserts {e1,,em}, and recursing until the sequence contains a single edge.

Consider a sequence {e,,er}, which we denote by [,r]. We divide this interval into two equal halves: [,x],[x,r].

The observation behind our algorithm is the following. Let’s say we calculate the distance to all vertices at time x. Consider a vertex v that is in the same bucket at and x. Since the distance to v is non-increasing as new edges arrive, v must be in this bucket throughout the interval, and we do not need to continue calculating its distance. Therefore, we should remove v from the recursive call for the interval [,x]. Similarly, if v is in the same bucket at x and r, then we should remove v from [x,r].

If we are successful in removing vertices this way, we immediately improve the running time. Each vertex v is included in an interval [,r] if and only if it shifts from one bucket to another between and r. Thus, each time v shifts buckets, it is included in at most logm intervals. This means that each vertex is included in O(logmlog(nW)/ϵ) intervals.

Let’s assume that for an interval [,r], we can run Dijkstra’s algorithm for the midpoint x in time (ignoring log factors) proportional to the number of edges that have at least one endpoint included in the interval [,r]. Since each vertex contributes to the running time of polylog(nmW)/ϵ different subproblems, we can sum to obtain O~(mlogW/ϵ) total cost to calculate the shortest path to every vertex in every subproblem.

Ensuring Dijkstra’s Runs are Efficient

Let us discuss in more detail how to “remove” a vertex from a recursive call. We do not remove vertices from the graph; instead, we say that a vertex is dead during an interval [,r] if its distance bucket does not change during the interval, and alive otherwise. Each edge (u,v) is alive if and only if v is alive.

For each time x which is the midpoint of an interval [,r], consider building a graph Gx consisting of all alive vertices and edges in [,r]. If (u,v) is alive, but u is dead, we also add u to Gx. Now, the time required to run Dijkstra’s algorithm on Gx is roughly proportional to the number of edges in Gx as we desired, but the distances it gives are not meaningful – in fact, s may not even be in Gx.

To solve this problem, we observe that we already know (approximately) the distance to any dead vertex u: we marked u as dead because its distance bucket does not change from to r. Thus, we add s to Gx; then, for each alive edge (u,v) where u is dead, instead of adding u to Gx, we add an edge from s to v with weight equal to the rounded distance from s to u from the previous recursive call plus w(u,v). Running Dijkstra’s algorithm on Gx now gives (ostensibly) meaningful distances from s.

We calculate the distance to each vertex in Gx, round the distance up to obtain its bucket, and then recurse (marking vertices dead as appropriate) on [,x] and [x,r].

Handling Error Accumulations

Unfortunately, the above method does not quite work, as the error accumulates during each recursive call.

For an interval [,r] with midpoint x, we use the terms recursive call [,r] and recursive call x interchangeably. For a recursive call x, the shortest path to v may begin with an edge (s,v) (for some dead vertex v) weighted according to the bucket of v. The bucket of v was calculated by rounding up the length of the shortest path to v in some graph Gy at time y; the length of this path again was also rounded up, and so on.

In other words, since the weight of each edge from s to a dead vertex v is based on the bucket of v, it has been rounded up to the nearest power of 1+ϵ. Thus, each recursive call loses a 1+ϵ approximation factor in distance.

To solve this, we note that the recursion depth of our algorithm is log2m. Thus, we split into finer buckets: rather than rounding up to the nearest power of 1+ϵ, we round up to the nearest power of 1+ϵ/log2m. Thus, the total error accumulated over all recursive calls is (1+ϵ/log2m)log2m1+ϵ+ϵ2 (see Section 2); decreasing ϵ slightly gives error 1+ϵ.

Rounding buckets up to the nearest power of 1+ϵ/logm changes our running time analysis: most critically, each vertex now changes buckets log1+ϵ/logmnW=Θ(log(nW)logm/ϵ) times.

3.2 Ideal Algorithm with Predictions

With perfect predictions, the algorithm described above runs in O~(mlogW/ϵ) time: we can just run the algorithm on the predicted (in fact the actual) sequence σ^=σ to obtain an approximate distance to every vertex at each point in time. We show how to carefully rebuild portions of the offline approach to obtain an ideal algorithm.

Warmup: Hamming Distance of Error

To start, let’s give a simple algorithm that uses predictions that contain error. Let Ham(σ,σ^) be the Hamming distance between σ and σ^ – in other words, the number of edges whose predicted arrival time was not exactly correct in σ^. We give an algorithm that runs in O~(m(1+Ham(σ,σ^))logW/ϵ) time.

The main idea behind this algorithm is to update the sequence of predictions σ^ as edges come in. At time t, an edge e arrives; if e arrived at t in σ^, the algorithm does nothing – the predictions created by running the offline algorithm on σ^ took e arriving at t into account. If e did not arrive at t in σ^, then the algorithm creates a new σ^, replacing the edge arriving at t with e. The algorithm then reruns the offline algorithm on the new σ^ in O~(mlogW/ϵ) time.

Since we run the offline algorithm (in O~(mlogW/ϵ) time) each time an edge was predicted incorrectly, we immediately obtain O~(m(1+Ham(σ,σ^))logW/ϵ) time.

Handling Nearby Edges More Effectively

Ideally, we would not rebuild from scratch each time an edge is predicted incorrectly – we would like the running time to be proportional to how far an edge’s true arrival time is from its predicted arrival time.

Our final algorithm improves over the warmup Hamming distance algorithm in two ways. First, it updates the predicted sequence σ^ more carefully. Second, it only rebuilds parts of the recursive calls of the offline algorithm: specifically, only intervals that changed as σ^ was updated.

First, let’s describe how to update σ^. As before, when an edge e arrives at time t, if e was predicted to arrive at t in σ^ the algorithm does nothing. If e was predicted to arrive at time t in σ^, the algorithm modifies σ^ by inserting e at time t (shifting all edges after t down one slot), and deleting e at time t (shifting all edges after t up one slot). If e is not predicted in σ^, the algorithm only inserts e at time t, shifting subsequent edges down one slot.

The only entries in σ^ that change are those between t and t (inclusive). Therefore, we only need to recalculate G for times between t and t.

Finally, we update the distance array D. The algorithm greedily updates D during the above rebuilds to maintain the invariant that D[i] stores the estimated distance d^t(vi), which as discussed in Section 2, is a (1+ϵ) approximation for dt(vi).

Analysis

For any edge e that appears at time index(e) in σ and time index^(e) in σ^, we define ηe=|index(e)index^(e)|. If e does not appear in σ^ then ηe=|m+1index(e)|. Let η be the maximum error: η=maxeσηe.

We show that, after the initial run of the offline algorithm, an edge e causes a rebuild of a graph Gt only if t is between its predicted arrival time index^(e) and its actual arrival time index(e). This means that each Gt can only be rebuilt O(η) times. Since the total time to build all Gt is O~(mlogW/ϵ), the total time to rebuild all Gt O(η) times is O~(m(1+η)logW/ϵ).

With a more careful analysis, we can get the best of the Hamming analysis and the max error analysis. For any τ, let HIGH(τ) be the set of edges with error more than τ. For all edges with error more than τ, we may (in the worst case) rebuild the entire interval {1,,m}, for total cost O~(m|HIGH(τ)|logW/ϵ). For all edges with error at most τ, the total rebuild cost is, as above, O~(mτlogW/ϵ). Thus, we obtain total cost O~(m(1+minτ{τ+|HIGH(τ)|})logW/ϵ).

4 Offline Incremental Weighted Directed Shortest Path

This section presents an algorithm for the offline problem which takes

O(mlog(nW)(log3n)loglogn/ϵ)

time to build, and O(loglog1+ϵ(nW)) time to answer a query (v,t).

The algorithm maintains an estimate of the shortest path at all points in time. Let d^t(v) be the estimate of dt(v) obtained by the algorithm. The algorithm does not explicitly maintain d^t(v) values for each vertex v and each time t, because of the following simple observation: if for times and r, <r, we have d^(v)=d^r(v), it means that from the algorithm’s perspective, node v has the same distance from s in graphs G and Gr. Since the distances of the nodes from s are non-increasing over time, the algorithm infers that d^t(v)=d^(v) for each tr. Although in such case d^t(v) is not explicitly stored by the algorithm, we still use this notation to refer to d^(v)=d^r(v).

In each subproblem x with an interval [,r], where x=(+r)/2, vertices and edges are marked by the algorithm as alive or dead. A vertex is alive in subproblem x if its estimated distances are not the same in subproblems and r, otherwise it is dead. In each subproblem x (i.e., node x in the recursion tree), the distance estimates d^x(v) for all alive nodes v are explicitly maintained in a balanced binary search tree. This allows us to access d^x(v) in O(logn) time for each alive node v in subproblem x.

Moreover, for each node v, the algorithm maintains a list Lv of length log1+ϵ(nW), representing the times when v’s estimated distance from s moves from one integer power of (1+ϵ) to another. In particular, the ith entry for a vertex v, denoted by Lv(i), represents the minimum t such that d^t(v)(1+ϵ)i. This is the data structure that the algorithm outputs in order to answer queries (v,t). To answer a query (v,t), i.e., to obtain a (1+ϵ)-approximation of dt(v), the algorithm performs a binary search on Lv to find an i such that Lv(i)t<Lv(i1), and then we return d=(1+ϵ)i. The time needed to obtain d is then log(log1+ϵ(nW)). Note that d^t(v)d(1+ϵ)d^t(v), which as discussed in Section 2, it means that d is within a (1+ϵ) factor of dt(v) for the original ϵ.

Now we are ready to define the algorithm.

4.1 The Offline Algorithm

The offline algorithm is recursive. It starts with the interval [0,m], and it recursively divides the interval in half and continues on the two subintervals. Initially, the algorithm marks all vertices and edges as alive in Gm, and all vertices as alive in G0. The algorithm runs Dijkstra’s on Gm, and for each vertex v, it sets d^m(v)=dm(v). The algorithm sets d^0(s)=0, and for all vV{s}, it sets d^0(v)=. The algorithm then begins the recursive process on the interval [0,m]. The algorithm stops recursing when the interval [,r] contains only one new edge; that is, when r=2.

Consider when the algorithm is given an interval [,r] to process. On this recursive call (subproblem), the goal is to calculate the distance estimates d^x(v) for alive nodes v, where x=(+r)/2 is the midpoint of [,r]. Since the algorithm processes the subproblems in the recursion tree from top to bottom, it has already processed the subproblems and r, i.e., the distance estimates are calculated for the alive nodes in G and Gr.

Just to repeat, a vertex v is alive in Gx if it is alive in G and Gr, and its estimated distance is not the same in G and Gr, i.e., d^(v)d^r(v). If a vertex is not alive, it is dead. A directed edge e=(u,v) in Gx is said to be alive if v is alive in Gx; otherwise, e is dead. After the description of the algorithm, we discuss how to efficiently maintain alive and dead vertices and edges. Although the algorithm does not store d^x(v) for the dead vertices v in the subproblem x, we still use the notation d^x(v) to refer to d^(v)=d^r(v).

Now, we can define how the algorithm calculates d^x(v) for all alive vertices v. The algorithm creates a new graph Gx whose vertex set is only the alive vertices in Gx along with s. Then, for each alive edge eGx with e=(u,v), there are two cases:

  • If both u and v are alive, add e to Gx.

  • If only v is alive, add an edge from s to v with weight d^x(u)+w(u,v) to Gx.

To compute d^x(u), where u is a dead vertex in Gx, the algorithm needs to find the first ancestor of the current subproblem in the recursion tree in which u is alive. To do this, the algorithm does a binary search on the ancestors of node x in the recursion tree, and for the first ancestor x where u is alive in Gx, it recovers the value of d^x(u)=d^x(u) using the binary search tree stored at node x.

The algorithm then computes the distance from s to each vertex in Gx using Dijkstra’s algorithm. For any alive vertex v, the algorithm stores the length of the shortest path to v found by Dijkstra’s algorithm rounded up to the nearest integer power of (1+ϵ/logm) as d^x(v). Moreover, for each alive vertex v, the algorithm maintains the vertex u that immediately precedes v on the shortest path found from s to v, and the first ancestor of the current subproblem in the recursion tree in which u is alive. This allows the algorithm to return the shortest path itself by backtracking.

Efficiently Maintaining Alive Edges

For any x, let mx be the number of alive edges in Gx. The algorithm maintains a list of all alive edges at each time x.

We now describe how to find the alive vertices and edges in Gx, where x is the midpoint of [,r]. Note that if an edge (u,v) is alive in Gx, then its head v must be alive in Gx, which in turn implies that v is alive in G and Gr. Since (u,v) has arrived before time r, it is alive in Gr. Therefore the alive edges in Gx are a subset of the alive edges in Gr. To obtain the list of alive edges in Gx, the algorithm iterates over the alive edges in Gr in O(mr) time, and removes the edges that either arrived after time x, or whose head node has the same estimated distance in both G and Gr. While doing this, the algorithm additionally updates if each vertex is alive or not in Gx in O(mr) time.

From this, the algorithm constructs Gx in O(mr) time, and runs Dijkstra’s algorithm in O(mrlogn) time.

Efficiently Maintaining 𝑳𝒗 Lists of Time Indexed Distances

To obtain the Lv(i) values, initially, all the entries of Lv are empty. At each time x, when we are calculating the distance estimate d^x(v) for an alive node v, we update Lv: suppose (1+ϵ)i1<d^x(v)(1+ϵ)i. If Lv(i) is empty or x<Lv(i), we set Lv(i) to be x. Otherwise, Lv(i) remains unchanged. In the end, the algorithm processes each of the lists, and for any empty Lv(i), the algorithm sets it to be equal to the last non-empty entry of Lv before Lv(i).

4.2 Analysis of the Offline Algorithm

This section establishes the correctness and running time guarantees of the algorithm. The proof of the following lemma is deferred to the full version [35].

Lemma 5.

If x is at level i, then for any vertex v, dx(v)d^x(v)dx(v)(1+ϵ/logm)i.

With the correctness in place, the following lemma completes the proof of Theorem 1 by bounding the running time of the offline algorithm.

Lemma 6.

The offline algorithm runs in time O(mlog(nW)(log3n)(loglogn)/ϵ).

Proof.

Let my be the number of alive edges in a subproblem y. For a subproblem [,r], the time to find the alive edges and nodes in Gx is O(mr), where x is the midpoint of [,r]. For an alive edge e=(u,v) in Gx, if u is alive in Gx, then inserting e in Gx takes O(1) time. Otherwise, the algorithm needs to recover d^x(u) from the lowest ancestor of x in the recursion tree in which u is alive in order to calculate the weight of the edge (s,v) in Gx. Each node y in the recursion tree maintains d^y(w) for all alive vertices w in Gy in a balanced binary search tree. Therefore, the algorithm can check whether a vertex is alive in a subproblem in time O(logn). Also, if w is alive in Gy, it takes O(logn) time to find d^y(w). Since node x has at most logm ancestors, recovering d^x(u) can be done in O(lognloglogm) time by doing a binary search on the ancestors. Hence, building Gx takes O(mxlognloglogm) time. The time to run Dijkstra’s on Gx is O(mxlogn). Also, the time to build the balanced binary search tree corresponding to subproblem x is O(mxlogn), as the number of alive nodes in Gx is bounded by the number of alive edges in Gx. Thus, the runtime of the algorithm is bounded by O(lognloglogm) times the total number of alive edges in all the subproblems.

For a given i and v, let x be the time when d^(v) decreases from (1+ϵ/logm)i+1 to (1+ϵ/logm)i. Then v is alive in any subproblem that contains x; there is at most 1 such subproblem in each level of the recursion tree. For each vertex v, summing over all log1+ϵ/logm(nW)=O(log(nW)logm/ϵ) values of i and the logm levels of the recursion tree, we have that there are in total O(log(nW)log2m/ϵ) subproblems in which v is alive. Since an edge is only alive if its head is alive, there are only a total of mlog(nW)log2m/ϵ alive edges over all subproblems. Substituting logm=O(logn), we obtain an aggregate running time O(mlog(nW)(log3n)(loglogn)/ϵ).

5 Incremental Shortest Paths with Predictions

This section gives the algorithm and analysis for the online version of the problem with predictions. Recall that in this model the edges arrive online. The goal of the algorithm is to maintain an array D of length n. At any time t, D[i] should contain a (1+ϵ)-approximation of dt(vi).

5.1 The Algorithm

This section describes the online algorithm. Before any edges arrive, the algorithm is given a prediction σ^ of the edge arrival sequence.

Updated Predictions

Our algorithm dynamically maintains the predicted sequence of edge inserts by changing σ^ online. Specifically, after the tth edge arrival, the algorithm will construct a new prediction which we refer to as σ^t. Initially, σ^0=σ^. We call the sequence σ^t the updated prediction. Intuitively, the algorithm modifies the updated prediction after each edge arrival based on which edge actually arrives.

For each edge e, let index^t(e) be the position of e in σ^t. Let index(e) denote the position of e in σ (i.e. the true time when e arrives). If eσ^t, then we define index^t(e):=m+1.

Our algorithm updates the sequence of edges to agree with all edges seen so far. In other words, at time t, the algorithm maintains that for all edges e that arrive by t in σ, index^t(e)=index(e).

Maintaining Metadata from the Offline Algorithm

Since the online algorithm continuously updates the result of the offline approach, it stores information to help it navigate the result of the offline algorithm.

Recall that the offline algorithm stores, for each time t, the set of vertices and edges alive at time t, as well as a distance estimate d^t(v) for any vertex v alive at time t. The online algorithm maintains exactly the same information. We will see that the algorithm updates these estimates continuously as the updated prediction changes.

Algorithm Description

First, let us describe the preprocessing performed by the algorithm before any edges arrive. The algorithm sets D[i]= for all i, except for D[1]=0, which represents the source. Then, the algorithm runs the offline algorithm from Section 4 on σ^. By running the offline algorithm, the algorithm will store d^t(v) for all times t and all nodes v alive at time t.

Now, let us describe how the algorithm runs after the tth edge is inserted. At each time t, the algorithm rebuilds a subset of all the subproblems. These rebuilds update the precomputed d^t(v). When a subproblem is rebuilt, all of its descendants are rebuilt as well. The rebuilding procedure is formally described below.

Let et be the edge that arrives at time t, and let t=index^t1(et), i.e., t is the predicted arrival time for et in the updated predictions immediately before it arrives. Note that since the first t1 edges of σ and σ^t1 are the same, we always have tt (assuming the edges in the input sequence are distinct).

First, we describe how the algorithm updates σ^t1 to get σ^t.

  • If t=t, i.e., the position of et is predicted correctly at the time it is seen, then set σ^t:=σ^t1.

  • If tt and tm; that is, et is predicted to arrive at a later time. In this case, the algorithm moves et from position t to position t in σ^t1, and shifts everything between t and t one slot to the right to obtain σ^t.

  • If tt and t=m+1; that is, at time t1, et is not in the predicted sequence. In this case, the algorithm inserts et in position t, shifts the rest of the sequence one slot to the right, and truncates the predicted sequence to length m to obtain σ^t.

Rebuilding Subproblems

Next, the algorithm rebuilds subproblems. Recall that the algorithm given in Section 4 is recursive; each of its recursive calls can be represented by a node in the recursion tree.

To rebuild a subproblem [,r], the offline algorithm is called on [,r] using the updated prediction σ^t. The rebuild makes recursive calls as normal. Any time a subproblem with midpoint x is rebuilt, the value of d^x(v) is updated based on the rebuild for all alive vertices v.

Let [M,rM] be the largest subproblem with t(M+rM)/2<t; then the algorithm rebuilds [M,rM]. As mentioned above, all descendants of [M,rM] will be recursively called, and therefore rebuilt as well. In other words, the algorithm rebuilds all the subproblems [,r], with t(+r)/2<t, and all of their descendants from top to bottom (so in the first case, no subproblem gets rebuilt). See Figure 2 for an illustration. Let rebuild(t) be the set of all times t′′ such that t′′[,r] for some [,r] rebuilt at time t. If no subproblem is rebuilt at time t, we define rebuild(t):={t} to ensure that t is always in rebuild(t).

Updating the Distance Array

Finally, the algorithm must update the array D containing the estimated distance to each vertex. When a new edge is inserted, some of the entries in D need to be overwritten, as their estimated distance might have changed. At each time t, we want to have D[i]=d^t(vi) for all i. To do so, the algorithm does the following for each time trebuild(t), where tt, in sorted order. The algorithm iterates through all alive vertices vi in Gt, and sets D[i]=d^t(vi). As explained in Section 4, with some additional bookkeeping, the algorithm can also return the shortest path to each node vi.

Figure 2: An illustration of the subproblems that get rebuilt during one edge insertion. In this example, at time t=4, the edge e4 was predicted to arrive but edge e8 has arrived. So the algorithm moves edge e8 from position t=8 to position t=4. The algorithm then rebuilds all the subproblems with t(+r)/2<t (colored dark gray) and their descendants (colored light gray) from top to bottom.

5.2 Analysis

This section establishes the theoretical guarantees of the algorithm. That is, the correctness of the approximation of the distances as well as the runtime bounds. Due to space constraints, the proofs in this section are deferred to the full version [35].

We begin with some structure that applies to any run of the offline algorithm. This will help us argue correctness of our algorithm.

Lemma 7.

For any sequence of edge inserts σ, let d^t(v) be the distance estimates that result from running the offline algorithm on σ. Then for any vertex v and time t1, if v is dead at time t, then d^t(v)=d^t1(v).

If the edge that arrives at time t is predicted to arrive at time t according to σ^t1, we say the edge jumps from t to t. In such case, we say it jumps over all the positions ti<t.

The next two lemmas prove the correctness of the algorithm.

Lemma 8.

For any time t and any vertex v, we have dt(v)d^t(v)dt(v)(1+ϵ).

Lemma 9.

After inserting edge et, we have D[i]=d^t(vi) for i=1,,n.

Now we determine the aggregate runtime of the online algorithm. Consider dividing σ into two sets of high- and low-error edges based on an integer parameter τ0. Let LOW(τ)={eσ:|index(e)index^0(e)|τ} and HIGH(τ)={e1,,em}LOW(τ). Therefore, HIGH(τ) is the set of edges whose initial predicted arrival time is more than τ slots away from their actual arrival time.

Lemma 10.

For any integer τ0 and position i{1,,m}, there are at most τ+2|HIGH(τ)| jumps over i.

Lemma 11.

The online algorithm runs in time O~(m(1+minτ{τ+|HIGH(τ)|})logW/ϵ).

Theorem 2 follows from Lemma 9 and the discussion in Section 2 for the approximation guarantees and Lemma 11 for the runtime.

6 All Pairs Shortest Paths

Our single-source approach can be run repeatedly to approximate distances between all pairs of vertices.

Specifically, the goal is to preprocess G0,,Gm such that given i, j, and t, we can quickly find a (1+ϵ)-approximation of dt(i,j), the distance from i to j in Gt. We run the single source shortest path algorithm for each source sV, storing a separate data structure for each. This requires O~(nmlogW/ϵ) time and O~(n2logW/ϵ) space, gives the following corollary.

Corollary 12.

For the offline incremental all-pairs shortest-paths problem, there exists an algorithm running in total time O(nmlog(nW)log3nloglogn/ϵ) that returns (1+ϵ) approximate shortest paths for each pair of vertices for each time t.

Online Learned APSP Algorithm

For the online setting, we consider the worst-case update and query bounds. In particular, the algorithm first preprocesses σ^. Then, it obtains the edges from σ one by one; the time to process any such edge is the update time. At any time during this sequence of inserts the algorithm can be queried for the distance between any two vertices in the graph; the time required to answer the query is the query time.

We can immediately combine this idea with the techniques of van den Brand et al. [47, Theorem 3.1] to obtain Theorem 4. The proof is provided in the full version [35].

7 Conclusion

Learned data structures have been shown to have strong empirical performance and have the potential to be widely used in systems. There is a need to develop an algorithmic foundation on how to leverage predictions to speed up worst-case data structures.

In this paper, we build on this recent line of work, and provide new algorithmic techniques to solve the fundamental problem of single-source shortest paths in incremental graphs. As our main result, we design an ideal (consistent, robust, and smooth) algorithm for this problem. Our algorithm is optimal (up to log factors) with perfect predictions and circumvents the high worst-case update cost of state-of-the-art solutions even under reasonably accurate predictions.

References

  • [1] Xingjian Bai and Christian Coester. Sorting with predictions. In Thirty-seventh Conference on Neural Information Processing Systems, 2023. URL: https://openreview.net/forum?id=Qv7rWR9JWa.
  • [2] Ziyad Benomar and Christian Coester. Learning-augmented priority queues. In The Thirty-eighth Annual Conference on Neural Information Processing Systems, 2024. URL: https://openreview.net/forum?id=1ATLLgvURu.
  • [3] Ioana O. Bercea, Jakob Bæk Tejs Houen, and Rasmus Pagh. Daisy Bloom Filters. In Hans L. Bodlaender, editor, 19th Scandinavian Symposium and Workshops on Algorithm Theory (SWAT 2024), volume 294 of Leibniz International Proceedings in Informatics (LIPIcs), pages 9:1–9:19, Dagstuhl, Germany, 2024. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.SWAT.2024.9.
  • [4] Aaron Bernstein. Fully dynamic (2+ ε) approximate all-pairs shortest paths with fast query and close to linear update time. In 2009 50th Annual IEEE Symposium on Foundations of Computer Science, pages 693–702. IEEE, 2009. doi:10.1109/FOCS.2009.16.
  • [5] Aaron Bernstein. Maintaining shortest paths under deletions in weighted directed graphs. SIAM Journal on Computing, 45(2):548–574, 2016. doi:10.1137/130938670.
  • [6] Aaron Bernstein, Maximilian Probst Gutenberg, and Thatchaphol Saranurak. Deterministic decremental SSSP and approximate min-cost flow in almost-linear time. In 62nd IEEE Annual Symposium on Foundations of Computer Science, FOCS 2021, Denver, CO, USA, February 7-10, 2022, pages 1000–1008. IEEE, 2021. doi:10.1109/FOCS52979.2021.00100.
  • [7] Aaron Bernstein, Maximilian Probst Gutenberg, and Christian Wulff-Nilsen. Near-optimal decremental SSSP in dense weighted digraphs. In Sandy Irani, editor, 61st IEEE Annual Symposium on Foundations of Computer Science, FOCS 2020, Durham, NC, USA, November 16-19, 2020, pages 1112–1122. IEEE, 2020. doi:10.1109/FOCS46700.2020.00107.
  • [8] Aditya Bhaskara, Sreenivas Gollapudi, Kostas Kollias, and Kamesh Munagala. Adaptive probing policies for shortest path routing. Advances in Neural Information Processing Systems (NeurIPS), 33:8682–8692, 2020.
  • [9] Shiri Chechik and Tianyi Zhang. Incremental single source shortest paths in sparse digraphs. In Proceedings of the 2021 ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2463–2477. SIAM, 2021. doi:10.1137/1.9781611976465.146.
  • [10] Jingbang Chen and Li Chen. On the power of learning-augmented BSTs. arXiv preprint arXiv:2211.09251, 2022. doi:10.48550/arXiv.2211.09251.
  • [11] Yifan Dai, Yien Xu, Aishwarya Ganesan, Ramnatthan Alagappan, Brian Kroth, Andrea Arpaci-Dusseau, and Remzi Arpaci-Dusseau. From WiscKey to Bourbon: A learned index for log-structured merge trees. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI), pages 155–171, 2020. URL: https://www.usenix.org/conference/osdi20/presentation/dai.
  • [12] Sami Davies, Benjamin Moseley, Sergei Vassilvitskii, and Yuyan Wang. Predictive flows for faster ford-fulkerson. In Andreas Krause, Emma Brunskill, Kyunghyun Cho, Barbara Engelhardt, Sivan Sabato, and Jonathan Scarlett, editors, Proc. of the 40th International Conference on Machine Learning (ICML), volume 202 of Proceedings of Machine Learning Research, pages 7231–7248. PMLR, 23–29 July 2023. URL: https://proceedings.mlr.press/v202/davies23b.html.
  • [13] Jialin Ding, Umar Farooq Minhas, Jia Yu, Chi Wang, Jaeyoung Do, Yinan Li, Hantian Zhang, Badrish Chandramouli, Johannes Gehrke, Donald Kossmann, et al. ALEX: an updatable adaptive learned index. In Proc. 46th Annual ACM International Conference on Management of Data (SIGMOD), pages 969–984, 2020.
  • [14] Michael Dinitz, Sungjin Im, Thomas Lavastida, Benjamin Moseley, Aidin Niaparast, and Sergei Vassilvitskii. Binary search with distributional predictions. In A. Globerson, L. Mackey, D. Belgrave, A. Fan, U. Paquet, J. Tomczak, and C. Zhang, editors, Advances in Neural Information Processing Systems, volume 37, pages 90456–90472. Curran Associates, Inc., 2024. URL: https://proceedings.neurips.cc/paper_files/paper/2024/file/a4b293979b8b521e9222d30c40246911-Paper-Conference.pdf.
  • [15] Michael Dinitz, Sungjin Im, Thomas Lavastida, Benjamin Moseley, and Sergei Vassilvitskii. Faster matchings via learned duals. In Marc’Aurelio Ranzato, Alina Beygelzimer, Yann N. Dauphin, Percy Liang, and Jennifer Wortman Vaughan, editors, Proc. 34th Conference on Advances in Neural Information Processing Systems (NeurIPS), pages 10393–10406, 2021. URL: https://proceedings.neurips.cc/paper/2021/hash/5616060fb8ae85d93f334e7267307664-Abstract.html.
  • [16] Elbert Du, Franklyn Wang, and Michael Mitzenmacher. Putting the “learning” into learning-augmented algorithms for frequency estimation. In Proc. 38th Annual International Conference on Machine Learning (ICML), pages 2860–2869. PMLR, 2021. URL: http://proceedings.mlr.press/v139/du21d.html.
  • [17] Adam Górkiewicz and Adam Karczmarz. On incremental approximate shortest paths in directed graphs. CoRR, abs/2502.10348, 2025. doi:10.48550/arXiv.2502.10348.
  • [18] Maximilian Probst Gutenberg and Christian Wulff-Nilsen. Deterministic algorithms for decremental approximate shortest paths: Faster and simpler. In Shuchi Chawla, editor, Proceedings of the 2020 ACM-SIAM Symposium on Discrete Algorithms, SODA 2020, Salt Lake City, UT, USA, January 5-8, 2020, pages 2522–2541. SIAM, 2020. doi:10.1137/1.9781611975994.154.
  • [19] Monika Henzinger, Sebastian Krinninger, and Danupon Nanongkai. Sublinear-time decremental algorithms for single-source reachability and shortest paths on directed graphs. In Proceedings of the forty-sixth annual ACM symposium on Theory of computing, pages 674–683, 2014. doi:10.1145/2591796.2591869.
  • [20] Monika Henzinger, Sebastian Krinninger, and Danupon Nanongkai. Improved algorithms for decremental single-source reachability on directed graphs. In Automata, Languages, and Programming: 42nd International Colloquium, ICALP 2015, Kyoto, Japan, July 6-10, 2015, Proceedings, Part I 42, pages 725–736. Springer, 2015. doi:10.1007/978-3-662-47672-7_59.
  • [21] Monika Henzinger, Sebastian Krinninger, and Danupon Nanongkai. Dynamic approximate all-pairs shortest paths: Breaking the o(mn) barrier and derandomization. SIAM J. Comput., 45(3):947–1006, 2016. doi:10.1137/140957299.
  • [22] Monika Henzinger, Barna Saha, Martin P. Seybold, and Christopher Ye. On the complexity of algorithms with predictions for dynamic graph problems. In Venkatesan Guruswami, editor, 15th Innovations in Theoretical Computer Science Conference, ITCS 2024, January 30 to February 2, 2024, Berkeley, CA, USA, volume 287 of LIPIcs, pages 62:1–62:25. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPICS.ITCS.2024.62.
  • [23] Monika Rauch Henzinger and Valerie King. Fully dynamic biconnectivity and transitive closure. In Proceedings of IEEE 36th Annual Foundations of Computer Science, pages 664–672. IEEE, 1995. doi:10.1109/SFCS.1995.492668.
  • [24] Chen-Yu Hsu, Piotr Indyk, Dina Katabi, and Ali Vakilian. Learning-based frequency estimation algorithms. In Proc. 7th Annual International Conference on Learning Representations (ICLR), 2019.
  • [25] Piotr Indyk, Frederik Mallmann-Trenn, Slobodan Mitrovic, and Ronitt Rubinfeld. Online page migration with ML advice. In Gustau Camps-Valls, Francisco J. R. Ruiz, and Isabel Valera, editors, International Conference on Artificial Intelligence and Statistics, (AISTATS), volume 151 of Proceedings of Machine Learning Research, pages 1655–1670. PMLR, 2022. URL: https://proceedings.mlr.press/v151/indyk22a.html.
  • [26] Zhihao Jiang, Debmalya Panigrahi, and Kevin Sun. Online algorithms for weighted paging with predictions. In Artur Czumaj, Anuj Dawar, and Emanuela Merelli, editors, 47th International Colloquium on Automata, Languages, and Programming, (ICALP), volume 168 of LIPIcs, pages 69:1–69:18. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2020. doi:10.4230/LIPIcs.ICALP.2020.69.
  • [27] Tim Kraska, Alex Beutel, Ed H. Chi, Jeffrey Dean, and Neoklis Polyzotis. The case for learned index structures. In Gautam Das, Christopher M. Jermaine, and Philip A. Bernstein, editors, Proc. 44th Annual International Conference on Management of Data, (SIGMOD), pages 489–504. ACM, 2018. doi:10.1145/3183713.3196909.
  • [28] Rasmus Kyng, Simon Meierhans, and Maximilian Probst Gutenberg. Incremental sssp for sparse digraphs beyond the hopset barrier. In Proceedings of the 2022 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 3452–3481. SIAM, 2022. doi:10.1137/1.9781611977073.137.
  • [29] Silvio Lattanzi, Ola Svensson, and Sergei Vassilvitskii. Speeding up bellman ford via minimum violation permutations. In Andreas Krause, Emma Brunskill, Kyunghyun Cho, Barbara Engelhardt, Sivan Sabato, and Jonathan Scarlett, editors, International Conference on Machine Learning, ICML 2023, 23-29 July 2023, Honolulu, Hawaii, USA, volume 202 of Proceedings of Machine Learning Research, pages 18584–18598. PMLR, 2023. URL: https://proceedings.mlr.press/v202/lattanzi23a.html.
  • [30] Honghao Lin, Tian Luo, and David Woodruff. Learning augmented binary search trees. In Proc. 35th International Conference on Machine Learning (ICML), pages 13431–13440. PMLR, 2022. URL: https://proceedings.mlr.press/v162/lin22f.html.
  • [31] Honghao Lin, Tian Luo, and David P. Woodruff. Learning augmented binary search trees. In Kamalika Chaudhuri, Stefanie Jegelka, Le Song, Csaba Szepesvári, Gang Niu, and Sivan Sabato, editors, International Conference on Machine Learning, ICML 2022, 17-23 July 2022, Baltimore, Maryland, USA, volume 162 of Proceedings of Machine Learning Research, pages 13431–13440. PMLR, 2022. URL: https://proceedings.mlr.press/v162/lin22f.html.
  • [32] Quanquan C. Liu and Vaidehi Srinivas. The predicted-updates dynamic model: Offline, incremental, and decremental to fully dynamic transformations. In Shipra Agrawal and Aaron Roth, editors, Proceedings of Thirty Seventh Conference on Learning Theory, volume 247 of Proceedings of Machine Learning Research, pages 3582–3641. PMLR, 30 June–03 July 2024. URL: https://proceedings.mlr.press/v247/liu24c.html.
  • [33] Thodoris Lykouris and Sergei Vassilvitskii. Competitive caching with machine learned advice. Journal of the ACM (JACM), 68(4):1–25, 2021. doi:10.1145/3447579.
  • [34] Aleksander Madry. Faster approximation schemes for fractional multicommodity flow problems via dynamic graph algorithms. In Proceedings of the forty-second ACM symposium on Theory of computing, pages 121–130, 2010. doi:10.1145/1806689.1806708.
  • [35] Samuel McCauley, Benjamin Moseley, Aidin Niaparast, Helia Niaparast, and Shikha Singh. Incremental approximate single-source shortest paths with predictions, 2025. doi:10.48550/arXiv.2502.08125.
  • [36] Samuel McCauley, Benjamin Moseley, Aidin Niaparast, and Shikha Singh. Online list labeling with predictions. In A. Oh, T. Naumann, A. Globerson, K. Saenko, M. Hardt, and S. Levine, editors, Proc. 36th Conference on Neural Information Processing Systems (NeurIPS), volume 36, pages 60278–60290. Curran Associates, Inc., 2023.
  • [37] Samuel Mccauley, Benjamin Moseley, Aidin Niaparast, and Shikha Singh. Incremental topological ordering and cycle detection with predictions. In Ruslan Salakhutdinov, Zico Kolter, Katherine Heller, Adrian Weller, Nuria Oliver, Jonathan Scarlett, and Felix Berkenkamp, editors, Proceedings of the 41st International Conference on Machine Learning, volume 235 of Proceedings of Machine Learning Research, pages 35240–35254. PMLR, 21–27 July 2024. URL: https://proceedings.mlr.press/v235/mccauley24a.html.
  • [38] Michael Mitzenmacher. A model for learned bloom filters and optimizing by sandwiching. Proc. 31st Conference on Neural Information Processing Systems (NeurIPS), 31, 2018.
  • [39] Binghui Peng and Aviad Rubinstein. Fully-dynamic-to-incremental reductions with known deletion order (e.g. sliding window). In Telikepalli Kavitha and Kurt Mehlhorn, editors, 2023 Symposium on Simplicity in Algorithms, SOSA 2023, Florence, Italy, January 23-25, 2023, pages 261–271. SIAM, 2023. doi:10.1137/1.9781611977585.CH24.
  • [40] Adam Polak and Maksym Zub. Learning-augmented maximum flow. Information Processing Letters, 186:106487, 2024. doi:10.1016/j.ipl.2024.106487.
  • [41] Maximilian Probst Gutenberg, Virginia Vassilevska Williams, and Nicole Wein. New algorithms and hardness for incremental single-source shortest paths in directed graphs. In Proceedings of the 52nd Annual ACM SIGACT Symposium on Theory of Computing, pages 153–166, 2020. doi:10.1145/3357713.3384236.
  • [42] Liam Roditty and Uri Zwick. On dynamic shortest paths problems. Algorithmica, 61(2):389–401, 2011. doi:10.1007/S00453-010-9401-5.
  • [43] Shinsaku Sakaue and Taihei Oki. Discrete-convex-analysis-based framework for warm-starting algorithms with predictions. In 35th Conference on Neural Information Processing Systems (NeurIPS), 2022.
  • [44] Yossi Shiloach and Shimon Even. An on-line edge-deletion problem. Journal of the ACM (JACM), 28(1):1–4, 1981. doi:10.1145/322234.322235.
  • [45] Vaidehi Srinivas and Avrim Blum. Competitive strategies to use “warm start” algorithms with predictions. In Proceedings of the 2025 ACM-SIAM Symposium on Discrete Algorithms, SODA 2025. SIAM, 2025. doi:10.1137/1.9781611978322.127.
  • [46] Kapil Vaidya, Eric Knorr, Michael Mitzenmacher, and Tim Kraska. Partitioned learned bloom filters. In Proc. 9th Annual International Conference on Learning Representations (ICLR), 2021. URL: https://openreview.net/forum?id=6BRLOfrMhW.
  • [47] Jan van den Brand, Sebastian Forster, Yasamin Nazari, and Adam Polak. On dynamic graph algorithms with predictions. In David P. Woodruff, editor, Proceedings of the 2024 ACM-SIAM Symposium on Discrete Algorithms, SODA 2024, Alexandria, VA, USA, January 7-10, 2024, pages 3534–3557. SIAM, 2024. doi:10.1137/1.9781611977912.126.
  • [48] Ali Zeynali, Shahin Kamali, and Mohammad Hajiesmaili. Robust learning-augmented dictionaries. In Forty-first International Conference on Machine Learning, 2024. URL: https://openreview.net/forum?id=XyhgssAo5b.
  • [49] Ali Zeynali, Shahin Kamali, and Mohammad Hajiesmaili. Robust learning-augmented dictionaries. In Forty-first International Conference on Machine Learning, ICML 2024, Vienna, Austria, July 21-27, 2024. OpenReview.net, 2024. URL: https://openreview.net/forum?id=XyhgssAo5b.