Algorithms II
CS-450
Media
CS-450 Advanced Algorithms
Lecture 26
03.06.2021, 16:51
Lecture 25
03.06.2021, 16:46
Lecture 24
03.06.2021, 16:37
Lecture 23
25.05.2021, 10:23
Lecture 22
20.05.2021, 20:33
Lecture 21
20.05.2021, 18:56
Lecture 20
11.05.2021, 10:47
Lecture 19
07.05.2021, 15:22
Lecture 18
07.05.2021, 15:20
Lecture 17
29.04.2021, 18:03
Lecture 16
27.04.2021, 10:45
Lecture 15
27.04.2021, 10:29
Lecture 14
27.04.2021, 10:26
Lecture 13
15.04.2021, 16:30
Lecture 12
13.04.2021, 10:32
Lecture 11
12.04.2021, 17:07
Lecture 10
12.04.2021, 17:05
Lecture 9
23.03.2021, 14:38
Lecture 8
22.03.2021, 15:59
Lecture 7
22.03.2021, 15:57
Lecture 6
22.03.2021, 15:54
Lecture 5
22.03.2021, 15:51
Lecture 4
22.03.2021, 15:51
Lecture 3
22.03.2021, 15:45
Lecture 2
22.03.2021, 15:39
Lecture 1
22.03.2021, 15:32
Goals:
To learn the main techniques for analyzing and designing algorithms while also building a repertory of basic algorithmic solutions to problems in many domains.
Prerequisites:
Basic data structures (arrays, lists, stacks, queues, trees) and algorithms (binary search; sorting, including mergesort; graph connectivity; graph search); basic discrete mathematics (proof methods, induction, enumeration and counting, basic graph theory); data abstraction.
Topics:
Algorithm analysis techniques: worst-case, average-case, randomized, competitive, approximation, space. Basic algorithm design techniques: greedy, dynamic programming, divide-and-conquer, convex optimization, spectral techniques, submodular function optimization, and randomization. For more topics, see the course webpage.
Times and Places:
Lectures on Mondays 13-15 (CE 12) and Tuesdays 13-15 (CM 3); exercise session on Mondays 15-17 (BC02, BC04, INM201, INM203); office hours on Tuesdays 15-16 (GRA331, GRA332, GRC001).
Exams and Homework:
There will be two exams. One midterm exam and one final exam during the exam session.
In addition, there will be two homeworks. The first homework will take place during mid-October and the second homework in mid-December. The homeworks can be made in groups in up to three students and the solutions must be handed in as a single PDF file for each group.
Grading:
The grade will be based on two homeworks [30%], midterm [30%], and final [40%].
To send email to the entire teaching team, write to CS-450-staff@epfl.ch
TAs: Alberts Reisons <alberts.reisons@epfl.ch>, James Fox <james.fox@epfl.ch>, Jan Zgraggen <jan.zgraggen@epfl.ch>, Polina Stankevich <polina.stankevich@epfl.ch>
Davide Mazzali <davide.mazzali@epfl.ch>, Ekaterina Kochetkova <ekaterina.kochetkova@epfl.ch>, Lukas Vogl <lukas.vogl@epfl.ch>, Weronika Wrzos-Kaminska <weronika.wrzos-kaminska@epfl.ch>
Course videos from before: https://mediaspace.epfl.ch/channel/CS-450+Advanced+Algorithms/29357
- Introduction to the course, administrivia, topics, prerequisites, etc.
- When does the simplest algorithm work, i.e., greedy? The answer is captured by matroids.
- Matroid intersection and arborescences.
- Intro slides (File)
- Notes for Lecture 1 (File)
- Notes for Lecture 2 (File)
- Exercise Set 1 (File)
- Exercise Set 1 with solutions (File)
- Notes for Lecture 3 (File)
- Exercise set 2 (File)
- Solutions to exercise set 2 (File)
- Notes for Lecture 4 (File)
- Notes for Lecture 5 (File)
- Exercise Set 3 (File)
- Problem Set 1 (Assignment)
- Exercise set 3 with solutions (File)
- Notes for Lecture 6 (File)
- Notes for Lecture 7 (File)
- Exercise Set 4 (File)
- Exercise Set 4 with Solutions (File)
- Notes for Lecture 8 (File)
- Exercise Set 5 (File)
- Exercise Set 5 with Solutions (File)
- Notes for Lecture 9 (File)
- Solutions to Problem Set 1 (File)
For lecture 10, we use the lecture notes from Lecture 9.
- Notes for Lecture 11 (File)
- Exercise Set 6 (File)
- Notes for Lecture 12 (File)
- Solutions to exercise set 6 (File)
- OIa's notes for Lecture 12 (File)
- Exercise Set 7 (File)
- Exercise Set 7 with Solutions (File)
- Notes for Lecture 13 (File)
- Notes for Lectures 14 and 15 (File)
- Notes for Lecture 14 (File)
- Exercise set 8 (File)
- Notes for Lectures 14 and 15 (File)
- Problem Set 2 (Assignment)
- Notes for Lecture 16 (File)
- Exercise set 8 with solutions (File)
For lecture 19 we continue with LSH (see notes for Lecture 18).
- Exercise set 9 (File)
- Notes for Lecture 17 (File)
- Midterm (File)
- Midterm solutions (File)
- Notes for Lecture 18 (File)
- Exercise set 9 with solutions (File)
For Lecture 21, see the notes of Lecture 20: we will continue with the minimization of submodular functions and do some problem solving if we have time.
- Exercise set 10 (File)
- Notes for Lectures 19 and 20 (File)
- Exercise set 10 with solutions (File)
- Notes for Lecture 20 (part 2) (File)
- Notes for Lecture 23 (File)
- Exercise Set 12 (File)
- Notes for Lecture 24 (File)
- Solutions to Exercise set 12 (File)
16 December - 20 December
- Final exam 2018-2019 (File)
- Final exam 2019-2020 (File)
- Final exam 2021-2022 (File)
- Final exam 2018-2019 with solutions (File)
- Final exam 2019-2020 with solutions (File)
- Final exam 2021-2022 solutions (File)
- Notes for Lecture 25 (File)
- Exercise set 13 (File)
- Notes for Lectures 25-26 (File)
- Seating assignment for final exam (File)
- Solutions to exercise set 13 (File)
- Solutions to Problem Set 2 (File)