WorksComputer Science
Expander Routing under Adversarial Deletions via Temporal Aggregation
Abstract
In expander routing, we seek to establish paths in the expander graph between given source-target pairs while minimizing both dilation (maximum path length) and congestion (maximum edge load). We study this problem in a decremental dynamic setting where the underlying graph remains an expander despite ongoing edge deletions, and source-target pairs can be added or removed. Our goal is to maintain paths under these updates while keeping dilation and congestion low and performing low computation per update. We present a randomized algorithm that maintains paths with polylogarithmic dilation and congestion against an adaptive adversary, while incurring only polylogarithmic amortized computation per update, all with high probability. Our approach leverages a recent technique called Temporal Aggregation to maintain a collection of low-congestion, low-dilation random walks resilient to adaptive adversaries.
Introduction
In the routing problem, we are given a graph and pairs of nodes in this graph, called demands, between which we need to establish paths. The challenge is to come up with paths that are short but also have low congestion, i.e., the maximal number of paths passing through a given edge.
The latter is not always achievable. For example, a node may participate in far more demands than its degree allows, or there may be a small cut separating many demand endpoints. This motivates restricting attention to graph classes in which the cut obstruction does not arise once the per-vertex feasibility condition holds. In particular, one can study graphs for which, whenever every node is the source of at most demands, there is no sparse cut separating many demand endpoints. Such graphs are (essentially) expanders, and the resulting restriction of the routing problem is known as expander routing. Remarkably, these necessary conditions are also sufficient: expander routing always admits a solution with polylogarithmic congestion and path length. Moreover, in the static setting—where the graph and the demand set are fixed—such a solution can be computed in polynomial time [5].
Practical systems, however, are rarely static. Demands typically arrive and depart over time, and the underlying network itself may change. The challenge is even sharper under an adaptive adversary that observes the algorithm’s current state and chooses updates intended to force failure. A trivial approach is to recompute a full routing after every update, but this can incur large and unnecessary overhead. This leads to the following question:
Can we maintain expander routing efficiently under adaptive adversarial updates?
We answer this in the affirmative. Concretely, we give a maintenance scheme that preserves polylogarithmic congestion and path length while requiring only polylogarithmic amortized computation per adversarial update.
Dynamic Expander Routing Problem
We now formally define the dynamic expander routing problem. Initially, the algorithm is given a graph on vertices and a set of demands . The algorithm may perform a polynomial-time setup phase, after which it outputs a collection of paths in such that every demand is served by some path , meaning connects and .
The process evolves over time steps. At each time step , an adaptive adversary—having observed the current maintained paths—modifies the instance. Specifically, it deletes some edges from to obtain a new graph , and it may also add or delete demands from to obtain a new demand set . After these changes, the algorithm must update its solution from to so that every demand in is served.
The goal is to maintain a set of paths with small dilation, i.e., the maximal path length, and small congestion, i.e., the maximum number of paths passing through any edge, at all times, while also minimizing the computation performed after the setup phase.
Adversary constraints. We impose three constraints on the adversary. First, we assume a feasibility condition on demand endpoints:
Assumption 1. For every time and every node , the number of demands in that include is at most the degree of in .
Without this assumption, the degree of a single node becomes an unavoidable bottleneck, and low-congestion routing cannot be guaranteed.
Second, we require that the graph remains an expander.
Assumption 2. There exists an integer such that for every point in time , the mixing time of is no more than .
This assumption can be ensured via expander pruning [SW19]: after the adversary deletes edges, a pruning procedure may delete additional edges to restore expansion. Notably, if the adversary deletes edges in total, then pruning deletes edges and performs computation in total.
Once we allow deleting edges in addition to adversary, we can as well assume that , for some constant , since once reaches this threshold, we can delete all edges and leave the graph empty.
Assumption 3. The total number of adversarial edge deletions is no more than for some constant .
Concretely, it suffices to take , where is the constant such that, after deletions, the number of touched hypercube edges is at most (Lemma 4); see the proof of Lemma 3.
Dynamic Hypercube Embedding Problem
We show that dynamic expander routing can be reduced to a structured special case, namely dynamic generalized hypercube embedding. A generalized hypercube is a graph that retains the hierarchical, bit-fixing-like connectivity of a hypercube, but is defined for an arbitrary number of vertices (not necessarily a power of two).
Definition 1. A generalized hypercube is a graph on vertices labeled . For each , the edge set contains the edges , , , , , where is the largest integer such that .
For convenience, in this work, we sometimes refer to a generalized hypercube simply as a hypercube.
In the dynamic hypercube embedding problem, the algorithm is presented with a sequence of undirected graphs , revealed online. The sequence is chosen by an adaptive adversary: each graph is obtained from by deleting a subset of edges after observing the algorithm’s behavior on . However, for every , the graph is guaranteed to be a good expander, that is, its mixing time satisfies , where is a known global bound.
At each step , the algorithm must construct an embedding of a generalized hypercube onto . For , we assume that the embedding is given. The embedding consists of a bijection that assigns each hypercube vertex to a unique edge of . Further, for every hypercube edge , the algorithm must specify a path in connecting and .
The objective is to minimize, over all time steps, the maximum congestion and maximum dilation of the maintained paths, as well as the total computation performed across the update sequence.
Our Results
Our main result gives an efficient solution to dynamic expander routing against an adaptive adversary, optimal up to polylogarithmic factors.
Theorem 1. Under Assumptions – with , there exists a randomized algorithm that solves the dynamic expander routing problem in the presence of an adaptive adversary such that, with high probability, at any point in time, the collection of paths serving the current demands has dilation and congestion at most . Moreover, if the adversary performs modifications in total (edge deletions and demand insertions/deletions), then with high probability the algorithm performs total computation.
A key building block is the ability to maintain, dynamically, a low-congestion and low-dilation embedding of a generalized hypercube into the changing expander.
Theorem 2. Assume , the initial embedding has congestion and dilation , and the total number of edge deletions satisfies Assumption . Then there exists a randomized algorithm that solves the dynamic hypercube embedding problem in the presence of an adaptive adversary such that, with high probability, at any point in time, the collection of paths corresponding to the edges of a hypercube has dilation and congestion at most . Moreover, if the adversary performs edge deletions in total, then with high probability the algorithm performs total computation.
We now give a high-level overview of how we achieve these results.
Our Approach
Reducing to routing in hypercube. A central special case of static expander routing is routing in the hypercube, which admits a particularly simple scheme due to Valiant. To route between two vertices and , one samples a uniformly random intermediate vertex and routes from to via , using a bit-fixing path from to and from to . Under this scheme, if each node participates in at most demands, then the congestion and dilation are w.h.p.
Our approach leverages this idea in a two-step manner. First, we maintain an embedding of a virtual generalized hypercube into the underlying expander. Second, we route demands in this virtual hypercube using a Valiant-like strategy, and then project the resulting hypercube route back to the original expander using the maintained embedding.
To illustrate the reduction, consider serving a demand . Choose arbitrary edges incident to and , say and . Using the embedding , we translate these to hypercube vertices and , route between them in the (virtual) hypercube, and then map each hypercube edge to its projection in . This yields a valid route from to in the original expander.
Using Temporal Aggregation. Both in hypercube embedding and in hypercube routing, our constructions rely on random walks. In the static setting, random walks are an attractive tool: they naturally spread load and prevent any single edge from becoming overly congested. In the dynamic setting with an adaptive adversary, however, this robustness can break down. Since the adversary observes the algorithm’s current state, it can trigger repeated resampling of a walk—for example, by deleting an edge currently used by that walk—and thereby bias the maintained set of walks toward a chosen region of a graph, thus overcongesting it.
Figure 1. A two-step method for routing between and in via an embedded hypercube .
One particularly damaging strategy is a resample-until-hit attack, where the adversary repeatedly forces resampling until a chosen walk happens to traverse a targeted edge, and then repeats this process across many walks to accumulate congestion on that edge. To defend against such attacks, the algorithm must resample random walks proactively.
To this end, we employ a recent framework known as Temporal Aggregation [13]. This scheme performs few proactive resamples, ensuring, however, regardless of the adversary’s strategy, that the collection of maintained random walks induces low congestion at every time step with high probability.
Related Work
Static General Graph Routing. The field of routing was hugely pioneered by Räcke [Rac02, Rac08] whose endeavor culminated in designing a routing scheme for general graphs, that can produce a set of paths to serve the demands in polynomial time with congestion that is only a factor of greater than the optimal congestion for the given problem instance. Furthermore, Räcke’s scheme is oblivious, meaning the algorithm’s choice of path for a particular demand does not depend on the choices for other demands.
However, Räcke’s results do not capture the dilation of paths. This gap was addressed in a work by Ghaffari, Haeupler, and Zuzic [10], which provides a polynomial time oblivious scheme that is competitive against the optimal congestion + dilation for the problem instance.
This result was further adapted to a CONGEST model [14] with an additional property of every node storing only a little additional information.
Static Special Case Routing. The first work on oblivious routing is by Valiant and Brebner [VB81], who gave an elegant way to route demands in a hypercube with dilation and congestion whp. Other special case results include studies on hole-free graphs [1], geometric graphs [2], meshes [3], and other [15 Sch06, Upf84, Rac09].
Static Expander Routing. The expander routing problem was first studied by Ghaffari et al. [11] who considered it in the CONGEST model. There, the demand means that wants to send a token to , and the goal is to send all the tokens in as few rounds as possible. In [11], the round complexity of the problem was shown to be with being a mixing time of the underlying graph . This was further improved by [12], which achieves rounds. Algorithms in [11] and [12] are randomized, which was addressed in works [9, 5] that obtained a deterministic CONGEST algorithm for expander routing in rounds with being a conductance of the underlying graph .
Overall, expander routing has proven to be useful in many applications, such as distributed MST construction [11], subgraph finding [7, 8], and various data-summarization tasks [SV19]. Further, expander routing allows us to transform a large class of work-efficient PRAM algorithms into CONGEST algorithms with small overhead [12], perform a smooth analysis for distributed MST [6], and design sparsity-aware algorithms for various shortest path computation tasks in the CONGEST model [4].
Preliminaries and Notation
We use as an upper bound on the number of vertices in for all . One can assume . Similarly, is the upper bound on the number of edges in . Since we assume -s to be connected, we use instead of everywhere. When the exact time step is not relevant, we omit specifying it and simply write and . We use notation to hide polylogarithmic factors. By with high probability (w.h.p.) we mean the probability of at least for some .
A random walk on a graph is a discrete process that starts at some vertex and, at each step, travels to a uniformly random neighbor of the current vertex. A lazy random walk is the one that, alternatively, with probability , stays at the same vertex. It is known that the distribution of a lazy random walk converges to a stationary distribution in which each vertex has a probability . Alternatively, we will sometimes speak about edge random walks, the difference being that the random walk starts from an edge and travels to an adjacent edge. The reason to shift to this perspective is that the edge random walk possesses a uniform stationary distribution over edges, which is convenient to work with.
The mixing time of , denoted , can be defined as the number of time steps for (any) initial distribution of a random walk on to get inverse-polynomially close to the stationary one in the sense of distance. With that, expanders can be defined as graphs having polylogarithmic mixing time. In some of our derivations, we implicitly assume .
Throughout the paper, we will refer to classical Chernoff bounds.
Given an embedding of a hypercube , we sometimes slightly abuse the notation and write for to refer to the path in to which is mapped by the embedding. We call this path a projection of or a path corresponding to , and we define a projection of a path in to be a concatenation of projections of edges constituting this path.
Temporal Aggregation. A key tool we will use repeatedly is Temporal Aggregation. The motivation is the following. Our algorithms are randomized and rely on randomness for load balancing. In a static setting, where all random choices are made simultaneously, standard concentration arguments imply that the maximum load is small with high probability. In a dynamic setting with an adaptive adversary, however, this guarantee can break down: if the adversary is allowed to repeatedly resample outcomes after observing them, it can bias the realized distribution and create excessive load.
We illustrate this issue with two examples that are central to this paper. First, consider Valiant routing on the hypercube. If all demands are routed simultaneously, then with high probability, the maximum congestion is low. In the dynamic setting, an adversary that observes the current – path can force it to be resampled, e.g., by deleting an edge on it or by deleting and re-inserting the demand . It can then repeat this until the path traverses some fixed target edge , and then proceed similarly for other pair , and so on. In polynomially many steps, this can force many routes to traverse , thereby overcongesting it.
As a second example, consider maintaining random walks in a graph that changes over time. Suppose that from each node we want to maintain random walks of length . If all these walks are sampled simultaneously, then with high probability the maximum congestion is . But the same “resample-until-hit” attack applies here as well. Moreover, if the adversary can delete edges, it can increase the probability of certain random walks to hit a given edge.
In both examples, it is natural for the algorithm to resample random paths from time to time in order to “refresh” the randomness and prevent the adversary from drifting too far from the intended distribution. However, fully resampling the entire system after every adversarial update would be prohibitively expensive.
To address this, we use the Temporal Aggregation framework of [13], which was designed specifically for maintaining randomness in dynamic systems against adaptive adversaries.
The framework in [13] is as follows. The system consists of objects and evolves in discrete time steps. At each time, an object corresponds to an element in some ground set, we call this element the realization of an object. At time , after observing the state of the system at time , the adversary specifies a distribution over the ground set for each object and resamples a subset of objects according to these distributions. Then, the algorithm may also resample a subset of objects of its choice, according to the specified distributions. Objects that are not resampled at time keep their previous realizations. The set of all objects’ realizations at time is called a joint realization, and the set of all objects’ realizations at time given they are all sampled at time is called a static realization.
This formalism matches our needs. For instance, in the dynamic random-walk example, the objects correspond to individual random walks; their distributions are determined by the current graph; and objects’ realizations come from a ground set of all paths of length . The quantity we care about is the maximum congestion, which corresponds to the notion of load in [13]. In our setting, the static realization has a load of whp, and we want to minimize the load of a joint realization.
The paper [13] provides a resampling strategy called Greedy Temporal Aggregation. Informally, if sampling all objects simultaneously would yield low load with high probability at each time, then Greedy Temporal Aggregation guarantees that the load remains low even in the dynamic, adversarially adaptive setting, at the cost of only a logarithmic-factor blow-up in both load and the number of resamples.
Theorem 3 (Theorem 2 of [13]). If the system evolves for time steps, and in each time step a static realization has load at most with probability at least , then Greedy Temporal Aggregation ensures that at time the joint realization has load at most with probability at least .
Moreover, if the adversary performs samples by time , then Greedy Temporal Aggregation performs at most samples.
Theorem 3 is stated for a fixed time . Applying it at every time and taking a union bound, the load bound holds simultaneously at all times with probability at least . Since in our applications and for an arbitrarily large constant , this is still a high-probability guarantee. Whenever we invoke the theorem “at any point in time” below, we mean this simultaneous version.
To illustrate the power of this result, we show how this theorem allows us to extend static oblivious routing guarantees to a dynamic setting with an adaptive adversary essentially “for free,” up to logarithmic factors.
Definition 2. An oblivious routing scheme is a randomized procedure that, given a graph and a single demand , outputs an - path in sampled from a distribution that depends only on , , and . Each invocation uses fresh randomness, independent of all other invocations; in particular, the path chosen for one demand does not depend on the other demands or on the paths chosen for them. We say that the scheme yields congestion at most on with high probability if, when every demand in is routed by an independent invocation, the maximum edge congestion is at most with high probability.
Corollary 1. Consider a sequence of graphs on vertices, where , and a sequence of demand sets . Suppose there exists an oblivious routing scheme such that for every , routing in according to this scheme yields congestion at most with high probability.
Then there exists an algorithm that maintains routing paths for against an adaptive adversary such that the congestion stays at all times whp. Moreover, if the adversary performs a total of edge deletions and demand insertions, the algorithm performs at most invocations of the oblivious routing procedure whp.
Proof. We map our setting to the framework of [13]. Each demand is an object. We say an object is adversarially resampled whenever the adversary either (i) introduces a new demand, or (ii) deletes an edge that the demand’s current path uses. Resampling an object corresponds to recomputing its route using the oblivious routing scheme. The load at time is the maximum congestion of the current collection of paths at time .
Applying Greedy Temporal Aggregation, Theorem 3 implies that at any time , the maximum congestion is at most whp. In particular, when the adversary deletes an edge, at most demands are resampled whp. Therefore, over edge deletions, the adversary triggers at most adversarial resamples whp. By Theorem 3, the algorithm performs only an additional factor more resamples, for a total of oblivious-routing invocations whp.
We want to remark that for our needs, a slight extension of the framework of [13] is needed. Namely, [13] assumes that the set of objects is static, whereas our applications require adding and removing objects. We show in the Appendix § 7 that this extension can be assumed without losing guarantees of Theorem 3.
Dynamic Hypercube Embedding Algorithm
In this section, we describe our algorithm that solves the Dynamic Hypercube Embedding problem optimally up to polylog factors. We start by defining the notion that resembles that of a bit-fixing path:
Definition 3. The greedy path between nodes and in the generalized hypercube is defined as follows. If , then the path is empty. Otherwise, w.l.o.g., assume that . We pick the biggest s.t. and there exists an edge , we add to the greedy path and construct the greedy path between and recursively.
As described in the problem statement, the adversary constructs the next graph in the sequence by removing some edges from , which corresponds to node deletions in . This imposes two subtasks: (I) ensuring the graph maintained is a generalized hypercube despite some nodes being deleted, and (II) ensuring each edge of the maintained hypercube corresponds to an existing path in the underlying graph.
We now describe how our algorithm adapts and the embedding. Recall that nodes of the hypercube are associated with numbers .
Algorithm 1 Dynamic Hypercube Embedding. On Edges Deletion.
(I) Assume the vertex is deleted. If , we do nothing. Otherwise, we relabel the node to but don’t change its mapping by . We then remove all the edges adjacent to deleted and relabeled nodes and establish new edges for all such that and similarly such that .
(II) When an edge is deleted in , it might as well invalidate some paths that were traversing it. We therefore need to fix all the edges from whose paths got invalidated by reestablishing those.
Definition 4. If an edge in is established or fixed at time , we call it new. Otherwise, we call it original.
We now describe how to sample a path between edges and in . We use this procedure for establishing paths for new edges.
The final ingredient in our algorithm is the Temporal Aggregation of newly established or fixed edges. It will be convenient for further analysis to introduce some definitions related to this algorithm.
Definition 5. If an edge in is either new or is used by some greedy path, we call it touched.
Definition 6. The path between two nodes and in consists of two random walks and two greedy path projections. We call the random walks part the legs of the path.
Algorithm 2 Dynamic Hypercube Embedding. Sampling a path in .
First, we run random walks from and of length , getting the endpoints and respectively. These endpoints correspond to and respectively. Then, we sample a uniformly random node and construct greedy paths in between and and and . If these greedy paths do not contain new edges nor edges used by some other greedy path, we establish a path between and as a concatenation of two sampled random walks and projections of two greedy paths. If either of the two greedy paths contains new edges or edges used by some other greedy path, we resample random walks and repeat this process until successful.
Algorithm 3 Dynamic Hypercube Embedding. Temporal Aggregation.
We map our setting to the framework of [13] as follows. Every edge of the hypercube corresponds to an object. The realization of the object at time is the path that corresponds to in between and . Sampling an object means sampling a path as described above. Finally, we say that adversary adds an object at time if is a new edge added at time , and we say that adversary samples an object if adversary deletes an edge in through which the path corresponding to was passing. In this setting, we employ Temporal Aggregation.
Proof Overview
Our goal is to show that the algorithm solves the problem optimally up to a polylogarithmic factor. Specifically, we aim to prove that all established paths have length , that with high probability the congestion on every edge in remains , and that the total number of computation steps is with high probability, where is the total number of adversarial edge deletions. In this section, we do the proof overview. We present formal statements in § 4.2.
Short paths. The path in between and consists of two random walks of length and projections of two greedy paths.
Since the greedy path in only passes through the untouched edges, whose paths were constructed at the initial embedding of the hypercube, the length of the path between and is at most , where is the maximal dilation of the initial embedding and is the maximal length of a greedy path in . Lemma 5 bounds as .
Low congestion. In our analysis, we split the congestion introduced by paths into two parts: the congestion introduced by legs and the congestion introduced by the greedy path projections. The bound on the congestion from greedy path projections is straightforward. In particular, note that the number of greedy path projections passing through an edge is at most the number of the original edges whose projections pass through , which is at most the maximal congestion of the original embedding.
To analyze the congestion coming from random walks, however, we refer to the guarantees of Temporal Aggregation, which yield the following crucial lemma:
Lemma 1. With high probability, at any point in time , for every edge , the number of legs passing through is .
Combined, these analyses result in the following lemma.
Lemma 2. With high probability, at any point in time, the maximal congestion of a hypercube embedding is .
Few computation steps. The computation the algorithm performs can be analyzed per edge deletion. When an edge is deleted, the algorithm needs to (1) establish paths for new edges in , (2) fix edges whose corresponding paths in were invalidated by an edge deletion, and (3) proactively resample edges through temporal aggregation. This way, bounding computation boils down to bounding the total number of paths to be (re)sampled and the computation needed to sample a single path.
Number of path (re)samples per edge deletion. For one edge deletion, we establish new edges in . Furthermore, Lemma 2 tells us that w.h.p., the number of edges to be fixed because of the edge deletion is . Finally, Theorem 3 tells us that temporal aggregation only introduces an additional factor to the number of edges to proactively resample compared to the number of newly established and fixed edges.
Computation per path sampling. Trying to sample a path once is cheap: the algorithm runs two random walks of length in and computes two greedy paths in , both straightforwardly in steps. However, the subtlety is that the obtained path might get rejected in case greedy paths go through touched edges, which will cause another attempt. Therefore, we need to upper bound the number of potential retries.
Lemma 3. With high probability, at any point in time, the procedure of sampling a path succeeds after tries.
Intuitively, the above lemma holds because there are few touched edges:
Lemma 4. After deletions, the number of touched edges is .
Formal Statements
In this section, we provide all the formal statements needed to prove that the Algorithm 1 results in low Dilation, Congestion, and Computation.
Dilation
This subsection provides formal statements that show that the dilation of the paths that correspond to edges in is small at any time. The following lemma bounds the length of greedy paths in .
Lemma 5. All greedy paths in are of length .
Proof. Consider a greedy path between and with . Observe two things: First, . Second, . And since , we deduce that .
Using this lemma, we conclude that the maximal dilation at any time is polylogarithmic:
Lemma 6. For any time and any edge , the corresponding path to in has length .
Proof. Consider an edge . The path in between and consists of two legs of length and two projections of the greedy paths. Since the greedy path in only passes through the untouched edges, whose corresponding paths were constructed at the original embedding, the length of the path between and is at most , where is the maximal dilation of the original embedding, which is promised to be , and is the maximal length of a greedy path in , which Lemma 5 bounds as .
Congestion
This subsection focuses on proving that with high probability, at any point in time, the maximal congestion is low. We analyze congestion that comes from greedy paths’ projections and legs separately. The following lemma bounds the amount of congestion introduced by greedy paths’ projections.
Lemma 7. At each time, at most greedy path projections pass through each edge in .
Proof. By the algorithm, a greedy path in only takes untouched edges. This implies that if a projection of a greedy path goes through some edge , then there exists an edge in on this greedy path which was established at time 1 and was never fixed, and its corresponding path goes through . But the number of such edges that are neither newly established nor were fixed and pass through is at most the maximal congestion of the original embedding, which is guaranteed to be . Therefore, since by the algorithm at most one greedy path in can pass through such an edge, the number of greedy path projections traversing is at most .
Lemma 4. After deletions, the number of touched edges is .
Proof. Let us denote , , and , respectively, the number of newly established edges, fixed edges that are not newly established, and edges traversed by a greedy path after edge deletions. Then by definition, the number of touched edges is .
For a single edge deletion, we establish new edges, hence .
Now, let us analyze how many edges in that were neither newly established nor fixed become fixed per edge deletion. Consider such an edge. The fact that it becomes fixed after an edge deletion implies that its corresponding path passed through a deleted edge. But then the number of such edges in is at most the congestion of an original embedding, which is . Therefore, .
Finally, each newly established or fixed edge introduces two greedy paths that touch every edge through which they go. However, Lemma 5 stipulates that the length of a greedy path is , hence .
The lemma below intuitively implies that one touched edge disallows a relatively small number of greedy paths to be taken by the algorithm.
Lemma 8. Any edge belongs to at most greedy paths in .
Proof. Define a stretch of an edge to be . Given that an edge belongs to a greedy path, this greedy path can be described by the stretches of the edges it contains. Note that for every greedy path, consecutive edges differ in stretch by at least a factor of 2; furthermore, the stretches are monotonically decreasing. Therefore, since a stretch is at most and at least 1, an edge of stretch can potentially have at most edges before it and edges after it in the greedy path. Which leaves us with options.
Next is the lemma that bounds the number of retries before a successful sample of a path.
Lemma 3. With high probability, at any point in time, the procedure of sampling a path succeeds after tries.
Proof. Lemma 4 bounds the number of touched edges after edge deletions to be no more than for some constant . Leveraging Assumption 3 with , the maximal number of edge deletions is , therefore ensuring that the number of touched edges is no more than at any point in time. Furthermore, since the number of deleted edges in is at most , the number of vertices in at any point in time is at least ; therefore, the number of greedy paths in at any time , denoted with , is .
Now, Lemma 8 tells us that one edge belongs to at most greedy paths in , hence, at any time, the total number of greedy paths that do not contain a touched edge is .
Hence, since one endpoint of a greedy path is sampled almost uniformly and the other one purely uniformly, we conclude that sampling a greedy path with no touched edges is of probability ; thus, by standard Chernoff bounds, after tries, the algorithm will succeed with high probability.
The latter lemma allows us to show that although the distribution of paths’ legs is different from the distribution of sample-once random walks due to their resample-until-success nature, those still induce a congestion comparable to the one induced by sample-once random walks. In particular, we get the following guarantee in the static setting.
Lemma 9. Let denote the set of new edges of a hypercube at time . If all edges in are sampled at time , then the congestion in induced by the legs of the sampled paths is with high probability.
Proof. Let denote the number of legs we need to sample. Lemma 3 tells us that with high probability, each leg from edge can be chosen out of independent random walks from . Therefore, with high probability, the congestion of all legs is no more than a congestion of random walks. Since each edge is a source of at most legs, each edge is a source of random walks. Further, each random walk is of length . The standard random walk congestion argument then tells us that the congestion of these random walks is at most whp.
Combining Lemma 9 and Theorem 3, we can prove Lemma 1.
Lemma 1. With high probability, at any point in time , for every edge , the number of legs passing through is .
Proof. Invoke Theorem 3 with a static guarantee of Lemma 9 with a load being a congestion of edge .
The next lemma summarizes the analysis and states that the total congestion is small.
Lemma 2. With high probability, at any point in time, the maximal congestion of a hypercube embedding is .
Proof. We split the congestion of a given edge into two parts: congestion from legs and congestion from greedy paths’ projections. The congestion from legs is with high probability by Lemma 1, the congestion from greedy paths’ projections is by Lemma 7.
Computation
This subsection bounds the total computation performed by an algorithm by the polylog times the number of edge deletions performed by the adversary.
Lemma 3 states that the algorithm succeeds in establishing a path in a few tries. What is left to show is the bound on the total number of times the algorithm will attempt to sample a path.
Lemma 10. If the adversary performs deletions in total, w.h.p., the number of attempts by the algorithm to sample a path will be .
Proof. The algorithm attempts to sample a path for three reasons: (1) It establishes an edge, (2) It fixes an edge, and (3) It resamples an edge due to temporal aggregation.
Denote the total number of newly established, fixed, and temporarily aggregated edges with , , and , respectively.
The number of new edges established per deletion is , hence . According to Lemma 2, w.h.p., the number of paths that need to be fixed after a single edge deletion is , hence . Finally, according to Theorem 3, .
We therefore get the following total computation guarantee.
Lemma 11. If the adversary performs deletions in total, w.h.p., the total computation performed by the algorithm is .
Proof. By Lemma 10 we know that whp the number of path resampling attempts is . Lemma 3 stipulates that one attempt requires tries with high probability. Therefore, whp, the total computation is .
Finally, we prove Theorem 2.
Theorem 2. Assume , the initial embedding has congestion and dilation , and the total number of edge deletions satisfies Assumption 3. Then there exists a randomized algorithm that solves the dynamic hypercube embedding problem in the presence of an adaptive adversary such that, with high probability, at any point in time, the collection of paths corresponding to the edges of a hypercube has dilation and congestion at most . Moreover, if the adversary performs edge deletions in total, then with high probability the algorithm performs total computation.
Proof. Apply Lemmas 6, 2, 11.
Dynamic Hypercube Routing
This section discusses routing demands in a dynamic generalized hypercube—the building block we use in our general dynamic expander routing algorithm when provided an embedding.
Problem Statement
Initially, the algorithm is given a generalized hypercube and a set of demands . The algorithm may perform a polynomial-time setup phase, after which it outputs a collection of paths in such that every demand in is served by some path in .
At each time step , an adaptive adversary—having observed the current maintained paths—modifies the instance. Specifically, it deletes some nodes and edges from and inserts some edges to obtain a new . Also, it may add or delete demands to obtain a new demand set from . After these changes, the algorithm must update its solution from to so that every demand in is served.
We impose two constraints on the adversary. First, we require that every is a generalized hypercube. Second, for every time and every node , is a source or a destination of at most 1 demand in .
The goal is to maintain a set of paths with small maximum dilation and small maximum congestion at all times, while also minimizing the computation performed per adversarial modification (vertex deletions, edge insertions/deletions, and demand insertions/deletions).
Static Routing in Generalized Hypercube
We now give a Valiant-like oblivious routing procedure that performs well in static generalized hypercubes.
Algorithm 4 Oblivious routing from to in generalized hypercube.
uniformly random node greedy path from to greedy path from to Output concatenation of and
This procedure results in low congestion with high probability.
Lemma 12. Consider a hypercube on nodes and a set of demands such that each node in is a source or a destination of at most one demand. Assume we route all demands in simultaneously and independently by the Algorithm 4. Then, with high probability, the maximum congestion induced by the paths is .
Proof. Fix an edge . We bound the number of paths that traverse ; a union bound over all edges then yields the maximum congestion.
Consider only the segments (the segments are identical by symmetry since is sampled uniformly and independently for each demand). For each demand define
We show and then apply Chernoff.
Write with and let its stretch be . If then a greedy path from cannot traverse , so . Now fix . If the greedy path uses , then upon reaching the next step must be exactly , which by the greedy rule happens iff the remaining distance to satisfies , i.e. . Hence for every ,
Moreover, only a few sources can reach and then take an -jump: along a greedy path, step lengths are strictly decreasing powers of two, so before taking the -edge, all earlier steps must have lengths in . Choosing any subset of these lengths uniquely determines the total displacement from to , hence yields at most one such source . Therefore the number of sources whose greedy path can traverse is at most
Since contains at most one demand per source, we get
By symmetry (reversing the order on ), the same bound holds for sources , contributing at most 1 in expectation. Thus
For fixed , the variables are independent because the intermediate vertices are sampled independently across demands. Hence, by a Chernoff bound, there is an absolute constant such that
The generalized hypercube has edges, so a union bound implies
Therefore, with high probability, every edge has congestion from the segments. The same holds for the segments, and thus the total congestion per edge is with high probability. □
We also observe from the description of the algorithm that it takes little computation.
Lemma 13. The Algorithm 4 requires computation.
We remark that the Algorithm 4 can be used in the precomputation phase of the Dynamic Generalized Hypercube Routing problem, yielding maximal congestion whp and precomputing time. We now explain how we maintain this routing.
Dynamic Algorithm
To lift the static routing scheme to the dynamic setting with an adaptive adversary, we use Greedy Temporal Aggregation of [13].
Algorithm 5 Dynamic Hypercube Routing
We map our setting to the framework of [13]. Each demand is an object. We say an object is adversarially added whenever the adversary introduces a new demand, or adversarially resampled if the adversary deletes an edge that the demand’s current route uses. Resampling an object corresponds to recomputing its route using the Algorithm 4. With this, we apply Greedy Temporal Aggregation.
Theorem 4. Consider a sequence of graphs on vertices with , such that each is a generalized hypercube. Consider also a sequence of demands , such that for every and , is a source or a destination of at most 1 demand in .
There exists an algorithm that maintains routing paths for against an adaptive adversary such that the congestion stays at all times whp. Moreover, if the adversary performs a total of edge deletions and demand insertions, the algorithm performs computation whp.
Proof. Algorithm 5 instantiates Corollary 1 with a static routing Algorithm 4. Lemmas 12 and 13 then imply the statement of the theorem.
Putting it Together
In this section, we combine our Dynamic Hypercube Embedding and Dynamic Hypercube Routing algorithm to obtain a solution for the original Dynamic Expander Routing Problem.
Algorithm for Dynamic Expander Routing
Algorithm 6 Dynamic Expander Routing
First, in the setup phase, we do an embedding of a Generalized Hypercube onto , e.g., according to the algorithm presented in [5]. Throughout the process, we maintain this embedding according to Algorithm 1.
The initial set of demands for is served as follows. For each initial demand , we assign it to a spare edge of and a spare edge of . Then, we serve the demand in by the Algorithm 4. Finally, we serve in by the projection of a path serving in .
We will be maintaining two sets of demands—one, the set on the underlying graph called , and one on the embedded hypercube called . We handle serving demands from by Algorithm 5. We now focus on handling demands from , given that the demands in are handled. When an adversary adds or deletes a demand for at time , we add or delete it respectively in . Also, if an adversary deletes an edge in through which a path serving some demand was passing, we delete and add back to explicitly.
The added demand is served similarly to the initial demands. First, we assign it to a spare edge of and a spare edge of . Then, we add to . Once the demand is served in by Algorithm 5 via a path , we serve it in by the projection of .
Analysis
We now focus on analyzing the correctness of the Algorithm 6, as well as the dilation and congestion induced by it at every time, and the total computation.
Lemma 14 (Correctness). The Algorithm 6 fulfills the assumptions of the subroutines it is using and correctly solves the Expander Routing Problem.
Proof. We can use a Dynamic Hypercube Embedding Algorithm 1 since the graph always satisfies the low mixing time Assumption 2.
Note that for an added demand by the vertex degree feasibility Assumption 1, there will always be a spare edge and . Furthermore, note that since an edge in is assigned at most one demand, a vertex in is as well, so the condition of Theorem 4 is fulfilled.
Lastly, we observe that the paths maintained by the algorithm at time indeed serve since the projection of a continuous path in is a continuous path in and it starts and ends at the edges incident to the endpoints of the demand.
Lemma 15 (Dilation). The dilation induced by the Algorithm 6 is .
Proof. The dilation of a path between is at most the number of edges in the hypercube path serving times the maximal length of the path corresponding to a hypercube edge. The prior is the length of two greedy paths, which is bounded by Lemma 5 by . And the latter is bounded by Lemma 6 by . Hence the dilation of a path serving is .
Lemma 16 (Congestion). The congestion induced by the Algorithm 6 is with high probability.
Proof. The congestion of an edge is at most the maximal number of hypercube edge projections crossing times the maximal congestion in the hypercube. The prior is bounded whp by by Lemma 2 and the latter is bounded by whp by Theorem 4.
Lemma 17 (Computation). If the adversary performs edge deletions and demand insertions in total, the computation of the Algorithm 6 is with high probability.
Proof. We start by observing that the setup phase indeed requires polynomial time. In particular, the algorithm for the initial hypercube embedding of [5] has polynomial running time. And the initial demand serving is computation, since there are at most demands according to Assumption 1 and the Algorithm 4 runs in computation per demand according to Lemma 13.
After the setup phase, we have two sources of computation: maintaining the hypercube embedding and maintaining the demands in the hypercube. The first one is guaranteed to result in total computation with high probability by Lemma 11. To apply Theorem 4 for the second one, we first need to bound the total number of deleted edges and added demands in the hypercube. The deleted edges are straightforward: the edge is only deleted when a node is deleted, and a node in the hypercube is deleted when the corresponding edge in is deleted. Once a node in the hypercube is deleted, all the incident edges are deleted, and there are of those. Hence, if edges are deleted in , edges are deleted in . The demand insertions are for two reasons: either it is a completely new demand inserted, or it is a reinserted demand for which an edge in on a path serving this demand was deleted. By definition, there can be no more than newly inserted demands. As for reinserted demands, Lemma 16 stipulates that whp there are at most paths that are using an edge, hence per edge deletions, at most demands will be reinserted. This allows us to conclude that if an adversary does demand insertions and edge deletions in , it does demand insertions and edge deletions in . Therefore, Theorem 4 gives us that the total computation for maintaining demands in the hypercube is .
Finally, we prove our main theorem.
Theorem 1. Under Assumptions 1–3 with , there exists a randomized algorithm that solves the dynamic expander routing problem in the presence of an adaptive adversary such that, with high probability, at any point in time, the collection of paths serving the current demands has dilation and congestion at . Moreover, if the adversary performs modifications in total (edge deletions and demand insertions/deletions), then with high probability the algorithm performs total computation.
Proof. The Algorithm 6 fulfills the Theorem by Lemmas 14, 15, 16, 17.
Extending Temporal Aggregation Framework
In this section, we show that Theorem Theorem 3 holds as well if one is allowed to add and delete objects from the system. The only part of the original proof to be updated is the one concerning a few resamples done by the algorithm.
Theorem 5. If the system evolves for time steps, and in each time step a static realization has a load at most with probability at least , then Greedy Temporal Aggregation ensures that at time the joint realization has a load at most with probability at least .
Moreover, if the adversary does samples and object insertions by the time , Greedy Temporal Aggregation performs no more than samples.
Proof of few resamples. We assume that the initial sample is at time 0.
To prove that the algorithm does a bounded number of additional samples, we conduct an amortized analysis. We say that each object has coins in its wallet and in its bequest savings. We also say that objects at time 0 have a bank.
When the adversary samples or adds an object, we assume this object receives coins to its wallet and 4 coins to its bequest from the adversary. Additionally, when the adversary samples or adds an object, it adds coins to the bank. Also, if the adversary samples an object that was previously sampled at time and there were objects sampled at time , they all receive coins to their wallet from the adversary. This way, if an adversary samples or adds an object, it spends at most coins.
Further, if an adversary deletes an object that was previously sampled at time and there were objects sampled at time , they all receive coins to their wallet from the bequest of the deleted object.
When an algorithm samples an object sampled at time , it takes one coin from its wallet if or one coin from the bank if .
Denote with a set of objects sampled at the same time step as and with the number of coins has in its wallet. Consider the potential function of : . We claim that this potential is monotonically increasing for all objects once they are sampled at time . Indeed, consider the cases when this potential is changed.
The object is added to the group. Then all the potentials only increase.
The object is sampled by the adversary. Then, the may decrease (at most) from to , hence the from to , but adversary gives the object coins to its wallet, so can not decrease.
Some other object from is sampled by the adversary. Assume that before the sample . Then .
Some other object from is deleted by the adversary. Assume that before the deletion . Then, as in the previous case, .
All the objects in are sampled by the algorithm. This means that they are being sampled together with some other group, whose size is at least . Therefore, the new size and hence .
We note that if an object is deleted at time , it was already either sampled or added, hence it has at least 4 coins in its bequest and can pay to the nodes of its group.
We can now prove that the algorithm will always be able to take a coin. First, consider sampling an object that was last sampled at time . Indeed, we’ve shown that . If the object is sampled, it means its group’s size is increased by at least times, hence it was less than , hence the number of coins in the wallet of an object was at least 1, since and .
Next, consider an algorithm samples an object that was last sampled at time 0. Denote the group size of objects at time 0 with , the size of some other group at time with which it gets merged with . By the definition of the algorithm, we know that . However, for every object at time , the adversary gave to a bank coins, hence there are at least coins in the bank, and we can use those to pay for sampling objects at time 0.
Finally, we conclude that
References
- [1]Costas Busch and Malik Magdon-Ismail. Optimal oblivious routing in hole-free networks. In International Conference on Heterogeneous Networking for Quality, Reliability, Security and Robustness, pages 421–437. Springer, 2010.
- [2]Costas Busch, Malik Magdon-Ismail, and Jing Xi. Oblivious routing on geometric networks. In Proceedings of the seventeenth annual ACM symposium on Parallelism in algorithms and architectures, pages 316–324, 2005.
- [3]Costas Busch, Malik Magdon-Ismail, and Jing Xi. Optimal oblivious path selection on the mesh. IEEE Transactions on Computers, 57(5):660–671, 2008.
- [4]Keren Censor-Hillel, Dean Leitersdorf, and Volodymyr Polosukhin. On sparsity awareness in distributed computations. In Proceedings of the 33rd ACM Symposium on Parallelism in Algorithms and Architectures, pages 151–161, 2021.
- [5]Yi-Jun Chang, Shang-En Huang, and Hsin-Hao Su. Deterministic expander routing: Faster and more versatile. In Proceedings of the 43rd ACM Symposium on Principles of Distributed Computing, pages 194–204, 2024.arxiv.org/abs/2405.03908
- [6]Soumyottam Chatterjee, Gopal Pandurangan, and Nguyen Dinh Pham. Distributed mst: A smoothed analysis. In Proceedings of the 21st International Conference on Distributed Computing and Networking, pages 1–10, 2020.arxiv.org/abs/1911.02628
- [7]Yi-Jun Chang, Seth Pettie, and Hengjie Zhang. Distributed triangle detection via expander decomposition. In Proceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 821–840. SIAM, 2019.
- [8]Yi-Jun Chang and Thatchaphol Saranurak. Improved distributed expander decomposition and nearly optimal triangle enumeration. In Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, pages 66–73, 2019.arxiv.org/abs/1904.08037
- [9]Yi-Jun Chang and Thatchaphol Saranurak. Deterministic distributed expander decomposition and routing with applications in distributed derandomization. In 2020 IEEE 61st Annual Symposium on Foundations of Computer Science (FOCS), pages 377–388. IEEE, 2020.arxiv.org/abs/2007.14898
- [10]Mohsen Ghaffari, Bernhard Haeupler, and Goran Zuzic. Hop-constrained oblivious routing. In Proceedings of the 53rd Annual ACM SIGACT Symposium on Theory of Computing, pages 1208–1220, 2021.
- [11]Mohsen Ghaffari, Fabian Kuhn, and Hsin-Hao Su. Distributed mst and routing in almost mixing time. In Proceedings of the ACM Symposium on Principles of Distributed Computing, pages 131–140, 2017.DOI
- [12]Mohsen Ghaffari and Jason Li. New distributed algorithms in almost mixing time via transformations from parallel algorithms. arXiv preprint arXiv:1805.04764, 2018.arxiv.org/abs/1805.04764
- [13]Bernhard Haeupler and Anton Paramonov. Maintaining random assignments under adversarial dynamics. arXiv preprint arXiv:2604.05606, 2026.arxiv.org/abs/2604.05606
- [14]Bernhard Haeupler, Harald Räcke, and Mohsen Ghaffari. Hop-constrained expander decompositions, oblivious routing, and distributed universal optimality. In Proceedings of the 54th Annual ACM SIGACT Symposium on Theory of Computing, pages 1325–1338, 2022.DOI
- [15]Michael O Rabin. Efficient dispersal of information for security, load balancing, and fault tolerance. Journal of the ACM (JACM), 36(2):335–348, 1989.DOI
