Top Banner
Economics and Computer Science Network Routing CS595, SB 213 Xiang-Yang Li Department of Computer Science Illinois Institute of Technology
105

Economics and Computer Science Network Routing

Jan 13, 2016

Download

Documents

marilu alfaro

Economics and Computer Science Network Routing. CS595, SB 213 Xiang-Yang Li Department of Computer Science Illinois Institute of Technology. Outline. Introduction Preliminaries and Related Works Unicast Multicast Anycast Broadcast Conclusion and future work. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Economics and Computer Science Network Routing

Economics and Computer ScienceNetwork Routing

CS595, SB 213

Xiang-Yang Li Department of Computer Science

Illinois Institute of Technology

Page 2: Economics and Computer Science Network Routing

IntroductionPreliminaries and Related WorksUnicastMulticastAnycastBroadcastConclusion and future work

Outline

Page 3: Economics and Computer Science Network Routing

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?

Page 4: Economics and Computer Science Network Routing

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

Page 5: Economics and Computer Science Network Routing

Algorithm Mechanism Design

N players Private type ti

Strategy from Ai

Mechanism Output O(a) Payment p(a)

Player i Valuation: Utility:

N wireless nodes Private cost ci

Strategies: all possible costs

Mechanism Output O(c): a structure Payment p(c)

Node i Valuation: -ci

if relays

Utility: ui=pi-ci if relays

),( ii tov),( iiii tovpu

Page 6: Economics and Computer Science Network Routing

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.

ii TA

it

Page 7: Economics and Computer Science Network Routing

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

Page 8: Economics and Computer Science Network Routing

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

Page 9: Economics and Computer Science Network Routing

Unicast

Page 10: Economics and Computer Science Network Routing

Unicast

0v

9v

4v

1v8

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

Page 11: Economics and Computer Science Network Routing

Unicast Payment Scheme

Remove node vk and all its incident edges, find the LCP in the new graph, say LCP(vi ,vj ,G\ vk).

The payment to vk is),,()\,,( GqqLCPvGqqLCPcp jiktskk

If vk is not on the LCP(vi ,vj ,G) then pk 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 vi and vj, say LCP(vi,vj,G)

Page 12: Economics and Computer Science Network Routing

54v 5

18756),,( 74190 cccGqqLCP

21777)\,,( 863490 cccvGqqLCP

),,()\,,( 9049044 GqqLCPvGqqLCPcp 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

Payment Calculation

Page 13: Economics and Computer Science Network Routing

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) Worst Case could be O(n3)

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

Page 14: Economics and Computer Science Network Routing

1. First we calculate the Shortest Path Tree (SPT) rooted at vi and v0 respectively and denote them as SPT(vi) and SPT(v0). The shortest path between vi and v0 is . Let L(vk) be the length of the shortest path from vk to v0 and R(vk) be the length of shortest path from vk to vi.

2. This step calculates a level (denoted as vk.level) for every node vk in graph G.3. For every node vk not on the LCP(v_i,v_0,d), we find a avoiding shortest

path between vk and vi where v_k.level=l. Let R-l(vk) denote the length of this path.

4. For node vk with level greater than or equals l and each of its neighbors vj such that vj.level < l, we calculate L(vj) +R-l( vk)+cj+ck. Choose the neighbor vj with the minimum value and denote it as c-l(vk). Among all nodes with label l, choose the one with the minimum c-l(vk), denote it as c-l. c-l is the length of the second shortest path.

5. The payment to node as follow

)()(10 0 ijjj vvvvv

r

ljv

ljv

),,( 0 GvvLCPcdp il

jj ll

Fast Payment Computation Algorithm

Page 15: Economics and Computer Science Network Routing

)( 00vv j

)( ij vvr1j

v ljv

kvjv

jkkl

jljk ccvRvLc )()(,

lkllevelvllevelv

l ccjk

.,.min

Conclusion: is the length of shortest avoiding path. lclj

v

llevelv j . llevelvk .

Algorithm Illustration

Page 16: Economics and Computer Science Network Routing

Incentive-Compatible Interdomain Routing

Based on the article:

“Incentive-Compatible Interdomain Routing”

Joan Feigenbaum, Christos Papadimitriou,

Rahul Sami, Scott Shenker

Page 17: Economics and Computer Science Network Routing

Preliminaries

Data on the Internet has to be conveyed from many sources to many targets.

RoutingRouting - Conveyance of the data through the different routes.

ASAS = Autonomous System = A Sub-network that serves as a mid-point for the conveyance routes. A.K.A DomainDomain.

Page 18: Economics and Computer Science Network Routing

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!

Page 19: Economics and Computer Science Network Routing

Definitions TrafficTraffic - Quantity of packets that are

transmitted throughout the network. CostCost - For every AS, it is the additional

load imposed on its internal network by carrying traffic.

Transit TrafficTransit Traffic - For every AS, it is the traffic which neither originates nor is destined to that AS.

PricePrice - A compensation which is paid for every AS for carrying transit traffic.

LCPLCP = Lowest-Cost Path (between any two AS’s).

Page 20: Economics and Computer Science Network Routing

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!

Page 21: Economics and Computer Science Network Routing

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.

Page 22: Economics and Computer Science Network Routing

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.

Page 23: Economics and Computer Science Network Routing

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.

Page 24: Economics and Computer Science Network Routing

Part I:Pricing Scheme

Page 25: Economics and Computer Science Network Routing

NN - set of nodes (AS’s) on the network.nn = |N|

LL - set of links between nodes of N. GG - the AS graph (N - vertices, L - edges). TTijij - For any two nodes i, j N, it is the

intensity of traffic (number of packets) originating from i destined to j.

cckk - the transit cost of node k for each transit packet it carries.cc-k-k = (c1, ..., ck-1, ck+1, ..., cn)

ppkk - the payment which will be given to node k to compensate it for carrying transit traffic.

Definitions

Page 26: Economics and Computer Science Network Routing

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

Specific Assumptions

Page 27: Economics and Computer Science Network Routing

IIkk(c;i,j)(c;i,j) - Indicator function for the LCP from i to j. Ik(c;i,j) = 1 if node k is an intermediate node on the LCP from i to j. Ik(c;i,j) = 0 otherwise. Note: Ii(c;i,j) = Ij(c;i,j) = 0.

V(c)V(c) - Total cost of routing all packets on LCPs.

More Definitions

Nk

kkNji

ij cjicITcV ),;()(,

Page 28: Economics and Computer Science Network Routing

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 Ik:

Formulation of Goal

Nkkk

Njiij

Nkkk

Njiij cjicITcjicITcV ),;(),;()(

,

*

,

Nkkk

Nkkk cjicIcjicIji ),;(),;(, *

Page 29: Economics and Computer Science Network Routing

Purpose: Minimize V(c) (objective function) by making nodes reveal true costs.

Input: <G, c> c is vector of reported costs, or strategies. The strategy ck 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

Njikkij

kk

kkk

cjicITpc

xcc

,

),;()(

where

)|()(

k’srevenues

k’sprofits

k’scosts

Page 30: Economics and Computer Science Network Routing

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

Nr Nrrrr

krkk

kij

kij

Njiij

k

cjicIcjicIjicIcp

pTp

,;,;|),;(

where

,

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

Page 31: Economics and Computer Science Network Routing

Let uk(c) denote the total costs incurred by a node for the cost vector c.

Proof of Theorem (I)

Nji Nk Nkkkkij

Njikijkk

cucjicITcV

jicITccu

,

,

)(),;()(

Then,

),;()(

We have already seen that (Ik(c;i,j))k N minimizes V(c).

We can build a VCG mechanism!

Page 32: Economics and Computer Science Network Routing

Proof of Theorem (II)

)()()( kkk

k chcVcup kc

finite) are costsother connected,-2 is(G

0),;|(, jicIji kk

payment) zero

ofnt (Requireme

0 kp 0)( ; cuk

)|()( kkk cVch

known fact - payments must be expressible as:

Page 33: Economics and Computer Science Network Routing

Proof of Theorem (III)

)()()|( cVcucVp kkk

Nji Nrrr

Nrr

krkkij cjicIcjicIjicIcT

,

),;(),;|(),;(

Nji

kijij pT

,

Page 34: Economics and Computer Science Network Routing

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

kijp

Page 35: Economics and Computer Science Network Routing

Part II:Distributed Algorithm(for computing prices)

Page 36: Economics and Computer Science Network Routing

dd - 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 TableRouting Table - the above information stored in

node i.

Substrate - BGP (I)

Page 37: Economics and Computer Science Network Routing

“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;} } }

StageStage - 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)

Page 38: Economics and Computer Science Network Routing

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

Page 39: Economics and Computer Science Network Routing

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

Page 40: Economics and Computer Science Network Routing

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

55

2

Page 41: Economics and Computer Science Network Routing

Input: cost vector c where ci is known only to node i.

Output: set of prices, with node i knowing all the values.

Substrate: BGP, receiving <G, c> 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

kijp

Page 42: Economics and Computer Science Network Routing

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 pathk-avoiding path - Any path that doesn’t

pass through k. PP-k-k(c;i,j)(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

Page 43: Economics and Computer Science Network Routing

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)

kajp k

ijp

Nr Nr

rrrk

rkkkij cjicIcjicIjicIcp ,;,;|),;(

kaj

kij pp

j

a

k

i

Page 44: Economics and Computer Science Network Routing

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)

aikaj

kij ccpp j

i

k

a

Nr Nr

rrrk

rkkkij cjicIcjicIjicIcp ,;,;|),;(

kajp k

ijp

Page 45: Economics and Computer Science Network Routing

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)

),(),( jicjaccpp akaj

kij

j

a

k

i

d

Nr Nr

rrrk

rkkkij cjicIcjicIjicIcp ,;,;|),;(

kajp k

ijp

Page 46: Economics and Computer Science Network Routing

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)

),(),( jicjacccp akkij

j

a

d

i

k

Nr Nr

rrrk

rkkkij cjicIcjicIjicIcp ,;,;|),;(

kajp k

ijp

Page 47: Economics and Computer Science Network Routing

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)

kajp k

ijp

Page 48: Economics and Computer Science Network Routing

bb - 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)

kbj

kij pp

bikbj

kij ccpp

),(),( jicjbccpp bkbj

kij

),(),( jicjbcccp bkkij

Page 49: Economics and Computer Science Network Routing

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

kijp

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)

Page 50: Economics and Computer Science Network Routing

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 = vk, vk-1, …, v0 = 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). ),...,,( 01 jij

vij

vij

vij

iij ppppp kk

Price Computation Algorithm (I)

Page 51: Economics and Computer Science Network Routing

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:

rvijp

jij

iij pp ,

Price Computation Algorithm (II)

Page 52: Economics and Computer Science Network Routing

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 { vt=nearest common ancestor of i and a;

}}if (array P(c;i,j) changed)

Send array P(c;i,j) to neighbors;}

}}

);,min(:1 rrr vaj

vij

vij pppkr

);,min(: aivaj

vij

vij ccpppkr rrr

));,(),(,min(: jicjaccppptr avaj

vij

vij

rrr ));,(),(,min(: jicjacccpptr av

vij

vij r

rr

Case I

Case II

Case III

Case IV

Price Computation Algorithm (III)

Page 53: Economics and Computer Science Network Routing

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

kijp

sijp

j

sk

i

j

sk

i

Correctness of Algorithm

Page 54: Economics and Computer Science Network Routing

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.

kijp

|)),;((|max,,

jicP k

kji

kijp

Performance of Algorithm (I)

Page 55: Economics and Computer Science Network Routing

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)

Page 56: Economics and Computer Science Network Routing

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

Page 57: Economics and Computer Science Network Routing

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

Page 58: Economics and Computer Science Network Routing

Frugal Path Mechanisms

by

Aaron Archer and Eva Tardos

Page 59: Economics and Computer Science Network Routing

The Model

53

7

111

2 2

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 ?

s t

ii cp

Page 60: Economics and Computer Science Network Routing

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 pathhas more edges. When C1, C2 are the 1st, 2nd lowest costs,and the length of the shortest path is k, then:

)12(1

12)1(2

1 CCkCpP

CCccCCp

Pe e

eee

Page 61: Economics and Computer Science Network Routing

Main Question:

Is there a truthful mechanismthat pays less ??

Page 62: Economics and Computer Science Network Routing

Threshold-based Mechanisms For all truthful mechanisms that pay 0 to “loosing” edges:

Observation: If edge e “wins” when bidding be , it must alsowin with a lower bid b’e < be

Conclusion 1: There is a threshold bid Te : edge e wins withlower bids and looses with higher bids.

Conclusion 2: The payment to edge e must be exactly Te ,its threshold bid.

Theorem:Any mechanism for the path selection problem istruthful if and only if it is a Threshold-based Mechanism.

For example, VCG is Threshold-based (thus it is truthful).

Page 63: Economics and Computer Science Network Routing

Min-Function Mechanisms

Definition: A mechanism is called a Min-Function Mechanismif it defines, for every s-t path P, a (positive real valued)function fP of the vector of bids bP , such that:

fP is monotonically strictly increasing, and continuous.

The mechanism always selects the path P with the lowestvalue fP(bP).

Notice that: A Min-Function Mechanism is Threshold-based

(and thus truthful). VCG (for the path selection problem) is a min function

mechanism.

Page 64: Economics and Computer Science Network Routing

Min-Function Mechanisms: Costly Example

Take any Min-Function mechanism, and any graph with twonode-disjoint s-t paths (P & Q). The following scenario is costly: Define , a vector of bids of the edges in path P : each

edgedeclares 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 )

iPb

LdPL ||/)}(),...,(),(),...,({max)( ||1||11 Q

QQQQPPPPPQQ bfbfbfbfbf

1Qb0

Pb

eTLd

LdPLTe ||/ LdPL ||

Page 65: Economics and Computer Science Network Routing

Conclusion: All min-function mechanisms suffer from thesame drawback of the VCG mechanism we have seen.

What remains to show: “In many cases”, all truthfulmechanisms are min-function mechanisms.

Page 66: Economics and Computer Science Network Routing

Reasonable Mechanism Properties

1. Edge Autonomy: For any edge e, given the bids of the otheredges, e has a high enough bid that will ensure that no pathusing e will not win. (We say that e bids infinity)

2. Path Autonomy: Given the bids of all edges outside P, thereis a bid bP such that P will be chosen.

3. Independence: If path P wins, and an edge e not in P raisesits bid, then P will still win.

Definition: If path P wins, and there is an edge e such thatany (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 thebid of any , or decreasing the bid of any ,will cause P to lose. QPe \ PQe \

Page 67: Economics and Computer Science Network Routing

Comparing Bids

Definition: Suppose path P bids bP, path Q bids bQ, and all otheredges bid infinity. If P wins, then we writeIf either then they are comparable.

Lemma: Suppose path Q is node-disjoint from paths P and L.

Proof: Suppose P bids bP, Q bids bQ, L bids bL ,and allother 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.

QP bb

LPLQQPLP bbbbbbbb and , ,comparable are and if Then

QP bb

PQQP bbbb or

Page 68: Economics and Computer Science Network Routing

The edge (s,t) is in G

Theorem: If G contains the edge (s,t) then any truthful mechanismsatisfying 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, fP(bP) is exactly R’s threshold bid.

Therefore, R wins if fR(bR) is minimal, and looses if not. For any P,Q (besides R), if fP(bP) < fQ(bQ) then Q will not win:

choose some c, fP(bP) < c < fQ(bQ) , so :

})(|{sup)(;)( PRPPR bccbfccf

not win. willQ)(and)( QPQRRP bbbccb

Page 69: Economics and Computer Science Network Routing

(proof continued)

Claim: fP() is strictly increasing. Fix some P, e in P, and some bid bP. If R bids fP(bP) 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 fP(b’P) < fP(bP).

But if fP(b’P) = fP(bP) = bR then R and P are tied again.Thus increasing e’s bid by d/2 will cause P to lose - contradiction.

Claim: fP() is continuous. Otherwise let (bP-e ,be) be a discontinuity point for fP() ,

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

bidmakes P the winner - contradiction. (the same if P wins).

Page 70: Economics and Computer Science Network Routing

Three s-t connected components

Theorem: If G contains an s-t connected component and twoother s-t paths (disjoint from the rest), then any truthfulmechanism satisfying the above properties is a min functionmechanism.

Proof: Let R,S be the two separate s-t paths. Define:

By defining we can show thatis strictly increasing and continuous, similar to before.For other bids of R, we define:

})1(|{sup)(: PRPP bccbfRP

}and)(s.t.|{sup)( RSSSSRR bbcbfbcbf

ccfR )1(

)(: PP bfRP

Page 71: Economics and Computer Science Network Routing

(proof continued)Claim:

Case 1: Neither P nor Q is RTake c, fP(bP) < c < fQ(bQ) and so

Case 2a: Q = R and P is not STake bS such that fP(bP) < fS(bS) < fR(bR) andBy 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 = RChoose some other path L. By autonomy and continuityof fL() there is a bid bL such that fS(bS) < fL(bL) < fR(bR).By case 1 and by case 2 , as needed.

[ for case 3b, P = R and Q = S, the proof is similar ]

QPQQPP bbbfbf )()(

QRP bcb

)1(

RS bb

SP bb

RL bb LS bb

Page 72: Economics and Computer Science Network Routing

Conclusion: Any truthful mechanism on a graph that containseither an s-t edge or three edge-disjoint s-t paths, and thatsatisfies the desired properties, can be forced to pay times the cost of the winning path, where k is the lengthof the winning path.

Remark: There is a graph with two disjoint s-t paths anda truthful mechanism for this graph, that is not a minfunction mechanism. (the next slides, if time permits)

)(k

Page 73: Economics and Computer Science Network Routing

Two s-t disjoint paths

The following mechanismis a counter example: Given bids bP =(x1,x2 ) and bQ =(y1,y2 ), draw a line in the x1-

x2

plane, with x1-intercept: y1+(y2 / 2), and x2-intercept: y2+(y1 / 2).

If bP is strictly above the line, Q wins, otherwise P wins. Verify: all four bidders have threshold values. Autonomy,

independence and sensitivity hold.

x1 x2

y1 y2

s t

P

Q

Page 74: Economics and Computer Science Network Routing

To see that thismechanism is notmin-function:

Take two Q bids:b1

Q =(2,1 ), b2Q =(1,2 )

The dashed/solid line is P’s threshold if Q bids b1Q / b2

Q

From the diagram: and they aren’t tied

If the mechanism were a min function, we would have: fP(b1

P) < fQ(b1Q) < fP(b2

P) < fQ(b2Q) < fP(b1

P) - a contradiction

Two s-t disjoint paths (continue)

12211PQPQP bbbbb

Page 75: Economics and Computer Science Network Routing

Multicast

Page 76: Economics and Computer Science Network Routing

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?

),( ENG c

)()( xcTC Tx

Multicasting

Page 77: Economics and Computer Science Network Routing

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

Page 78: Economics and Computer Science Network Routing

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

LCPS Based Method

Page 79: Economics and Computer Science Network Routing

Structure Build MST Prune MST

Payment Scheme: Payment based on MST A selected link e

2q

1q

1v

5v

2v

3q4v

6v3

5

4

7

33

1

63

63

1

5

4

2

0q

3v

6

Pruning MST Based Method

ee cGMSTeGMSTp )()\(

Page 80: Economics and Computer Science Network Routing

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 VMST(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

Page 81: Economics and Computer Science Network Routing

4v3 7

5

9 2

3q

1q

1v

5v

2v

2q

6v

3v

1

0q

4

Construction of LCPS-VMST(G)

0q

34 7

5

9 2

3q

1q

1v

5v

2v

2q4v

6v

3v

1

0q

1q

3q

2q

4 7

8

5 2

5

Algorithm Illustration Virtual MST

Page 82: Economics and Computer Science Network Routing

Payment Illustration

41v

26v

0q

3 7

5

9

3q

1q

5v

2v

2q4v

3v

1

101)( qqvE 7)\,,( 20110 qqvGqqLE4),,( 10 kcGqqLCP

7),,()\,,( 901901110 GqqLCPvGqqLEcp qq

0q

1q

3q

2q

4 78

5 2

5

VMST(G)

0q

1q

3q

2q

8 78

5 2

5

VMST(G\v1)

evEe pp 1)(1 1

max

Page 83: Economics and Computer Science Network Routing

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

Page 84: Economics and Computer Science Network Routing

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.

jqiq

IqJq

kv

),,()\,,( GqqLCPvGqqLEcp jikjikek

))(( GKMSTqqev jik

CIn cycle C, the edge with maximum length is not .jiqq

JI qq has the maximum length in C.

)\,,(),,( kjiJIjiji vGqqLEqqqqGqqLCP

kek cp k

ekEek cpp

k max 0 kkk cpu

Page 85: Economics and Computer Science Network Routing

Lemma

iq

IqJq

kv

jq

IQ JQ

)()( kkkk cEcE

From Lemma 3 and Lemma 4, we focus our attention on the payment of where

ekp )()( kkkk cEcEe

The bridge with the smallest length between and is . ),( JI QQBEMIQ

JQ

Two Cases:),( JIk QQBEMv

),( JIk QQBEMv

kv?

Incentive Compatibility

Page 86: Economics and Computer Science Network Routing

Payment Optimality

Our payment scheme is optimal regarding every individual payment among all truthful payment scheme based on

LCPS-RMST structure

Page 87: Economics and Computer Science Network Routing

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

Page 88: Economics and Computer Science Network Routing

Link Weighted Graphs

Find good multicast tree

0q

3q

1q

1v

5v

2v

2q4v

6v

3v2 3

43 4

5 2 43 44 2

3 2 2 44

3 3

0q

3q

1q

1v

5v

2v

2q4v

6v

3v

Page 89: Economics and Computer Science Network Routing

Strategyproof Payment

Round based method A node is in round r if its cost is in a

range],[ 1 r

iri BB

0 1riB r

iB

irP

Page 90: Economics and Computer Science Network Routing

Strategyproof Payment

The payment

The overall payment

It is strategyproof!

ri

ri

iir

ir

ir BBccP )|()(

irr Pmax

Page 91: Economics and Computer Science Network Routing

Node Weighted Graphs

Find good multicast tree

Find a spider connecting some receiversContract themRepeat until all receivers are connected

86 7

9

4 4

0q

3q

1q

1v

5v

2v

2q4v

6v

3v

||

),(

minT

qudTq

i

Ti

Page 92: Economics and Computer Science Network Routing

Spiders

Best Spider– approximation ln k

86 7

9

4 4

0q

3q

1q

1v

5v

2v

2q4v

6v

3v86 7

9

4 4

0q

3q

1q

1v

5v

2v

2q4v

6v

3v 86 7

9

4 4

0q

3q

1q

1v

5v

2v

2q4v

6v

3v

Page 93: Economics and Computer Science Network Routing

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 ],[ ,1, tri

tri BB

],[ 1 ri

ri BB

0 1riB r

iB1, triB tr

iB ,

itrP ,

Page 94: Economics and Computer Science Network Routing

Strategyproof Payment

The payment

The overall payment

It is strategyproof!

1,1,, )|()(

)(

tri

tri

iir

iri

r

itr BBcc

ct

tP

itrtr P ,,max

Page 95: Economics and Computer Science Network Routing

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:

N

ii i icp )0,(/

)0,(/1

icpn i i

)0,(/ icpMaxi ii

Overpayment: Experiments

Page 96: Economics and Computer Science Network Routing

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

iq jq jiqq

iqjq

jiqqcc 21

1c

2c

Overpayment Simulation, cont.

Page 97: Economics and Computer Science Network Routing

2 5.2

Fixed Transmission Range

Page 98: Economics and Computer Science Network Routing

2 5.2

Randomized Transmission Range

Page 99: Economics and Computer Science Network Routing

Anycast

Page 100: Economics and Computer Science Network Routing

K-Anycast

86 7

9

4 4

0q

3q

1q

1v

5v

2v

2q4v

6v

3v86 7

9

4 4

0q

3q

1q

1v

5v

2v

2q4v

6v

3v

Page 101: Economics and Computer Science Network Routing

Broadcast

86 7

9

4 4

0q

3q

1q

1v

5v

2v

2q4v

6v

3v86 7

9

4 4

0q

3q

1q

1v

5v

2v

2q4v

6v

3v

5

3

5 5

3

5

Page 102: Economics and Computer Science Network Routing

Summarize

Truthful computing Credit based Incentive based (mechanism design, VCG)

Unicast (fast and distributed computing)

Multicast (approximation and truthful scheme)

Anycast Broadcast

Page 103: Economics and Computer Science Network Routing

Other methods

Page 104: Economics and Computer Science Network Routing

Methods “Watchdog” and “Pathrater” Nuglet counter

Drawbacks Heuristic Special hardware

Credit Based Method

Page 105: Economics and Computer Science Network Routing

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?