Vickrey Prices and Shortest Paths: What is an edge worth?

John Hershberger Subhash Suri £ Mentor Graphics Corp. Computer Science Department 8005 SW Boeckman Road University of Wilsonville, OR 97070, USA Santa Barbara, CA 93106, USA john [email protected] [email protected]

Abstract a unifying framework for many optimization problems such as knapsack, sequence alignment in molecular biology, in- We solve a that is motivated by scribed construction, and length-limited Huffman- recent interest in pricing networks or other computational coding, etc. (Eppstein [4] is a good reference for shortest resources. Informally, how much is an edge in a network paths and their applications.) Most complex applications of worth to a user who wants to send data between two nodes the shortest path problem, however, require more than just along a shortest path? If the network is a decentralized en- the calculation of a single shortest path. In some applica- tity, such as the Internet, in which multiple self-interested tions, the desired path might be subject to additional con- agents own different parts of the network, then auction- straints that are hard to quantify. In others it might be use- based pricing seems appropriate. A celebrated result from ful to examine not just the shortest but a larger set of “short auction theory shows that the use of Vickrey pricing moti- paths.” It some applications, it is desirable to see how the vates the owners of the network resources to bid truthfully. shortest path is influenced by various system parameters, In Vickrey’s scheme, each agent is compensated in propor- through a “sensitivity analysis.” Our problem belongs to

tion to the marginal utility he brings to the auction. In the this last category. We wish to determine, for each edge

context of shortest path routing, an edge’s utility is the value in a graph, what effect ’s deletion has on the shortest path by which it lowers the length of the shortest path—the dif- between two given nodes. ference between the shortest path lengths with and without Our problem is motivated by recent interest in pric- the edge. Our problem is to compute these marginal values ing networks and computing resources, which in turn is for all the edges of the network efficiently. The na¨ıve method prompted by the prominent role the Internet has come to

requires solving the single-source shortest path problem up play in our lives. One of the distinguishing characteristics to times, for an -node network. We show that the Vick- of the Internet is that it involves interaction among multiple rey prices for all the edges can be computed in the same (often very many) self-interested participants. These partic- asymptotic time complexity as one single-source shortest ipants (organizations, people, computers, software), called path problem. This solves an open problem posed by Nisan “agents” in the AI terminology, cannot be trusted to fol- and Ronen [12]. low the rules of a protocol, especially if deviating from the protocol is beneficial to the agent. Thus, unlike traditional distributed computing protocols, a protocol for these new 1. Introduction settings must be designed explicitly to account for willing manipulation by the users. We briefly describe an example that helps illustrate this phenomenon. Shortest paths are fundamental in many areas of com- One of the most famous distributed protocols on the In- puter science, operations research, and engineering. Their ternet is the Transmission Control Protocol (TCP), imple- applications include network and electrical routing, trans- mented on each host on the Internet. An important feature portation, robot motion planning, critical path computation of this protocol is its congestion control mechanism. The in scheduling, etc. In addition, shortest paths also provide protocol uses packet loss as an indication of network con-

£ Subhash Suri’s research on this paper was partially supported by Na- gestion, and is designed to reduce the sending host’s trans- tional Science Foundation grants CCR-9901958 and ANI-9813723. mission rate (using a fairly aggressive exponential back-

1 off). It then gradually increases the transmission rate until such bundle auctions, even determining the winning bids is another sign of congestion is detected. This cycle of in- NP-complete, but under a restricted setting Bikhchandani creasing and then decreasing the transmission rate allows et al. [2] solve the Vickrey payment problem using linear the protocol to discover and utilize whatever bandwidth is programming.) The network employs the Vickrey pricing

available between two communicating hosts, while at the mechanism to elicit agents’ true preferences (costs). The

same time sharing the overall resource among many such payment made to an edge is determined as follows:

pairs.

´  Ò µ ´   µ

TCP is self-regulating, meaning that it assumes that in- 

dividual hosts will respond to congestion exactly as the de- if is on the shortest path (1) 

signers of the protocol intended. But a self-interested host ¼ otherwise

(agent) has motivation not to decrease its sending rate in the hope that others will reduce their rate, eliminating the That is, if edge does not belong to the shortest path in , congestion, while he can continue to enjoy the higher rate. then its agent receives zero payment. Otherwise, the pay-

In one extreme case, no one follows the TCP congestion ment to is the difference between the cost of the shortest rules, and the system crashes; in another extreme case, a path without , and the cost of the shortest path assuming few misbehaving users enjoy an unfair share of the net- is free. work resources, while the rule-abiding majority of users This formulation is from Nisan and Ronen [12], who suffer. Because a protocol like TCP is easily manipulated, posed the following question: what is the computational

many researchers have proposed game-theoretic and price- complexity of determining all the Vickrey payments? The

based mechanisms to share bandwidth and other network straightforward method requires computing the – short-

Ò

resources [5, 13, 19]. est paths up to times: once in , and once in , for In this context, a natural economic question is this: how each that belongs to the shortest path in . The pay- much is an edge in a network worth to a user who wants ment function expressed in equation (1) requires two short-

to send data between two nodes along a shortest path? If est path computations, but the second term can easily be

´  µ the network is a decentralized entity, such as the Internet, deduced from the shortest path distance , for

in which multiple self-interested agents own different parts each that belongs to the shortest path. In a graph with

of the network, then an auction is often the best mecha- nodes and edges, each shortest path can be computed

´ ÐÓ · µ

nism to determine the utility of various network elements. in time using Dijkstra’s algorithm, if all the

´µ A celebrated result from auction theory shows that the use edges have non-negative costs, or in time using the of Vickrey pricing motivates the agents to bid truthfully. In Bellman-Ford algorithm, if the network has negative cost

Vickrey’s scheme, each agent is compensated in proportion edges but no negative cycles [3]. Since there are at most

½ to the marginal utility he brings to the auction. The insight edges on the shortest path from to , the na¨ıve

of Vickrey is that although agents have an incentive to lie method’s total cost for computing the payments to all the

¾

´ ÐÓ · µ

about their costs in the hope of receiving larger compensa- agents is for non-negative cost networks,

¾

´ µ tion from the network, making an edge’s payment depend and for networks with negative edge costs. only on the declarations of other agents eliminates this ma- Our main result is an algorithm to compute the Vick- nipulative element. ½ rey payments to all the agents in essentially the same time Suppose we are interested in discovering the shortest bound as one single-source shortest path computation. Our

algorithm builds two shortest path trees, one based on

path from node to node in a network , whose links

are owned by self-interested agents. We assume that agents and the other based on , and computes the payment term

´  Ò µ

bid on individual links—that is, either each agent owns at for each edge by combining parts of these

´ · ÐÓ µ

most one link, or if an agent owns multiple links, he bids on trees. The total time complexity is if the

´µ each independently. (We do not consider the setting where edge costs are non-negative, and otherwise. an agent can make strategic bids on subsets of links. In

½ The Vickrey mechanism is a generalization of the well-known sealed 2. Related work bid second price auction, in which an object is sold to the highest bid- der, but the winner pays a price equal to the runner-up’s bid. This auction Researchers in multi-agent systems, or distributed AI, protocol is known to be truthful, in that a rational agent’s best bidding strategy is to bid his true valuation. Thus, in a distributed network where have studied cooperation and competition among “software network links belongs to rational, self-interested agents, Vickrey pricing agents.” Many of these papers use ideas from mechanism elicits truthful responses from agents, leading to economic efficiency in design to analyze strategies and responses of these agents the network—the shortest paths use agents with lowest costs (even though in negotiations and resource allocations [14, 15, 20]. Oth- actual costs are private, not public, information). This truthfulness, how- ever, does come at a cost: the mechanism may need to subsidize the agents. ers use market-based ideas to solve distributed computa- For a proof of the Vickrey mechanism’s truthfulness, see [11]. tional problems [21, 23]. Researchers in networking have

2 proposed game-theoretic techniques to deal with congestion undirected graphs, and present our algorithm for undirected

control in the Internet [5, 6, 13, 19]. graphs first, since some of the details are simpler. We as- Our paper is motivated by the algorithmic mechanism sume that a pair of vertices and has at most one edge design paper of Nisan and Ronen [12]. They investigate connecting them, but this is not a necessary restriction for computational complexity and algorithmic issues in mech- our algorithms: the algorithms work just as well when there anism design, and raise some intriguing problems. Specif- are multiple parallel edges joining pairs of vertices.

ically, they asked the question that forms the basis of our A path in is a sequence of edges, such that consecutive

work: Can the payment functions of the Vickrey mechanism edges share a common vertex, and each vertex is incident to be computed faster than invocations of the optimization at most two path edges. The total cost of a path in is the

problem? The payment function computation for the net- sum of the costs of the edges on the path. The shortest path

ÔØ ´ µ

work routing problem is equivalent to the following: given between two vertices and , denoted by ,isthe

a directed graph , and two specified nodes and , deter- path joining to , assuming one exists, that has minimum

´ µ

´ µ

mine, for each edge in the graph, the effect on of cost. The distance between and , denoted , is the

¾

Ø ´ µ deleting . length of Ô , or infinity if no path exists. Our problem is related to the topic of “sensitivity analy- We denote shortest paths and distances when an edge

sis” in operations research. In sensitivity analysis, the goal has been removed from the graph by the notations

is to determine the robustness of a solution: how much

Ø ´  Ò µ ´  Ò µ Ô and . The distance in

the system parameters can be perturbed before the solution

´ µ ´  µ the full graph is shorthand for ; likewise

changes. For instance, the sensitivity analysis of the mini-

Ø ´ µ ÔØ ´  µ Ô is shorthand for .

mum spanning tree requires computing for each edge the

There are two distinguished vertices and in the graph,

´µ amount Æ by which the cost of must change before the

called the source and the target vertices. The shortest path

´µ

minimum spanning tree changes; Æ is positive if is part

ÔØ ´ µ´ µ

¾  ½ joining them is ½ , , , , where

of the MST, and negative otherwise. Tarjan [22] presents

and  . Recall that we want to compute, for each

´´ µµ Æ ´µ

an time algorithm for calculating for all

¾ ½ ½

, the length of the shortest path from

edges of a graph with nodes and edges, where is

´ µ

 ·½ to that does not use the edge  , which we

a functional inverse of Ackermann’s function. Tarjan also

call the - distance omitting  . This is precisely the term

presents a similar result for performing the sensitivity anal-

´  Ò µ

 in the payment function.

ysis of a shortest path tree. In our problem, however, we are We can analyze the shortest paths from to in terms not interested in computing the cost threshold of an edge, of the set of edges crossing a cut. In later sections we will but rather in deleting an edge, and then finding the new choose the cut according to the structure of the graph, but shortest path. To the best of our knowledge, all the known for now let us simply consider any partition of the ver-

methods for this type of sensitivity analysis of shortest paths

¾

Ý Ü

tex set into two sets Ü and such that and

µ

require ª´ work per shortest path edge [1]. Our prob-

¾

Ý . The set of edges crossing the cut is denoted by

lem also has some similarity to the -shortest paths problem

´ µ ´ µ ¾ ¾

Ü Ý ÙØ Ü ÙØ . Each edge has

studied by Eppstein [4], but requires different techniques.

¾

and Ý . Any path from to must include at least one

Finally, Bikhchandani et al. [2] and Schummer and

edge from ÙØ . Therefore, we can express our problem as

Vohra [18] have considered general auction settings where

´ µ ´ µ

 ·½ Ü Ý follows: For each  and some cut

the Vickrey payments correspond to dual variables in a lin-

possibly dependent on  , compute

ear program. Their results depend on a combinatorial condi- ¼

tion, which they call the “agents are substitutes” condition. ½

´  Ò µ·

It turns out that the minimum spanning tree problem and the 

 

´ µ·

´  Ò µ Ñ Ò

assignment problem satisfy the “agents are substitutes” con-  (2)

´ÙÚ µ¾

ÙØ

´  Ò µ



´ÙÚ µ dition, and therefore the Vickrey payments for those prob- lems can be determined efficiently. However, the “agents

are substitutes” condition does not hold for the shortest path In Section 4 we apply this expression to compute the -

ÔØ ´ µ

problem, so the methods of [2] and [18] do not apply to our distance omitting each edge of in the special

setting. case in which is undirected and all the vertices of lie on

Ø ´ µ Ô . In Section 5 we solve the problem for general 3. Shortest path preliminaries undirected graphs, and in Section 6 we solve the problem

for directed graphs. We assume that our network is modeled by a graph ¾

For convenience we assume that all path lengths are distinct, so the

´ µ     ¾

, with and . Each edge shortest path between any two vertices is unique. This condition is easy to

´µ has an associated cost . We consider both directed and enforce by a symbolic perturbation of the edge costs.

3 4. Payment computation in path graphs

Path Algorithm

We illustrate our ideas by solving the special case in

Ø ´ µ which Ô includes all the vertices of . The ad- 1. Let L and R be -element arrays whose elements are

ditional structure in this case makes it particularly easy to sets of edges, initially empty.

Ò

compute the distances in required by equation (2). Let be a priority queue of (weight, edge) pairs, in-

´ µ Ý

We define the cut Ü based on the natural partition of dexed by weight, initially empty.

ÔØ ´ µ ´ µ

¾ Ò

½ induced by the removal of

¾ Ò ÔØ ´ µ

2. For each

´ µ  

 ·½ Ü ½ 

the edge  . We choose and

 

·½ Ò

Ý . To simplify the notation, we define

´µ Ö Ø ´µ ÄÐØ ´µ

If ÐØ , put into and

´ µ

Ü Ý 

 for . See Figure 1.

Ö Ø ´µ

Ê .

½ ½

3. For to

´ µ ¾ Ä

(a) For each

µ

Insert ´ into , with weight

´  Ò µ·´ µ·´  Ò µ 

 .

´ µ ¾ Ê  y (b) Remove from all pairs with .

x Vx Vy

(c) Report the minimum weight in as the - dis-

tance omitting  .

Figure 1. The edges of  cross the dashed ver-

tical line.

Ò 

At step , contains the edges of  , and so



´ µ

the - distance omitting is correctly computed. Only

 ·½

For a given edge  to be removed, consider

µ ¾ ÔØ ´ µ ´ the priority queue operations take non-constant time. A

a cut edge  . Because is contained in

´ µ´  Ò µ ÔØ ´ µ

na¨ıve priority queue implementation gives a running time 

Ü , . Likewise, because

´ ÐÓ µ

´ µ ´  Ò µ

of . 

is contained in Ý , . These dis-

Ø ´ µ

tances are simply the lengths of the subpaths of Ô We can improve this time complexity by using a Fi-

½

connecting each point to and . Thus equation (2) reduces bonacci heap for with at most nodes, numbered

to from ¾ to [3]. The ’th node stores the minimum-weight

 

edge in the current cut that belongs to Ê . We initialize

½

the Fibonacci heap to have nodes, each with weight

´  Ò µ Ñ Ò ´ µ·´ µ·´ µ

 (3)

¾ Ä

½. In step 3a, for each , we compare its weight

´ÙÚ µ¾

´ÙÚ µ

Ö Ø ´µ with the weight of the heap node with index ;

if has the lesser weight, we perform a DecreaseKey op-

eration on node and reset its edge to be . (We do not To compute the shortest - path omitting each edge

need to do anything if has the greater weight, because the

Ø ´ µ

of Ô efficiently, we evaluate equation (3) for each

edge stored at node will be in the cut just as long as .)

´ µ ½ ½

 ·½

 in sequence from to . For a given

In step 3b, we delete node from —the minimization in

´ µ·´ µ·´ µ

, we minimize the quantity over step 3a means that this node is the representative of all the

´ µ ¾ Ò

  ·½

all  . But the difference between and

 edges in Ê . Thus the heap contains only a subset of the is easy to compute: it consists of exactly those edges with

edges that would be stored in a na¨ıve implementation of ,

·½ ·½ 

one endpoint at  . To produce from , we add but it is guaranteed to contain the minimum-weight element

·½

to  all edges whose left endpoint is , and we remove of the cut set.

·½

from  all edges whose right endpoint is .

´µ

The Fibonacci heap implementation performs

´µ Ö Ø ´µ ´µ

To formalize this, let ÐØ and be the indices DecreaseKey operations, but only inserts, deletes,

ÔØ ´ µ ÐØ ´µ Ö Ø ´µ

of the endpoints of in , with . and FindMin operations. Only the delete operation takes

´ÐÓ µ

In later sections, when the endpoints of do not necessarily time in the Fibonacci heap; the other three opera-

Ø ´ µ ÐØ ´µ Ö Ø ´µ ´½µ

lie on Ô , we will redefine and to tions take amortized time apiece. Thus, the total time

¾ ÐØ ´µ  Ö Ø ´µ

be indices such that  for all . spent on priority queue operations using the Fibonacci heap

´ ÐÓ · µ We perform the following algorithm: implementation is .

4

5. Networks with undirected edges vertices connected to  in the remaining forest form block

¾ ÐÓ ´µ 

 .If , we define . Thus for a given



´ µ ¾ ÔØ ´ µ

 ·½ Ü

edge  , , and ½

In a general undirected graph, not all vertices lie on



Ý . See Figure 3.

Ø ´ µ ·½ Ô . This means that the structure of the shortest

paths from to other vertices is unrelated to the structure

of the shortest paths from those other vertices to . The B1 B3

shortest path tree with source is the union of all the short- est paths from to other vertices in . Since we assume

uniqueness of shortest paths, this union of paths is indeed a tree. Each vertex has a unique parent in the tree;

Bk

Ø ´ µ ÔØ ´ µ

Ô is obtained by concatenating with the

µ

edge ´ . Let us denote the shortest path tree with source B2 by .

We can also define a shortest path tree with sink , which

Ø ´ µ Figure 3. Removing Ô from defines

we denote by . This is the union of all shortest paths from

blocks  .

vertices in to the destination . (Since we are assuming

is undirected, is identical in structure to the shortest path

Consider computing the - distance omitting  accord-

tree with source . For directed graphs, this is not true.) The

¾ ÔØ ´ µ

ing to equation (2). For all Ü , is contained

´ ÐÓ ·

shortest path trees and can be computed in

´ µ´  Ò µ 

in Ü by definition, so we have . µ

time using Dijkstra’s algorithm and Fibonacci heaps [3],

Because the partition of induced by deleting  is not the

´ ÐÓ µ or in time using simple data structures.

same as the corresponding partition of (Figure 2), it is not

In the case of a path graph, as discussed in Section 4,

ÔØ ´ µ ¾ Ý

obvious that is contained in Ý for all .

ÔØ ´ µ

, and the removal of an edge splits

ÔØ ´ µ

Nevertheless, it turns out that does not use  , and into identical components. However, for general which is what we need. undirected graphs, this is not true. For example, in Figure 2,

the vertices in the upper branch of the graph lie in opposite 

Lemma 1 Let be a vertex in Ý for some

·½

Ò Ò

components of and .

´ µ ´ µ´  Ò µ

 ·½   . Then .

G 10 10 10 11 11 e V u v 10 10 10 10 10 10 10 x Vy X x v v y e i i+1

Y

Ø ´ µ

Figure 4. Unlike the shaded path, Ô

ÔØ ´ µ

·½

e cannot include  , because is con-

tained in Ý . Figure 2. and have different structures.

Proof: The proof is by contradiction. Suppose that

ÔØ ´ µ

 

To compute the - distance omitting each edge  uses the edge . It must traverse in the for-

´ µ ÔØ ´ µ ´ µ

·½ ½   ·½

 in , we define the ward direction, from to , because the shortest path

´ µ

Ý ·½ Ý

cut Ü based on the shortest path tree . Because from to is fully contained in and does not traverse

ÔØ ´ µ ÔØ ´ µ ÔØ ´ µ

 ·½

is contained in , the removal of  splits . Then is the concatenation of

ÔØ ´ µ ·½

into two components; we choose the component containing with  , and the first subpath contains vertex

Ý  Ü

to be Ü , and the complement to be . To be more spe- (which is a vertex of ) in its interior (see Figure 4).

¾

Ý Ý

cific in the determination of Ü and , we assign vertices On the other hand, because , the shortest path tree

ÔØ ´ µ

·½ Ý

of to blocks based on their position in the shortest path shows that  is completely contained in .

ÔØ ´ µ ÔØ ´ µ ·½ tree . If we delete all the edges of from , the Since is undirected,  is just the reversal of

5

ÔØ ´ µ

·½  Ü Ý

 . But one contains and one does not, a con- Lemma 2 Let and be the components of induced

ÔØ ´ µ ¾ ÔØ ´ µ ÔØ ´  Ò µ

tradiction. Therefore does not contain  , and the by removing an edge . Then

´ µ Ý lemma is established. includes exactly one edge of Ü .

We have (almost) reduced the general undirected graph

Ø ´ µ

case to the case in which all vertices lie along Ô . P

´ µ ¾ ÔØ ´ µ ÐØ ´µ

For an edge , we define

 ´µ Ö Ø ´µ ÐÓ ´ µ ÐÓ ´µ  ÐÓ and , assuming

Vx Vy

ÐÓ ´ µ ¾ ÐØ ´µ 

. This ensures that  if and only if u

Ö Ø ´µ

, and we can apply the algorithm of Section 4 e y

´ µ ¾ ´ µ directly. For each edge  , the distance is x

computed using the shortest path tree , and the distance

´ µ

is computed using .

6. Directed networks Figure 6. is the last vertex of in Ü . Shaded

ÔØ ´ µ

is contained in Ü .

When is directed, things become more complicated.

For example, the shortest path tree with source is not the

Ò Proof: Consider any path connecting to in , and

same as the shortest path tree with sink . To get the shortest

let be the last vertex of in Ü . (The path may pass

path tree with sink , we must reverse the orientation of

Ý from Ü to several times, but we choose the last such

every edge in and compute the shortest path tree with transition. See Figure 6.) The shortest path from to in

source in this modified tree.

Ü is contained in Ü , since is a subtree of containing

If contains only edges with non-negative costs, we can

ÔØ ´ µ ÔØ ´  Ò µ both and . Therefore ,

compute the shortest path tree using Dijkstra’s algorithm in

and we can shorten by replacing the portion of up to

´ ÐÓ · µ

time, as in the undirected case. However,

ÔØ ´ µ ´ µ Ý by . The only edge of Ü in this shorter directed graphs may contain negative-cost edges; so long path is the one immediately following . It follows that the

as there are no negative-cost cycles, it still makes sense to

Ò shortest path from to in must contain exactly one

compute shortest paths. If contains negative-cost edges,

´ µ Ý edge of Ü .

Dijkstra’s algorithm is not applicable, and we must use a

´µ

µ

less efficient algorithm to compute shortest path A simple corollary of this lemma is the fact that if ´

ÔØ ´  Ò µ ´ µ Ý

trees [3]. is the single edge of in Ü , then

Ø ´  Ò µÔØ ´ µ Ô . It follows that in the min-

1000 imization of equation (2), we do not need to consider any

´ µ ´ µ ÔØ ´ µ Ý edge of Ü such that contains any

Vx u v

10 vertex of Ü . Consequently, the minimization set of equa- Vy 10 10 tion (2) can be reduced as follows:

10 e 10 y ½

10 ¼

´  Ò µ·

x

 

´ µ·

´  Ò µ Ñ Ò

100

´ÙÚ µ¾ ´Î Î µ

Ü Ý

´  Ò µ

´ÙÚ µ

ÔØ ´ÚݵÎ  Ü Figure 5. Lemma 1 is false for directed graphs. (4)

To filter out edges that violate the condition on

ÔØ ´ µ ¾

Even after the shortest path trees and are com- , we label each vertex according to the

ÔØ ´ µ

puted, computing the - distance omitting each edge on lowest-indexed block of that passes through.

Ø ´ µ Ñ Ò ÐÓ ´ µ ÔØ ´ µ

Ô is still more complicated than in the undirected Define to be the smallest such that

Ñ Ò ÐÓ ´ µ

case. The chief difficulty is that Lemma 1 does not hold for contains a vertex of block  . That is,

Ñ Ò ÐÓ ´ µ

¾ÔØ ´Úݵ

directed graphs. Figure 5 shows an example in which vertex Û . See Figure 7. We can compute

Ò Ñ Ò ÐÓ ´ µ ´µ

belongs to the component of that contains , but the for all vertices in time by by a pre-

Ø ´ µ ´ µ

shortest path Ô contains the edge . Fortunately, it order traversal of starting from . For any edge ,

 ´µ Ñ Ò ´ ÐÓ ´µ Ñ Ò ÐÓ ´ µµ

turns out that we can finesse our way around the failure of Ñ Ò ÐÓ is just , and the

Lemma 1. As the following lemma shows, we do not need preorder traversal visits before .

´ µ ´ µ ¾ ÔØ ´ µ Ý

to minimize over all the edges in Ü in equation (2), For a directed edge , we define

´µ ÐÓ ´µ Ö Ø ´µ Ñ Ò ÐÓ ´ µ and the edges that we do need don’t violate Lemma 1. ÐØ and . With

6 tree computations (paper in preparation). The running time

B2 B3 B4 B5

µ y of our algorithm is an improvement by a factor of ª´ over x the previous best results, which date back to Lawler’s and v Yen’s algorithms of the early seventies [8, 25, 26]. Many interesting and challenging problems remain in the still nascent field of algorithmic mechanism design.

For instance, many applications in distributed comput-

 ´ µ Ñ Ò ÐÓ ´ µ¿ Figure 7. ÐÓ ,but . ing may require designing new mechanisms [12, 21, 24].

There are also many important problems in which comput-

´µ Ö Ø ´µ these definitions of ÐØ and , we ensure that ing Vickrey payments requires solving NP-complete prob-

lems [9, 16, 17]. In those cases, it would be interesting

belongs to the minimization set of equation (4) for  if and

´µ  Ö Ø ´µ

only if ÐØ , and we can apply the al- to use the techniques of approximation or randomization

´ µ ´ µ

gorithm of Section 4. The distances and are to design new polynomial-time mechanisms. The work of available from the shortest path trees and .Wehave Bikhchandani et al. [2] and Schummer and Vohra [18] also

established our main result: suggests a promising direction for further exploration.

Theorem 3 Given a directed network with edges and References

µ ´  Ò µ

a pair of vertices ´ , we can compute for

¾ ÔØ ´ µ ´ ÐÓ · µ each edge in total time plus [1] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Network the time to compute a shortest path tree in . Flows: Theory, Algorithms, and Applications. Pren- This theorem allows us to compute the Vickrey payments tice Hall, Englewood Cliffs, NJ, 1993. for all edges of a shortest path in a network, as given in [2] S. Bikhchandani, S. de Vries, R. Vohra, and J. Schum- equation (1), in the same asymptotic time as is needed to mer. Linear Programming and Vickrey Auctions. Pro- compute the shortest path itself. ceedingss of the IMA workshop on e-auctions and markets, 2001. 7. Concluding remarks [3] T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Intro- duction to Algorithms. MIT Press, Cambridge, MA, With the emergence of the Internet as a global plat- 1990. form for communication, computation, and commerce, there is an increased need to design efficient protocols [4] D. Eppstein. Finding the shortest paths. SIAM J. that motivate self-interested agents to cooperate. Example Computing, 28:652–673, 1998. applications include resource allocation in computational grids [24], market-based protocols for scheduling or task [5] R. J. Gibbens and F. P. Kelly. Resource pricing allocation [21, 23], and congestion control in the Inter- and the evolution of congestion control. Automatica, net [5, 6, 10, 19]. One of the most celebrated results in 35:1969–1985, 1999. the field of mechanism design is the Vickrey (or Vickrey- Clarke-Groves) protocol, which uses a payment scheme to [6] R. Karp, E. Koutsoupias, C. Papadimitriou, and motivate selfish agents to bid truthfully. S. Shenker. Optimization problems in congestion con- In this paper, we focused on the algorithmic aspect of trol. In Proc. 41st Annu. IEEE Sympos. Found. Com- computing the Vickrey payments in the context of shortest put. Sci., 2000. path routing in an internet, where multiple self-interested [7] V. King. A simpler minimum spanning tree verifica- agents own portions of the network. Na¨ıvely, computing

tion algorithm. Algorithmica, 18(2):263–270, 1997. payment functions for agents requires shortest path computations. Our main result shows that this computa- [8] E. L. Lawler. A procedure for computing the best tional overhead can be significantly reduced—the payments solutions to discrete optimization problemns and its are computable in the same asymptotic time as a single application to the shortest path problem. Management shortest path tree. Our algorithm is quite simple, and uses Science, 18, pp. 401–405, 1972. only some elementary properties of shortest paths. We believe our algorithm will have applications to other [9] D. Lehmann, L. O’Callaghan, and Y. Shoham. Truth graph problems as well. For example, we have recently used revelation in approximately efficient combinatorial

these ideas to compute the simple (loopless) shortest paths auctions. In Proc. ACM Conference on Electronic

in the same asymptotic time as single-source shortest path Commerce, 2000.

7 [10] J. K. MacKie-Mason and H. R. Varian. Pricing con- [23] W. E. Walsh, M. P. Wellman, P. R. Wurman, and J. K. gestible network resources. IEEE Journal of Selected MacKie-Mason. Auction protocols for decentralized Areas in Communications, 1995. scheduling. In Proc. 18th International Conference on Distributed Computing Systems, 1998. [11] A. Mas-Collel, W. Whinston, and J. Green. Microeco- nomic Theory. Oxford University Press, 1995. [24] R. Wolski, J. S. Plank, J. Brevik, and T. Bryan. G- commerce: Market formulations controlling resource [12] N. Nisan and A. Ronen. Algorithmic mechanism de- allocation on the computational grid. In IPDPS, 2001. sign. In Proc. 31st Annu. ACM Sympos. Theory Com-

[25] J. Y. Yen. Finding the shortest loopless paths in put., 1999. a network. Management Science, 17, pp. 712–716, [13] A. Odlyzko. A modest proposal for preventing 1971. Internet congestion. http://www.research.-

[26] J. Y. Yen. Another algorithm for finding the shortest att.com/˜amo/doc/modest.proposal.ps, loopless network paths. Proc. of 41st Mtg. Operations 1997. Research Society of America, 20, 1972. [14] J. Rosenschein and G. Zlotkin. Rules of Encounter: Designing Conventions for Automated Negotiations Among Computers. MIT Press, 1994.

[15] T. Sandholm. Distributed rational decision making. In Introduction to Multiagent Systems: A Modern In- troduction to Distributed Artificial Intelligence. MIT Press, 1999.

[16] T. Sandholm and S. Suri. Improved algorithm for op- timal winner determination in combinatorial auctions and generalizations. In AAAI 17th National Confer- ence on Artificial Intelligence, 2000.

[17] T. Sandholm, S. Suri, A. Gilpin, and D. Levine. CABOB: A Fast Optimal Algorithm for Combinato- rial Auctions. In IJCAI 17th International Joint Con- ference on Artificial Intelligence 2001.

[18] J. Schummer and R. Vohra. Auctions for Procuring Options. Northwestern University Technical Report, 2001.

[19] S. Shenker, D. Clark, D. Estrin, and S. Herzog. Pric- ing in computer networks: Reshaping the research agenda. Telecommunications Policy, pages 183–201, 1996.

[20] Y. Shoham and K. Tanaka. A dynamic theory of in- centives in multi-agent systems. In Intl. Joint Conf. on Artificial Intelligence, 1997.

[21] W. E. Walsh and M. P. Wellman. A market protocol for decentralized task allocation. In Proc. 3rd Interna- tional Conference on Multi-Agent Systems, 1998.

[22] R. E. Tarjan. Sensitivty analysis of minimum spanning trees and shortest path trees. IPL, 14 (1), pp. 30–33, 1982.

8