Courses
  • IITGN
  • Online
  • Short Courses
  • Other

CS 614 | Jan-Apr 2022

CS614. Advanced Algorithms

January β€” April 2023
About the Course

This course will explores the tradeoffs involved in coping with NP-completeness.

When we think about designing algorithms, we are usually very demanding in how we go about it: we require our algorithms to be fast and accurate on all conceivable inputs. This is asking for quite a bit, and perhaps it is not surprising that we cannot afford this luxury all the time. The good news is that most of the time we can make meaningful progress by relaxing just one of these demands:

  1. Give up on accuracy, but not completely: look for solutions that are good enough (approximation) and/or work with algorithms that report the right solution most of the time (Las-Vegas style randomization).

  2. Give up on coverage, a little bit: let your algorithms work well on structured inputs. Hopefully the structure is such that it is not too limiting and is interesting enough for some application scenario, and is also enough to give you algorithmic leverage, i.e, there’s enough that you can exploit to make fast and accurate algorithms.

  3. Give up on speed, to some extent: going beyond the traditional allowance of polynomial time, which is the holy grail of what is considered efficient, takes you places. You could either allow for your algorithms have super-polynomial running times, and optimize as much as possible while being accurate on all inputs (exact algorithms), or allow for bad running times on a bounded subset of instances (Monte-Carlo style randomization).

This course is an introduction to techniques in achieving specific trade-offs, and understanding the theoretical foundations of frameworks that help us establish when certain tradeoffs are simply not feasible.

Fig. Exploring tradeoffs between the demands of accuracy, speed, and coverage.
Target Audience

Anyone who is biting their nails from the NP-completeness cliffhanger at the end of their introduction to algorithms will probably enjoy this course.

Prerequisites

This is a theoretical course that will require mathematical maturity (in particular, the ability to understand and write formal mathematical proofs), and some background in the design and analysis of algorithms. Programming experience is tangentially useful but not necessary. For students of IITGN, this course naturally follows up on DSA-II.

References
  1. The Design of Approximation Algorithms β€’ David P. Williamson and David B. Shmoys
  2. Parameterized Algorithms β€’ Marek Cygan, Fedor V. Fomin, Lukasz Kowalik, Daniel Lokshtanov, Daniel Marx, Marcin Pilipczuk, Michal Pilipczuk, and Saket Saurabh
  3. Randomized Algorithms β€’ Motwani and Raghavan
  4. Beyond the Worst-Case Analysis of Algorithms β€’ Tim Roughgarden
  5. Algorithms β€’ Jeff Erickson

Specific Pointers:

  1. Matroids: Erickson, the entire chapter and Section 12.2.1 from Parameterized Algorithms.
  2. Vertex Cover:
    • Branching: see Section 3.1 in Parameterized Algorithms.
    • Kernels: see Section 2.2.1 for the simple kernel, and Section 2.3.1 for the kernel based on Crown Decomposition in Parameterized Algorithms.
    • 2-approximation via matchings and LP: Section 21.3 in these notes.
  3. Set Cover:
    • \(f\)-Approximation via LP rounding: Section 1.2 and 1.3 in The Design of Approximation Algorithms.
    • Rounding a dual solution: Sections 1.4 and 1.5 in The Design of Approximation Algorithms. Also see Chapter A in the appendix for more background on weak duality and complementary slackness.
    • Greedy approximation: Section 1.6 in The Design of Approximation Algorithms.
  4. Feedback Vertex Set:
    • The \(O(\log n)\)-approximation: Section 7.2 in The Design of Approximation Algorithms.
    • The \(2\)-approximation: Section 14.2 in The Design of Approximation Algorithms.
  5. Miscellaneous
    • Color Coding: Section 5.2 in Parameterized Algorithms.
    • Inclusion-Exclusion for Hamiltonian Path: Section 10.1.1 in Parameterized Algorithms.
Timings and Venue
  • Lectures on Mondays: 9PM β€” 10:30PM (7/206)
  • Lectures on Wednesdays: 2PM β€” 3:30PM (7/206)
  • Office Hours: By email.
Evaluation policy
  • Each of the three exams account for 20% of the grade.
  • Each class will have a quiz worth 2 points. The quizzes will be integrated into the lecture via Mentimeter. The total number of points you can earn through quizzes is capped at 40, and accounts for 40% of the grade.
  • The are three assignments that are not graded but are recommended for practice.
Register

For IITGN students, (pre-)register through IMS as usual and on Gradescope via course code 485628.

If you are not from IITGN and are interested in taking up the course, then please send me an email.

  • Lectures
  • Quizzes
  • Exams
  • Reflections
Date Lecture Slides Notes Video
04 Jan, 2023 1. Matroids and Greedy Algorithms - I
Matroids - definitions and examples β€’ GreedyBasis Algorithm β€’ Example: Scheduling with Deadlines
09 Jan, 2023 2. Matroids and Greedy Algorithms - II
Proof of correctness of GreedyBasis
11 Jan, 2023 3. Matroid Intersection - I
Matroid Intersection and Matroid Parity (Section 12.2.1) β€’ Connections with Matchings β€’ 3-Matroid Intersection is NP-complete (Theorem 12.6)
16 Jan, 2023 4. Matroid Intersection - II
A polynomial time algorithm for Matroid Intersection
18 Jan, 2023 5. Vertex Cover
Definition β€’ Applications β€’ Introduction to Approximation Algorithms β€’ 2-approximation for Vertex Cover via maximal matchings
23 Jan, 2023 6. Vertex Cover
Introduction to Linear Programming β€’ 2-approximation via rounding β€’ A simple randomized algorithm for Vertex Cover
25 Jan, 2023 7. Vertex Cover
Introduction to Fixed-Parameter Tractability β€’ An O(2^k) FPT algorithm by branching
01 Feb, 2023 8. Vertex Cover
Introduction to Kernelization β€’ A Quadratic Kernel for Vertex Cover based on degree reductions
02 Feb, 2023 9. Vertex Cover
A Linear Kernel for Vertex Cover based on the LP formulation
13 Feb, 2023 10. Set Cover
A Greedy Approximation Algorithm β€’ A LP formulation
15 Feb, 2023 11. Set Cover
Dual LP formulation β€’ Weak Duality β€’ Complementary Slackness Conditions β€’ Rounding a Dual Solution
20 Feb, 2023 12. Detour: Long Path
Principle of Inclusion-Exclusion for a poly-space single-exponential algorithm for HAMPATH β€’ Color Coding for Longest Path
22 Feb, 2023 13. Feedback Vertex Set
Dual LP Recap β€’ Introduction to Feedback Vertex Set
27 Feb, 2023 14. Feedback Vertex Set
A first Primal-Dual-based O(log n)-approximation for FVS
01 Mar, 2023 15. No Class
13 Mar, 2023 16. Feedback Vertex Set
A 2-approximation algorithm for FVS: motivating the formulation
15 Mar, 2023 17. Feedback Vertex Set
A 2-approximation algorithm for FVS: the key combinatorial lemma
20 Mar, 2023 18. Feedback Vertex Set
Iterative Compression β€’ An O*(3.619^k) algorithm for FVS on general graphs
27 Mar, 2023 19. Lower Bounds
Introduction to NP-completeness β€’ 3-Partition and friends β€’ Multiprocessor Scheduling β€’ Packing rectangles into a rectangle
29 Mar, 2023 20. Lower Bounds
Reductions from 3-Partition
03 Apr, 2023 21. Lower Bounds
SAT and Circuit SAT β€’ CNF SAT β€’ 3SAT β€’ 3SAT-4 β€’ Monotone 3SAT β€’ Polynomial-time variants
05 Apr, 2023 22. Lower Bounds
Schaefer's Dichotomy Theorem β€’ 2-colorable perfect matching
10 Apr, 2023 23. Lower Bounds
Parameterized Intractability β€’ The W-hierarchy β€’ Reductions from CLIQUE
12 Apr, 2023 24. Lower Bounds
Kernel Lower Bounds β€’ Composition and Distillation β€’ Examples of compositions β€’ Parameter preserving transformations
17 Apr, 2023 25. Lower Bounds
The (Strong) Exponential Time Hypothesis β€’ Sparsification Lemma β€’ Implications for parameterized algorithms
19 Apr, 2023 26. Lower Bounds
Reductions based on the ETH
24 Apr, 2023 27. Lower Bounds
Inapproximability Introduction β€’ NP optimization problems β€’ PTAS, APX β€’ Stronger notions of reductions that preserve approximability β€’ APX-hardness of vertex cover
26 Apr, 2023 28. Lower Bounds
Gap Inapproximability β€’ Gap Problems β€’ Gap-producing and gap-preserving reductions β€’ PCP theorem β€’ Unique Games Conjecture
No matching items
Issued Assessment Problems Solutions Due
09 Jan, 2023 Matroids and Greedy Algorithms - II

Proof of correctness of GreedyBasis

11 Jan, 2023 Matroid Intersection - I

Matroid Intersection and Matroid Parity (Section 12.2.1) β€’ Connections with Matchings β€’ 3-Matroid Intersection is NP-complete (Theorem 12.6)

16 Jan, 2023 Matroid Intersection - II

A polynomial time algorithm for Matroid Intersection

18 Jan, 2023 Vertex Cover

Definition β€’ Applications β€’ Introduction to Approximation Algorithms β€’ 2-approximation for Vertex Cover via maximal matchings

23 Jan, 2023 Vertex Cover

Introduction to Linear Programming β€’ 2-approximation via rounding β€’ A simple randomized algorithm for Vertex Cover

25 Jan, 2023 Vertex Cover

Introduction to Fixed-Parameter Tractability β€’ An O(2^k) FPT algorithm by branching

01 Feb, 2023 Vertex Cover

Introduction to Kernelization β€’ A Quadratic Kernel for Vertex Cover based on degree reductions

03 Feb, 2023 Vertex Cover

A Linear Kernel for Vertex Cover based on the LP formulation

27 Mar, 2023 Set Cover

A Greedy Approximation Algorithm β€’ A LP formulation

27 Mar, 2023 Detour: Long Path

Principle of Inclusion-Exclusion for a poly-space single-exponential algorithm for HAMPATH β€’ Color Coding for Longest Path

27 Mar, 2023 Feedback Vertex Set

An O(log n)-approximation via primal dual

27 Mar, 2023 Feedback Vertex Set

A 2-approximation algorithm using a different LP formulation

27 Mar, 2023 Feedback Vertex Set

Iterative Compression β€’ An O*(3.619^k) algorithm for FVS on general graphs β€’ A polynomial-time algorithm on graphs of maximum degree 3

27 Mar, 2023 Lower Bounds

Introduction to NP-completeness β€’ 3-Partition and friends β€’ Multiprocessor Scheduling β€’ Packing rectangles into a rectangle

29 Mar, 2023 Lower Bounds

Reductions from 3-Partition

05 Apr, 2023 Lower Bounds

Schaefer's Dichotomy Theorem β€’ 2-colorable perfect matching

No matching items
Issued Assessment Problems Solutions Due
18 Feb, 2023 Exam 1

27 Mar, 2023 Exam 2

26 Apr, 2023 Exam 3

No matching items

This course had seven attendees, and included Btech/Mtech/PhD students.

I’d like to thank everyone for keeping all the classes β€” which were all traditional whiteboard lectuers β€” very interactive, and frequently helping me out with several arguments. Everyone also put in a lot of effort everyone into the various assessments: kudos on your successful completion of the course!

Made with Quarto and 🩢

 

Content by Neeldhara Misra