Distributed Approximate Single-Source Shortest Paths

Similar documents
A Deterministic Almost-Tight Distributed Algorithm for Approximating Single-Source Shortest Paths

Near-Optimal Approximate Shortest Paths and Transshipment in Distributed and Streaming Models

Distributed Distance-Bounded Network Design Through Distributed Convex Programming

Distributed Exact Weighted All-Pairs Shortest Paths in Õ(n5/4 ) Rounds

An Overview on Compact Routing

On the Locality of Distributed Sparse Spanner Constructions

Approximating Graph Spanners

Distributed Distance Computation and Routing with Small Messages

A Subquadratic-Time Algorithm for Decremental Single-Source Shortest Paths

Fast Partial Distance Estimation and Applications

Complexity Theory of Polynomial-Time Problems

Dominating Set. Chapter 26

Dominating Set. Chapter Sequential Greedy Algorithm 294 CHAPTER 26. DOMINATING SET

Scribes: Po-Hsuan Wei, William Kuzmaul Editor: Kevin Wu Date: October 18, 2016

Dominating Set. Chapter 7

Local Flow Partitioning for Faster Edge Connectivity

Shortest Path Algorithms

Locality Lower Bounds

Distributed Deterministic Graph Coloring

Collective Tree Spanners of Unit Disk Graphs with Applications to Compact and Low Delay Routing Labeling Schemes. F.F. Dragan

arxiv: v1 [cs.dc] 22 May 2017

Graph & Geometry Problems in Data Streams

Dijkstra s Single Source Shortest Path Algorithm. Andreas Klappenecker

A Lower Bound for the Distributed Lovász Local Lemma

Networks Cannot Compute Their Diameter in Sublinear Time

Hardness of MST Construction

arxiv: v6 [cs.dc] 16 Sep 2015

Dynamic Programming: Shortest Paths and DFA to Reg Exps

Routing. Topics: 6.976/ESD.937 1

Efficient Primal- Dual Graph Algorithms for Map Reduce

Second main application of Chernoff: analysis of load balancing. Already saw balls in bins example. oblivious algorithms only consider self packet.

Week 4. (1) 0 f ij u ij.

Gossip algorithms for solving Laplacian systems

Dynamic Programming: Shortest Paths and DFA to Reg Exps

Basics and Random Graphs con0nued

arxiv: v1 [cs.ds] 20 Nov 2015

GRAPH PARTITIONING USING SINGLE COMMODITY FLOWS [KRV 06] 1. Preliminaries

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi

Time Synchronization

PRAMs. M 1 M 2 M p. globaler Speicher

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths

6.852: Distributed Algorithms Fall, Class 10

Approximation Algorithms and Hardness of Integral Concurrent Flow

Bhaskar DasGupta. March 28, 2016

3.4 Relaxations and bounds

Complexity Theory of Polynomial-Time Problems

Graph-theoretic Problems

Lower Bounds for Local Monotonicity Reconstruction from Transitive-Closure Spanners

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi

arxiv: v1 [cs.dc] 4 Oct 2018

A Practical Parallel Algorithm for Diameter Approximation of Massive Weighted Graphs

Sublinear Algorithms for Big Data

Structuring Unreliable Radio Networks

Slides credited from Hsueh-I Lu & Hsu-Chun Hsiao

arxiv: v1 [cs.ds] 15 May 2016

Dantzig s pivoting rule for shortest paths, deterministic MDPs, and minimum cost to time ratio cycles

Light Spanners. 1 Introduction. Michael Elkin Ofer Neiman Shay Solomon

Steiner Transitive-Closure Spanners of Low-Dimensional Posets

New algorithms for Disjoint Paths and Routing Problems

Metric Approximations (Embeddings) M M 1 2 f M 1, M 2 metric spaces. f injective mapping from M 1 to M 2. M 2 dominates M 1 under f if d M1 (u; v) d M

NP-completeness. Chapter 34. Sergey Bereg

Efficient Algorithms for Constructing Very Sparse Spanners and Emulators

Approximating All-Pair Bounded-Leg Shortest Path and APSP-AF in Truly-Subcubic Time

variance of independent variables: sum of variances So chebyshev predicts won t stray beyond stdev.

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

Inderjit Dhillon The University of Texas at Austin

Theoretical Computer Science

Spanning Trees, Tree Covers and Spanners

Lower-Stretch Spanning Trees

In the Stone Age. Stephan Holzer. Yuval Emek - Technion Roger Wattenhofer - ETH Zürich

Improved Distributed Steiner Forest Construction

Design and Analysis of Algorithms

arxiv: v1 [cs.ds] 4 May 2015

Topic: Balanced Cut, Sparsest Cut, and Metric Embeddings Date: 3/21/2007

The Lovász Local Lemma: constructive aspects, stronger variants and the hard core model

Incremental Exact Min-Cut in Poly-logarithmic Amortized Update Time

Local Computation: Lower and Upper Bounds 1

Graph Sparsification I : Effective Resistance Sampling

Minimum Distance Violation Tree Problems

New Lower Bounds for the CONGEST Model. Seri Khoury

Edinburgh Research Explorer

Clock Synchronization with Bounded Global and Local Skew

Convergence and Approximation in Potential Games


Algorithms and Models for Problems in Networking

Lecture: Flow-based Methods for Partitioning Graphs (1 of 2)

U.C. Berkeley CS294: Spectral Methods and Expanders Handout 11 Luca Trevisan February 29, 2016

Cutting Plane Methods II

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III. Instructor: Shaddin Dughmi

Computing Maximum Flow with Augmenting Electrical Flows

16.1 Min-Cut as an LP

Single Source Shortest Paths

CMPSCI 611: Advanced Algorithms

Lecture 6: September 22

Lecture 15 (Oct 6): LP Duality

Distributed primal-dual approximation algorithms for network design problems

Discrete Wiskunde II. Lecture 5: Shortest Paths & Spanning Trees

arxiv: v2 [cs.ds] 5 Apr 2014

Graph-Constrained Group Testing

Distributed Systems Gossip Algorithms

Transcription:

Distributed Approximate Single-Source Shortest Paths Sebastian Krinninger University of Vienna joint works with Ruben Monika Andreas Christoph Danupon Becker Henzinger Karrenbauer Lenzen Nanongkai 1 / 26

One Problem Two Results Distributed (1 + ε)-approximate single-source shortest paths (SSSP) 2 / 26

One Problem Two Results Distributed (1 + ε)-approximate single-source shortest paths (SSSP) 1 Deterministically compute approximate shortest paths in ( n + Diam) n o(1) rounds for ε 1/polylog(n) [Henzinger/K/Nanongkai 16] 2 / 26

One Problem Two Results Distributed (1 + ε)-approximate single-source shortest paths (SSSP) 1 Deterministically compute approximate shortest paths in ( n + Diam) n o(1) rounds for ε 1/polylog(n) [Henzinger/K/Nanongkai 16] 2 Deterministically compute approximate shortest paths in ( n + Diam) poly(log n, ε) rounds [Becker/Lenzen/Karrenbauer/K 16] 2 / 26

One Problem Two Results Distributed (1 + ε)-approximate single-source shortest paths (SSSP) 1 Deterministically compute approximate shortest paths in ( n + Diam) n o(1) rounds for ε 1/polylog(n) [Henzinger/K/Nanongkai 16] 2 Deterministically compute approximate shortest paths in ( n + Diam) poly(log n, ε) rounds [Becker/Lenzen/Karrenbauer/K 16] Comparison: Lower bound: Ω( n + Diam) rounds [Das Sarma et al 11] Exact SSSP: O((n log n) 2/3 Diam 1/3 ) rounds (randomized) [Elkin 17] 1 + ε: O(n 1/2 Diam 1/4 + Diam) (randomized) [Nanongkai 14] 2 / 26

One Problem Two Results Distributed (1 + ε)-approximate single-source shortest paths (SSSP) 1 Deterministically compute approximate shortest paths in ( n + Diam) n o(1) rounds for ε 1/polylog(n) [Henzinger/K/Nanongkai 16] 2 Deterministically compute approximate shortest paths in ( n + Diam) poly(log n, ε) rounds [Becker/Lenzen/Karrenbauer/K 16] Comparison: Lower bound: Ω( n + Diam) rounds [Das Sarma et al 11] Exact SSSP: O((n log n) 2/3 Diam 1/3 ) rounds (randomized) [Elkin 17] 1 + ε: O(n 1/2 Diam 1/4 + Diam) (randomized) [Nanongkai 14] Today: Weighted undirected graphs 2 / 26

Tight and Tighter 3 / 26

Tight and Tighter Combinatorics & Optimization 3 / 26

Model and Problem Statement Many distributed models measure amount of communication Running time = number of rounds 4 / 26

Model and Problem Statement Many distributed models measure amount of communication Running time = number of rounds CONGEST model: Synchronous rounds (global clock) Message size O(log n) In each round, every node sends (at most) one message to each neighbor Local computation is free 4 / 26

Model and Problem Statement Many distributed models measure amount of communication Running time = number of rounds CONGEST model: Synchronous rounds (global clock) Message size O(log n) In each round, every node sends (at most) one message to each neighbor Local computation is free Problem statement: Initially, each node knows whether it is the source or not Finally: Every node knows its approximate distance to the source Often also: Implicit tree; every node knows next edge on approximate shortest path to source 4 / 26

Unweighted Graphs: BFS s 5 / 26

Unweighted Graphs: BFS 0 5 / 26

Unweighted Graphs: BFS 0 5 / 26

Unweighted Graphs: BFS 0 1 1 5 / 26

Unweighted Graphs: BFS 0 1 1 5 / 26

Unweighted Graphs: BFS 0 1 1 2 2 5 / 26

Unweighted Graphs: BFS 0 1 1 2 2 5 / 26

Unweighted Graphs: BFS 0 1 1 2 2 BFS tree can be computed in O(Diam) rounds 5 / 26

Reduce to SSSP on Overlay Network [Nanongkai 14] 6 / 26

Reduce to SSSP on Overlay Network [Nanongkai 14] 1 Solve SSSP on overlay network and make global knowledge 2 Combine local knowledge of local neighborhoods with global knowledge 6 / 26

Reduce to SSSP on Overlay Network [Nanongkai 14] 1 Solve SSSP on overlay network and make global knowledge 2 Combine local knowledge of local neighborhoods with global knowledge Sample N = Õ(n 1/2 ) centers (+ source s) Every shortest path with n 1/2 edges contains center whp 6 / 26

Derandomization of Overlay Network [HKN 16] Randomization: Hit every shortest path with n edges u v 7 / 26

Derandomization of Overlay Network [HKN 16] Randomization: Hit every shortest path with n edges u v Deterministic relaxation: Almost hit every path n edges εd(u, v) u v 7 / 26

Congested Clique Special model: Communication not restricted to neighbors In each round, each node can send one message to each other node Heavily studied in recent years! 8 / 26

Congested Clique Special model: Communication not restricted to neighbors In each round, each node can send one message to each other node Heavily studied in recent years! Simulation: Overlay network as congested clique t rounds in Congested Clique Õ(t ( n + Diam)) rounds in CONGEST 8 / 26

Hop Reduction 9 / 26

Well Known: Spanners Definition A k-spanner is a subgraph H of G such that, for all pairs of nodes u and v, dist H (u, v) k dist G (u, v). 10 / 26

Well Known: Spanners Definition A k-spanner is a subgraph H of G such that, for all pairs of nodes u and v, dist H (u, v) k dist G (u, v). 10 / 26

Well Known: Spanners Definition A k-spanner is a subgraph H of G such that, for all pairs of nodes u and v, dist H (u, v) k dist G (u, v). 10 / 26

Well Known: Spanners Definition A k-spanner is a subgraph H of G such that, for all pairs of nodes u and v, dist H (u, v) k dist G (u, v). Fact: Every graph has a k-spanner of size n 1+1/k [Folklore] Application: Running time T(m, n) T(n 1+1/k, n) 10 / 26

Less Known: Hop Sets Definition An (h, ε)-hop set is a set of weighted edges F such that, for all pairs of nodes u and v, in the shortcut graph G F there is a path from u to v with at most h edges of weight at most (1 + ε)dist(u, v). 11 / 26

Less Known: Hop Sets Definition An (h, ε)-hop set is a set of weighted edges F such that, for all pairs of nodes u and v, in the shortcut graph G F there is a path from u to v with at most h edges of weight at most (1 + ε)dist(u, v). 11 / 26

Less Known: Hop Sets Definition An (h, ε)-hop set is a set of weighted edges F such that, for all pairs of nodes u and v, in the shortcut graph G F there is a path from u to v with at most h edges of weight at most (1 + ε)dist(u, v). 11 / 26

Less Known: Hop Sets Definition An (h, ε)-hop set is a set of weighted edges F such that, for all pairs of nodes u and v, in the shortcut graph G F there is a path from u to v with at most h edges of weight at most (1 + ε)dist(u, v). Fact: Every graph has a (n o(1), ε)-hop set of size n 1+o(1) [Cohen 94] (for ε 1/polylogn) 11 / 26

Less Known: Hop Sets Definition An (h, ε)-hop set is a set of weighted edges F such that, for all pairs of nodes u and v, in the shortcut graph G F there is a path from u to v with at most h edges of weight at most (1 + ε)dist(u, v). Application? SSSP up to h hops (Bellman-Ford) RAM: O(mh) time 11 / 26

Less Known: Hop Sets Definition An (h, ε)-hop set is a set of weighted edges F such that, for all pairs of nodes u and v, in the shortcut graph G F there is a path from u to v with at most h edges of weight at most (1 + ε)dist(u, v). Application? SSSP up to h hops (Bellman-Ford) RAM: O(mh) time PRAM: O(mh) with O(h) depth 11 / 26

Less Known: Hop Sets Definition An (h, ε)-hop set is a set of weighted edges F such that, for all pairs of nodes u and v, in the shortcut graph G F there is a path from u to v with at most h edges of weight at most (1 + ε)dist(u, v). Application? SSSP up to h hops (Bellman-Ford) RAM: O(mh) time PRAM: O(mh) with O(h) depth Congested Clique: O(h) rounds 11 / 26

Less Known: Hop Sets Definition An (h, ε)-hop set is a set of weighted edges F such that, for all pairs of nodes u and v, in the shortcut graph G F there is a path from u to v with at most h edges of weight at most (1 + ε)dist(u, v). Application? SSSP up to h hops (Bellman-Ford) RAM: O(mh) time PRAM: O(mh) with O(h) depth Congested Clique: O(h) rounds Streaming: h passes with O(n) space 11 / 26

Less Known: Hop Sets Definition An (h, ε)-hop set is a set of weighted edges F such that, for all pairs of nodes u and v, in the shortcut graph G F there is a path from u to v with at most h edges of weight at most (1 + ε)dist(u, v). Application? SSSP up to h hops (Bellman-Ford) RAM: O(mh) time PRAM: O(mh) with O(h) depth Congested Clique: O(h) rounds Streaming: h passes with O(n) space Incremental/Decremental O(mh) [Even/Shiloach 81, HKN 14] 11 / 26

Less Known: Hop Sets Definition An (h, ε)-hop set is a set of weighted edges F such that, for all pairs of nodes u and v, in the shortcut graph G F there is a path from u to v with at most h edges of weight at most (1 + ε)dist(u, v). Application? SSSP up to h hops (Bellman-Ford) RAM: O(mh) time PRAM: O(mh) with O(h) depth Congested Clique: O(h) rounds Streaming: h passes with O(n) space Incremental/Decremental O(mh) [Even/Shiloach 81, HKN 14] Hopset with h = n o(1) and size n 1+o(1) gives almost tight algorithms 11 / 26

Less Known: Hop Sets Definition An (h, ε)-hop set is a set of weighted edges F such that, for all pairs of nodes u and v, in the shortcut graph G F there is a path from u to v with at most h edges of weight at most (1 + ε)dist(u, v). Application? SSSP up to h hops (Bellman-Ford) RAM: O(mh) time PRAM: O(mh) with O(h) depth Congested Clique: O(h) rounds Streaming: h passes with O(n) space Incremental/Decremental O(mh) [Even/Shiloach 81, HKN 14] Hopset with h = n o(1) and size n 1+o(1) gives almost tight algorithms Remaining challenge: Compute hop set efficiently 11 / 26

Hop Sets: Approaching Optimality Authors Stretch α Hopbound h Size [Baseline] 1 1 O(n 2 ) 12 / 26

Hop Sets: Approaching Optimality Authors Stretch α Hopbound h Size [Baseline] 1 1 O(n 2 ) [Klein/Subramanian 97] 1 O( n log n t ) O(t 2 ) [Shi/Spencer 99] 1 O( n t ) O(nt) 12 / 26

Hop Sets: Approaching Optimality Authors Stretch α Hopbound h Size [Baseline] 1 1 O(n 2 ) [Klein/Subramanian 97] 1 O( n log n t ) O(t 2 ) [Shi/Spencer 99] 1 O( n t ) O(nt) [Thorup/Zwick 01] 2k 1 2 O(kn 1+ 1 k ) 12 / 26

Hop Sets: Approaching Optimality Authors Stretch α Hopbound h Size [Baseline] 1 1 O(n 2 ) [Klein/Subramanian 97] 1 O( n log n t ) O(t 2 ) [Shi/Spencer 99] 1 O( n t ) O(nt) [Thorup/Zwick 01] 2k 1 2 O(kn 1+ 1 k ) [Cohen 94] 1 + ε ( log n ε ) O(log k) O(n 1+ 1 k log n) [Bernstein 09] 1 + ε O( 3 ε )k log n O(kn 1+ 1 k ) [Elkin/Neiman 16] 1 + ε ( log k ε ) O(log k) O(n 1+ 1 k log n log k) [Elkin/Neiman 17] 1 + ε O( k+1 ε )k+1 O(n 1+ 1 2 k+1 1 ) [Huang/Pettie 17] 1 + ε O( k ε )k O(n 1+ 1 2 k+1 1 ) 12 / 26

Hop Sets: Approaching Optimality Authors Stretch α Hopbound h Size [Baseline] 1 1 O(n 2 ) [Klein/Subramanian 97] 1 O( n log n t ) O(t 2 ) [Shi/Spencer 99] 1 O( n t ) O(nt) [Thorup/Zwick 01] 2k 1 2 O(kn 1+ 1 k ) [Cohen 94] 1 + ε ( log n ε ) O(log k) O(n 1+ 1 k log n) [Bernstein 09] 1 + ε O( 3 ε )k log n O(kn 1+ 1 k ) [Elkin/Neiman 16] 1 + ε ( log k ε ) O(log k) O(n 1+ 1 k log n log k) [Elkin/Neiman 17] 1 + ε O( k+1 ε )k+1 O(n 1+ 1 2 k+1 1 ) [Huang/Pettie 17] 1 + ε O( k ε )k O(n 1+ 1 2 k+1 1 ) [Abboud/Bodwin/Pettie 16] 1 + ε Ω k ( 1 ε )k n 1+ 1 2 k 1 δ 12 / 26

Hop Sets: Approaching Optimality Authors Stretch α Hopbound h Size [Baseline] 1 1 O(n 2 ) [Klein/Subramanian 97] 1 O( n log n t ) O(t 2 ) [Shi/Spencer 99] 1 O( n t ) O(nt) [Thorup/Zwick 01] 2k 1 2 O(kn 1+ 1 k ) [Cohen 94] 1 + ε ( log n ε ) O(log k) O(n 1+ 1 k log n) [Bernstein 09] 1 + ε O( 3 ε )k log n O(kn 1+ 1 k ) [Elkin/Neiman 16] 1 + ε ( log k ε ) O(log k) O(n 1+ 1 k log n log k) [Elkin/Neiman 17] 1 + ε O( k+1 ε )k+1 O(n 1+ 1 2 k+1 1 ) [Huang/Pettie 17] 1 + ε O( k ε )k O(n 1+ 1 2 k+1 1 ) [Abboud/Bodwin/Pettie 16] 1 + ε Ω k ( 1 ε )k n 1+ 1 2 k 1 δ Cannot have α = 1 + ε, h = poly(1/ε) and size n polylog(n). 12 / 26

It was too good to be true... 13 / 26

Hop Set Example 14 / 26

Simple Hop Set Based on Balls (following [Thorup/Zwick 06]) V = A 0 A 1 A k = where node of A i goes to A i+1 with probability 1/n 1/k v has priority i if v A i \ A i+1 15 / 26

Simple Hop Set Based on Balls (following [Thorup/Zwick 06]) V = A 0 A 1 A k = where node of A i goes to A i+1 with probability 1/n 1/k v has priority i if v A i \ A i+1 For every node u of priority i: Ball(u) = {v V dist(u, v) < dist(u, A i+1 )} 15 / 26

Simple Hop Set Based on Balls (following [Thorup/Zwick 06]) V = A 0 A 1 A k = where node of A i goes to A i+1 with probability 1/n 1/k v has priority i if v A i \ A i+1 pr. i + 1 For every node u of priority i: Ball(u) = {v V dist(u, v) < dist(u, A i+1 )} pr. i 15 / 26

Simple Hop Set Based on Balls (following [Thorup/Zwick 06]) V = A 0 A 1 A k = where node of A i goes to A i+1 with probability 1/n 1/k v has priority i if v A i \ A i+1 pr. i + 1 For every node u of priority i: Ball(u) = {v V dist(u, v) < dist(u, A i+1 )} pr. i 15 / 26

Simple Hop Set Based on Balls (following [Thorup/Zwick 06]) V = A 0 A 1 A k = where node of A i goes to A i+1 with probability 1/n 1/k v has priority i if v A i \ A i+1 pr. i + 1 For every node u of priority i: Ball(u) = {v V dist(u, v) < dist(u, A i+1 )} pr. i Hop set: (u, v) F iff v Ball(u) w(u, v) = dist G (u, v) 15 / 26

Simple Hop Set Based on Balls (following [Thorup/Zwick 06]) V = A 0 A 1 A k = where node of A i goes to A i+1 with probability 1/n 1/k v has priority i if v A i \ A i+1 pr. i + 1 For every node u of priority i: Ball(u) = {v V dist(u, v) < dist(u, A i+1 )} pr. i priority # nodes 0 n 1 n 1 1/k.. k 1 n 1/k Hop set: (u, v) F iff v Ball(u) w(u, v) = dist G (u, v) 15 / 26

Simple Hop Set Based on Balls (following [Thorup/Zwick 06]) V = A 0 A 1 A k = where node of A i goes to A i+1 with probability 1/n 1/k v has priority i if v A i \ A i+1 For every node u of priority i: Ball(u) = {v V dist(u, v) < dist(u, A i+1 )} Expected size: n (i+1)/k priority # nodes Ball(u) 0 n n 1/k 1 n 1 1/k n 2/k... k 1 n 1/k n pr. i + 1 pr. i Hop set: (u, v) F iff v Ball(u) w(u, v) = dist G (u, v) 15 / 26

Simple Hop Set Based on Balls (following [Thorup/Zwick 06]) V = A 0 A 1 A k = where node of A i goes to A i+1 with probability 1/n 1/k v has priority i if v A i \ A i+1 For every node u of priority i: Ball(u) = {v V dist(u, v) < dist(u, A i+1 )} Expected size: n (i+1)/k priority # nodes Ball(u) # edges 0 n n 1/k n 1+1/k 1 n 1 1/k n 2/k n 1+1/k.... k 1 n 1/k n n 1+1/k pr. i + 1 pr. i Hop set: (u, v) F iff v Ball(u) w(u, v) = dist G (u, v) 15 / 26

Simple Hop Set Based on Balls (following [Thorup/Zwick 06]) V = A 0 A 1 A k = where node of A i goes to A i+1 with probability 1/n 1/k v has priority i if v A i \ A i+1 For every node u of priority i: Ball(u) = {v V dist(u, v) < dist(u, A i+1 )} Expected size: n (i+1)/k priority # nodes Ball(u) # edges 0 n n 1/k n 1+1/k 1 n 1 1/k n 2/k n 1+1/k.... k 1 n 1/k n n 1+1/k kn 1+1/k pr. i + 1 pr. i Hop set: (u, v) F iff v Ball(u) w(u, v) = dist G (u, v) 15 / 26

Parameter Choice k = log n log 4/ε ( ) k 4 = n 1/k ε 16 / 26

Parameter Choice k = log n log 4/ε ( ) k 4 = n 1/k = n o(1) ε 16 / 26

(n 1/2+o(1), ε)-hop set Case 1: dist(u 0, v) n 1/2+1/k /ε u 0 v 17 / 26

(n 1/2+o(1), ε)-hop set Case 2: dist(u 0, v) > n 1/2+1/k /ε u 0 v 17 / 26

(n 1/2+o(1), ε)-hop set Case 2: dist(u 0, v) > n 1/2+1/k /ε r 0 = n 1/2 u 0 v 0 v r 0 17 / 26

(n 1/2+o(1), ε)-hop set Case 2: dist(u 0, v) > n 1/2+1/k /ε r 0 = n 1/2 u 1 r 0 u 0 r 0 v 0 v For every node u of priority i and every node v, either (u, v) H, or u of priority i + 1 s. t. dist(u, u ) dist(u, v). 17 / 26

(n 1/2+o(1), ε)-hop set Case 2: dist(u 0, v) > n 1/2+1/k /ε u 2 r 1 r 0 = n 1/2 ( r i+1 = 1 + 2 ) ε 0 j i r j r u 1 1 r 0 u 0 r 0 v 0 v 1 v For every node u of priority i and every node v, either (u, v) H, or u of priority i + 1 s. t. dist(u, u ) dist(u, v). 17 / 26

(n 1/2+o(1), ε)-hop set Case 2: dist(u 0, v) > n 1/2+1/k /ε u 2 r 1 r 2 r 0 = n 1/2 ( r i+1 = 1 + 2 ) ε 0 j i r j r u 1 1 r 0 u 0 r 0 v 0 v 1 v 2 v For every node u of priority i and every node v, either (u, v) H, or u of priority i + 1 s. t. dist(u, u ) dist(u, v). 17 / 26

(n 1/2+o(1), ε)-hop set Case 2: dist(u 0, v) > n 1/2+1/k /ε increasing priority u 2 r 1 r 2 r u 1 1 r 0 u 0 r 0 v 0 v 1 v 2 v decreasing distance to v r 0 = n 1/2 ( r i+1 = 1 + 2 ) ε 0 j i For every node u of priority i and every node v, either (u, v) H, or u of priority i + 1 s. t. dist(u, u ) dist(u, v). r j 17 / 26

(n 1/2+o(1), ε)-hop set Case 2: dist(u 0, v) > n 1/2+1/k /ε increasing priority u 2 r 1 r 2 r u 1 1 r 0 u 0 r 0 v 0 v 1 v 2 v decreasing distance to v r 0 = n 1/2 ( r i+1 = 1 + 2 ) ε n 1/2 n 1/k 0 j i r j k = log n/ log 4/ε For every node u of priority i and every node v, either (u, v) H, or u of priority i + 1 s. t. dist(u, u ) dist(u, v). Weight (1 + ε)dist(u 0, v) 17 / 26

(n 1/2+o(1), ε)-hop set Case 2: dist(u 0, v) > n 1/2+1/k /ε increasing priority u 2 r 1 r 2 r u 1 1 r 0 u 0 r 0 v 0 v 1 v 2 v decreasing distance to v r 0 = n 1/2 ( r i+1 = 1 + 2 ) ε n 1/2 n 1/k 0 j i r j k = log n/ log 4/ε For every node u of priority i and every node v, either (u, v) H, or u of priority i + 1 s. t. dist(u, u ) dist(u, v). Weight (1 + ε)dist(u 0, v) #Edges k dist(u, v) n 1/2 k n = kn1/2 n1/2 17 / 26

Chicken-Egg Problem? 1 Goal: Faster SSSP via hop set 2 Compute hop set by computing balls 3 Computing balls at least as hard as SSSP Back at problem we wanted to solve initially? 18 / 26

Chicken-Egg Problem? 1 Goal: Faster SSSP via hop set 2 Compute hop set by computing balls 3 Computing balls at least as hard as SSSP Back at problem we wanted to solve initially? No! (n 1/2+o(1), ε)-hop set only requires balls up to n 1/2+o(1) hops 18 / 26

(n 1/2+o(1), ε)-hop set Iterative computation In each iteration number of hops is reduced by a factor of n 1/k 19 / 26

(n 1/2+o(1), ε)-hop set Iterative computation In each iteration number of hops is reduced by a factor of n 1/k Algorithm: for i = 1 to k do H i = G 1 j i 1 F j Compute balls with k priorities in H i up to n 2/k hops F i = {(u, v) v Ball(u)} end return F = 1 i k F i 19 / 26

(n 1/2+o(1), ε)-hop set Iterative computation In each iteration number of hops is reduced by a factor of n 1/k Algorithm: for i = 1 to k do H i = G 1 j i 1 F j Compute balls with k priorities in H i up to n 2/k hops F i = {(u, v) v Ball(u)} end return F = 1 i k F i Error amplification: (1 + ε ) k (1 + ε) for ε = 1/(2ε log n) 19 / 26

(n 1/2+o(1), ε)-hop set Iterative computation In each iteration number of hops is reduced by a factor of n 1/k Algorithm: for i = 1 to k do H i = G 1 j i 1 F j Compute balls with k priorities in H i up to n 2/k hops F i = {(u, v) v Ball(u)} end return F = 1 i k F i Error amplification: (1 + ε ) k (1 + ε) for ε = 1/(2ε log n) Omitted detail: weighted graphs, use rounding technique 19 / 26

Beyond Hop Sets 20 / 26

New Distributed Algorithm Theorem ([Becker/Karrenbauer/K/Lenzen arxiv 16]) There is a deterministic algorithm for computing (1 + ε) approximate SSSP in ( n + Diam)poly(log n, ε) rounds. 21 / 26

New Distributed Algorithm Theorem ([Becker/Karrenbauer/K/Lenzen arxiv 16]) There is a deterministic algorithm for computing (1 + ε) approximate SSSP in ( n + Diam)poly(log n, ε) rounds. Key insight: Solve more general problem Shortest Transshipment Problem Find the cheapest route for sending units of a single good from sources to sinks along the edges of a graph as specified by demands on nodes. 21 / 26

New Distributed Algorithm Theorem ([Becker/Karrenbauer/K/Lenzen arxiv 16]) There is a deterministic algorithm for computing (1 + ε) approximate SSSP in ( n + Diam)poly(log n, ε) rounds. Key insight: Solve more general problem Shortest Transshipment Problem Find the cheapest route for sending units of a single good from sources to sinks along the edges of a graph as specified by demands on nodes. Uncapacitated minimum-cost flow 21 / 26

New Distributed Algorithm Theorem ([Becker/Karrenbauer/K/Lenzen arxiv 16]) There is a deterministic algorithm for computing (1 + ε) approximate SSSP in ( n + Diam)poly(log n, ε) rounds. Key insight: Solve more general problem Shortest Transshipment Problem Find the cheapest route for sending units of a single good from sources to sinks along the edges of a graph as specified by demands on nodes. Uncapacitated minimum-cost flow SSSP: source has demand (n 1), other nodes have demand 1 21 / 26

Shortest Transshipment Problem Shortest transshipment as linear program: minimize Wx 1 s.t. Ax = b 22 / 26

Shortest Transshipment Problem Shortest transshipment as linear program: minimize Wx 1 s.t. Ax = b Dual program: maximize b T y s.t. W 1 A T y 1 22 / 26

Shortest Transshipment Problem Shortest transshipment as linear program: minimize Wx 1 s.t. Ax = b Dual program: maximize b T y s.t. W 1 A T y 1 Equivalent: minimize W 1 A T y s.t. b T π = 1 22 / 26

Shortest Transshipment Problem Shortest transshipment as linear program: minimize Wx 1 s.t. Ax = b Dual program: maximize b T y s.t. W 1 A T y 1 Equivalent: minimize W 1 A T y s.t. b T π = 1 We approximate by soft-max: lse β (x) := 1 β ln i [d] ( e βx i + e βx i ) 22 / 26

Gradient Descent Algorithm at a glance: 1 Soft-max is differentiable apply gradient descent 23 / 26

Gradient Descent Algorithm at a glance: 1 Soft-max is differentiable apply gradient descent 2 Each iteration: solve transshipment problem with different demand vector b depending on current gradient 23 / 26

Gradient Descent Algorithm at a glance: 1 Soft-max is differentiable apply gradient descent 2 Each iteration: solve transshipment problem with different demand vector b depending on current gradient 3 Key observation: For b, bad approximation is sufficient 23 / 26

Gradient Descent Algorithm at a glance: 1 Soft-max is differentiable apply gradient descent 2 Each iteration: solve transshipment problem with different demand vector b depending on current gradient 3 Key observation: For b, bad approximation is sufficient 4 Compute spanner on overlay network and solving transshipment on overlay spanner Spanner has stretch O(log n) and size Õ(n) 23 / 26

Gradient Descent Algorithm at a glance: 1 Soft-max is differentiable apply gradient descent 2 Each iteration: solve transshipment problem with different demand vector b depending on current gradient 3 Key observation: For b, bad approximation is sufficient 4 Compute spanner on overlay network and solving transshipment on overlay spanner Spanner has stretch O(log n) and size Õ(n) 5 Overall: Polylog iterations, each solving O(log n)-approximate transshipment on graph of Õ(n) edges 23 / 26

Gradient Descent Algorithm at a glance: 1 Soft-max is differentiable apply gradient descent 2 Each iteration: solve transshipment problem with different demand vector b depending on current gradient Congested Clique: Compute gradient in O(1) rounds 3 Key observation: For b, bad approximation is sufficient 4 Compute spanner on overlay network and solving transshipment on overlay spanner Spanner has stretch O(log n) and size Õ(n) 5 Overall: Polylog iterations, each solving O(log n)-approximate transshipment on graph of Õ(n) edges 23 / 26

Gradient Descent Algorithm at a glance: 1 Soft-max is differentiable apply gradient descent 2 Each iteration: solve transshipment problem with different demand vector b depending on current gradient Congested Clique: Compute gradient in O(1) rounds 3 Key observation: For b, bad approximation is sufficient 4 Compute spanner on overlay network and solving transshipment on overlay spanner Spanner has stretch O(log n) and size Õ(n) Congested Clique: Spanner can be computed in O(log n) rounds [Baswana/Sen 03] 5 Overall: Polylog iterations, each solving O(log n)-approximate transshipment on graph of Õ(n) edges 23 / 26

Technical Details 1 Black-box reduction from SSSP to shortest transshipment only for exact solutions 24 / 26

Technical Details 1 Black-box reduction from SSSP to shortest transshipment only for exact solutions 2 Transshipment will only guarantee (1 + ε)-approximation on average 24 / 26

Technical Details 1 Black-box reduction from SSSP to shortest transshipment only for exact solutions 2 Transshipment will only guarantee (1 + ε)-approximation on average 3 How to obtain per-node guarantee: Solve with increased precision Inspect gradient to identify good nodes Repeat transshipment for bad nodes only Analysis: Total mass reduced by constant fraction in each run 24 / 26

Technical Details 1 Black-box reduction from SSSP to shortest transshipment only for exact solutions 2 Transshipment will only guarantee (1 + ε)-approximation on average 3 How to obtain per-node guarantee: Solve with increased precision Inspect gradient to identify good nodes Repeat transshipment for bad nodes only Analysis: Total mass reduced by constant fraction in each run Independent work: Approximate transshipment [Sherman 16] 24 / 26

Technical Details 1 Black-box reduction from SSSP to shortest transshipment only for exact solutions 2 Transshipment will only guarantee (1 + ε)-approximation on average 3 How to obtain per-node guarantee: Solve with increased precision Inspect gradient to identify good nodes Repeat transshipment for bad nodes only Analysis: Total mass reduced by constant fraction in each run Independent work: Approximate transshipment [Sherman 16] More general solvers based on generalized preconditioning 24 / 26

Technical Details 1 Black-box reduction from SSSP to shortest transshipment only for exact solutions 2 Transshipment will only guarantee (1 + ε)-approximation on average 3 How to obtain per-node guarantee: Solve with increased precision Inspect gradient to identify good nodes Repeat transshipment for bad nodes only Analysis: Total mass reduced by constant fraction in each run Independent work: Approximate transshipment [Sherman 16] More general solvers based on generalized preconditioning Linear preconditioner based on metric embeddings 24 / 26

Technical Details 1 Black-box reduction from SSSP to shortest transshipment only for exact solutions 2 Transshipment will only guarantee (1 + ε)-approximation on average 3 How to obtain per-node guarantee: Solve with increased precision Inspect gradient to identify good nodes Repeat transshipment for bad nodes only Analysis: Total mass reduced by constant fraction in each run Independent work: Approximate transshipment [Sherman 16] More general solvers based on generalized preconditioning Linear preconditioner based on metric embeddings With additional analysis: spanner-based oracle as non-linear preconditioner 24 / 26

Technical Details 1 Black-box reduction from SSSP to shortest transshipment only for exact solutions 2 Transshipment will only guarantee (1 + ε)-approximation on average 3 How to obtain per-node guarantee: Solve with increased precision Inspect gradient to identify good nodes Repeat transshipment for bad nodes only Analysis: Total mass reduced by constant fraction in each run Independent work: Approximate transshipment [Sherman 16] More general solvers based on generalized preconditioning Linear preconditioner based on metric embeddings With additional analysis: spanner-based oracle as non-linear preconditioner No straightforward way of obtaining per-node guarantee 24 / 26

Conclusion Main contributions: Two almost tight algorithms in distributed and streaming models Combinatorial and continuous tools 25 / 26

Conclusion Main contributions: Two almost tight algorithms in distributed and streaming models Combinatorial and continuous tools Open problems: PRAM: improve Cohen s m 1+o(1) work with polylog depth? Deterministic decremental SSSP algorithm 25 / 26

Tight and Tighter 26 / 26