Randomized and Approximation Algorithms
Advanced Course, 2 + 2
Basic Information
Coordinator: | Danupon Nanongkai |
---|---|
Lecturers: | Evangelos Kipouridis and Tomasz Kociumaka |
Time: | Wednesday, 14:00-16:00, E1 4, Room 024 |
First lecture: | October 15th |
Tutors: | Anouk Duyster and TBA |
Time: | Tuesday, 16:00-18:00, E1 4, Room 024 |
First tutorial: | October 21st |
Credits: | 6 |
Grade formula: | The grade is fully determined by the exam (depending on the number of participants, either oral or written). To qualify for the exam, 50% points in the exercise sheets are required. |
Prerequisites: | Basic knowledge of Algorithms and Probability Theory. |
Description
Several practically relevant algorithmic problems are unfortunately not known to have deterministic efficient algorithms. More specifically, for several important problems, it is highly unlikely that an efficient algorithm exists that produces an optimal solution on every input instance. Since often such problems are too important to be left unadressed, there are several "relaxations" being used to adress such problems. Two of them are:
- Approximation Algorithms: One can relax the objective of searching for the optimal solution and instead design an efficient algorithm that produces solutions which are provably "close" in value to the optimal one.
- Randomized Algorithms, and Probabilistic Analysis of Algorithms: Often, allowing an algorithm to make random choices during its execution leads to significantly more efficient computation (possibly with the drawback that the efficiency is only guaranteed with some probability, or that the output is correct only with some probability). Especially in the context of approximation algorithms, such randomized methods provide powerful tools. Furthermore, many problems are known to be difficult only in specific, pathetic instances whereas for instances apearing in practice efficient algorithms may exist. Probabilistic analysis of algorithms can, in many cases, give a theoretical explanation of this phenomenon.
In this course we will focus on several techniques for designing and analyzing randomized and approximation algorithms. We will also see a couple of interesting recent results in the area.
Tentative Schedule
Date | Speaker | Topic |
---|---|---|
Oct 15 | Evangelos & Tomasz | Introduction to the Course and to Randomized Algorithms |
Oct 22 | Tomasz | Basic Tools (Independence, Linearity of Expectation) and their Applications |
Oct 29 | Tomasz | Concentration I: Applications of Markov's and Chebyshev's Inequalities |
Nov 5 | Tomasz | Concentration II: Applications of Chernoff's Inequality |
Nov 12 | Tomasz | Balls into Bins, Hashing |
Nov 19 | Tomasz | Derandomization |
Nov 26 | Tomasz | Random Walks |
Dec 3 | Evangelos | Introduction to Approximation Algorithms. Greedy Algorithms |
Dec 10 | Evangelos | Local Search |
Dec 17 | Evangelos | Dynamic Programming in Approximation Algorithms |
Jan 7 | Evangelos | Introduction to Linear Programming |
Jan 14 | Evangelos | Linear Programming, Priam-Dual Algorithms |
Jan 21 | Evangelos | Linear Programming, Dual-Fitting |
Jan 28 | Evangelos | Linear Programming, Ellipsoid Method |
Feb 4 | TBA | Advanced Topics |
Bibliography
- M. Mitzenmacher, E. Upfal. Probability and Computing. Second edition. Cambridge University Press, 2017.
- D.P. Williamson, D.B. Shmoys. The Design of Approximation Algorithms. Cambridge University Press, 2011.