Download presentation
Presentation is loading. Please wait.
1
Economics and Computer Science Network Routing CS595, SB 213 Xiang-Yang Li Department of Computer Science Illinois Institute of Technology
2
Introduction Preliminaries and Related Works Unicast Multicast Anycast Broadcast Conclusion and future work Outline
3
Example: Routing need nodes to relay packets, but Nodes are battery powered Nodes are selfish (self-incentive) Lying can result disaster for system Example: TCP/IP congestion control Additive increase, Multiplicative decrease Terminals can deviate from this and benefit Why need truthful computing?
4
Game Theory Neoclassical economics Mathematics Other social and behavioral sciences (Psychology) Computer Science Game Theory History John von Neumann, Oskar Morgenstern (1944) “Theory of games and economics behavior” Prisoner's Dilemma (1950) John Nash: Non-cooperative game; Nash equilibrium (1951) Game Model Extensive (Sequential) Game– Chess Strategic (Simultaneous) Game ( ) Truthful via Game Theory
5
Algorithm Mechanism Design N players Private type t i Strategy from A i Mechanism Output O(a) Payment p(a) Player i Valuation: Utility: N wireless nodes Private cost c i Strategies: all possible costs Mechanism Output O(c): a structure Payment p(c) Node i Valuation: -c i if relays Utility: u i =p i -c i if relays
6
Algorithm Mechanism Design Truthful Mechanism Design Direct revelation: for every agent i. Incentive Compatibility: for every agent i, revealing its true type is a dominant strategy. Individual Rationality: Every agent must have non-negative utility if they reveal their true private input. Other Desirable Property Polynomial time complexity.
7
VCG Mechanism Who designed? Vickrey(1961); Groves(1973); Clarke(1971) What is VCG Mechanism? A VCG Mechanism is truthful.
8
Problems studied Unicast Truthful payment scheme (VCG scheme) Our contribution: Fast Computation Collusion Among nodes: Negative results Multicast VCG not applicable Several truthful mechanisms for structures: LCPS, VMST, PMST, Steiner Tree. Payment Computing
9
Unicast
10
8 6 7 7 9 5 1 7 Node v k costs c k to relay (private knowledge) Each node v k reports a cost d k Find the shortest path from node v 0 to node v 9 based on reported costs d Compute a payment p k for node v k based on d Objective: Find a payment p k (d) so node maximizes utility when d k =c k
11
Unicast Payment Scheme Remove node v k and all its incident edges, find the LCP in the new graph, say LCP(v i,v j,G\ v k ). The payment to v k is If v k is not on the LCP(v i,v j,G) then p k is 0; else its payment is the difference of second shortest path and shortest path plus its declared cost. Find the least cost path between node v i and v j, say LCP(v i,v j,G)
12
5 5 8 6 7 7 9 7 7 Total payment is 8+9+10 =27 instead of actual cost 18. Overpayment ratio: Payment Calculation
13
Payment calculation for one node Dijstra’s algorithm Time complexity O(n log n+m) Payment calculation for all nodes on the LCP Using Dijstra’s algorithm for every node Time complexity O(n 2 log n+nm) Worst Case could be O(n 3 ) Can we calculate it faster? Our Result: Payment calculation for all nodes on the LCP could be done in O(n log n+m) which is optimal. Fast Payment Calculation
14
1.First we calculate the Shortest Path Tree (SPT) rooted at v i and v 0 respectively and denote them as SPT(v i ) and SPT(v 0 ). The shortest path between v i and v 0 is. Let L(v k ) be the length of the shortest path from v k to v 0 and R(v k ) be the length of shortest path from v k to v i. 2.This step calculates a level (denoted as v k.level) for every node v k in graph G. 3.For every node v k not on the LCP(v_i,v_0,d), we find a avoiding shortest path between v k and vi where v_k.level=l. Let R -l (v k ) denote the length of this path. 4.For node v k with level greater than or equals l and each of its neighbors v j such that v j.level < l, we calculate L(v j ) +R -l ( v k )+c j +c k. Choose the neighbor v j with the minimum value and denote it as c -l (v k ). Among all nodes with label l, choose the one with the minimum c -l (v k ), denote it as c -l. c -l is the length of the second shortest path. 5.The payment to node as follow Fast Payment Computation Algorithm
15
Conclusion: is the length of shortest avoiding path. Algorithm Illustration
16
Incentive-Compatible Interdomain Routing Based on the article: “Incentive-Compatible Interdomain Routing” Joan Feigenbaum, Christos Papadimitriou, Rahul Sami, Scott Shenker
17
Preliminaries Data on the Internet has to be conveyed from many sources to many targets. Routing Routing - Conveyance of the data through the different routes. AS Domain AS = Autonomous System = A Sub- network that serves as a mid-point for the conveyance routes. A.K.A Domain.
18
Our Goal To convey all data on the Internet in the most efficient way. Problem: To know the most efficient way, we must know the true efficiencies of the AS’s. But every AS has an owner, and the owners are human!
19
Definitions Traffic Traffic - Quantity of packets that are transmitted throughout the network. Cost Cost - For every AS, it is the additional load imposed on its internal network by carrying traffic. Transit Traffic Transit Traffic - For every AS, it is the traffic which neither originates nor is destined to that AS. Price Price - A compensation which is paid for every AS for carrying transit traffic. LCP LCP = Lowest-Cost Path (between any two AS’s).
20
Our Goal - More Formally To convey all data on the network s.t. the total costs are minimized. High efficiency = Low total costs Problem: To do that, we must know the true costs of the AS’s. But every AS might be lying about its costs!
21
Model - General Assumptions (I) AS’s are unitary strategic agents. There is no centralized authority that controls the network, whom the AS’s can trust. There exists a protocol that, given a set of AS costs, can compute all LCPs.
22
Model - General Assumptions (II) Cost per-packet is constant. BGP (Border Gateway Protocol) is a suitable protocol that finds and uses LCPs. In reality, BGP doesn’t find LCPs, but shortest paths (in terms of number of hops). In reality, BGP doesn’t always use LCPs, but also employs routing by policy and transit restrictions.
23
Our Goal - According to Model Devise a pricing scheme for the AS’s s.t. they would have no incentive to lie about their transit costs. Must be strategy-proof. Additional Requirement: The pricing scheme would give no payments to AS’s that carry no transit traffic. Provide a distributed algorithm for the AS’s that is “BGP-friendly”, to compute the above prices.
24
Part I: Pricing Scheme
25
N n N - set of nodes (AS’s) on the network. n = |N| L L - set of links between nodes of N. G G - the AS graph (N - vertices, L - edges). T ij T ij - For any two nodes i, j N, it is the intensity of traffic (number of packets) originating from i destined to j. c k c -k c k - the transit cost of node k for each transit packet it carries. c -k = (c 1,..., c k-1, c k+1,..., c n ) p k p k - the payment which will be given to node k to compensate it for carrying transit traffic. Definitions
26
Between every two nodes there is at most one link. Allows us to represent network as graph G. Every link is bi-directional. Allows G to be undirected. G is 2-connected. The transit cost of a node k is the same for all neighbors of k from which the traffic arrives. Allows us to define c k. Specific Assumptions
27
I k (c;i,j) I k (c;i,j) - Indicator function for the LCP from i to j. I k (c;i,j) = 1 if node k is an intermediate node on the LCP from i to j. I k (c;i,j) = 0 otherwise. Note: I i (c;i,j) = I j (c;i,j) = 0. V(c) V(c) - Total cost of routing all packets on LCPs. More Definitions
28
Minimize V(c). Problem: If nodes report false costs, BGP might end up computing different (false) LCPs. Let c * be the reported cost vector. Then, by definition of I k : Formulation of Goal
29
Purpose: Minimize V(c) (objective function) by making nodes reveal true costs. Input: c is vector of reported costs, or strategies. The strategy c k of node k is the cost that it reports. Output: Set of LCPs and prices. For any given vector c we require: Mechanism Design Problem k’s revenues k’s profits k’s costs
30
Theorem: When routing picks lowest-cost paths and the network is 2-connected, there is a unique strategy-proof pricing mechanism that gives no payment to nodes that carry no transit traffic. The payments are of the form : Mechanism Design Solution k’s costs per packet from i to j cost of all nodes per packet from i to j if k didn’t exist cost of all nodes per packet from i to j when k exists welfare that world receives from k’s existence per packet from i to j
31
Let u k (c) denote the total costs incurred by a node for the cost vector c. Proof of Theorem (I) We have already seen that (I k (c;i,j)) k N minimizes V(c). We can build a VCG mechanism!
32
Proof of Theorem (II) known fact - payments must be expressible as:
33
Proof of Theorem (III)
34
Payments are a sum of per-packet payments that don’t depend on the traffic matrix. Payments are zero if LCP between i and j doesn’t traverse k. Therefore, payments can be computed at k by counting the packets as they enter k (after pricing has been determined). Costs do not depend on the source and destination of packets, but prices do. Payment to node k for a packet from i to j is determined by the cost of the LCP and the cost of the lowest-cost path that doesn’t pass through k. Notes on Pricing
35
Part II: Distributed Algorithm (for computing prices)
36
d d - Diameter of network, i.e. the maximum number of AS’s in an LCP (not the diameter of G). Every node i stores, for each AS j, the LCP from i to j (vector of AS ID’s). Each LCP is also described by its total transit cost (sum of costs of transit nodes). Every node stores O(nd) AS numbers and O(n) path costs. Routing Table Routing Table - the above information stored in node i. Substrate - BGP (I)
37
“BGP” Algorithm: for each node i (concurrently) { while (1) { Receive routing tables from all neighbors that have sent them; Compute own routing table; if (change detected) { Send routing tables to all neighbors; } } } Stage Stage - every while iteration. For every node i, a change can occur because: A neighbor’s routing table has changed. A link of i was added or removed. Substrate - BGP (II)
38
Same assumptions as before. G is an undirected, 2-connected graph. Router table contains total costs of LCPs. All nodes compute and exchange tables concurrently. Frequency of communication is limited by need for keeping network traffic low. Local computation is not a bottleneck. When there is more than one LCP to choose from, BGP makes the choice in a loop-free manner. Explained below. Static environment - no changes in links. BGP - Specific Assumptions
39
Storage requirement on each node - O(nd) (size of router table). Number of operations complexity - Measured by number of stages required for convergence and total communication. Computation of all LCPs within d stages. Each stage involves O(nd) communication on any link (size of router table). For node i, total communication in a single stage is O(nd * degree(i)). BGP - Performance
40
BGP builds the LCPs in a manner that satisfies the following: For every node j, the sub-graph of G containing all the LCPs from j to other nodes in G, is a tree. Contrary example: Loop-Free BGP j k i 5 5 2
41
Input: cost vector c where c i is known only to node i. Output: set of prices, with node i knowing all the values. Substrate: BGP, receiving as distributed input, and giving LCPs as distributed output. Complexity: Around O(nd) storage requirements on each node, around d stages of communication, around O(nd * degree(i)) data communicated by node i in each stage. Goal - Computation Algorithm
42
P(c;i,j) P(c;i,j) - LCP from i to j for the vector of declared costs c (the inner nodes). c(i,j) c(i,j) - The cost of the above path. k-avoiding path k-avoiding path - Any path that doesn’t pass through k. P -k (c;i,j) P -k (c;i,j) - The lowest-cost k-avoiding path from i to j. T(j) T(j) - The tree of all LCPs for node j. Yet More Definitions
43
Question: For kP(c;i,j), given that i and a are neighbors in G and given, what is ? Reminder: Case I: a is i’s parent in T(j), a isn’t k. Upper Bounds for Prices (I) j a k i
44
Question: For kP(c;i,j), given that i and a are neighbors in G and given, what is ? Reminder: Case II: a is i’s child in T(j). Upper Bounds for Prices (II) j i k a
45
Question: For kP(c;i,j), given that i and a are neighbors in G and given, what is ? Reminder: Case III: a isn’t adjacent to i in T(j), and k is on P(c;a,j). Upper Bounds for Prices (III) j a k i d
46
Question: For kP(c;i,j), given that i and a are neighbors in G and given, what is ? Reminder: Case IV: a isn’t adjacent to i in T(j), and k isn’t on P(c;a,j). Upper Bounds for Prices (IV) j a d i k
47
Question: For kP(c;i,j), given that i and a are neighbors in G and given, what is ? Other Cases: a is i’s parent in T(j), a = k. a is i’s descendant in T(j), but not its child. a is i’s ancestor in T(j), but not its parent. In all the above cases, P -k (c;i,j) will not be (a, P -k (c;a,j)). Upper Bounds for Prices (V)
48
b b - The neighbor of i on P -k (c;i,j). Lemma: For b, the previous four inequalities attain equality. Case I: Case II: Case III: Case IV: Exact Prices (I)
49
Proof: b falls into one of the four cases. From definition of P -k (c;i,j), there is no undercutting shorter k-avoiding path (no other “blue” path). Consequence: From the inequalities of cases (I) - (IV) and from the Lemma, we can deduce that: is exactly equal to the minimum, over all neighbors a of i, of the right-hand side of the corresponding inequality !!! Exact Prices (II)
50
Data: In each node i, for each destination node j: LCP from i to j (after running BGP), i.e.: P(c;i,j) = (i = v k, v k-1, …, v 0 = j) Array of prices in LCP, i.e.: Cost of LCP, i.e. c(i,j). Assumptions: Same assumptions as before for BGP. Each node i knows for each destination node j and each neighbor a, whether a is its parent, child or neither in T(j). Price Computation Algorithm (I)
51
Run BGP(); for each node i (concurrently) { for each destination node j { Set all entries in array P(c;i,j) to ; Set entries in array P(c;i,j) to 0; } Send all arrays P(c;i,j) to neighbors; } Initialization: Price Computation Algorithm (II)
52
while (1) { for each destination node j { if (received array P(c;a,j) from neighbor a) { if (a is i’s parent in T(j)) else if (a is i’s child in T(j)) else { v t =nearest common ancestor of i and a; } if (array P(c;i,j) changed) Send array P(c;i,j) to neighbors; } }} Case ICase IICase IIICase IV Price Computation Algorithm (III)
53
Inductively, according to inequalities of cases (I) - (IV), the value of is never too low. For every node s on P -k (c;i,j), the suffix of P -k (c;i,j) from s to j is either P(c;s,j) or P -k (c;s,j). Therefore, inductively, after m stages there will be m nodes on P -k (c;i,j) with a correct per-packet price value. j s k i j s k i Correctness of Algorithm
54
d’ d’ - Main part of algorithm requires O(d’) stages. After computing, there still remains to compute the total prices. For every packet from i to j, every node k on P(c;i,j) counts the number of packets and multiplies by. This is later sent to an accounting mechanism. Requires O(n) additional storage in each node. Performance of Algorithm (I)
55
Theorem (proven): Our algorithm computes the VCG prices correctly, uses storage of size O(nd), converges in at most (d+d’) stages, and communicates for node i O(nd*i) data in each stage. Compare to original BGP - O(nd) storage, d stages, communication for node i of O(nd*i) data in each stage. In the worst case, d’/d = (n). Tested on a snapshot of more than half the real internet: n = 5773, d = 8, d’ = 11. Performance of Algorithm (II)
56
A lot of assumptions in the model. But a good starting point. Mixing theoretical and real information. Payment for AS’s - theoretical. Structure of Internet - real. More than one way to tell a lie. A Pinch of Criticism
57
Incentive - efficiency of data transfer on network (Internet). Strategy-proof pricing scheme to make AS’s reveal true costs. Distributed algorithm for calculation of price, using BGP. More room for development. Summary
58
Frugal Path Mechanisms by Aaron Archer and Eva Tardos
59
The Model 5 3 7 1 1 1 22 Each edge is controlled by a selfish agent. The cost of the edge is known only to him. The utility of agent i is (his payment minus the cost he incurred) Problem: How to find a low-cost s-t path ? st
60
Possible Solution: VCG In VCG: Each edge declares some cost. The shortest path according to the declared costs is chosen The payment to edge e in the chosen path: (the cost of the shortest path in the graph without e) minus (the cost of the chosen path without counting e) VCG is truthful (you will be convinced later on). Problem: The total payment increases when the chosen path has more edges. When C1, C2 are the 1st, 2nd lowest costs, and the length of the shortest path is k, then:
61
Main Question: Is there a truthful mechanism that pays less ??
62
Threshold-based Mechanisms For all truthful mechanisms that pay 0 to “loosing” edges: Observation: If edge e “wins” when bidding b e, it must also win with a lower bid b’ e < b e Conclusion 1: There is a threshold bid T e : edge e wins with lower bids and looses with higher bids. Conclusion 2: The payment to edge e must be exactly T e, its threshold bid. Theorem:Any mechanism for the path selection problem is truthful if and only if it is a Threshold-based Mechanism. For example, VCG is Threshold-based (thus it is truthful).
63
Min-Function Mechanisms Definition: A mechanism is called a Min-Function Mechanism if it defines, for every s-t path P, a (positive real valued) function f P of the vector of bids b P, such that: f P is monotonically strictly increasing, and continuous. The mechanism always selects the path P with the lowest value f P (b P ). Notice that: A Min-Function Mechanism is Threshold-based (and thus truthful). VCG (for the path selection problem) is a min function mechanism.
64
Min-Function Mechanisms: Costly Example Take any Min-Function mechanism, and any graph with two node-disjoint s-t paths (P & Q). The following scenario is costly: Define, a vector of bids of the edges in path P : each edge declares L/|P|, except the i’th edge, who declares w.l.o.g : Then, if P bids and Q bids then P wins. In this case, the cost of P is L, and the cost of Q is L(1+d). Let us calculate the total payment in this case: Each edge gets paid its threshold bid,. If an edge in P raises its bid by less than, P will still win. So,, and the total payment is ( e.g. for d=1 the payment is (|P|+1)L )
65
Conclusion: All min-function mechanisms suffer from the same drawback of the VCG mechanism we have seen. What remains to show: “In many cases”, all truthful mechanisms are min-function mechanisms.
66
Reasonable Mechanism Properties 1. Edge Autonomy: For any edge e, given the bids of the other edges, e has a high enough bid that will ensure that no path using e will not win. (We say that e bids infinity) 2. Path Autonomy: Given the bids of all edges outside P, there is a bid b P such that P will be chosen. 3. Independence: If path P wins, and an edge e not in P raises its bid, then P will still win. Definition: If path P wins, and there is an edge e such that any (small) change in e’s bid causes another path Q to win, then P and Q are tied. 4. Sensitivity: If P wins and Q is tied with P, then increasing the bid of any, or decreasing the bid of any, will cause P to lose.
67
Comparing Bids Definition: Suppose path P bids b P, path Q bids b Q, and all other edges bid infinity. If P wins, then we write If either then they are comparable. Lemma: Suppose path Q is node-disjoint from paths P and L. Proof: Suppose P bids b P, Q bids b Q, L bids b L,and all other edges bid infinity. Who wins? If Q, then after raising to infinity the bids of L\P, Q still wins (by independence), contradicting (The same for L) Since only P,Q, and L might win, then P wins. P still wins after raising to infinity the bids of Q.
68
The edge (s,t) is in G Theorem: If G contains the edge (s,t) then any truthful mechanism satisfying the above properties is a min function mechanism. Proof: Let R be the edge (s,t). Define the functions: Choose some P and raise all bids besides P and R to infinity. Notice that now, f P (b P ) is exactly R’s threshold bid. Therefore, R wins if f R (b R ) is minimal, and looses if not. For any P,Q (besides R), if f P (b P ) < f Q (b Q ) then Q will not win: choose some c, f P (b P ) < c < f Q (b Q ), so :
69
(proof continued) Claim: f P () is strictly increasing. Fix some P, e in P, and some bid b P. If R bids f P (b P ) then R and P are tied. Thus any decrease in e’s bid causes P to win (by sensitivity). Consider a new bid b’ P, in which e decreases its bid by d. We need to show that f P (b’ P ) < f P (b P ). But if f P (b’ P ) = f P (b P ) = b R then R and P are tied again. Thus increasing e’s bid by d/2 will cause P to lose - contradiction. Claim: f P () is continuous. Otherwise let (b P-e,b e ) be a discontinuity point for f P (), jumping from x to y. Suppose R bids (x+y)/2. Thus R and P are tied. If R wins then small increase in R’s bid makes P the winner - contradiction. (the same if P wins).
70
Three s-t connected components Theorem: If G contains an s-t connected component and two other s-t paths (disjoint from the rest), then any truthful mechanism satisfying the above properties is a min function mechanism. Proof: Let R,S be the two separate s-t paths. Define: By defining we can show that is strictly increasing and continuous, similar to before. For other bids of R, we define:
71
(proof continued) Claim: Case 1: Neither P nor Q is R Take c, f P (b P ) < c < f Q (b Q ) and so Case 2a: Q = R and P is not S Take b S such that f P (b P ) < f S (b S ) < f R (b R ) and By case 1, and the claim follows. [ for case 2b, P = R and Q is not S, the proof is similar ] Case 3a: P = S and Q = R Choose some other path L. By autonomy and continuity of f L () there is a bid b L such that f S (b S ) < f L (b L ) < f R (b R ). By case 1 and by case 2, as needed. [ for case 3b, P = R and Q = S, the proof is similar ]
72
Conclusion: Any truthful mechanism on a graph that contains either an s-t edge or three edge-disjoint s-t paths, and that satisfies the desired properties, can be forced to pay times the cost of the winning path, where k is the length of the winning path. Remark: There is a graph with two disjoint s-t paths and a truthful mechanism for this graph, that is not a min function mechanism. (the next slides, if time permits)
73
Two s-t disjoint paths The following mechanism is a counter example: Given bids b P =(x 1,x 2 ) and b Q =(y 1,y 2 ), draw a line in the x 1 -x 2 plane, with x 1 -intercept: y 1 +(y 2 / 2), and x 2 -intercept: y 2 +(y 1 / 2). If b P is strictly above the line, Q wins, otherwise P wins. Verify: all four bidders have threshold values. Autonomy, independence and sensitivity hold. x1x1 x2x2 y1y1 y2y2 st P Q
74
To see that this mechanism is not min-function: Take two Q bids: b 1 Q =(2,1 ), b 2 Q =(1,2 ) The dashed/solid line is P’s threshold if Q bids b 1 Q / b 2 Q From the diagram: and they aren’t tied If the mechanism were a min function, we would have: f P (b 1 P ) < f Q (b 1 Q ) < f P (b 2 P ) < f Q (b 2 Q ) < f P (b 1 P ) - a contradiction Two s-t disjoint paths (continue)
75
Multicast
76
Problem Statement: A graph, a cost vector for all nodes, k receiving nodes R. Find a spanning tree to minimize NP hard without only ln n approximation. VCG does not apply How to design truthful mechanisms? Multicasting
77
Least Cost Path Star (LCPS) Based Pruning Minimum Spanning Tree Based Virtual Minimum Spanning Tree Based Steiner Tree Based Define Truthful Payment Schemes for these methods Receivers relay for free Network is bi-connected (avoid monopoly) Commonly Used Structures
78
Structure Calculate all shortest paths from source node to receivers Combine these shortest paths The structure is a tree called Least Cost Path Star (LCPS) Payment Scheme Calculate the payment for node v k based on every LCP containing v k Choosing the maximum of these payments as the final payment 3 4 7 3 9 2 1 LCPS Based Method
79
Structure Build MST Prune MST Payment Scheme: Payment based on MST A selected link e 3 5 4 7 3 3 1 6 3 6 3 1 5 4 2 6 Pruning MST Based Method
80
Virtual MST algorithm Construct the virtual complete graph K(G) Nodes are receivers, plus source node Edges are LCP between two end-points Find the MST on K(G), say V MST(G) Build LCPS at source node using all nodes in VMST(G), say LCPS-VMST(G) Property VMST is 5-Approximation of the optimal cost under UDG network model Virtual MST Based Method
81
3 7 5 9 2 1 4 Construction of LCPS-VMST(G) 3 4 7 5 9 2 1 4 7 8 5 2 5 Algorithm Illustration Virtual MST
82
Payment Illustration 4 2 3 7 5 9 1 4 7 8 5 2 5 VMST(G) 8 7 8 5 2 5 VMST(G\v 1 )
83
Payment Is Truthful! Individual Rationality (IR): non-negative utility Incentive Compatibility (IC) A node lies up its cost to Originally it is a relay node Originally it is not a relay node A nodes lies down its cost to Originally it is a relay node Originally it is not a relay node
84
Individual Rationality Observation 1: If C is a cycle of graph G, and e is the longest edge in this cycle, then e is not in MST. C In cycle C, the edge with maximum length is not. has the maximum length in C.
85
Lemma From Lemma 3 and Lemma 4, we focus our attention on the payment of where The bridge with the smallest length between and is. Two Cases: ? Incentive Compatibility
86
Payment Optimality Our payment scheme is optimal regarding every individual payment among all truthful payment scheme based on LCPS- RMST structure
87
Steiner Tree Based Method General Edge weighted Steiner Tree NP-Hard, constant approximation algorithms exist The existence of the truthful payment How to design the truthful payment based on approximation algorithms General Node weighted Steiner Tree NP-Hard, best approximation algorithm O(ln k) The existence of the truthful payment How to design the truthful payment based on the approximation algorithm
88
Link Weighted Graphs Find good multicast tree 2 3 4 34 5 2 4 3 4 42 3 2 2 4 4 3 3
89
Strategyproof Payment Round based method A node is in round r if its cost is in a range 0
90
Strategyproof Payment The payment The overall payment It is strategyproof!
91
Node Weighted Graphs Find good multicast tree Find a spider connecting some receivers Contract them Repeat until all receivers are connected 8 6 7 9 4 4
92
Spiders Best Spider– approximation ln k 8 6 7 9 4 4 8 6 7 9 4 4 8 6 7 9 4 4
93
Strategyproof Payment Round based method A node is in round r if its cost is in a range In each round, it is in a spider of t terminals if its cost is in 0
94
Strategyproof Payment The payment The overall payment It is strategyproof!
95
Simulation Setting nodes randomly distributed in a 2000m x 2000m region 100 random instances Metrics of the overpayment Total Overpayment Ratio (TOR): Individual Overpayment Ratio (IOR): Worst Overpayment Ratio: Overpayment: Experiments
96
Fixed transmission range Transmission range 300m Power for to forward a packet to is Random transmission range Power for to forward a packet to is randomly take value from 300 to 500 randomly take value from 10 to 50 Reflect the power cost of 2Mbps wireless network Overpayment Simulation, cont.
97
Fixed Transmission Range
98
Randomized Transmission Range
99
Anycast
100
K-Anycast 8 6 7 9 4 4 8 6 7 9 4 4
101
Broadcast 8 6 7 9 4 4 8 6 7 9 4 4 5 3 55 3 5
102
Summarize Truthful computing Credit based Incentive based (mechanism design, VCG) Unicast (fast and distributed computing) Multicast (approximation and truthful scheme) Anycast Broadcast
103
Other methods
104
Methods “Watchdog” and “Pathrater” Nuglet counter Drawbacks Heuristic Special hardware Credit Based Method
105
General 0/1 Problems Settings Each agent is either selected or not Each agent has a private cost (or type) Find some agents so some objective function is optimized NP-hard for most questions Approximation methods exist already for many questions To Do Whether does a method support a truthful mechanism? How to define and calculate the payment?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.