180 likes | 191 Views
Explore the application of Vickrey auctions in packet routing protocols and efficient computation of shortest paths in network graphs, focusing on strategy-proofness and computational improvements. The study addresses theoretical implications and algorithmic complexities.
E N D
Vickrey Prices and Shortest PathsWhat is an Edge Worth? By John Hershberger and Subhash Suri Carlos Esparza and Devin Low 3/5/02
Motivation • TCP is self-regulating, vulnerable to selfish protocol-breakers • Can we define a strategyproof packet routing protocol with efficient allocations? • Can Vickrey auctions be applied usefully to this domain? • Can Nisan’s shortest path method be improved? • Are marginal contributions of packet routers efficiently computable?
Outline • Domain and Problem Statement • Main Algorithm: Simplest Case • Computational Improvements • Extension to Complex Cases • Critiques • Discussion Questions
Domain: Routing Graph • Apply Vickrey Pricing scheme • Strategyproof: Rational link owners must truthfully express link cost
Domain: Strategyproof Analysis • An agent can deviate by over-reporting or under-reporting its edge cost C • If the agent over-reports, then either there is no effect, or the agent is not included in the shortest path as a result of the over-report • If the agent is not included in the shortest path, the agent loses the opportunity to get a transfer payment, so its utility decreases • If the agent under-reports with a false cost F < C, then either there is no effect or the agent is included in the shortest path as a result of the under-report (receiving transfer payment based on F) • F < C, so if the agent is included in the shortest path, it is paid less than its edge cost, so its utility is negative • So an agent can never profit from untruthful cost reporting
Problem Statement: Shortest Path with Edge Deletion Shortest path What is new shortest path? • Truthful valuation equals marginal contribution • Computing marginal contribution is computationally prohibitive • Need efficient method for computing shortest path with deleted links
Simplest Case: All Vertices on Path Figure 1 • Vx are all left of cut, Vyare all right of cut • Ei denotes set of edges crossing cut • d(x,y; G\ei) = min d(x,u) + c(u,v) +d(v,y) (u,v) Ei (u,v) != ei
Simplest Case: All Vertices on Path • One can iterate across ei with great computational efficiency • The difference between Ei and Ei+1 is simply: • Add to Ei all edges whose left endpoint is vi+1 • Remove from Ei all edges whose right endpoint is vi+1 • Total time complexity is thus O(m log m) [for now!]
Simplest Case: All Vertices on Path Path Algorithm • Part 1: Setup • L & R are k-element arrays whose elements are edges • Q a priority queue of (weight, edge) pairs indexed by weight • Part 2: Initialization • For each e E \ path(x,y) : • If left(e) < right(e), put e into L[left(e)] and R[right(e)]
Simplest Case: All Vertices on Path Path Algorithm • Part 3: Minimum weight • For i = 1 to k – 1 • (a) For each e = (u,v) L[i] Insert (w,e) into Q, with weight w = d(x,u; G \ ei) + c(u,v) + d(v,y; G \ ei) • (b) Remove from Q all (w,e) pairs with e R[i] • (c) Report the minimum weight in Q as the d(x,y; G \ ei )
Computational Improvements Structural Inefficiency: Priority Queue • Priority Queue — only operations that require non-constant time • Naïve priority queue implementation leads to a running time of O(m log m) • Can this be improved? YES!
Computational Improvements Structural Optimization: Fibonacci Heap • Use Fibonacci Heap instead of Priority Queue • The heap only has a subset of the edges that would be in a naïve construction of Q • But it is guaranteed to have the minimum-weight element of E • Time complexity improved to O(n log n + m)! • What was Nisan’s [99] result? • O(nm log n)
Extension to Complex Cases Undirected Networks • The shortest path tree X with source x is the union of all the shortest paths from x to other vertices in V • The shortest path tree Y with sink y is the union of all the shortest paths from vertices in V to y • Before X = Y = path(x,y) => not generally the case
Extension to Complex Cases Undirected Networks • The vertices connected to vi in the remaining “forest” form block Bi when all edges in path(x,y) are removed • Vx = (j=1 to i) Bj • Vy = (j=i + 1 to k) Bj
Extension to Complex Cases Reducing Undirected Graph to Simplest Case • We know that all u Vx , path(x,u) is in Vx • Thus, d(x,u) = d(x,u; G \ e.I) • Not so obvious that path (v,y) is in Vy for all v Vy • Lemma 1: d(v,y) = d(v,y; G \ e.I) • Algorithm can now be applied after making adjustments to right and left indices!
Extension to Complex Cases Undirected Networks • Theorem 3 • Given a directed network G with m edges and a pair of vertices (x,y), we can compute d(x,y; G \ e) for each edge e path(x,y) in total time O(n log n + m) plus the time to compute a shortest path tree in G
Critiques • Assumptions do not reflect real world networks: Model Inaccuracy • Multiple Sources & Sinks: Mirror Sites • Sending Several Users’ information over one link: Multicasting • Users sending multiple packets: Capacity Modeling • Intentionally exceeding stable bandwidth: Alinear Cost Functions • Multiple Edge ownership: Combinatorial Auctions • No empirical results: Graph Simulation, Auctions, Networks • Improved strictly worst-case analysis: Average-Case Analysis? • VCG are expensive – what is the mechanism cost? VCG not BB • Complexity claims are asymptotic: What is real-world n?
Additional Discussion Questions • Can this algorithm be applied effectively to other domains, such as re-routing around crashing links? Conversely, can the literature on crashing links be imported effectively to this domain? • Can this algorithm be adapted to distributed computing, giving up a central mechanism organizer? • How can traditional distributed computing survive selfish manipulations? TCP is decidedly not strategyproof! • For what cost functions is exploitable TCP optimal?