Randomized and Approximation Algorithms

Advanced Course, 2+2

Basic Information

Given by:Antonios Antoniadis and Marvin Künnemann
Time:Tuesday, 14:00- 16:00 
Exercises by:André Nusser
ExercisesThursday, 14:00-16:00
Room:024 E1.4
First Meeting:October 16th. 
Credits:6 credit points
Grade formula:The grade is fully determined by the exam (depending on number of participants, either oral or written). To qualify for the exam, 50 % points in the exercise sheets are required.
Prerequisites:You will need to be mathematically mature. You should be able to read and understand technical/mathematical texts, and should have basic knowledge in Algorithms and Probability Theory.


  • The exercise session on December 20th will not take place.
  • Again, a typo was spotted! In the return statement in Exercise 2 on Sheet 5, it should have been "max" instead of "min".
  • In Exercise 4 on Sheet 2, there was a typo: the edge weights are natural numbers (in particular, non-negative)


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.


DateSpeakerTopicReferenceExercise Sheet
Oct 16

Antonios & Marvin

Introduction to the Course. Introduction to Approximation Algorithms. Greedy Algorithms

W&S: Subsect. 1.1, 1.2 (first part), 1.6 (first part), 2.1, 2.2.Exercise Sheet 1
Oct 23MarvinIntroduction to Randomized Algorithms. Basics in probaility theory, Freivalds' algorithm, Max-3SAT.M&U: Chapters 1+2.

Exercise Sheet 2

Oct 30 AntoniosLocal SearchW&S: Subsect. 2.3, 2.6.Exercise Sheet 3
Nov 6Antonios

Dynamic Programming. Knapsack. (Fully) Polynomial Time Approximation Schemes.

W&S: Subsect. 3.1, Ideas from 3.2.Exercise Sheet 4
Nov 13MarvinConcentration I: Chebychev and Applications (Hashing, Counting Distinct Items in Streams)M&U: Chapter 3. Chapter 2 of Data Stream Algorithms Lecture NotesExercise Sheet 5
Nov 20AntoniosLinear Programming, Deterministic Rounding. W&S: 1.3, Ideas from 4.5Exercise Sheet 6
Nov 27MarvinConcentration II: Chernoff Bounds and Applications.M&U: Chapter 4.

Exercise Sheet 7

Dec 4MarvinLinear Programming, Randomized Rounding: Minimum-capacity multicommodity flow, MAX SAT.W&S: Subsect. 5.11, 5.4, 5.6.

Exercise Sheet 8

Dec 11AntoniosLinear Programming, Primal-Dual Algorithms IW&S: Subsect, 1.4,1.5, Appendix A, 7.1, 7.3 & 7.6Exercise Sheet 9
Dec 18AntoniosLinear Programming, Primal Dual Algorithms II- see above -Exercise Sheet 10
Jan 8No Lecture  
Jan 15MarvinTBD  
Jan 22MarvinTBD  
Jan 29AntoniosTBD  
Feb 5MarvinTBD  


  • D.P. Williamson, D.B. Shmoys. The Design of Approximation Algorithms. Cambridge University Press, 2011.
  • M. Mitzenmacher, E. Upfal. Probability and Computing. Cambridge University Press, 2005.