170 likes | 249 Views
Online Algorithms for Network Design. Adam Meyerson UCLA. Problem Statement. Sender / Source. Build Network Low latency Low cost. Many Receivers. Formal Statement. Given a graph G=(V,E) Each edge has c(e) and l(e) Each vertex has demand d(v) Select sub-tree T connecting D to s
E N D
Online Algorithms for Network Design Adam Meyerson UCLA
Problem Statement Sender / Source Build Network Low latency Low cost Many Receivers
Formal Statement • Given a graph G=(V,E) • Each edge has c(e) and l(e) • Each vertex has demand d(v) • Select sub-tree T connecting D to s • D = {v such that d(v) > 0} • Minimize total c(e) of e T • Minimize l(e) along v-s paths
Previous Work • Marathe et al, 1998 • Bicriteria optimization of total c(e), max l(e) • Factors (log n, log n) where n=|D| • Meyerson et al, 2000 • Optimizes sum of c(e) + d(v)l(vs) • Factor log n where n=|D| • Various other results assuming c(e) and l(e) are somehow related
This Paper Sender / Source Many Receivers
Key Observation • Real networks change over time. • Telecom networks, transport networks • But especially mobile networks! • Ideally, we’d like an online strategy which adapts to nodes entering and departing. • Unfortunately, these problems are harder than the online Steiner Tree. • O(log n) is the best online competitivity possible • This holds even if order of arrival is random.
Online Algorithm Strategy • Assign nodes to levels (randomly). • Connect only to higher levels. • This connection is basically greedy. • Levels help with arrival order.
Bicriteria Example 1 2 1 3 2 1 1 2
Algorithm Description • Select level i with probability 1/2^i • Connect to only higher level • Pick path with latency at most L • Minimum cost connection • Notice that max level is at most log n • Can guarantee this if n is known • Otherwise not much larger w.h.p. • Thus all latencies within O(log n)*L
Cost Analysis • Consider a recursive partition of the optimum tree with roughly equal number of nodes on each side. • Instead of minimum-cost routing, we will route to a higher level node in same component as much as possible. • How many times to cross components? Expected once per level, so O(log n) times. Each crossing costs at most OPT cost on this component, and there are O(log n) recursive subdivisions.
Cost+Distance Version • Goal is to minimize sum of the two costs: • Sum over vertices of d(v) times l(vs) • Sum over edges of c(e) • Can think of this as a “buy-at-bulk” discount when purchasing cables. • Alternately, minimizing cost and average latency.
Algorithm for Cost+Distance • Same basic idea of assigning levels. • Pretend level i means 2^i demand and find path via higher levels which minimizes cost plus latency times this “fake” demand. • We follow this path to the root.
Analysis How much demand crosses red edge? It comes from O(log n) subtrees, and for each level i, encompasses an expected 2^i from there
Cost Analysis • This enables us to bound latency. • But potentially, we could “change paths” many times and spend a lot of c(e) on the edges. • To avoid this, we switch paths out of a node of level i only when 2^i demand arrives. This guarantees that outgoing edges actually carry 2^i demand so c(e) looks like l(e).
Poly-log result • O(log n) from many levels crossing an edge. • Each level has O(log n) times for subtrees. • O(log n) increase in cost due to “fake” demands. • O(log n) from assuming binary OPT tree. • Overall O(log n) competitive result 4
Open Problems • Improving online competitive ratio. • Can we obtain O(log n) competitive? • What happens on real examples? • Are these problems (log n)-hard offline? • Only max-snp hardness is known. • Multi-commodity version? • Almost nothing is known in the general case.