alphaFeedback

WorksComputer Science

Expander Routing under Adversarial Deletions via Temporal Aggregation

AI contributions
Not recorded for this paper
View details

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 vv is the source of at most deg⁡(v)\operatorname{deg}(v) 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 G1G_1 on nn vertices and a set of demands D1⊆V(G1)×V(G1)\mathcal{D}_1 \subseteq V(G_1) \times V(G_1). The algorithm may perform a polynomial-time setup phase, after which it outputs a collection of paths P1\mathcal{P}_1 in G1G_1 such that every demand (s,t)∈D1(s,t) \in\mathcal{D}_1 is served by some path p∈P1p \in\mathcal{P}_1, meaning pp connects ss and tt.

The process evolves over T=poly⁡(n)T = \operatorname{poly}(n) time steps. At each time step 1<t≤T1 < t \leq T, an adaptive adversary—having observed the current maintained paths—modifies the instance. Specifically, it deletes some edges from Gt−1G_{t-1} to obtain a new graph GtG_t, and it may also add or delete demands from Dt−1\mathcal{D}_{t-1} to obtain a new demand set Dt\mathcal{D}_t. After these changes, the algorithm must update its solution from Pt−1\mathcal{P}_{t-1} to Pt\mathcal{P}_t so that every demand in Dt\mathcal{D}_t is served.

The goal is to maintain a set of paths Pt\mathcal{P}_t 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 t∈[T]t \in[T] and every node u∈V(Gt)u \in V(G_t), the number of demands in Dt\mathcal{D}_t that include uu is at most the degree of uu in GtG_t.

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 τmix\tau_{\mathrm{mix}} such that for every point in time t∈[T]t \in[T], the mixing time of GtG_t is no more than τmix\tau_{\mathrm{mix}}.

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 qq edges in total, then pruning deletes O~(q)\widetilde{O}(q) edges and performs O~(q)\widetilde{O}(q) computation in total.

Once we allow deleting O~(q)\widetilde{O}(q) edges in addition to adversary, we can as well assume that q≤∣E(G1)∣log⁡cnq \leq\frac{|E(G_1)|}{\log^c n}, for some constant cc, since once qq reaches this threshold, we can delete all ∣E(G1)∣|E(G_1)| edges and leave the graph empty.

Assumption 3. The total number of adversarial edge deletions is no more than ∣E(G1)∣log⁡cn\frac{|E(G_1)|}{\log^c n} for some constant cc.

Concretely, it suffices to take c=c0+1c = c_0 + 1, where c0c_0 is the constant such that, after qq deletions, the number of touched hypercube edges is at most qlog⁡c0nq \log^{c_0} n (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 nn vertices labeled 1,2,…,n1, 2, \ldots, n. For each u∈[n]u \in[n], the edge set contains the edges (u,u+1)(u,u+1), (u,u+2)(u,u+2), (u,u+4)(u,u+4), …\ldots, (u,u+2i)(u,u+2^i), where ii is the largest integer such that u+2i≤nu+2^i \leq n.

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 G1,G2,…,GTG_1,G_2,\ldots,G_T, revealed online. The sequence is chosen by an adaptive adversary: each graph GtG_t is obtained from Gt−1G_{t-1} by deleting a subset of edges after observing the algorithm’s behavior on Gt−1G_{t-1}. However, for every t∈[T]t \in[T], the graph GtG_t is guaranteed to be a good expander, that is, its mixing time satisfies τmix(Gt)≤τmix\tau_{\mathrm{mix}}(G_t) \le\tau_{\mathrm{mix}}, where τmix=polylog⁡(n)\tau_{\mathrm{mix}} = \operatorname{polylog}(n) is a known global bound.

At each step t>1t > 1, the algorithm must construct an embedding of a generalized hypercube HtH_t onto GtG_t. For t=1t = 1, we assume that the embedding is given. The embedding consists of a bijection ξt:V(Ht)→E(Gt)\xi_t : V(H_t) \to E(G_t) that assigns each hypercube vertex to a unique edge of GtG_t. Further, for every hypercube edge (u,v)∈E(Ht)(u,v) \in E(H_t), the algorithm must specify a path in GtG_t connecting ξt(u)\xi_t(u) and ξt(v)\xi_t(v).

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 11–33 with τmix=polylog⁡(n)\tau_{\mathrm{mix}} = \operatorname{polylog}(n), 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 O~(1)\widetilde{O}(1). Moreover, if the adversary performs q=poly⁡(n)q = \operatorname{poly}(n) modifications in total (edge deletions and demand insertions/deletions), then with high probability the algorithm performs O~(q)\widetilde{O}(q) 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 τmix=polylog⁡(n)\tau_{\mathrm{mix}} = \operatorname{polylog}(n), the initial embedding has congestion and dilation O~(1)\widetilde{O}(1), and the total number of edge deletions satisfies Assumption 33. 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 O~(1)\widetilde{O}(1). Moreover, if the adversary performs qq edge deletions in total, then with high probability the algorithm performs O~(q)\widetilde{O}(q) 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 ss and tt, one samples a uniformly random intermediate vertex ww and routes from ss to tt via ww, using a bit-fixing path from ss to ww and from ww to tt. Under this scheme, if each node participates in at most O(log⁡n)O(\log n) demands, then the congestion and dilation are O(log⁡n)O(\log n) 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 (s,t)∈V(G)×V(G)(s,t) \in V(G) \times V(G). Choose arbitrary edges incident to ss and tt, say e1e_1 and e2e_2. Using the embedding ξ\xi, we translate these to hypercube vertices ξ−1(e1)\xi^{-1}(e_1) and ξ−1(e2)\xi^{-1}(e_2), route between them in the (virtual) hypercube, and then map each hypercube edge to its projection in GG. This yields a valid route from ss to tt 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 ss and tt in GG via an embedded hypercube HH.

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 O(log⁡n)O(\log n) 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 O~(1)\widetilde{O}(1) 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 O(log⁡n)O(\log n) 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 (u,v)(u,v) means that uu wants to send a token to vv, 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 τmin⁡(G)⋅2O(log⁡n⋅log⁡log⁡n)\tau_{\min}(G)\cdot2^{O(\sqrt{\log n}\cdot\log\log n)} with τmin⁡(G)\tau_{\min}(G) being a mixing time of the underlying graph GG. This was further improved by [12], which achieves τmin⁡(G)⋅2O(log⁡n)\tau_{\min}(G)\cdot2^{O(\sqrt{\log n})} 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 O(poly⁡(ϕ−1(G))⋅2O(log⁡n⋅log⁡log⁡n))O(\operatorname{poly}(\phi^{-1}(G))\cdot2^{O(\sqrt{\log n}\cdot\log\log n)}) rounds with ϕ(G)\phi(G) being a conductance of the underlying graph GG.

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 nn as an upper bound on the number of vertices in GtG_t for all tt. One can assume n:=∣V(G1)∣n := |V(G_1)|. Similarly, mm is the upper bound on the number of edges in GtG_t. Since we assume GG-s to be connected, we use O(log⁡n)O(\log n) instead of O(log⁡m)O(\log m) everywhere. When the exact time step is not relevant, we omit specifying it and simply write GG and HH. We use O~\widetilde{O} notation to hide polylogarithmic factors. By with high probability (w.h.p.) we mean the probability of at least 1−1nc1 - \frac{1}{n^c} for some c≥1c \ge1.

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 1/21/2, 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 v∈Gv \in G has a probability deg⁡G(v)2∣E(G)∣\frac{\deg_G(v)}{2|E(G)|}. 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 GG, denoted τmix(G)\tau_{\mathrm{mix}}(G), can be defined as the number of time steps for (any) initial distribution of a random walk on GG to get inverse-polynomially close to the stationary one in the sense of L2L_2 distance. With that, expanders can be defined as graphs having polylogarithmic mixing time. In some of our derivations, we implicitly assume τmix=O~(1)\tau_{\mathrm{mix}} = \widetilde{O}(1).

Throughout the paper, we will refer to classical Chernoff bounds.

Given an embedding ξ\xi of a hypercube HH, we sometimes slightly abuse the notation and write ξ(e)\xi(e) for e∈E(H)e \in E(H) to refer to the path in GG to which ee is mapped by the embedding. We call this path a projection of ee or a path corresponding to ee, and we define a projection of a path in HH 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 uu–vv path can force it to be resampled, e.g., by deleting an edge on it or by deleting and re-inserting the demand (u,v)(u,v). It can then repeat this until the path traverses some fixed target edge ee, and then proceed similarly for other pair u′,v′u',v', and so on. In polynomially many steps, this can force many routes to traverse ee, 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 O(log⁡n)O(\log n) random walks of length ℓ\ell. If all these walks are sampled simultaneously, then with high probability the maximum congestion is O(ℓlog⁡n)O(\ell\log n). 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 nn 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 tt, after observing the state of the system at time t−1t-1, 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 tt keep their previous realizations. The set of all objects’ realizations at time tt is called a joint realization, and the set of all objects’ realizations at time tt given they are all sampled at time tt 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 ll. 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 O(llog⁡n)O(l \log n) 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 TT time steps, and in each time step a static realization has load at most LL with probability at least 1−ε1-\varepsilon, then Greedy Temporal Aggregation ensures that at time TT the joint realization has load at most L⋅O(log⁡n)L \cdot O(\log n) with probability at least 1−ε⋅T1-\varepsilon\cdot T.

Moreover, if the adversary performs qq samples by time TT, then Greedy Temporal Aggregation performs at most q⋅O(log⁡n)q \cdot O(\log n) samples.

Theorem 3 is stated for a fixed time TT. Applying it at every time t≤Tt \le T and taking a union bound, the load bound holds simultaneously at all times t∈[T]t \in[T] with probability at least 1−εT21-\varepsilon T^2. Since in our applications T=poly⁡(n)T=\operatorname{poly}(n) and ε=n−c\varepsilon=n^{-c} for an arbitrarily large constant cc, 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 GG and a single demand (s,t)(s,t), outputs an ss-tt path in GG sampled from a distribution that depends only on GG, ss, and tt. 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 LL on (G,D)(G,\mathcal{D}) with high probability if, when every demand in D\mathcal{D} is routed by an independent invocation, the maximum edge congestion is at most LL with high probability.

Corollary 1. Consider a sequence of graphs G1,…,GTG_1,\ldots,G_T on nn vertices, where T=poly⁡(n)T=\operatorname{poly}(n), and a sequence of demand sets D1,…,DT\mathcal{D}_1,\ldots,\mathcal{D}_T. Suppose there exists an oblivious routing scheme such that for every t∈[T]t \in[T], routing Dt\mathcal{D}_t in GtG_t according to this scheme yields congestion at most LL with high probability.

Then there exists an algorithm that maintains routing paths for Dt\mathcal{D}_t against an adaptive adversary such that the congestion stays O(Llog⁡n)O(L \log n) at all times t∈[T]t \in[T] whp. Moreover, if the adversary performs a total of qq edge deletions and demand insertions, the algorithm performs at most O(q⋅Llog⁡2n)O(q \cdot L \log^2 n) 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 tt is the maximum congestion of the current collection of paths at time tt.

Applying Greedy Temporal Aggregation, Theorem 3 implies that at any time tt, the maximum congestion is at most O(Llog⁡n)O(L\log n) whp. In particular, when the adversary deletes an edge, at most O(Llog⁡n)O(L\log n) demands are resampled whp. Therefore, over qq edge deletions, the adversary triggers at most O(q⋅Llog⁡n)O(q\cdot L\log n) adversarial resamples whp. By Theorem 3, the algorithm performs only an additional O(log⁡n)O(\log n) factor more resamples, for a total of O(q⋅Llog⁡2n)O(q\cdot L\log^{2} n) 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 uu and vv in the generalized hypercube HH is defined as follows. If u=vu=v, then the path is empty. Otherwise, w.l.o.g., assume that u<vu<v. We pick the biggest w∈V(H)w\in V(H) s.t. w≤vw\le v and there exists an edge (u,w)∈E(H)(u,w)\in E(H), we add (u,w)(u,w) to the greedy path and construct the greedy path between ww and vv recursively.

As described in the problem statement, the adversary constructs the next graph Gt+1G_{t+1} in the sequence by removing some edges from GtG_t, which corresponds to node deletions in HtH_t. 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 HtH_t and the embedding. Recall that nodes of the hypercube HH are associated with numbers [1,…,∣V(H)∣][1,\ldots,|V(H)|].

Algorithm 1 Dynamic Hypercube Embedding. On GG Edges Deletion.

(I) Assume the vertex u∈[∣V(Ht)∣]u\in[|V(H_t)|] is deleted. If u=∣V(Ht)∣u=|V(H_t)|, we do nothing. Otherwise, we relabel the node ∣V(Ht)∣|V(H_t)| to uu but don’t change its mapping by ξ\xi. We then remove all the edges adjacent to deleted and relabeled nodes and establish new edges (u,u+2i)(u,u+2^i) for all ii such that u+2i≤∣V(Ht+1)∣u+2^i\le|V(H_{t+1})| and similarly (u,u−2j)(u,u-2^j) such that u−2j≥1u-2^j\ge1.

(II) When an edge is deleted in GtG_t, it might as well invalidate some paths that were traversing it. We therefore need to fix all the edges from HtH_t whose paths got invalidated by reestablishing those.

Definition 4. If an edge in HH is established or fixed at time t>1t>1, we call it new. Otherwise, we call it original.

We now describe how to sample a path between edges uu and vv in GG. 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 HH is either new or is used by some greedy path, we call it touched.

Definition 6. The path between two nodes uu and vv in GG consists of two random walks and two greedy path projections. We call the random walks part the legs of the u−vu-v path.

Algorithm 2 Dynamic Hypercube Embedding. Sampling a u−vu-v path in GG.

First, we run random walks from uu and vv of length τmix\tau_{\mathrm{mix}}, getting the endpoints u′∈E(G)u' \in E(G) and v′∈E(G)v' \in E(G) respectively. These endpoints correspond to ξ−1(u′)∈V(H)\xi^{-1}(u') \in V(H) and ξ−1(v′)∈V(H)\xi^{-1}(v') \in V(H) respectively. Then, we sample a uniformly random node w∈V(H)w \in V(H) and construct greedy paths in HH between ξ−1(u′)\xi^{-1}(u') and ww and ww and ξ−1(v′)\xi^{-1}(v'). If these greedy paths do not contain new edges nor edges used by some other greedy path, we establish a path between uu and vv 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 (u,v)∈E(H)(u,v) \in E(H) of the hypercube corresponds to an object. The realization of the object (u,v)(u,v) at time tt is the path that corresponds to (u,v)(u,v) in GtG_t between ξ(u)\xi(u) and ξ(v)\xi(v). Sampling an object means sampling a path as described above. Finally, we say that adversary adds an object (u,v)(u,v) at time tt if (u,v)(u,v) is a new edge added at time tt, and we say that adversary samples an object (u,v)(u,v) if adversary deletes an edge in GtG_t through which the path corresponding to (u,v)(u,v) 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 O~(1)\widetilde{O}(1), that with high probability the congestion on every edge in GG remains O~(1)\widetilde{O}(1), and that the total number of computation steps is O~(q)\widetilde{O}(q) with high probability, where qq 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 GG between uu and vv consists of two random walks of length τmix\tau_{\mathrm{mix}} and projections of two greedy paths.

Since the greedy path in HH only passes through the untouched edges, whose paths were constructed at the initial embedding of the hypercube, the length of the path between uu and vv is at most 2τmix+Dinit⋅Lgreedy2\tau_{\mathrm{mix}}+D_{\mathrm{init}}\cdot L_{\mathrm{greedy}}, where DinitD_{\mathrm{init}} is the maximal dilation of the initial embedding and LgreedyL_{\mathrm{greedy}} is the maximal length of a greedy path in HH. Lemma 5 bounds LgreedyL_{\mathrm{greedy}} as O(log⁡n)O(\log n).

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 e∈E(G)e \in E(G) is at most the number of the original edges whose projections pass through ee, 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 tt, for every edge e∈E(Gt)e \in E(G_t), the number of legs passing through ee is O~(1)\widetilde{O}(1).

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 O~(1)\widetilde{O}(1).

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 HH, (2) fix edges whose corresponding paths in GG 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 max⁡−degree(H)=O(log⁡(n))\max\mathrm{-degree}(H)=O(\log(n)) new edges in HH. Furthermore, Lemma 2 tells us that w.h.p., the number of edges to be fixed because of the edge deletion is O~(1)\widetilde{O}(1). Finally, Theorem 3 tells us that temporal aggregation only introduces an additional O(log⁡n)O(\log n) 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 τmix\tau_{mix} in GG and computes two greedy paths in HH, both straightforwardly in polylog⁡(n)\operatorname{polylog}(n) 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 O(log⁡n)O(\log n) tries.

Intuitively, the above lemma holds because there are few touched edges:

Lemma 4. After qq deletions, the number of touched edges is O~(q)\widetilde{O}(q).

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 HH is small at any time. The following lemma bounds the length of greedy paths in HH.

Lemma 5. All greedy paths in HH are of length O(log⁡n)O(\log n).

Proof. Consider a greedy path u1,…,uku_1,\ldots,u_k between u1u_1 and uku_k with u1<uku_1 < u_k. Observe two things: First, ui<ui+1u_i < u_{i+1}. Second, ui+1−ui≥2(ui+2−ui+1)u_{i+1}-u_i \ge2(u_{i+2}-u_{i+1}). And since uk−u1=poly⁡(n)u_k-u_1 = \operatorname{poly}(n), we deduce that k=O(log⁡n)k = O(\log n).

Using this lemma, we conclude that the maximal dilation at any time is polylogarithmic:

Lemma 6. For any time tt and any edge e∈E(Ht)e \in E(H_t), the corresponding path to ee in GtG_t has length O~(1)\widetilde{O}(1).

Proof. Consider an edge (u,v)∈E(Ht)(u,v) \in E(H_t). The path in GtG_t between ξ(u)\xi(u) and ξ(v)\xi(v) consists of two legs of length τmix=O~(1)\tau_{mix} = \widetilde{O}(1) and two projections of the greedy paths. Since the greedy path in HH only passes through the untouched edges, whose corresponding paths were constructed at the original embedding, the length of the path between ξ(u)\xi(u) and ξ(v)\xi(v) is at most 2τmix+Dorig⋅Lgreedy2\tau_{mix} + D_{orig}\cdot L_{greedy}, where DorigD_{orig} is the maximal dilation of the original embedding, which is promised to be O~(1)\widetilde{O}(1), and LgreedyL_{greedy} is the maximal length of a greedy path in HtH_t, which Lemma 5 bounds as O(log⁡n)O(\log n).

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 O~(1)\widetilde{O}(1) greedy path projections pass through each edge in GG.

Proof. By the algorithm, a greedy path in HH only takes untouched edges. This implies that if a projection of a greedy path goes through some edge e∈E(G)e \in E(G), then there exists an edge in HH on this greedy path which was established at time 1 and was never fixed, and its corresponding path goes through ee. But the number of such edges that are neither newly established nor were fixed and pass through ee is at most the maximal congestion of the original embedding, which is guaranteed to be O~(1)\widetilde{O}(1). Therefore, since by the algorithm at most one greedy path in HH can pass through such an edge, the number of greedy path projections traversing ee is at most O~(1)\widetilde{O}(1).

Lemma 4. After qq deletions, the number of touched edges is O~(q)\widetilde{O}(q).

Proof. Let us denote XX, YY, and ZZ, respectively, the number of newly established edges, fixed edges that are not newly established, and edges traversed by a greedy path after qq edge deletions. Then by definition, the number of touched edges is X+Y+ZX+Y+Z.

For a single edge deletion, we establish O(log⁡n)O(\log n) new edges, hence X=O(q⋅log⁡n)X=O(q\cdot\log n).

Now, let us analyze how many edges in HH 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 HH is at most the congestion of an original embedding, which is O~(1)\widetilde{O}(1). Therefore, Y=O~(q)Y=\widetilde{O}(q).

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 O(log⁡n)O(\log n), hence Z=O((X+Y)⋅log⁡n)Z=O((X+Y)\cdot\log n).

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 e∈E(H)e\in E(H) belongs to at most ∣V(H)∣|V(H)| greedy paths in HH.

Proof. Define a stretch of an edge (u,v)∈E(H)(u,v)\in E(H) to be ∣u−v∣|u-v|. 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 ∣V(H)∣|V(H)| and at least 1, an edge of stretch ll can potentially have at most log⁡2∣V(H)∣−log⁡2l\log_2|V(H)|-\log_2 l edges before it and log⁡2l\log_2 l edges after it in the greedy path. Which leaves us with 2log⁡2∣V(H)∣−log⁡2l⋅2log⁡2l=∣V(H)∣2^{\log_2|V(H)|-\log_2 l}\cdot2^{\log_2 l}=|V(H)| 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 O(log⁡n)O(\log n) tries.

Proof. Lemma 4 bounds the number of touched edges after qq edge deletions to be no more than log⁡c0n⋅q\log^{c_0}n\cdot q for some constant c0c_0. Leveraging Assumption 3 with c=c0+1c=c_0+1, the maximal number of edge deletions is q:=mlog⁡c0+1nq:=\frac{m}{\log^{c_0+1}n}, therefore ensuring that the number of touched edges is no more than mlog⁡n\frac{m}{\log n} at any point in time. Furthermore, since the number of deleted edges in GG is at most qq, the number of vertices in HH at any point in time is at least m−q=Ω(m)m-q=\Omega(m); therefore, the number of greedy paths in HH at any time tt, denoted with GPtGP_t, is Ω(m2)\Omega(m^2).

Now, Lemma 8 tells us that one edge belongs to at most mm greedy paths in HH, hence, at any time, the total number of greedy paths that do not contain a touched edge is GPt−m⋅mlog⁡nGP_t-m\cdot\frac{m}{\log n}.

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 GPt−m⋅mlog⁡nGPt±1poly⁡(n)=1−O(1log⁡n)>12\frac{GP_t-m\cdot\frac{m}{\log n}}{GP_t}\pm\frac{1}{\operatorname{poly}(n)}=1-O\left(\frac{1}{\log n}\right)>\frac{1}{2}; thus, by standard Chernoff bounds, after O(log⁡n)O(\log n) 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 EtE_t denote the set of new edges of a hypercube at time tt. If all edges in EtE_t are sampled at time tt, then the congestion in GtG_t induced by the legs of the sampled paths is O(τmax⁡⋅log⁡2n)O(\tau_{\max}\cdot\log^2 n) with high probability.

Proof. Let k:=2∣Et∣k := 2|E_t| denote the number of legs we need to sample. Lemma 3 tells us that with high probability, each leg from edge ee can be chosen out of O(log⁡n)O(\log n) independent random walks from ee. Therefore, with high probability, the congestion of all legs is no more than a congestion of k⋅O(log⁡n)k \cdot O(\log n) random walks. Since each edge is a source of at most O(log⁡n)O(\log n) legs, each edge is a source of O(log⁡2n)O(\log^2 n) random walks. Further, each random walk is of length τmix\tau_{\mathrm{mix}}. The standard random walk congestion argument then tells us that the congestion of these random walks is at most O(τmix⋅log⁡2n)O(\tau_{\mathrm{mix}} \cdot\log^2 n) whp.

Combining Lemma 9 and Theorem 3, we can prove Lemma 1.

Lemma 1. With high probability, at any point in time tt, for every edge e∈E(Gt)e \in E(G_t), the number of legs passing through ee is O~(1)\widetilde{O}(1).

Proof. Invoke Theorem 3 with a static guarantee of Lemma 9 with a load being a congestion of edge ee.

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 O~(1)\widetilde{O}(1).

Proof. We split the congestion of a given edge e∈E(G)e \in E(G) into two parts: congestion from legs and congestion from greedy paths’ projections. The congestion from legs is O~(1)\widetilde{O}(1) with high probability by Lemma 1, the congestion from greedy paths’ projections is O~(1)\widetilde{O}(1) 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 qq deletions in total, w.h.p., the number of attempts by the algorithm to sample a path will be O~(q)\widetilde{O}(q).

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 XX, YY, and ZZ, respectively.

The number of new edges established per deletion is O(log⁡n)O(\log n), hence X=O(q⋅log⁡n)X = O(q \cdot\log n). According to Lemma 2, w.h.p., the number of paths that need to be fixed after a single edge deletion is O~(1)\widetilde{O}(1), hence Y=O~(q)Y = \widetilde{O}(q). Finally, according to Theorem 3, Z=O(log⁡n⋅(X+Y))=O~(q)Z = O(\log n \cdot(X + Y)) = \widetilde{O}(q).

We therefore get the following total computation guarantee.

Lemma 11. If the adversary performs qq deletions in total, w.h.p., the total computation performed by the algorithm is O~(q)\widetilde{O}(q).

Proof. By Lemma 10 we know that whp the number of path resampling attempts is O~(q)\widetilde{O}(q). Lemma 3 stipulates that one attempt requires O(log⁡n)O(\log n) tries with high probability. Therefore, whp, the total computation is O~(q)\widetilde{O}(q).

Finally, we prove Theorem 2.

Theorem 2. Assume τmix=polylog⁡(n)\tau_{\mathrm{mix}} = \operatorname{polylog}(n), the initial embedding has congestion and dilation O~(1)\widetilde{O}(1), 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 O~(1)\widetilde{O}(1). Moreover, if the adversary performs qq edge deletions in total, then with high probability the algorithm performs O~(q)\widetilde{O}(q) 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 H1H_1 and a set of demands D1⊆V(H1)×V(H1)\mathcal{D}_1 \subseteq V(H_1) \times V(H_1). The algorithm may perform a polynomial-time setup phase, after which it outputs a collection of paths P1\mathcal{P}_1 in H1H_1 such that every demand in D1\mathcal{D}_1 is served by some path in P1\mathcal{P}_1.

At each time step t>1t > 1, an adaptive adversary—having observed the current maintained paths—modifies the instance. Specifically, it deletes some nodes and edges from Ht−1H_{t-1} and inserts some edges to obtain a new HtH_t. Also, it may add or delete demands to obtain a new demand set Dt\mathcal{D}_t from Dt−1\mathcal{D}_{t-1}. After these changes, the algorithm must update its solution from Pt−1\mathcal{P}_{t-1} to Pt\mathcal{P}_t so that every demand in Dt\mathcal{D}_t is served.

We impose two constraints on the adversary. First, we require that every HtH_t is a generalized hypercube. Second, for every time tt and every node u∈V(Ht)u \in V(H_t), uu is a source or a destination of at most 1 demand in Dt\mathcal{D}_t.

The goal is to maintain a set of paths Pt\mathcal{P}_t 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 ss to tt in generalized hypercube.

w←w \leftarrow uniformly random node ps←p_s \leftarrow greedy path from ss to ww pt←p_t \leftarrow greedy path from ww to tt Output concatenation of psp_s and ptp_t

This procedure results in low congestion with high probability.

Lemma 12. Consider a hypercube HH on nn nodes and a set of demands D\mathcal{D} such that each node in HH is a source or a destination of at most one demand. Assume we route all demands in D\mathcal{D} simultaneously and independently by the Algorithm 4. Then, with high probability, the maximum congestion induced by the paths is O(log⁡n)O(\log n).

Proof. Fix an edge e∈E(H)e \in E(H). We bound the number of paths that traverse ee; a union bound over all edges then yields the maximum congestion.

Consider only the s→ws \to w segments (the w→tw \to t segments are identical by symmetry since ww is sampled uniformly and independently for each demand). For each demand (s,t)∈D(s,t) \in\mathcal{D} define

Xs,e=1[the greedy path from s to its sampled w uses e],Xe=∑(s,t)∈DXs,e.X_{s,e} = 1[\text{the greedy path from }s\text{ to its sampled }w\text{ uses }e], \qquad X_e = \sum_{(s,t)\in\mathcal{D}} X_{s,e}.

We show E[Xe]≤2\mathbb{E}[X_e] \le2 and then apply Chernoff.

Write e=(a,b)e = (a,b) with a<ba < b and let its stretch be ℓ=b−a=2i\ell= b-a = 2^i. If s∈(a,b)s \in(a,b) then a greedy path from ss cannot traverse (a,b)(a,b), so Pr⁡[Xs,e=1]=0\Pr[X_{s,e} = 1] = 0. Now fix s≤as \leq a. If the greedy path uses (a,b)(a,b), then upon reaching aa the next step must be exactly ℓ\ell, which by the greedy rule happens iff the remaining distance to ww satisfies w−a∈[ℓ,2ℓ)w-a \in[\ell,2\ell), i.e. w∈[b,b+ℓ)w \in[b,b+\ell). Hence for every s≤as \leq a,

Pr⁡[Xs,e=1]≤Pr⁡[w∈[b,b+ℓ)]=ℓ/n.\Pr[X_{s,e}=1] \leq\Pr[w \in[b,b+\ell)] = \ell/n.

Moreover, only a few sources s≤as \leq a can reach aa and then take an ℓ\ell-jump: along a greedy path, step lengths are strictly decreasing powers of two, so before taking the ℓ\ell-edge, all earlier steps must have lengths in {2i+1,2i+2,…,2⌊log⁡2n⌋}\{2^{i+1},2^{i+2},\ldots,2^{\lfloor\log_2 n\rfloor}\}. Choosing any subset of these lengths uniquely determines the total displacement from ss to aa, hence yields at most one such source ss. Therefore the number of sources s≤as \leq a whose greedy path can traverse ee is at most

2⌊log⁡2n⌋−i≤n/2i=n/ℓ.2^{\lfloor\log_2 n\rfloor-i} \leq n/2^i = n/\ell.

Since D\mathcal{D} contains at most one demand per source, we get

∑(s,⋅)∈Ds≤aE[Xs,e]≤nℓ⋅ℓn=1.\sum_{\substack{(s,\cdot)\in\mathcal{D}\\s\leq a}} \mathbb{E}[X_{s,e}] \leq\frac{n}{\ell}\cdot\frac{\ell}{n}=1.

By symmetry (reversing the order on [n][n]), the same bound holds for sources s≥bs \geq b, contributing at most 1 in expectation. Thus

E[Xe]=∑(s,⋅)∈DE[Xs,e]≤2.\mathbb{E}[X_e]=\sum_{(s,\cdot)\in\mathcal{D}}\mathbb{E}[X_{s,e}]\leq2.

For fixed ee, the variables {Xs,e}(s,⋅)∈D\{X_{s,e}\}_{(s,\cdot)\in\mathcal{D}} are independent because the intermediate vertices ww are sampled independently across demands. Hence, by a Chernoff bound, there is an absolute constant c>0c>0 such that

Pr⁡[Xe≥clog⁡n]≤n−3.\Pr[X_e\geq c\log n]\leq n^{-3}.

The generalized hypercube has O(nlog⁡n)O(n\log n) edges, so a union bound implies

Pr⁡[∃e∈E(H):Xe≥clog⁡n]≤O(nlog⁡n)⋅n−3=o(1).\Pr\left[\exists e\in E(H):X_e\geq c\log n\right]\leq O(n\log n)\cdot n^{-3}=o(1).

Therefore, with high probability, every edge has congestion O(log⁡n)O(\log n) from the s→ws\to w segments. The same holds for the w→tw\to t segments, and thus the total congestion per edge is O(log⁡n)O(\log n) with high probability. □

We also observe from the description of the algorithm that it takes little computation.

Lemma 13. The Algorithm 4 requires O(log⁡n)O(\log n) computation.

We remark that the Algorithm 4 can be used in the precomputation phase of the Dynamic Generalized Hypercube Routing problem, yielding O(log⁡n)O(\log n) maximal congestion whp and O(nlog⁡n)O(n\log n) 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 G1,…,GTG_1,\ldots,G_T on nn vertices with T=poly⁡(n)T=\operatorname{poly}(n), such that each GtG_t is a generalized hypercube. Consider also a sequence of demands D1,…,DTD_1,\ldots,D_T, such that for every t∈[T]t \in[T] and v∈V(Gt)v \in V(G_t), vv is a source or a destination of at most 1 demand in DtD_t.

There exists an algorithm that maintains routing paths for DtD_t against an adaptive adversary such that the congestion stays O(log⁡2n)O(\log^2 n) at all times t∈[T]t \in[T] whp. Moreover, if the adversary performs a total of qq edge deletions and demand insertions, the algorithm performs O(q⋅log⁡4n)O(q \cdot\log^4 n) 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 ξ\xi of a Generalized Hypercube H1H_1 onto G1G_1, 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 G1G_1 is served as follows. For each initial demand (u,v)(u,v), we assign it to a spare edge eue_u of uu and a spare edge eve_v of vv. Then, we serve the demand (ξ−1(eu),ξ−1(ev))(\xi^{-1}(e_u),\xi^{-1}(e_v)) in HH by the Algorithm 4. Finally, we serve (u,v)(u,v) in GG by the projection of a path serving (ξ−1(eu),ξ−1(ev))(\xi^{-1}(e_u),\xi^{-1}(e_v)) in HH.

We will be maintaining two sets of demands—one, the set on the underlying graph GG called DGD^G, and one on the embedded hypercube HH called DHD^H. We handle serving demands from DHD^H by Algorithm 5. We now focus on handling demands from DGD^G, given that the demands in DHD^H are handled. When an adversary adds or deletes a demand for GG at time tt, we add or delete it respectively in DtGD_t^G. Also, if an adversary deletes an edge in Gt−1G_{t-1} through which a path serving some demand dd was passing, we delete and add dd back to DtGD_t^G explicitly.

The added demand (u,v)∈DtG(u,v) \in D_t^G is served similarly to the initial demands. First, we assign it to a spare edge eue_u of uu and a spare edge eve_v of vv. Then, we add (ξ−1(eu),ξ−1(ev))(\xi^{-1}(e_u),\xi^{-1}(e_v)) to DtHD_t^H. Once the demand (ξ−1(eu),ξ−1(ev))(\xi^{-1}(e_u),\xi^{-1}(e_v)) is served in HH by Algorithm 5 via a path pp, we serve it in GG by the projection of pp.

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 GG always satisfies the low mixing time Assumption 2.

Note that for an added demand (u,v)(u,v) by the vertex degree feasibility Assumption 1, there will always be a spare edge eve_v and eue_u. Furthermore, note that since an edge in GG is assigned at most one demand, a vertex in HH is as well, so the condition of Theorem 4 is fulfilled.

Lastly, we observe that the paths maintained by the algorithm at time tt indeed serve DtD_t since the projection of a continuous path in HH is a continuous path in GG 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 O~(1)\widetilde{O}(1).

Proof. The dilation of a path between (u,v)∈V2(G)(u,v) \in V^2(G) is at most the number of edges in the hypercube path serving (ξ−1(eu),ξ−1(ev))(\xi^{-1}(e_u),\xi^{-1}(e_v)) 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 O(log⁡n)O(\log n). And the latter is bounded by Lemma 6 by O~(1)\widetilde{O}(1). Hence the dilation of a path serving (u,v)(u,v) is O~(1)\widetilde{O}(1).

Lemma 16 (Congestion). The congestion induced by the Algorithm 6 is O~(1)\widetilde{O}(1) with high probability.

Proof. The congestion of an edge e∈E(G)e \in E(G) is at most the maximal number of hypercube edge projections crossing ee times the maximal congestion in the hypercube. The prior is bounded whp by O~(1)\widetilde{O}(1) by Lemma 2 and the latter is bounded by O(log⁡2n)O(\log^2 n) whp by Theorem 4.

Lemma 17 (Computation). If the adversary performs qq edge deletions and demand insertions in total, the computation of the Algorithm 6 is O~(q)\widetilde{O}(q) 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 O(mlog⁡n)O(m\log n) computation, since there are at most O(m)O(m) demands according to Assumption 1 and the Algorithm 4 runs in O(log⁡n)O(\log n) 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 O~(q)\widetilde{O}(q) 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 GG is deleted. Once a node in the hypercube is deleted, all the incident edges are deleted, and there are O(log⁡n)O(\log n) of those. Hence, if qq edges are deleted in GG, O(q⋅log⁡n)O(q\cdot\log n) edges are deleted in HH. 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 GG on a path serving this demand was deleted. By definition, there can be no more than qq newly inserted demands. As for reinserted demands, Lemma 16 stipulates that whp there are at most O(1)O(1) paths that are using an edge, hence per qq edge deletions, at most O~(q)\widetilde{O}(q) demands will be reinserted. This allows us to conclude that if an adversary does qq demand insertions and edge deletions in GG, it does q′=O~(q)q'=\widetilde{O}(q) demand insertions and edge deletions in HH. Therefore, Theorem 4 gives us that the total computation for maintaining demands in the hypercube is O(q′⋅log⁡4n)=O~(q)O(q'\cdot\log^4 n)=\widetilde{O}(q).

Finally, we prove our main theorem.

Theorem 1. Under Assumptions 1–3 with τmax⁡=polylog⁡(n)\tau_{\max}=\operatorname{polylog}(n), 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 O~(1)\widetilde{O}(1). Moreover, if the adversary performs q=poly⁡(n)q=\operatorname{poly}(n) modifications in total (edge deletions and demand insertions/deletions), then with high probability the algorithm performs O~(q)\widetilde{O}(q) 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 TT time steps, and in each time step a static realization has a load at most LL with probability at least 1−ε1-\varepsilon, then Greedy Temporal Aggregation ensures that at time TT the joint realization has a load at most L⋅O(log⁡n)L \cdot O(\log n) with probability at least 1−ε⋅T1-\varepsilon\cdot T.

Moreover, if the adversary does qq samples and object insertions by the time TT, Greedy Temporal Aggregation performs no more than q⋅O(log⁡n)q \cdot O(\log n) 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 log⁡3/2n\log_{3/2} n coins to its wallet and 4 coins to its bequest from the adversary. Additionally, when the adversary samples or adds an object, it adds 3/23/2 coins to the bank. Also, if the adversary samples an object that was previously sampled at time tt and there were kk objects sampled at time tt, they all receive 4/k4/k coins to their wallet from the adversary. This way, if an adversary samples or adds an object, it spends at most log⁡3/2n+912\log_{3/2} n + 9\frac{1}{2} coins.

Further, if an adversary deletes an object that was previously sampled at time t>0t>0 and there were kk objects sampled at time tt, they all receive 4/k4/k coins to their wallet from the bequest of the deleted object.

When an algorithm samples an object sampled at time tt, it takes one coin from its wallet if t>0t>0 or one coin from the bank if t=0t=0.

Denote with group(u)group(u) a set of objects sampled at the same time step as uu and with wallet(u)wallet(u) the number of coins uu has in its wallet. Consider the potential function of uu: Φ(u)=log⁡3/2(∣group(u)∣)+wallet(u)\Phi(u)=\log_{3/2}(|group(u)|)+wallet(u). We claim that this potential is monotonically increasing for all objects once they are sampled at time t>0t>0. Indeed, consider the cases when this potential is changed.

  • The object uu is added to the group. Then all the potentials only increase.

  • The object uu is sampled by the adversary. Then, the ∣group(u)∣|group(u)| may decrease (at most) from nn to 11, hence the log⁡3/2(∣group(u)∣)\log_{3/2}(|group(u)|) from log⁡3/2(n)\log_{3/2}(n) to 00, but adversary gives the object log⁡3/2(n)\log_{3/2}(n) coins to its wallet, so Φ(u)\Phi(u) can not decrease.

  • Some other object from group(u)group(u) is sampled by the adversary. Assume that before the sample ∣group(u)∣=k≥2|group(u)|=k\ge2. Then ΔΦ(u)=log⁡3/2(k−1)−log⁡3/2(k)+4/k>0\Delta\Phi(u)=\log_{3/2}(k-1)-\log_{3/2}(k)+4/k>0.

  • Some other object from group(u)group(u) is deleted by the adversary. Assume that before the deletion ∣group(u)∣=k≥2|group(u)|=k\ge2. Then, as in the previous case, ΔΦ(u)=log⁡3/2(k−1)−log⁡3/2(k)+4/k>0\Delta\Phi(u)=\log_{3/2}(k-1)-\log_{3/2}(k)+4/k>0.

  • All the objects in group(u)group(u) are sampled by the algorithm. This means that they are being sampled together with some other group, whose size is at least 12∣group(u)∣\frac{1}{2}|group(u)|. Therefore, the new size ∣group′(u)∣≥∣group(u)∣+12∣group(u)∣=32∣group(u)∣|group'(u)|\ge|group(u)|+\frac{1}{2}|group(u)|=\frac{3}{2}|group(u)| and hence ΔΦ(u)=log⁡3/2(∣group′(u)∣)−log⁡3/2(∣group(u)∣)−1≥0\Delta\Phi(u)=\log_{3/2}(|group'(u)|)-\log_{3/2}(|group(u)|)-1\ge0.

We note that if an object is deleted at time t>0t>0, 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 uu that was last sampled at time t>0t>0. Indeed, we’ve shown that Φ(u)≥log⁡3/2n\Phi(u)\ge\log_{3/2}n. If the object is sampled, it means its group’s size is increased by at least 3/23/2 times, hence it was less than n3/2\frac{n}{3/2}, hence the number of coins in the wallet of an object was at least 1, since log⁡3/2(∣group(u)∣)+coins(u)≥log⁡3/2n\log_{3/2}(|group(u)|)+coins(u)\ge\log_{3/2}n and log⁡3/2(∣group(u)∣)≤log⁡3/2n−1\log_{3/2}(|group(u)|)\le\log_{3/2}n-1.

Next, consider an algorithm samples an object that was last sampled at time 0. Denote the group size of objects at time 0 with n0n_0, the size of some other group at time t>0t>0 with which it gets merged with ntn_t. By the definition of the algorithm, we know that n0≤3/2ntn_0\le3/2n_t. However, for every object at time t>0t>0, the adversary gave to a bank 3/23/2 coins, hence there are at least 3/2nt3/2n_t coins in the bank, and we can use those to pay for sampling objects at time 0.

Finally, we conclude that

Total # of samples by the alg≤# of coins introduced to the system≤# of adversarial samples and object additions⋅(log⁡3/2n+912).\begin{aligned} \text{Total \# of samples by the alg} &\le\text{\# of coins introduced to the system}\\ &\le\text{\# of adversarial samples and object additions}\cdot\left(\log_{3/2}n+9\frac{1}{2}\right). \end{aligned}

References

  1. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [13]Bernhard Haeupler and Anton Paramonov. Maintaining random assignments under adversarial dynamics. arXiv preprint arXiv:2604.05606, 2026.arxiv.org/abs/2604.05606
  14. [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. [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

Paper details

vlnc:W_3hy3wurc
v1 · latestHistory (1)

published · Fresh — added to the Hub within the last 30 days

added ·

Usage

views · 8

downloads · 0

A view counts once per browser per day, a download each time the PDF is requested.

CC BY 4.0

Original source

  • Computer Science

Not recorded for this paper · View statement →

Looking for related papers…
Contents