Probability and Computing
- Type: lecture with tutorial
- Chair: ITI Sanders
- Semester: WS 25/26
-
Location:
50.34 Room 236
-
Time:
biweekly on Tuesday, 9:45 – 11:15
weekly on Thursday 11:30 – 13:00 - Lecturer:
- lecture assistant:
- SWS: 3
- Lv-No.: 2400153
-
Information:
Lectures given in English
Randomized algorithms and data structures rely on random experiments. While the design of deterministic algorithms is often driven by a pessimistic view of worst-case behavior, randomized algorithms employ approaches that occasionally fail but perform much better most of the time.
The running time of such algorithms, as well as the solution quality (in the case of optimization problems) and sometimes correctness (in the case of computation problems), are subject to randomness. Therefore, a formal analysis focuses on expected values and success probabilities. We will explore both classical examples and current research topics in the areas of hashing and graph theory. Specialised design methods (such as probability amplification) and advanced analysis tools from probability theory (such as coupling, Poissonization, and concentration bounds) will be applied. We will often see that randomized approaches are more efficient or simpler than all (or at least all known) deterministic approaches.
We will briefly address, on the theory side, how randomized complexity classes relate to well-known classes such as P and NP and, on the the practical side, how to implement randomized algorithms on common (essentially deterministic) computers using pseudo-randomness.
Oral Exam
The following dates are available:
11.03.2026
12.03.2026
13.03.2026
25.03.2026
26.03.2026
27.03.2026
Please register with blancani ∂does-not-exist.kit edu, stating your full name, matriculation number, subject of study (Studienfach) and the version of the exam regulations (Version der Prüfungsordnung). Online registration starts on January 21, 2026, please register before your exam date.
Material for Lectures and Exercises
- 28.10. Basic Notions and Notation / Exercises / Solutions
- 28.10. The Power of Randomness / Handout-Version / Exercises / Solutions
- 6.11. Important Random Variables and How to Sample Them / Handout-Version / Exercises / Solutions
- 6.11. Randomised Complexity Classes / Handout-Version / Exercises / Solutions
- 13.11. Probability Amplification / Handout-Version / Exercises / Solutions
- 20.11. Concentration Bounds / Handout-Version / Exercises / Solutions
- 27.11. Classic Hash Tables / Handout-Version / Exercises / Solutions
- 04.12. Bloom Filters / Handout-Version / Exercises / Solutions
- 11.12. Coupling, Balls into Bins, Poisson / Handout-Version / Exercises / Solutions
- 18.12. Approximation Algorithms / Handout-Version / Exercises / Solutions
- 18.12. Streaming Algorithms / Handout-Version / no exercises
- 8.01. Game Theory & Yao’s Principle / Handout-Version / Exercises
- 15.01. Probabilistic Method / Handout-Version / Exercises
- 22.01. Random Graphs / Handout-Version / Exercises
- 29.01. Cuckoo Hashing / Handout-Version / Exercises