1 / 18

Vickrey Prices and Shortest Paths What is an Edge Worth?

Vickrey Prices and Shortest Paths What 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

mbarnett
Download Presentation

Vickrey Prices and Shortest Paths What is an Edge Worth?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vickrey Prices and Shortest PathsWhat is an Edge Worth? By John Hershberger and Subhash Suri Carlos Esparza and Devin Low 3/5/02

  2. 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?

  3. Outline • Domain and Problem Statement • Main Algorithm: Simplest Case • Computational Improvements • Extension to Complex Cases • Critiques • Discussion Questions

  4. Domain: Routing Graph • Apply Vickrey Pricing scheme • Strategyproof: Rational link owners must truthfully express link cost

  5. 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

  6. 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

  7. 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

  8. 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!]

  9. 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)]

  10. 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 )

  11. 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!

  12. 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)

  13. 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

  14. 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

  15. 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!

  16. 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

  17. 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?

  18. 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?

More Related