Download presentation
Presentation is loading. Please wait.
Published byAdelia Lewis Modified over 9 years ago
1
Online Oblivious Routing Nikhil Bansal, Avrim Blum, Shuchi Chawla & Adam Meyerson Carnegie Mellon University 6/7/2003
2
Shuchi Chawla, Carnegie Mellon University 2 The Routing Problem Have: An underlying network; Requests arrive in succession Want: A “distributed” routing algorithm minimizing congestion Congestion = max e (flow on edge e) Congestion = 2
3
Shuchi Chawla, Carnegie Mellon University 3 The Routing Problem Have: An underlying network; Requests arrive in succession Want: A “distributed” routing algorithm minimizing congestion Congestion = max e (flow on edge e) Congestion = 1 In hindsight:
4
Shuchi Chawla, Carnegie Mellon University 4 The Routing Problem Have: An underlying network; Requests arrive in succession Want: A “distributed” routing algorithm minimizing congestion Congestion = max e (flow on edge e) Congestion = 2 Competitive Ratio = 2 (cost of routing)
5
Shuchi Chawla, Carnegie Mellon University 5 Oblivious vs. Adaptive Routing Adaptive Routing: For every request, pick a route based on all previously seen requests log-competitive centralized & distributed algos Oblivious Routing: Pick a route for every possible request in the beginning, and use it throughout Advantages - Easy to implement (hard-code routes) - Distributed
6
Shuchi Chawla, Carnegie Mellon University 6 Oblivious Routing Algorithms [Borodin Hopcroft ’85]: Deterministic algorithms perform very poorly Solution: Randomized algorithms For every request, output a probability distribution on paths a flow Henceforth, A Routing A collection of unit flows (one for each request) Congestion = 1.5
7
Shuchi Chawla, Carnegie Mellon University 7 Oblivious Routing Algorithms Until recently, good randomized algorithms known only for special graphs Lattices, Hypercubes [ValiantBrebner’81, Leighton’92] [Racke’02]: For every graph, 9 an oblivious routing with congestion less than O(log 3 n) x OPT Can we find it? [Azar et al’03]: Polytime algo to find an oblivious routing that has minimum worst case congestion In particular, achieve Racke’s bound “Min-Max Optimal Routing”
8
Shuchi Chawla, Carnegie Mellon University 8 The Min-Max Optimal Routing Given graph G, and D – the set of demands with optimal (hindsight) congestion = 1 Min-Max Optimal Routing G = argmin r max D (congestion of r on d) Worst case congestion of r Azar et al find this routing in poly-time Racke shows that in every graph, congestion of G = O(log 3 n)
9
Shuchi Chawla, Carnegie Mellon University 9 Can we do better? Suppose we do not get the worst case demands… - Do not want to optimize over the entire set D - In hindsight if the possible set of demands is D’, we want r * = argmin r max D’ (cong. of r on d) Formally: Every day we get demands d t Want to minimize the objective t (cong. of r on d t ) i.e., want congestion to always be low, but only on the observed demands d t ; not the entire set D but, allow it to be high very occasionally
10
Shuchi Chawla, Carnegie Mellon University 10 Online Oblivious Routing Observe and serve demands every day Each morning, pick an “Oblivious Routing of the day” based on previous demands Based on observed trends, “adjust” the routing to better suit the observed traffic Still oblivious – we pick the routing every day without knowing the future demands Cost(r) = t (cong. of r on d t ) Cost(ALG) = t (cong. of r t on d t )
11
Shuchi Chawla, Carnegie Mellon University 11 The Static Optimal Routing Optimal Routing for the given set of demands r * = argmin r Cost(r) (Not allowed to change over time, unlike the algorithm) We want ALG to be almost as good as the Static Optimal Routing Cost(ALG) = (1+ ) Cost(r * ) + (small factors) Note: Min-Max Opt may not be competitive! Static Opt is at least as good as the Min-Max Opt, but can be much better!
12
Shuchi Chawla, Carnegie Mellon University 12 An online learning problem Picking a good routing is similar to playing a repeated game against an adversary that supplies demands Similar to machine learning problem of competing against the best “expert” Too many experts (feasible routings); traditional ML algorithms do not work Use the structure of the problem to design an efficient algorithm – LP based
13
Shuchi Chawla, Carnegie Mellon University 13 Routing and Linear Programming For given demands d, and routing r, congestion on edge e = d.r(e) We want min r 2 R max e d.r(e) or min t : t ¸ d.r(e) 8 e R is a convex polyhedron: r should satisfy inflow=outflow at every node (except source and sink) Therefore, given demands, the best flow is given by a linear program How about Min-Max Opt flow? min t : t ¸ d.r(e) 8 e,d [Azar et al]: Ellipsoid with a separation oracle – compute worst case demands at every step
14
Shuchi Chawla, Carnegie Mellon University 14 Online Oblivious Routing and Online LP Online Linear Programming At every step, pick a point x t from convex set F Receive linear cost function g t cost at step t = g t (x t ) Online Oblivious Routing At every step, pick a point r t from R Receive demands d t cost at step t = max e d t.r t (e)
15
Shuchi Chawla, Carnegie Mellon University 15 Online Oblivious Routing and Online LP Online Linear Programming At every step, pick a point x t from convex set F Receive linear cost function g t cost at step t = g t (x t ) Online Oblivious Routing At every step, pick a point r t from R Receive demands d t and edge e t cost at step t = d t.r t (e t ) Worst congested edge
16
Shuchi Chawla, Carnegie Mellon University 16 Knowing the edge e t only hurts us OPT’s flow on edge e t is smaller than its congestion ALG’s flow on edge e t is equal to its congestion OPT’s cost decreases, while ALG’s stays the same Online Oblivious Routing and Online LP
17
Shuchi Chawla, Carnegie Mellon University 17 Solving the Online Linear Program Based on the work of [Zinkevich’03] and [Kalai-Vempala’02] At every step: 1. Gradient Descent Move against the cost vector gradient y t+1 = x t - c t (Natural Learning Strategy) 2. Projection If y t+1 is infeasible, orthogonally project it back to R x t+1 = argmin x 2 R |y t+1 -x| (We use Semi-Definite Programming)
18
Shuchi Chawla, Carnegie Mellon University 18 Solving the Online Linear Program We get the following guarantee: Cost(ALG) · Cost(OPT) + n 3 T After n 6 / 2 steps, Cost(ALG) · (1+ ) Cost(OPT)
19
Shuchi Chawla, Carnegie Mellon University 19 Extensions and Open Problems Change the routing every days the rate of convergence slows down by factor of Add extra constraints to the LP: No individual day’s cost should exceed some prespecified value No individual day’s cost should cross twice the Min-Max Opt cost Avoid using the SDP Open! Purely combinatorial greedy algorithm
20
Shuchi Chawla, Carnegie Mellon University 20 Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.