Transcript Slajdy

A Toolbox for Online Algorithms
Marcin Bieńkowski
University of Wrocław
phd open 2011
A (short) story
about an angry student
who was (eventually) right.
Marcin Bieńkowski
A Toolbox for Online Algorithms
2
What you need
This course:
are smart tools
quite good tools
and not smart problems
for very simple problems
Marcin Bieńkowski
A Toolbox for Online Algorithms
3
What’s in the box?
 10 minute crash course into online algorithms
 Toolbox
 Potential functions
 Work functions
 Linear programming
 Classify and randomly select
Marcin Bieńkowski
A Toolbox for Online Algorithms
4
Online algorithms
Marcin Bieńkowski
A Toolbox for Online Algorithms
5
Online algorithms (1)
Optimization problems
e.g. set cover, independent set, facility location, TSP, …
Approximate solutions
for any instance we want
scarce computational resources
Online problems = input is revealed gradually
for any instance we want
scarce computational resources
+ we don’t know the future
offline optimum
Marcin Bieńkowski
A Toolbox for Online Algorithms
6
Online algorithms (2)
Deterministic algorithms
for any instance we want
Randomized algorithms
for any instance we want
We say that
Marcin Bieńkowski
is -competitive
A Toolbox for Online Algorithms
7
Online algorithms example
Ski Rental Problem (SRP)
 Each day, in the morning, a skier may
 either borrow skis for 1$
 or buy them for B$
 Input: in the evening a skier may break his/her leg
 Objective: minimize the total cost
Marcin Bieńkowski
A Toolbox for Online Algorithms
8
Online algorithms example: SRP (1)
1-approximation algorithm is trivial:

is the day when skier breaks leg
 If T · B, rent all the time
 If T > B, buy at the first day
For any instance ,
What about online solutions?
Marcin Bieńkowski
A Toolbox for Online Algorithms
9
Online algorithms example: SRP (2)
Bad (but natural) strategies:
 Skier always rents
For the instance I where the leg is never broken
and
 Skier buys at the first day
For the instance I where the leg is broken at the first day
and
Marcin Bieńkowski
A Toolbox for Online Algorithms
10
Online algorithms example: SRP (3)
Best online strategy: rent for B-1 days and buy at day B.
Analysis:
If T < B, then
If T ¸ B, then
this strategy is
and
-competitive
This is the best deterministic online algorithm
Marcin Bieńkowski
A Toolbox for Online Algorithms
11
Online algorithms example: SRP (4)
Best randomized online strategy:
 Choose purchase day randomly:
day k · B with probability proportional to
 For large B the such strategy is
-competitive
But WHY this probability distribution?!
 Make several observations and solve the system of equations…
 … or wait till tomorrow till you see LP-based approach!
Marcin Bieńkowski
A Toolbox for Online Algorithms
12
World is online
Many real life problems have online nature:
 network protocols
 routing
 scheduling
 exploration
 cache organization
 some data structures
 financial decisions
 and many more
Marcin Bieńkowski
A Toolbox for Online Algorithms
13
Toolbox Outline
1. Potential functions (PF)
2. Work functions
3. Linear programming
4. Classify and randomly select
Marcin Bieńkowski
A Toolbox for Online Algorithms
14
PF: a toy problem
Problem: List reorganization (singly-linked)
C
F
A
D
G
H
B
J
Input: sequence of the following operations
insert(x): inserts x at the end of the list, cost L+1
search(x): finds x on the list, cost = position of x
delete(x): deletes x from the list, cost as for search.
Model:
 After search or insert, ALG may move x towards the front of the
list for free.
 Afterwards, ALG may swap arbitrary adjacent elements paying 1.
Marcin Bieńkowski
A Toolbox for Online Algorithms
15
PF: a natural algorithm
Algorithm Move To Front (MTF)
After each insert(x) or search(x) operation, move x to the
beginning of the list (for free).
Marcin Bieńkowski
A Toolbox for Online Algorithms
16
PF: costs (1)
Typical online setting: the problem consists of many rounds.
In round :
 there is a request
 the algorithm serves it and pays
What is OPT doing?
Besides,
OPT
OPT? Docomputing
I look I care?
is NP-complete
Neither
should you!
Casual approach: simulate both ALG and OPT (actually any other
algorithm) on the same sequence and relate their costs.
Marcin Bieńkowski
A Toolbox for Online Algorithms
17
PF: costs (2)
Typical online setting: the problem consists of many rounds.
In round :
 there is a request
 the algorithm serves it and pays
Casual approach: simulate both ALG and OPT (actually any other
algorithm) on the same sequence and relate their costs.
We want:
Showing
sufficient, but it is not the case!
Marcin Bieńkowski
for all steps would be
A Toolbox for Online Algorithms
18
PF: introduction to potential
We want:
Solution: take a potential function
1.
2.
where
, such that
PROOF
Does it help? Also known as: How the heck can I guess the correct
potential function?
There is a rule of the thumb that USUALLY works.
Marcin Bieńkowski
A Toolbox for Online Algorithms
19
PF: states
For many online problems, algorithms are in states and the cost
depends on request and state only.
State space:
ALG
OPT
Rule of the thumb:
Define
as a constant
times the cost of changing
state from ALG to OPT.
 Access(x) request
 x is at the beginning of OPT
 x is at the end of MTF
Why does it help (in the bad case)?
When
is small and
is large…
… then ALG changes state towards OPT,
MTF moves x to the
decreasing the potential!
beginning of the list
Marcin Bieńkowski
A Toolbox for Online Algorithms
20
PF: potential for MTF
Algorithm Move To Front (MTF):
After each insert(x) or search(x) operation, move x to the
beginning of the list (for free).
Potential function:
Inversion: a pair (x,y) such that:
 x is before y in MTF list
 x is after y in OPT list
Potential function = number of inversions
Theorem:
MTF is 2-competitive.
Marcin Bieńkowski
PROOF
A Toolbox for Online Algorithms
21
Toolbox Outline
1. Potential functions
2. Work functions (WF)
3. Linear programming
4. Classify and randomly select
Marcin Bieńkowski
A Toolbox for Online Algorithms
22
WF: a toy problem (1)
Problem: File migration
 A graph, distances on the edges.
 One indivisible file of size D (e.g., shared database) placed
at one node.
Note that d satisfies
triangle inequality
Input: sequence of requests (accesses to the database).
In one step t:
 ALG serve the request paying
 ALG may move the file to any node
paying
Marcin Bieńkowski
A Toolbox for Online Algorithms
23
WF: a toy problem (2)
Let’s make it even simpler
 Just two nodes connected by an edge of length 1
 File is initially at node a
a
Marcin Bieńkowski
b
Elementary,
dear Watson
A Toolbox for Online Algorithms
24
WF: randomization
Our algorithm will be randomized!
a
b
Behavioral definition:
``At the end of step t, move the file to some random node.’’
Distributional definition:
``At the end of step t, choose probability distribution
nodes, i.e., file is at v with probability
.’’
over
PROOF
Lemma:
We may emulate distributional definition of ALG by behavioral
one. The cost of changing from to
is
Marcin Bieńkowski
A Toolbox for Online Algorithms
25
WF: work functions (1)
After t requests, we may compute work function
:
The optimal cost of serving sequence up to step t and ending
with file at node x.
Computing the work function
Can be computed efficiently by a simple dynamic programming
 We assume that ALG may move the file before the input seq.

starting conditions:
and
Marcin Bieńkowski
A Toolbox for Online Algorithms
26
WF: work functions (2)
After t requests, we may compute work function
:
The optimal cost of serving sequence up to step t and ending
with file at node x.
Relation to OPT

 It does not mean that OPT has the file at such minimizer!
 However, we may assume that (the amortized) OPT cost in
step t is
Marcin Bieńkowski
A Toolbox for Online Algorithms
27
WF: work function evolution
7
6
5
4
3
2
1
In this example, we
assume D = 2
D
For such configuration, request
at a does not change the work
function (or OPT cost)
0
Good guidance! Let’s
extrapolate it to
intermediate values!
Define gradient
Observation:
. Moreover, if g = D (or –D), then
the algorithm should have the file at a (or at b) with probability 1.
Marcin Bieńkowski
A Toolbox for Online Algorithms
28
WF: the algorithm
7
6
5
4
3
2
1
Gradient
Recall:
D
Work Function Algorithm
At step t, choose distribution
such that
and
0
Theorem
Work function algorithm is
Marcin Bieńkowski
,
-competitive.
A Toolbox for Online Algorithms
PROOF
29
Thank you for your attention!
(and see you tomorrow)
Marcin Bieńkowski
A Toolbox for Online Algorithms
30
Toolbox Outline
1. Potential functions
2. Work functions
3. Linear programming (LP)
4. Classify and randomly select
Marcin Bieńkowski
A Toolbox for Online Algorithms
31
LP: a toy problem (1)
Problem: set cover
 n elements
 family of m sets covering all elements
is the cost of set
2
4
1
4
2
In this example:


Input: sequence of elements
to cover
Output: at each step, output the subset of that covers all
elements seen so far.
Online factor: removing already chosen sets not possible!
Marcin Bieńkowski
A Toolbox for Online Algorithms
32
LP: a toy problem (2)
Make the problem easier: FRACTIONAL set cover
 n elements
 family of m sets covering all elements
is the cost of set
2
4
1
4
2
Input: sequence of elements
to cover
Output: at each step, output the function
which covers each already seen element , i.e.,
Online factor: removing already chosen fractions of sets not possible!
Marcin Bieńkowski
A Toolbox for Online Algorithms
33
LP: offline solution (1)
What about offline (fractional) solution after step k?
 We have to cover elements
1
2
4
2
4
Yes, you guessed right, use linear programming!
minimize:
subject to:
(for all 1 · i · k)
(for all
Marcin Bieńkowski
A Toolbox for Online Algorithms
)
34
LP: offline solution (2)
Do you recall?

For potential functions we did not
care about OPT at all

For work functions, our construction
relied heavily on OPT

Are we going to use it now? We may compute it!
For the algorithm: NO. For the analysis: YES.
Marcin Bieńkowski
A Toolbox for Online Algorithms
35
LP: dual program
``If you have an LP, write a dual program and stare at it long enough’’
(quote from a random Stanford professor)
Primal program (Pk)
Dual program (Dk)
min.:
max.:
subject to:
subject to:
(for all
(for all
)
)
(for all
(for all
)
)
Strong duality theorem: OPT(Pk) = OPT(Dk)
Marcin Bieńkowski
A Toolbox for Online Algorithms
36
LP: online solution (1)
We generate our online feasible solutions to primal and dual programs.
Online = monotonic
for analysis only
Feasible dual solution
is sometimes hard to
achieve…
Observation:
ratio at most
Marcin Bieńkowski
implies competitive
PROOF
A Toolbox for Online Algorithms
37
LP: online solution (2)
We generate:
 feasible solutions to primal program
 solutions to dual program in which each constraint is violated at
most by factor H.
This one is feasible!
Corollary:
ratio at most
Marcin Bieńkowski
implies competitive
A Toolbox for Online Algorithms
38
LP: the algorithm (1)
minimize:
Primal program (Pk)
subject to:
(for all
(for all
maximize:
)
Dual program (Dk)
subject to:
(for all
)
(for all
)
)
Assume we have a solution for Pk-1
Pk contains one extra constraint
Algorithm for step k: While
 For each

Observation
2:
containing
:
let
PROOF
Observation 3: Each constraint of the dual solution is violated at
most by factor
O(log m)primal solution is feasible
Observation
1: Generated
TRIVIAL
PROOF
Marcin Bieńkowski
A Toolbox for Online Algorithms
39
LP: the algorithm (2)
Observation 1: Generated primal solution is feasible
Observation 2:
Observation 3: Each constraint of the dual solution is violated at
most by factor O(log m)
Corollary: ALG is O(2 log m) = O(log m)-competitive
Marcin Bieńkowski
A Toolbox for Online Algorithms
40
Toolbox Outline
1. Potential functions
2. Work functions
3. Linear programming
4. Classify and randomly select (CRS)
Marcin Bieńkowski
A Toolbox for Online Algorithms
41
CRS: a toy problem (1)
Problem: Call admission
 A graph, capacities of the edges.
3
2
2
3
1
Way too complicated,
dear Watson
1
2
3
2
2
Input: sequence of call requests: pairs (si, ti).
For each call request:
 decide whether to admit this call (INFINITE DURATION!)
 if so choose a routing path for it not violating capacities
Goal: maximize the number of accepted calls
Marcin Bieńkowski
A Toolbox for Online Algorithms
42
CRS: a toy problem (2)
Problem: Call admission on line
 A line graph of n nodes
 all edges have capacity 1
Input: sequence of call requests: pairs (si, ti).
For each call request:
 decide whether to admit this call (INFINITE DURATION!)
without violating capacities
 if so choose a routing path
Goal: maximize the number of accepted calls
Marcin Bieńkowski
A Toolbox for Online Algorithms
43
CRS: deterministic lower bound
Lemma:
Any deterministic algorithm on n-node line graph has the
competitive ratio at least n-1.
PROOF
For a nontrivial competitive ratio, we need randomization!
Marcin Bieńkowski
A Toolbox for Online Algorithms
44
CRS: randomized solution (1)
We assume that n = 2k. We divide all edges into k classes.
i-th level call = contains edges from
2-nd level call
, but not edges from
Algorithm CRS:
 Choose j randomly from
 Accept greedily all calls from level j, and reject all other calls
Theorem: CRS is (log n)-competitive.
Marcin Bieńkowski
A Toolbox for Online Algorithms
PROOF
45
Thank you for your attention!
Marcin Bieńkowski
A Toolbox for Online Algorithms
46