price of anarchy, and strategyproof network protocol design
DESCRIPTION
Price of Anarchy, and Strategyproof Network Protocol Design. Xiang-Yang Li Department of Computer Science Illinois Institute of Technology Collaborated with: Weizhao Wang, Zheng Sun. Traditional Algorithms, Protocols. Efficiency Time, space, communication efficiency Assumption - PowerPoint PPT PresentationTRANSCRIPT
Price of Anarchy, and Strategyproof Network Protocol Design
Xiang-Yang Li
Department of Computer Science Illinois Institute of Technology
Collaborated with: Weizhao Wang, Zheng Sun
Traditional Algorithms, Protocols
Efficiency Time, space, communication efficiency
Assumption Participants act as instructed
Not always true Faulty ones Fault-tolerant computing Malicious ones Security, and Trusted
computing Selfish ones Strategyproof
computing
Preliminaries and Related WorksNon-cooperative games
Price of AnarchyStrategyproof mechanisms for routing
UnicastMulticast
Cooperative gamesCost and payment sharing
Conclusion and future work
Outline
Example: wireless network routing, need nodes to relay packets, but Nodes are battery powered Nodes are selfish (self-incentive) Denying/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?
How to deal with selfish nodes?
Reputation based methods Routing through nodes with good reputation Nodes are rated by peers
Pay each node its declared cost Node will manipulate its declared “cost” to
increase its profit May reach a stable point: no node will unilaterally
change its declared cost---Nash Pay each node some payment
Node maximizes its profit when it reports cost truthfully
So relieve nodes from manipulating declared cost
Models
Non-cooperative games Extensive (Sequential) Game– Chess Strategic (Simultaneous) Game () – Scissor-paper-
stone Topics to discuss
Price of anarchy Strategyproof mechanism design (assume no collusion)
Cooperative games Transferable payoffs (side payments) Non-transferable payoffss Topics to discuss
Sharing the cost of providing service Sharing the payments to selfish service providers
Non-cooperative Games
Strategic Game
It composes of A set of n players (or called agents) For each player, a set of strategies For each player, a payoff function that gives
payoff to him based on n actions chosen by n players
Selfish player Chooses best action to maximize its payoff,
given others’ actions Not necessarily the “best” if cooperate
Example: Prisoners Dilemma
1 2
cooperate defect
cooperate (R,R) (S,T)
defect (T,S) (P,P)Both players view: T>R > P>Se.g., T=10, R=8, P=4, S=1Nash equilibrium (defect,defect) (p,p)Global optimum (R,R) if 2R>T+S
Price of anarchy
What if we let the selfish agents play out with each other? Stable point (Nash equilibrium): no agent can
unilaterally switch its strategy to improve its payoff
Not always exist Conjecture: NP-hard to find one
The performance at stable point Worst ratio of this over the optimum if cooperated ---
price of anarchy E.g., price of anarchy of prisoner’s dilemma is R/P Price of anarchy of a protocol could be large (as routing)
Algorithm Mechanism Design
Instead of letting players play out, design incentives to influence the actions Knows what selfish players will do
under incentives The system performance is ensured
Typical incentives Monetary values Differentiated services, and so on
Algorithm Mechanism Design
N players Private type ti
Strategy from Ai
Mechanism M=(O,P) Output O(a) Payment p(a)
Player i Valuation: Utility:
),( ii tov
),( iiii tovpu iii cov
N wireless nodes Private cost ci
Strategies: all possible costs
Mechanism Output O(c): a path Payment p(c)
Node i Valuation: Utility: iiii copu
Unicast game
Algorithm Mechanism Design
Truthful (Strategyproof) Mechanism Design Incentive Compatibility: for every agent i,
revealing its true type is a best strategy regardless of whatever others do (dominant strategy).
Individual Rationality: Every agent must have non-negative utility if reveals its true private input.
Other Desirable Property Polynomial time complexity
Output Payment
Example: Network Protocols
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, and sharing
Unicast
0v
9v
4v
1v 8
7v
2v
6v5v
8v
6 7
795
1 7
3v
Node vk costs ck to relay (private knowledge)
Each node vk reports a cost dk
Find the shortest path from node v0 to node v9 based on reported costs d
Compute a payment pk for node vk based on d
Objective: Find a payment pk(d) so node maximizes utility when dk =ck
Strategyproof Unicast Scheme
Output Least cost path from s to t, by LCP(s, t, G)
Payment to a relay node vk Remove it and its incident links Compute the shortest path from s to t The payment to vk is
Otherwise the payment is 0
),,()\,,( GtsLCPvGtsLCPdp kkk
Unicast Mechanism
A VCG mechanism Output maximizes the total valuations Payment is VCG family
Distributed Computing By Feigenbaum, Papadimitriou, Sami,
Shenker But still lots to be solved
It is the selfish agents who do the computing!
VCG Mechanism
Who designed? Vickrey(1961); Groves(1973);
Clarke(1971) What is VCG Mechanism?
A VCG Mechanism is truthful.
)),((maxarg)(1
n
i
iio otvto
)())(,()( ii
ij
jji thtotvtp
54v 5
18756),,( 74190 cccGvvLCP
21777)\,,( 863490 cccvGvvLCP
),,()\,,( 9049044 GvvLCPvGvvLCPcp 0v
9v
1v 8
7v
2v
6v5v
8v
6 7
79
7 7
3v
8182154 p
91 p 107 p
Total payment is 8+9+10 =27 instead of actual cost 18.
Overpayment ratio: %15018
27
741
741 ccc
ppp
Unicast Payment Calculation
Overpayment- Frugality Ratio
VCG mechanism Overpayment could be arbitrarily large
LCP+ k (LCP2-LCP), k is hop of LCP
Any truthful mechanism for unicast Overpayment could be arbitrarily large
LCP+ min(k1,k2) (LCP2-LCP)/2, k1 is hop of LCP, k2 is hop of LCP2
Proved by Elkind et al, 2004
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(n2 log n+nm)
We can 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
Problem Statement: A graph , a cost vector
for all nodes or links, k receiving nodes R.
The cost is private value Find a spanning tree to minimize
),( ENG c
)()( xcTC Tx
Multicasting
0q
34 7
5
9 2
3q
1q
1v
5v
2v
2q4v
6v
3v
1
Fundamental differences
For unicast LCP (max total valuations) can be found efficiently
For multicast NP hard to find min-cost tree (max total valuations) with only ln n approximation for node weighted
graph and O(1) for link weighted graph. This difference leads to
VCG does not apply for multicast How to design truthful mechanisms?
Generally, replacing optimum with approximation leads to non-truthfulness (Nisan, Ronen)
Challenges
Given a method A constructing a multicast structure, can we design a strategyproof mechanism M=(A,P) using it as output? Necessary and sufficient conditions If exists, how to? Efficient computing of payment Fair sharing of payment
Necessary and Sufficient Conditions
A multicast method implies a strategyproof mechanism iff It is monotone: still selects a relay node if
it has a less cost Monotone structures
Least Cost Path Tree (LCPT) Based Virtual Minimum Spanning Tree Based Steiner Tree Based
Strategyproof Payment Scheme
Define Truthful Payment Schemes Network is bi-connected (avoid monopoly)
Payment to a relay node Fix others’ costs, the maximum cost it could
declare while still in the structure
selectedkp
Not selected
cost
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
kckc
kckc
Payment Optimality
The payment scheme is optimal regarding every individual payment among all truthful payment scheme based on
this structure
Computing Payment
Threshold defines a payment Question left: how to find the
threshold efficiently? Illustrate for structure
Least Cost Path Tree (LCPT) Based
Structure (node or link or both) Calculate all shortest paths from source
node to receivers Combine these shortest paths The structure is a tree called Least Cost
Path Tree (LCPT) Payment Scheme
Calculate the payment for node vk based on every LCP containing vk
Choosing the maximum of these payments as the final payment
0q
34 7
3
9 2
2q
1q
1v
5v
2v
3q4v
6v
3v
1
6693202 qqp 467330
2 qqp
6),max( 2020222 qqqq ppp
7v
LCPT Based Method
Other Structures
Virtual Minimum Spanning tree 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 VMST(G) All agents on VMST(G) are selected
General link weighted Steiner Tree NP-Hard, constant approximation methods exist Efficient computing of payments
General Node weighted Steiner Tree NP-Hard, best approximation ratio O(ln k) Efficient computing of payments
See our MobiCom 2004 paper for more details
Cooperative Games
What is cooperative game
A set of agents N perform some task together and get a value v(N) how to share the value among them The sharing should be fair! Does share encourage cooperation?
More member, larger shared value
Example: Cost Sharing
Given a set of players N The cost of C(S) for every is known The cost is cohesive: C(S+T)<= C(S)+C(T)
Cost allocation Share the cost among players
Budget balance Be fair– core:
Cost sharing scheme Share the cost C(S) for every S:
Cross-monotone
)(Ni
NS
)()(1
NcNn
i i
)()( ScNSi i
)(Si
TSTS ii ),()(
Multicast Cost Sharing(fixed tree)
Given a structure for multicast The cost of each relay agent is known A fixed tree from the source to all receivers
Share the cost among receivers Budget balance Be fair– core Cross-monotone
Methods: Shapley Value
)(Si 0q
34 7
3
9 2
2q
1q
1v
5v
2v
3q4v
6v
3v
17v
Shapley Value
Equally share for downstream receivers 0q
34 7
3
9 2
2q
1q
1v
5v
2v
3q4v
6v
3v
17v
4 3
3/2+3/2=3
Multicast Cost Sharing-Valuation
Given a structure for multicast The cost of each relay agent is known A fixed tree from the source to all receivers
Share the cost among receivers Budget balance Be fair– core Cross-monotone Each receiver has a valuation , and
participates only if So need select subset of receivers
)(Si
iv)(Sv ii
With valuation
0q
34 7
3
9 2
2q
1q
1v
5v
2v
3q4v
6v
3v
17v
5
2
5
2q
0q
34 7
3
9 2
1q
1v
5v
2v
3q4v
6v
3v
17v
4 5
2
5
4
3
3
0q
34 7
3
9 2
2q
1q
1v
5v
2v
3q4v
6v
3v
17v
4 5
2
5
6
Cost Sharing (no fixed tree)
All receivers must get the data Find an efficient tree Share the cost of tree among receivers fairly?
Various concepts of fair: core, bargaining set, etc
-Core: -Budget balance “fair”
Tight bound No allocation can recover more than fraction of
optimum cost Conjecture: Exist an allocation can recover fraction
of cost
)()(1
NCxNCn
i i
)(SOPTxSi i
nln
1
nln
1
Cost Sharing (no fixed tree)
Cross monotonic -Core: -Budget balance “fair” Cross monotone
Tight bound No allocation can recover more than
fraction of optimum cost of Shapley value on LCPT can recover
fraction of cost and also the actual cost!
)()(1
NCxNCn
i i
)(SOPTxSi i
n
1
n
1
n
1
Sharing Payment
Since the relay agents may be selfish, we need share the payments to relay agents among receivers
Need to be fair and encourage cooperation No free rider: sharing is at least some factor of
the payment needed if it acts alone Cross-monotonic: more population, less sharing No negative transfer Budget balance
Sharing payment: LCPT payment
Mechanism using LCPT as output
86 7
9
4 4
0q
3q
1q
1v
5v
2v
2q4v
6v
3v 1415
5
147/2+(15-8)=11.5
7/2+5=8.5
1p
3p
31p
2p2
12 pp
23 pp
5410115
3v
qp
7610111
3v
qp
1566151
1v
qp
Properties
No negative transfer Budget balance Cross-monotonic No-free rider Dummy:
sharing is its cost if marginal payment = payment of unicast
Symmetry: shared payments are same if two are
interchangeable
Summary
Computing in selfish environment Non-Cooperative Games
Price of anarchy Strategyproof mechanism
Cooperative Games Cost sharing Payment sharing
How to share the payment for other structures
Questions and Comments
Game Theory, studied in 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)
Selfish via Game Theory