Title: Vickrey Prices and Shortest Paths What is an Edge Worth?
1Vickrey Prices and Shortest PathsWhat is an Edge
Worth?
- By John Hershberger and Subhash Suri
Carlos Esparza and Devin Low 3/5/02
2Motivation
- 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 Nisans shortest path method be improved?
- Are marginal contributions of packet routers
efficiently computable?
3Outline
- Domain and Problem Statement
- Main Algorithm Simplest Case
- Computational Improvements
- Extension to Complex Cases
- Critiques
- Discussion Questions
4Domain Routing Graph
- Apply Vickrey Pricing scheme
- Strategyproof Rational link owners must
truthfully express link cost
5Domain 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 lt
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 lt 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
6Problem 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
7Simplest Case All Vertices on Path
Figure 1
- Vx are all left of cut, Vy are 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
8Simplest Case All Vertices on Path
- One can iterate across ei with great
computational efficiency - The difference between Ei and Ei1 is simply
- Add to Ei all edges whose left endpoint is vi1
- Remove from Ei all edges whose right endpoint is
vi1 - Total time complexity is thus O(m log m) for
now!
9Simplest 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) lt right(e), put e into Lleft(e)
and Rright(e)
10Simplest Case All Vertices on Path
Path Algorithm
- Part 3 Minimum weight
- For i 1 to k 1
- (a) For each e (u,v) ? Li 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 ? Ri
- (c) Report the minimum weight in Q as the d(x,y
G \ ei )
11Computational 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!
12Computational 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 Nisans 99 result?
- O(nm log n)
13Extension 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) gt not generally the
case
14Extension 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 ?(j1 to i) Bj
- Vy ?(ji 1 to k) Bj
15Extension 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!
16Extension 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?
18Additional 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?