CS 261: Optimization and Algorithmic Paradigm

Spring 2021-22

MW 1:30-3:00pm, Gates B12
No recordings available; attendance is not mandatory, but please don't sign up for this class if you anticipate missing several lectures since it will be hard for you to stay up to date with the class.

INSTRUCTOR
Ashish Goel
ashishg@stanford.edu, 650 814 1478
Office Hours:
Th 5-6:00 pm, Huang B015, starting week 2
Th 6-6:30 pm on zoom, starting week 2 (the zoom sessions will go till 7 on weeks the HW is due)

TEACHING ASSISTANTs
Wenzheng Li, wzli@stanford.edu
Office hours: Wed 5-6, Huang B015 (the OH will go till 7 on weeks a HW is due)

Bryan Cai, bxcai@stanford.edu
Office hours: M 7-8, zoom

Please use the email cs261-spr2122-staff@lists.stanford.edu for the fastest response time.

Please sign on to Gradescope and Ed Stem for HW submission and for the course forum respectively (use these sign-in links). Please use the forum often, since your questions may get answered by other students and other students may also benefit from answers by the course staff.

TOPICS
The first half of the class will use Linear Programming as a lens to study several classical algorithmic problems: max-flow, matchings, min-cost flow and applications, convex optimization, sequential decision making, and approximation algorithms. We will then spend some time discussing sketching, an increasingly useful tool in algorithms design, getting an introduction to Bayesian decision making, and exploring approximation algorithms. We will also discuss special topics like stable marriages and market equilibria.

Traditionally, algorithms classes emphasize running time, memory usage, and approximation ratios. But increasingly, algorithms are used to inform the design of complex socio-economic systems. While a bulk of this class will still primarily use traditional metrics for evaluating algorithms, we will also pay special attention to modeling aspects of algorithms design, and how algorithmic analysis can be used to provide insight into the performance of the underlying socio-economic system, along dimensions such as revenue, incentive-compatibility, efficiency, and robustness.

We will use a mix of old notes by Tim Roughgarden, notes made for an earlier version of the class, and new notes. But the notes will not a substitute for attending lectures.

Feel free to check out an earlier version of this class for an approximate preview of the notes and exercises.

From the Course Bulletin

Algorithms for network optimization: max-flow, min-cost flow, matching, assignment, and min-cut problems. Introduction to linear programming. Use of LP duality for design and analysis of algorithms. Approximation algorithms for NP-complete problems such as Steiner Trees, Traveling Salesman, and scheduling problems. Randomized algorithms. Introduction to online algorithms.

Prerequisite: 161 or equivalent.


REQUIREMENTS
The course requirements will be:
  1. 80% of your grade will be based on 4 HW sets (released during weeks 3, 5, 7, and 9, and due on the Fridays of weeks 4, 6, 8, and 10. You will be asked to do the HWs in groups of 3 (or in exceptional situations, 2). Let us know if you need help forming a group.
  2. The remaining 20% of your grade will be based on a project that you can do in groups of 2 or 3. Topics will be handed out at the end of week 4 and a preliminary (2-3 page) report outlining your approach will be due the Fri of week 7 (May 13th). You will get feedback the next week. A brief summary (a few sentences) of additional progress will be due Fri May 27th, and a final report will be due on Mon June 5. There is no page limit or page requirement for the final report. You can opt for a take-home final exam in lieu of the project if you prefer.
  3. The take-home exam will be a 120 minute exam that you can take during any 135 minute slot (to allow 5 minutes to download and 10 minutes to scan and upload the exam) between 5pm Mon June 6 and 5pm Tue June 7. Someone from teh course staff will monitor Ed Stem in real time from 5-9pm on M and noon-3pm on Tue, so those would be specially good slots.
  4. We will also provide occasional exercise sets, which will be an important part of the learning of the class, but not graded. You don't have to turn these in, but please do catch us during office hours or after class to ask any questions or discuss your answers.

NOTES AND HANDOUTS (needs sign in; currently empty)

STANFORD AUDITORS
Please sign in to the mailing list cs261-spr2122-guests@lists.stanford.edu at mailman and also let us know and we will add you to Ed Stem (if you are a Stanford student).