SlideShare a Scribd company logo
A Toolbox for Online Algorithms Marcin Bieńkowski U niversity of Wroc ław phd open 2011
A (short) story about an angry student who was (eventually) right.
What you need are smart tools and not smart problems This course: quite good tools for very simple problems
What’s in the box? 10 minute crash course into online algorithms Toolbox Potential functions Work functions Linear programming Classify and randomly select
Online algorithms
Online algorithms (1) Optimization problems e.g. set cover, independent set, facility location, TSP, … Approximate solutions for any instance  we want Online problems  = input is revealed gradually for any instance  we want scarce computational resources scarce computational resources +  we don’t know the future offline  optimum
Online algorithms (2) Deterministic algorithms for any instance  we want Randomized algorithms for any instance  we want We say that  is  -competitive
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
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?
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
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  and this strategy is  -competitive This is the best  deterministic  online algorithm
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!
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
Toolbox Outline Potential functions (PF) Work functions Linear programming Classify and randomly select
PF: a toy problem Problem: List reorganization (singly-linked) 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 . C F A D G H B J
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).
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? Casual approach:  simulate both ALG and OPT (actually any other algorithm) on the same sequence and relate their costs. OPT? Do I look I care? Neither should you! Besides, computing OPT is NP-complete
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  for all steps would be sufficient, but it is not the case!
PF: introduction to potential We want: Solution:  take a potential function  , such that where 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. PROOF
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. Why does it help (in the bad case)? When  is small and  is large… …  then ALG changes state towards OPT, decreasing the potential! Access(x) request x is at the beginning of OPT x is at the end of MTF MTF moves x to the beginning of the list
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. PROOF
Toolbox Outline Potential functions Work functions (WF) Linear programming Classify and randomly select
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. 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 Note that d satisfies triangle inequality
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 b Elementary, dear Watson
WF: randomization Our algorithm will be randomized! 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  over nodes, i.e., file is at v with probability  .’’ Lemma: We may emulate distributional definition of ALG by behavioral   one. The cost of changing from  to  is  a b PROOF
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
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
WF: work function evolution Define   gradient Observation:  . Moreover, if g = D (or –D), then  the algorithm should have the file at  a  (or at  b ) with probability 1. In this example, we assume D = 2 0 1 2 3 4 5 6 7 D For such configuration, request at  a  does not change the work function (or OPT cost) Good guidance! Let’s extrapolate it to intermediate values!
WF: the algorithm Theorem Work function algorithm is  -competitive. Gradient Recall: Work Function Algorithm At step t, choose distribution  , such that 0 1 2 3 4 5 6 7 D and PROOF
Thank you for your attention! (and see you tomorrow)
Toolbox Outline Potential functions Work functions  Linear programming (LP) Classify and randomly select
LP: a toy problem (1) Problem: set cover n elements family  of m sets covering all elements is the cost of set  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! 1 2 4 4 2 In this example:
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  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! 1 2 4 4 2
LP: offline solution (1) What about offline (fractional) solution after step k? We have to cover elements  Yes, you guessed right, use  linear programming ! minimize:  subject to:  (for all 1  ·  i  ·  k)   (for all  ) 1 2 4 4 2
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.
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 (P k ) min.:  subject to: (for all  )   (for all  ) Dual program (D k ) max.:  subject to: (for all  )   (for all  ) Strong duality theorem:  OPT(P k ) = OPT(D k )
LP: online solution (1) We generate our online feasible solutions to primal and dual programs. Online = monotonic for analysis only Observation:  implies competitive ratio at most  PROOF Feasible dual solution is sometimes hard to achieve…
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. Corollary:  implies competitive ratio at most  This one is feasible!
LP: the algorithm (1) Dual program (D k ) maximize:  subject to: (for all  ) (for all  ) Primal program (P k ) minimize:  subject to: (for all  ) (for all  ) Assume we have a solution for P k-1 P k  contains one extra constraint  Algorithm for step k:  While  : For each  containing  let  Observation 1:   Generated primal solution is feasible TRIVIAL Observation 2:   Observation 3:   Each constraint of the dual solution is violated at most by factor O(log m) PROOF PROOF
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
Toolbox Outline Potential functions Work functions Linear programming Classify and randomly select (CRS)
CRS: a toy problem (1) Problem: Call admission A graph, capacities of the edges. Input:  sequence of call requests: pairs (s i , t i ). 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 2 3 1 2 3 2 2 1 3 2 Way too complicated, dear Watson
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 (s i , t i ). 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
CRS: deterministic lower bound Lemma: Any deterministic algorithm on n-node line graph has the competitive ratio at least n-1. For a nontrivial competitive ratio, we need randomization! PROOF
CRS: randomized solution (1) We assume that n = 2 k . We divide all edges into k classes. i-th level call  = contains edges from  , 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. 2-nd level call PROOF
Thank you for your attention!

More Related Content

PDF
Lazy java
PDF
OOP and FP
PPTX
Introduction to theano, case study of Word Embeddings
PPTX
Algorithms & Complexity Calculation
PDF
Deep Learning in theano
PDF
Introduction to functional programming (In Arabic)
PPTX
Python basics
PDF
Analysis and design of algorithms part2
Lazy java
OOP and FP
Introduction to theano, case study of Word Embeddings
Algorithms & Complexity Calculation
Deep Learning in theano
Introduction to functional programming (In Arabic)
Python basics
Analysis and design of algorithms part2

What's hot (19)

PDF
Rajat Monga, Engineering Director, TensorFlow, Google at MLconf 2016
PPTX
Combinators, DSLs, HTML and F#
PPT
Cupdf.com introduction to-data-structures-and-algorithm
PDF
Introduction to Algorithms Complexity Analysis
PPTX
Avi Pfeffer, Principal Scientist, Charles River Analytics at MLconf SEA - 5/2...
PDF
(chapter 5) A Concise and Practical Introduction to Programming Algorithms in...
PPTX
Algorithm Design and Complexity - Course 1&2
PDF
Software Abstractions for Parallel Hardware
PDF
(Costless) Software Abstractions for Parallel Architectures
ODP
Best practices in Java
PDF
Automatic Task-based Code Generation for High Performance DSEL
PDF
Boost.Dispatch
PDF
Python Programming - VII. Customizing Classes and Operator Overloading
PDF
Designing Architecture-aware Library using Boost.Proto
PDF
Matlab python-
PDF
Anlysis and design of algorithms part 1
PDF
Why we cannot ignore Functional Programming
PDF
HDR Defence - Software Abstractions for Parallel Architectures
PPT
Python cs.1.12 week 10 2020 2021 covid 19 for g10 by eng.osama mansour
Rajat Monga, Engineering Director, TensorFlow, Google at MLconf 2016
Combinators, DSLs, HTML and F#
Cupdf.com introduction to-data-structures-and-algorithm
Introduction to Algorithms Complexity Analysis
Avi Pfeffer, Principal Scientist, Charles River Analytics at MLconf SEA - 5/2...
(chapter 5) A Concise and Practical Introduction to Programming Algorithms in...
Algorithm Design and Complexity - Course 1&2
Software Abstractions for Parallel Hardware
(Costless) Software Abstractions for Parallel Architectures
Best practices in Java
Automatic Task-based Code Generation for High Performance DSEL
Boost.Dispatch
Python Programming - VII. Customizing Classes and Operator Overloading
Designing Architecture-aware Library using Boost.Proto
Matlab python-
Anlysis and design of algorithms part 1
Why we cannot ignore Functional Programming
HDR Defence - Software Abstractions for Parallel Architectures
Python cs.1.12 week 10 2020 2021 covid 19 for g10 by eng.osama mansour
Ad

Viewers also liked (12)

PPTX
Digital Humanities - British library nov 2011
PPT
ProcessFlow Designer - Fashioning Solutions
PDF
How to star in your own radio show workshop
PPTX
Power point cerámica copia
PPT
How To Promote Your Book On A Shoestring Budget
PPT
The Invisible Enemies Series-Supernatural thrillers based on books from the B...
PPT
Бібліотечні блоги - поради початківцям
PPTX
Animation Presentation
PPT
38 najboljih citata korscenih u seriji zlocinacki umovi
PDF
Peds symposium pediatric head trauma 2011 -howard final
PDF
Avaluar per aprendre
PPT
Chap003 markets and competitive space
Digital Humanities - British library nov 2011
ProcessFlow Designer - Fashioning Solutions
How to star in your own radio show workshop
Power point cerámica copia
How To Promote Your Book On A Shoestring Budget
The Invisible Enemies Series-Supernatural thrillers based on books from the B...
Бібліотечні блоги - поради початківцям
Animation Presentation
38 najboljih citata korscenih u seriji zlocinacki umovi
Peds symposium pediatric head trauma 2011 -howard final
Avaluar per aprendre
Chap003 markets and competitive space
Ad

Similar to Slides (20)

PDF
0104testr
PPT
Design and analysis of algorithm in Computer Science
PPTX
Algorithmic research
PPT
Unit II Problem Solving Methods in AI K.sundar,AP/CSE,VEC
PPTX
Applied Algorithms Introduction to Algorithms.pptx
PPTX
Heuristic Searching Algorithms Artificial Intelligence.pptx
PPTX
Algorithm Efficiency as part of Code.org's AP CSP curriculum.pptx
PDF
Design and analysis of algorithm chapter 10
PDF
FADML 10 PPC Solving NP-Hard Problems.pdf
PPTX
ch03-2018.02.02.pptx
PDF
Linear Models for Engineering applications
PDF
Operational research 2
PPT
Perform brute force
 
PDF
lecture1 .pdf introduction to algorithms
PPTX
Linear Programming- Leacture-16-lp1.pptx
PPTX
Algorithm Design Techiques, divide and conquer
PDF
heuristic search Techniques and game playing.pdf
PPTX
Best first search algorithm in Artificial Intelligence
0104testr
Design and analysis of algorithm in Computer Science
Algorithmic research
Unit II Problem Solving Methods in AI K.sundar,AP/CSE,VEC
Applied Algorithms Introduction to Algorithms.pptx
Heuristic Searching Algorithms Artificial Intelligence.pptx
Algorithm Efficiency as part of Code.org's AP CSP curriculum.pptx
Design and analysis of algorithm chapter 10
FADML 10 PPC Solving NP-Hard Problems.pdf
ch03-2018.02.02.pptx
Linear Models for Engineering applications
Operational research 2
Perform brute force
 
lecture1 .pdf introduction to algorithms
Linear Programming- Leacture-16-lp1.pptx
Algorithm Design Techiques, divide and conquer
heuristic search Techniques and game playing.pdf
Best first search algorithm in Artificial Intelligence

Slides

  • 1. A Toolbox for Online Algorithms Marcin Bieńkowski U niversity of Wroc ław phd open 2011
  • 2. A (short) story about an angry student who was (eventually) right.
  • 3. What you need are smart tools and not smart problems This course: quite good tools for very simple problems
  • 4. What’s in the box? 10 minute crash course into online algorithms Toolbox Potential functions Work functions Linear programming Classify and randomly select
  • 6. Online algorithms (1) Optimization problems e.g. set cover, independent set, facility location, TSP, … Approximate solutions for any instance we want Online problems = input is revealed gradually for any instance we want scarce computational resources scarce computational resources + we don’t know the future offline optimum
  • 7. Online algorithms (2) Deterministic algorithms for any instance we want Randomized algorithms for any instance we want We say that is -competitive
  • 8. 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
  • 9. 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?
  • 10. 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
  • 11. 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 and this strategy is -competitive This is the best deterministic online algorithm
  • 12. 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!
  • 13. 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
  • 14. Toolbox Outline Potential functions (PF) Work functions Linear programming Classify and randomly select
  • 15. PF: a toy problem Problem: List reorganization (singly-linked) 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 . C F A D G H B J
  • 16. 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).
  • 17. 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? Casual approach: simulate both ALG and OPT (actually any other algorithm) on the same sequence and relate their costs. OPT? Do I look I care? Neither should you! Besides, computing OPT is NP-complete
  • 18. 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 for all steps would be sufficient, but it is not the case!
  • 19. PF: introduction to potential We want: Solution: take a potential function , such that where 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. PROOF
  • 20. 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. Why does it help (in the bad case)? When is small and is large… … then ALG changes state towards OPT, decreasing the potential! Access(x) request x is at the beginning of OPT x is at the end of MTF MTF moves x to the beginning of the list
  • 21. 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. PROOF
  • 22. Toolbox Outline Potential functions Work functions (WF) Linear programming Classify and randomly select
  • 23. 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. 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 Note that d satisfies triangle inequality
  • 24. 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 b Elementary, dear Watson
  • 25. WF: randomization Our algorithm will be randomized! 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 over nodes, i.e., file is at v with probability .’’ Lemma: We may emulate distributional definition of ALG by behavioral one. The cost of changing from to is a b PROOF
  • 26. 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
  • 27. 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
  • 28. WF: work function evolution Define gradient Observation: . Moreover, if g = D (or –D), then the algorithm should have the file at a (or at b ) with probability 1. In this example, we assume D = 2 0 1 2 3 4 5 6 7 D For such configuration, request at a does not change the work function (or OPT cost) Good guidance! Let’s extrapolate it to intermediate values!
  • 29. WF: the algorithm Theorem Work function algorithm is -competitive. Gradient Recall: Work Function Algorithm At step t, choose distribution , such that 0 1 2 3 4 5 6 7 D and PROOF
  • 30. Thank you for your attention! (and see you tomorrow)
  • 31. Toolbox Outline Potential functions Work functions Linear programming (LP) Classify and randomly select
  • 32. LP: a toy problem (1) Problem: set cover n elements family of m sets covering all elements is the cost of set 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! 1 2 4 4 2 In this example:
  • 33. 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 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! 1 2 4 4 2
  • 34. LP: offline solution (1) What about offline (fractional) solution after step k? We have to cover elements Yes, you guessed right, use linear programming ! minimize: subject to: (for all 1 · i · k) (for all ) 1 2 4 4 2
  • 35. 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.
  • 36. 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 (P k ) min.: subject to: (for all ) (for all ) Dual program (D k ) max.: subject to: (for all ) (for all ) Strong duality theorem: OPT(P k ) = OPT(D k )
  • 37. LP: online solution (1) We generate our online feasible solutions to primal and dual programs. Online = monotonic for analysis only Observation: implies competitive ratio at most PROOF Feasible dual solution is sometimes hard to achieve…
  • 38. 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. Corollary: implies competitive ratio at most This one is feasible!
  • 39. LP: the algorithm (1) Dual program (D k ) maximize: subject to: (for all ) (for all ) Primal program (P k ) minimize: subject to: (for all ) (for all ) Assume we have a solution for P k-1 P k contains one extra constraint Algorithm for step k: While : For each containing let Observation 1: Generated primal solution is feasible TRIVIAL Observation 2: Observation 3: Each constraint of the dual solution is violated at most by factor O(log m) PROOF PROOF
  • 40. 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
  • 41. Toolbox Outline Potential functions Work functions Linear programming Classify and randomly select (CRS)
  • 42. CRS: a toy problem (1) Problem: Call admission A graph, capacities of the edges. Input: sequence of call requests: pairs (s i , t i ). 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 2 3 1 2 3 2 2 1 3 2 Way too complicated, dear Watson
  • 43. 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 (s i , t i ). 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
  • 44. CRS: deterministic lower bound Lemma: Any deterministic algorithm on n-node line graph has the competitive ratio at least n-1. For a nontrivial competitive ratio, we need randomization! PROOF
  • 45. CRS: randomized solution (1) We assume that n = 2 k . We divide all edges into k classes. i-th level call = contains edges from , 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. 2-nd level call PROOF
  • 46. Thank you for your attention!