Approximation Algorithm and Local Search

Chapter
p
11
Approximation
Algorithms
Slides by Kevin Wayne.
Copyright @ 2005 Pearson-Addison Wesley.
All rights reserved.
1
Approximation Algorithms
Q. Suppose I need to solve an NP-hard problem. What should I do?
A. Theory says you're unlikely to find a poly-time algorithm.
Must sacrifice one of three desired features.
Solve p
problem to optimality.
p
y
Solve problem in poly-time.
Solve arbitrary instances of the problem.
„
„
„
ρ-approximation algorithm.
Guaranteed to run in poly-time.
Guaranteed to solve arbitrary instance of the problem
Guaranteed to find solution within ratio ρ of true optimum.
„
„
„
Challenge. Need to prove a solution's value is close to optimum, without
even knowing what optimum value is!
2
11.1 Load Balancing
Load Balancing
Input. m identical machines; n jobs, job j has processing time tj.
Job j must run contiguously on one machine.
A machine
hi can process att mostt one jjob
b att a ti
time.
„
„
( ) be the subset of jjobs assigned
g
to machine i. The
Def. Let J(i)
load of machine i is Li = Σj ∈ J(i) tj.
Def The makespan is the maximum load on any machine L = maxi Li.
Def.
Load balancing. Assign each job to a machine to minimize makespan.
4
Load Balancing: List Scheduling
List-scheduling algorithm.
Consider n jobs in some fixed order.
A i jjob
Assign
b j to
t machine
hi whose
h
load
l d is
i smallest
ll t so far.
f
„
„
List Scheduling(m, n
List-Scheduling(m
n, t1,t
t2,…,t
tn) {
for i = 1 to m {
load on machine i
Li ← 0
jobs assigned to machine i
J(i) ← φ
}
for j = 1 to n {
i = argmink Lk
J(i) ← J(i) ∪ {j}
Li ← Li + tj
}
machine i has smallest load
assign job j to machine i
update load of machine i
}
I l
Implementation.
i
O( llog n)) using
O(n
i a priority
i i queue.
5
Load Balancing: List Scheduling
A
B
C
D
F
H
E
G
I
J
Machine 1
Machine 2
Machine 3
0
Time
6
Load Balancing: List Scheduling
B
C
D
F
H
G
I
A
E
J
Machine 1
Machine 2
Machine 3
0
Time
7
Load Balancing: List Scheduling
C
D
F
H
G
I
A
B
E
J
Machine 1
Machine 2
Machine 3
0
Time
8
Load Balancing: List Scheduling
D
F
H
B
J
Machine 1
Machine 2
C
0
G
I
A
E
Machine 3
Time
9
Load Balancing: List Scheduling
E
F
G
H
I
A
B
0
Machine 1
D
C
J
Machine 2
Machine 3
Time
10
Load Balancing: List Scheduling
F
G
H
I
A
B
D
C
0
E
J
Machine 1
Machine 2
Machine 3
Time
11
Load Balancing: List Scheduling
G
H
I
A
B
E
Machine 1
D
C
0
J
Machine 2
F
Machine 3
Time
12
Load Balancing: List Scheduling
H
I
A
B
E
Machine 1
D
C
0
J
Machine 2
F
G
Machine 3
Time
13
Load Balancing: List Scheduling
I
A
B
E
H
Machine 1
D
C
0
J
Machine 2
F
G
Machine 3
Time
14
Load Balancing: List Scheduling
J
A
B
H
Machine 1
D
C
0
E
I
Machine 2 G G
F
Machine 3
Time
15
Load Balancing: List Scheduling
A
B
H
Machine 1
D
C
0
E
Machine 2
F
Machine 3
I
G
J
Time
16
Load Balancing: List Scheduling
E
D
H
B
Machine
G 2
A
I
F
0
Machine 3
J
Optimal Schedule
A
B
E
H
Machine 1
D
C
0
Machine 1 C
Machine 2
F
Machine 3
I
G
J
List schedule
17
Load Balancing: List Scheduling Analysis
Theorem. [Graham, 1966] Greedy algorithm is a 2-approximation.
First worst-case analysis of an approximation algorithm.
N d to
Need
t compare resulting
lti solution
l ti with
ith optimal
ti l makespan
k
L*
L*.
„
„
Lemma 1. The optimal makespan L* ≥ maxj tj.
Pf. Some machine must process the most time-consuming job. ▪
Lemma 2. The optimal makespan L * ≥ m1 ∑ j t j .
Pf.
The total processing time is Σj tj .
One of m machines must do at least a 1/m fraction of total work. ▪
„
„
18
Load Balancing: List Scheduling Analysis
Theorem. Greedy algorithm is a 2-approximation.
Pf. Consider load Li of bottleneck machine i.
L tjb
Let
be llastt jjob
b scheduled
h d l d on machine
hi ii.
When job j assigned to machine i, i had smallest load. Its load
before assignment
g
is Li - tj ⇒ Li - tj ≤ Lk for all 1 ≤ k ≤ m.
„
„
blue jobs scheduled before j
machine i
j
0
Li - tj
L = Li
19
Load Balancing: List Scheduling Analysis
Theorem. Greedy algorithm is a 2-approximation.
Pf. Consider load Li of bottleneck machine i.
L tjb
Let
be llastt jjob
b scheduled
h d l d on machine
hi ii.
When job j assigned to machine i, i had smallest load. Its load
before assignment
g
is Li - tj ⇒ Li - tj ≤ Lk for all 1 ≤ k ≤ m.
Sum inequalities over all k and divide by m:
„
„
„
Li − tj
Lemma 1
„
Now
Li = (Li − t j ) + t j
{
1
424
3
≤ L*
≤ m1 ∑ k Lk
= m1 ∑ k t k
≤ L*
≤ 2L *.
▪
≤ L
L*
Lemma 2
20
Load Balancing: List Scheduling Analysis
Q. Is our analysis tight?
A. Essentially yes.
Ex: m machines, m(m-1) jobs length 1 jobs, one job of length m
machine 2 idle
machine
h
3 idle
dl
machine 4 idle
m = 10
machine 5 idle
machine 6 idle
machine 7 idle
machine 8 idle
machine 9 idle
machine 10 idle
list scheduling makespan = 19
21
Load Balancing: List Scheduling Analysis
Q. Is our analysis tight?
A. Essentially yes.
Ex: m machines, m(m-1) jobs length 1 jobs, one job of length m
m = 10
optimal makespan = 10
22
Load Balancing: LPT Rule
Longest processing time (LPT). Sort n jobs in descending order of
processing time, and then run list scheduling algorithm.
LPT List Scheduling(m, n, t1,t2,…,tn) {
LPT-List-Scheduling(m,
Sort jobs so that t1 ≥ t2 ≥ … ≥ tn
for i = 1 to m {
Li ← 0
J(i) ← φ
}
load on machine i
jobs assigned to machine i
for j = 1 to n {
i = argmink Lk
J(i)
(i) ← J(i)
(i) ∪ {j}
Li ← Li + tj
}
machine i has smallest load
assign
ssi jjob
b j tto machine
hi i
update load of machine i
}
23
Load Balancing: LPT Rule
Observation. If at most m jobs, then list-scheduling is optimal.
Pf. Each job put on its own machine. ▪
Lemma 3. If there are more than m jobs, L* ≥ 2 tm+1.
Pf.
Consider first m+1 jobs t1, …, tm+1.
Since the ti's are in descending order, each takes at least tm+1 time.
There are m+1 jobs and m machines
machines, so by pigeonhole principle
principle, at
least one machine gets two jobs. ▪
„
„
„
Theorem. LPT rule is a 3/2 approximation algorithm.
Pf. Same basic approach as for list scheduling.
L i = (Li − t j ) + t j
{
1
424
3
≤ L*
≤
3 L *.
2
▪
≤ 12 L*
Lemma 3
( by observation, can assume number of jobs > m )
24
Load Balancing: LPT Rule
Q. Is our 3/2 analysis tight?
A. No.
Theorem. [Graham, 1969] LPT rule is a 4/3-approximation.
Pf. More sophisticated analysis of same algorithm.
Q. Is Graham's 4/3 analysis tight?
A. Essentially yes.
Ex: m machines, n = 2m+1 jobs, 2 jobs of length m+1, m+2, …, 2m-1 and
one job of length m.
m
25
Load Balancing on 2 Machines
Claim. Load balancing is hard even if only 2 machines.
Pf. NUMBER-PARTITIONING ≤ P LOAD-BALANCE.
NP-complete by Exercise 8.26
a
e
b
c
d
f
g
length of job f
a
machine 1
b
machine 2
0
d Machine 1
f
c Machine e2
yes
g
Time
L
26
11.2 Center Selection
Center Selection Problem
Input. Set of n sites s1, …, sn.
Center
C
t selection
l ti problem.
bl
S l t k centers
Select
t
C so th
thatt maximum
i
distance from a site to nearest center is minimized.
k=4
r(C)
center
site
28
Center Selection Problem
Input. Set of n sites s1, …, sn.
Center
C
t selection
l ti problem.
bl
S l t k centers
Select
t
C so th
thatt maximum
i
distance from a site to nearest center is minimized.
Notation.
dist(x, y) = distance between x and y.
dist(si, C) = min c ∈ C dist(si, c) = distance from si to closest center.
center
r(C) = maxi dist(si, C) = smallest covering radius.
„
„
„
Goal. Find set of centers C that minimizes r(C), subject to |C| = k.
Distance function properties.
properties
dist(x, x) = 0
dist(x, y) = dist(y, x)
di ( y)) ≤ dist(x,
dist(x,
di ( z)) + di
dist(z,
( y))
„
„
„
(identity)
(symmetry)
( i
(triangle
l iinequality)
li )
29
Center Selection Example
Ex: each site is a point in the plane, a center can be any point in the
plane, dist(x, y) = Euclidean distance.
Remark: search can be infinite!
r(C)
center
site
30
Greedy Algorithm: A False Start
Greedy algorithm. Put the first center at the best possible location
for a single center, and then keep adding centers so as to reduce the
covering
i radius
di each
h time
ti
by
b as much
h as possible.
ibl
Remark: arbitrarily
y bad!
greedy center 1
k = 2 centers
center
site
31
Center Selection: Greedy Algorithm
Greedy algorithm. Repeatedly choose the next center to be the site
farthest from any existing center.
Greedy-Center-Selection(k, n, s1,s2,…,sn) {
C = φ
repeat k times {
Select a site si with maximum dist(si, C)
Add si to C
site farthest from any center
}
return C
}
Observation. Upon termination all centers in C are pairwise at least r(C)
Observation
apart.
Pf. By construction of algorithm.
32
Center Selection: Analysis of Greedy Algorithm
Theorem. Let C* be an optimal set of centers. Then r(C) ≤ 2r(C*).
Pf. (by contradiction) Assume r(C*) < ½ r(C).
F each
For
h site
it ci in
i C,
C consider
id b
ball
ll of
f radius
di ½ r(C)
(C) around
d it
it.
Exactly one ci* in each ball; let ci be the site paired with ci*.
Consider any
y site s and its closest center ci* in C*.
dist(s, C) ≤ dist(s, ci) ≤ dist(s, ci*) + dist(ci*, ci) ≤ 2r(C*).
Thus r(C) ≤ 2r(C*). ▪
„
„
„
„
„
Δ-inequality
≤ r(C*) since ci* is closest center
½ r(C)
½ r(C)
ci
½ r(C)
C*
sites
s
ci *
33
Center Selection
Theorem. Let C* be an optimal set of centers. Then r(C) ≤ 2r(C*).
Theorem. Greedy
Th
G
d algorithm
l
ith is
i a 2-approximation
2
i ti f
for center
t selection
l ti
problem.
Remark. Greedy algorithm always places centers at sites, but is still
within a factor of 2 of best solution that is allowed to place centers
anywhere.
anywhere
e.g., points in the plane
Question. Is there hope of a 3/2-approximation? 4/3?
Theorem. Unless P = NP, there no ρ-approximation for center-selection
problem for any ρ < 2.
34
11.8 Knapsack Problem
Polynomial Time Approximation Scheme
PTAS. (1 + ε)-approximation algorithm for any constant ε > 0.
Load balancing. [Hochbaum-Shmoys 1987]
E lid
Euclidean
TSP
TSP. [Arora
[A
1996]
„
„
Consequence.
q
PTAS p
produces arbitrarily
y high
g quality
q
y solution, but trades
off accuracy for time.
This section. PTAS for knapsack problem via rounding and scaling.
36
Knapsack Problem
Knapsack problem.
Given n objects and a "knapsack."
we'll
'll assume wi ≤ W
It
Item
ih
has value
l vi > 0 and
d weighs
i h wi > 0.
0
Knapsack can carry weight up to W.
Goal: fill knapsack
p
so as to maximize total value.
„
„
„
„
Ex: { 3, 4 } has value 40.
W = 11
Item
Value
Weight
1
1
1
2
6
2
3
18
5
4
22
6
5
28
7
37
Knapsack is NP-Complete
KNAPSACK: Given a finite set X, nonnegative weights wi, nonnegative
values vi, a weight limit W, and a target value V, is there a subset S ⊆ X
such that:
∑ wi ≤ W
i∈S
∑ vi
≥ V
i∈S
SUBSET-SUM
SUBSET
SUM: Given a finite set X, nonnegative values ui, and an integer
U, is there a subset S ⊆ X whose elements sum to exactly U?
Claim.
Cl
i
SUBSET SUM ≤ P KNAPSACK.
SUBSET-SUM
Pf. Given instance (u1, …, un, U) of SUBSET-SUM, create KNAPSACK
instance:
vi = wi = ui
V = W =U
∑ ui
≤ U
∑ ui
≥ U
i∈S
i∈S
38
Knapsack Problem: Dynamic Programming 1
Def. OPT(i, w) = max value subset of items 1,..., i with weight limit w.
Case 1: OPT does not select item i.
– OPT selects
l t b
bestt of
f 11, …, ii–11 using
i up to
t weight
i ht limit
li it w
Case 2: OPT selects item i.
– new weight
g limit = w – wi
– OPT selects best of 1, …, i–1 using up to weight limit w – wi
„
„
⎧ 0
if i = 0
⎪
if wi > w
OPT(i, w) = ⎨ OPT(i −1, w)
⎪ max OPT(i −11, w),
w) vi + OPT(i −11, w − wi ) } otherwise
{
⎩
Running time. O(n W).
W = weight limit
limit.
Not polynomial in input size!
„
„
39
Knapsack Problem: Dynamic Programming II
Def. OPT(i, v) = min weight subset of items 1, …, i that yields value
exactly v.
C
Case
1:
1 OPT does
d
nott select
l t item
it
i.
i
– OPT selects best of 1, …, i-1 that achieves exactly value v
Case 2: OPT selects item i.
– consumes weight wi, new value needed = v – vi
– OPT selects best of 1, …, i-1 that achieves exactly value v
„
„
⎧
⎪
⎪
OPT (i, v) = ⎨
⎪
⎩⎪
0
∞
OPT (i −1,
1 v))
if v = 0
if i = 0, v > 0
if v i > v
min { OPT (i −1, v), wi + OPT (i −1, v − vi ) } otherwise
V* ≤ n vmax
Running time. O(n V*) = O(n2 vmax).
V* = optimal
i l value
l = maximum
i
v such
h that
h OPT(n,
OPT( v)) ≤ W.
W
Not polynomial in input size!
„
„
40
Knapsack: FPTAS
Intuition for approximation algorithm.
Round all values up to lie in smaller range.
R d
Run
dynamic
i programming
i algorithm
l
ith on rounded
d d iinstance.
t
Return optimal items in rounded instance.
„
„
„
Item
Value
Weight
Item
Value
Weight
1
134,221
1
1
2
1
2
656,342
2
2
7
2
3
1,810,013
5
3
19
5
4
22,217,800
6
4
23
6
5
28,343,199
7
5
29
7
W = 11
original instance
W = 11
rounded instance
41
Knapsack: FPTAS
Knapsack FPTAS. Round up all values:
⎡v ⎤
vi = ⎢ i ⎥ θ,
⎢θ⎥
⎡v ⎤
vˆi = ⎢ i ⎥
⎢θ⎥
vmax = llargestt value
l iin original
i i l iinstance
t
– ε
= precision parameter
– θ
= scaling
g factor = ε vmax / n
–
Observation. Optimal solution to problems with
v or vˆ are equivalent.
Intuition. v close to v so optimal solution using v is nearly optimal;
vˆ small and integral so dynamic programming algorithm is fast.
Running time. O(n3 / ε).
Dynamic program II running time is O(n2 vv̂max ) , where
„
⎡v ⎤
⎡n⎤
vˆmax = ⎢ max ⎥ = ⎢ ⎥
⎢ θ ⎥
⎢ε⎥
42
Knapsack: FPTAS
⎡v ⎤
vi = ⎢ i ⎥ θ
⎢θ⎥
Knapsack FPTAS. Round up all values:
Theorem. If S is solution found by our algorithm and S* is any other
feasible solution then ((1+ ε ) ∑ vi ≥ ∑ vi
i∈S
i ∈ S*
Pf. Let S* be any feasible solution satisfying weight constraint.
∑ vi
≤
i ∈ S*
∑ vi
always round up
i ∈ S*
≤
solve rounded instance optimally
p
y
∑ vi
i∈S
≤
∑ (vi + θ)
never round up by more than θ
∑ vi + nθ
|S| ≤ n
i∈S
≤
i∈ S
≤ (1+ ε) ∑ vi
i∈ S
DP alg can take vmax
n θ = ε vmax, vmax ≤ Σi∈S vi
43
Chapter
p
12
Local Search
Slides by Kevin Wayne.
Copyright @ 2005 Pearson-Addison Wesley.
All rights reserved.
44
Coping With NP-Hardness
Q. Suppose I need to solve an NP-hard problem. What should I do?
A. Theory says you're unlikely to find poly-time algorithm.
Must sacrifice one of three desired features.
Solve p
problem to optimality.
p
y
Solve problem in polynomial time.
Solve arbitrary instances of the problem.
„
„
„
45
12.1 Landscape of an Optimization Problem
Gradient Descent: Vertex Cover
VERTEX-COVER. Given a graph G = (V, E), find a subset of nodes S of
minimal cardinality such that for each u-v in E, either u or v (or both)
are iin S
S.
g
relation. S ∼ S' if S' can be obtained from S by
y adding
g or
Neighbor
deleting a single node. Each vertex cover S has at most n neighbors.
Gradient descent.
descent Start with S = V
V. If there is a neighbor S'
S that is a
vertex cover and has lower cardinality, replace S with S'.
Remark. Algorithm terminates after at most n steps since each update
decreases the size of the cover by one.
47
Gradient Descent: Vertex Cover
Local optimum. No neighbor is strictly better.
optimum = center node only
l
local
l optimum
i
= all
ll other
h nodes
d
optimum = all nodes on left side
l
local
l optimum
ti
= all
ll nodes
d on right
i ht side
id
optimum = even nodes
local optimum = omit every third node
48
Local Search
Local search. Algorithm that explores the space of possible solutions in
sequential fashion, moving from a current solution to a "nearby" one.
Neighbor relation. Let S ∼ S' be a neighbor relation for the problem.
Gradient descent. Let S denote current solution. If there is a neighbor
S' of S with strictly lower cost, replace S with the neighbor whose
cost is as small as possible
possible. Otherwise
Otherwise, terminate the algorithm.
algorithm
A funnel
A jagged funnel
49
12.2 Metropolis Algorithm
Metropolis Algorithm
Metropolis algorithm. [Metropolis, Rosenbluth, Rosenbluth, Teller, Teller 1953]
Simulate behavior of a physical system according to principles of
statistical
t ti ti l mechanics.
h i
Globally biased toward "downhill" steps, but occasionally makes
"uphill"
p
steps
p to break out of local minima.
„
„
Gibbs-Boltzmann function. The probability of finding a physical system
in a state with energy E is proportional to e -EE / (kT), where T > 0 is
temperature and k is a constant.
For any temperature T > 0, function is monotone decreasing function
of energy E.
System more likely to be in a lower energy state than higher one.
– T large: high and low energy states have roughly same probability
– T small: low energy states are much more probable
„
„
51
Metropolis Algorithm
Metropolis algorithm.
Given a fixed temperature T, maintain current state S.
R d l perturb
Randomly
t b currentt state
t t S to
t new state
t t S' ∈ N(S).
N(S)
If E(S') ≤ E(S), update current state to S'
Otherwise, update
p
current state to S' with probability
p
y e - ΔE / (kT),
where ΔE = E(S') - E(S) > 0.
„
„
„
Theorem. Let fS(t) be fraction of first t steps in which simulation is in
Theorem
state S. Then, assuming some technical conditions, with probability 1:
1
E(S ) /(kT )
e−E(S
,
li f S (t)
lim
() =
t→∞
Z
where Z =
∑ e −E (S ) /(kT ) .
S ∈ N (S )
Intuition. Simulation spends roughly the right amount of time in each
state, according
di to Gibbs-Boltzmann
Gibb B l
equation.
i
52
Simulated Annealing
Simulated annealing.
T large ⇒ probability of accepting an uphill move is large.
T small
ll ⇒ uphill
hill moves are almost
l
t never accepted.
t d
Idea: turn knob to control T.
Cooling
g schedule: T = T(i)
( ) at iteration i.
„
„
„
„
Physical analog.
Take solid and raise it to high temperature,
temperature we do not expect it to
maintain a nice crystal structure.
Take a molten solid and freeze it very abruptly, we do not expect to
get a perfect crystal either.
Annealing: cool material gradually from high temperature, allowing
it to reach equilibrium at succession of intermediate lower
temperatures.
„
„
„
53
12.7 Nash Equilibria
Multicast Routing
Multicast routing. Given a directed graph G = (V, E) with edge costs
ce ≥ 0, a source node s, and k agents located at terminal nodes t1, …, tk.
A
Agent
t j mustt construct
t
t a path
th Pj from
f
node
d s tto it
its tterminal
i l tj.
g
use edge
g e, they
y each pay
p y ce / x.
Fair share. If x agents
s
1
2
1 pays
2 pays
outer
outer
4
8
outer
middle
4
5+1
middle
outer
5+1
8
5/2 + 1
5/2 + 1
middle middle
4
5
8
v
1
t1
1
t2
55
Nash Equilibrium
Best response dynamics. Each agent is continually prepared to improve
its solution in response to changes made by other agents.
Nash equilibrium. Solution where no agent has an incentive to switch.
Fundamental question. When do Nash equilibria exist?
s
Ex:
„
„
„
„
Two agents start with outer paths.
Agent 1 has no incentive to switch paths
(since 4 < 5 + 1), but agent 2 does (since 8 > 5 + 1).
Once this happens, agent 1 prefers middle
path (since 4 > 5/2 + 1).
1)
Both agents using middle path is a Nash
equilibrium.
4
5
8
v
1
t1
1
t2
56
Nash Equilibrium and Local Search
Local search algorithm. Each agent is continually prepared to improve
its solution in response to changes made by other agents.
Analogies.
Nash equilibrium
q
: local search.
Best response dynamics : local search algorithm.
Unilateral move by single agent : local neighborhood.
„
„
„
Contrast. Best-response dynamics need not terminate since no single
objective function is being optimized.
57
Socially Optimum
Social optimum. Minimizes total cost to all agent.
Observation.
Ob
ti
I general,
In
l there
th
can be
b many Nash
N h equilibria.
ilib i Even
E
when
h
its unique, it does not necessarily equal the social optimum.
s
s
3
1+ε
5
5
k
v
k agents
1
t
t1
Social
S
i l optimum
ptimum = 1 + ε
Nash equilibrium A = 1 + ε
Nash equilibrium B = k
1
t2
Social optimum = 7
Unique Nash equilibrium = 8
58
Price of Stability
Price of stability. Ratio of best Nash equilibrium to social optimum.
F d
Fundamental
t l question.
ti
Wh t is
What
i price
i of
f stability?
t bilit ?
Ex: Price of stability
y = Θ((log
g k).
)
Social optimum. Everyone takes bottom paths.
Unique Nash equilibrium. Everyone takes top paths.
Price of stability.
stability H(k) / (1 + ε).
)
s
1 + 1/2 + … + 1/k
1
t1
1/3
1/2
t2
1/k
...
t3
0
0
tk
1+ε
0
0
s
59
Finding a Nash Equilibrium
Theorem. The following algorithm terminates with a Nash equilibrium.
Best-Response-Dynamics(G, c) {
Pick a path for each agent
while (not a Nash equilibrium) {
Pick an agent i who can improve by switching
paths
Switch path of agent i
}
}
Pf. Consider a set of paths P1, …, Pk.
k
H(0) = 0, H (k) = ∑
Let xe denote the number of paths that use edge e.
i=1
Let Φ(P1, …, Pk) = Σe∈EE ce· H(xe) be a potential function.
function
Since there are only finitely many sets of paths, it suffices to show
that Φ strictly decreases in each step.
„
1
i
„
„
60
Finding a Nash Equilibrium
Pf. (continued)
Consider agent j switching from path Pj to path Pj'.
A
Agent
t j switches
it h b
because
„
„
c
ce
f
<
∑
∑
xf + 1
xe
f ∈ Pj ' − Pj
e ∈ Pj − Pj '
144244
3
14243
newly incurred cost
„
Φ increases by
∑
f ∈ Pj ' − Pj
„
„
Φ decreases by
∑
e ∈ Pj − Pj '
cost saved
c f [H(x f +1) − H(x f )] =
ce [H(x
( e ) − H(x
( e − 1))] =
∑
f ∈ Pj ' − Pj
∑
e ∈ Pj − Pj '
cf
xf + 1
ce
xe
Thus, net change in Φ is negative. ▪
61
Bounding the Price of Stability
Claim. Let C(P1, …, Pk) denote the total cost of selecting paths P1, …, Pk.
For any set of paths P1, …, Pk , we have
C( P1, K, Pk ) ≤ Φ( P1, K, Pk ) ≤ H(k) ⋅ C( P1, K, Pk )
Pf. Let xe denote the number of p
paths containing
g edge
g e.
Let E+ denote set of edges that belong to at least one of the paths.
„
C( P1, K, Pk ) =
∑ ce ≤
e∈ E
+
H( e ) ≤
∑ ce H(x
+
e∈ E
14243
∑ ce H(k) = H(k) C( P1, K, Pk )
e∈ E +
Φ(P1 , K, Pk )
62
Bounding the Price of Stability
Theorem. There is a Nash equilibrium for which the total cost to all
agents exceeds that of the social optimum by at most a factor of H(k).
Pf.
„
„
„
Let ((P1*, …, Pk*) denote set of socially
y optimal
p
paths.
p
Run best-response dynamics algorithm starting from P*.
Since Φ is monotone decreasing Φ(P1, …, Pk) ≤ Φ(P1*, …, Pk*).
C( P1, K, Pk ) ≤ Φ( P1, K, Pk ) ≤ Φ( P1*, K, Pk *) ≤ H(k) ⋅ C( P1*, K, Pk *)
previous claim
applied to P
previous claim
applied to P*
63
Summary
Existence. Nash equilibria always exist for k-agent multicast routing
with fair sharing.
Price of stability. Best Nash equilibrium is never more than a factor of
H(k)
( ) worse than the social optimum.
p
Fundamental open problem. Find any Nash equilibria in poly-time.
64
Copyright Warning
COMMONWEALTH OF AUSTRALIA
C
Copyright
i ht Regulations
R
l ti
1969
WARNING
p
and communicated to
This material has been reproduced
you by or on behalf of the University of Sydney
pursuant to Part VB of the Copyright Act 1968 (the Act).
The material in this communication may be subject
to copyright under the Act
Act. Any further copying or
communication of this material by you may be the
subject of copyright protection under
the Act.
D nott remove
Do
m
this notice.
ti
65