On-line and Approximation Algorithms - 0368.4041


Yossi Azar ( azar@tau.ac.il )
2nd Semester, 2019/20 - Mon 16-19, Orenshtein 103
School of Computer Science,
Tel-Aviv University


EXAM is on Aug 12, 2020

This page will be modified during the course, and will outline the classes.


30% exercises
70% exam



Exercise1 (Due on Apr 20)

Exercise2 (Due on May 24)

Exercise3 (Due on Jun xx)


Lecture notes


For the outline of the course given in 2017/18 see course2017/18

Text books:

(1) Online computation and Competitive Analysis, A Borodin and R. El-Yaniv, Cambridge university press, 1998.
(2) Approximation Algorithms for NP-hard problems, edited by S. Hochbaum, PWS Publishing company, 1997.
(3) Online Algorithms - The State of the Art, edited by A. Fiat and G. Woeginger, Springer, 1998.
(4) Papers published in the last 25 years.
(5) Lecture notes from Brics 96 Susanne Albers

Course syllabus:

Online algorithms (algorithms that do not have all the information/input in advance) and some corresponding approximation algorithms.

Course outline

1.     Mar 2020:
Examples of approximations algorithms
2 approximation for vertex cover
Examples of on-line problems
Competitive ratio
Ski rental problem - 2 upper/lower bounds
Path searching problem - 9 upper/lower bounds
Machines Scheduling - 2 competitive

2.     Mar 2020:
List update - definitions
List update - various algorithms
List update -2 competitive MF algorithm
List update - 2 lower bound

3.     Mar 2020:
Paging - k competitive LRU/FIFO
Paging - k lower bound
k-server - k general lower bound
k-server on the line - k competitive Double Cover algorithm

4.     Apr 2020:
Randomized algorithms
Quick sort, primality test, max cut
Ski rental - randomized upper/lower bounds
Survival game
Paging - 2H(k) competitive randomized marking algorithm

5.     Apr 2020:
Paging - H(k) randomized lower bound
Oblivious, adaptive on-line and off-line adversaries
Relation between the adversaries
Load balancing - identical machines

6.     Apr 2020:
Load balancing - related machines
Load balancing - restricted assignment - deterministic and randomized lower bound

7.     Apr 2020:
Load balancing - restricted assignment - upper bound
Load balancing - unrelated machines
Virtual circuit routing

8.     May 2020:
Benefit problems - financial problems - upper/lower bounds
Admission control and routing - general graphs

9.     May 2020:
Admission control and routing - general graphs
Admission control on the line - lower bounds
Admission control on the line - classify & randomly select

10.  May 2020:
Admission control on the line - preemptive algorithms
eight variants of admission control on the line:
Deterministic vs. randomized
Non-preemptive vs. preemptive

11. May 2020:
Value =1 vs. value = length
Scheduling problems - maximum completion time identical machines
Scheduling problems - reduction to batch
Response time (flow time) no release times - SPT

12.  Jun 2020:
Response time (flow time) with release times - SRPT
EDF for unit size unit value jobs
EDF for jobs of different size
Max value first for unit size jobs with arbitrary value

13.  Jun 2020:
Picking the winner

Last updated Jan 31, 2018