CS 4960/6960: Algorithms, Geometry, and Optimization


Course Outline

This course will cover some of the modern paradigms in algorithm design, motivated by applications like data streaming, dimensionality reduction, graph partitioning, and so on. The goal of the course is to give a high level flavor of several different techniques, though we will also go fairly deep into some of them. The course is structured into four "modules":

  1. Randomized algorithms
  2. Relaxations (linear & convex)
  3. Graph analysis (random walks, linear algebra view of graphs)
  4. Efficient algorithms via optimization, multiplicative weight update

For more details on what I will cover in each module, see the tentative schedule below.

Quick Links:   Lecture schedule, Homework


Prerequisites

There are no formal prerequisites, but students are expected to have a good grasp of the basic concepts in probability, linear algebra, and graph theory. They should also be comfortable with mathematical proofs and basic algorithm design (e.g., CS 4150 or equivalent).

Logistics

Lecture time & location: Mon/Wed (11:50am - 1:10pm), WBB 617

Instructor office hours: Monday after class (2-3 pm), MEB 3470. I am happy to meet students outside of these hours. To schedule a meeting, please send email to a.bhaskara AT utah.edu

TA and office hours: The TA for the course is Prasanth Yalamanchili. His office hours are TBD

Grading

The course will have four homeworks, each contributing 15% of the final grade (total of 60%). There will be a take-home midterm exam, which will be handed out on the Monday before the spring break (Feb 26) and it will be due on Wednesday (Feb 28). The midterm contributes 20% of the course grade. The other 20% is based on a writing assignment, the details of which I will give out in February.


Class Schedule, Notes

There is no single textbook for the course. We will be drawing from several sources, and I will post references (or lecture notes) each week.

A) Randomized Algorithms

Week 1

- Finding hay in a haystack; examples: probabilistic method (e.g., constructing an error correcting code), testing matrix multiplication
- Randomized vs deterministic algorithms: success probability, expected running time (Las Vegas vs Monte Carlo); probability amplification
- Quicksort, Sampling and estimation
- Concentration, Markov's inequality
Draft Lecture Notes

Week 2

- Chernoff and Bernstein inequalities, union bound
- Application to dimension reduction (Johnson-Lindenstrauss lemma)
- Construction of error correcting codes
(Here is the video recording of Lecture #4, where we covered the Johnson Lindenstrauss lemma. Here are the pdf slides. Also, here are some lecture notes that contain the details that we skipped.)

Week 3

- Streaming algorithms: number of distinct elements, frequency moments; frequent elements (count sketch)
- Lower bounds on randomized algorithms(?)
- More examples: Max 3-SAT, Random walks, randomized rounding, ... (?)


B) Convex programming, relax-and-round paradigm

Lecture 7 (Jan 31)

- Linear programming, convex optimization
- Extreme points and the simplex algorithm (outline)
- Reading: Chapters 1, 2, and 5 of Matousek and Gartner's Book

Lecture 8 (Feb 5)

- Ellipsoid algorithm, separation oracles
- Reading: Lecture notes by Goemans (look out for two things we skipped: proving a lower bound on the volume assuming feasibility, and the example of matching)

Lecture 9 (Feb 7)

- LP relaxations for discrete problems; Examples: matching, vertex cover
- Relax and round paradigm
- Bipartite matching polytope is integral
- 2 approximation for vertex cover using an LP relaxation
- Reading: Chapter 3 of Matousek and Gartner's Book

Lecture 10 (Feb 12)

- LP for Set Cover and Randomized rounding
- Facility location: introduction and LP relaxation
- Example fractional solutions
- Reading: These lecture notes do a slightly different rounding compared to what we saw in class, but the idea is basically the same. The notes also cover the original application that introduced randomized rounding.

Lecture 11 (Feb 14)

- Rounding the Facility Location LP
- Randomized rounding (incurs overhead of a (log n) factor, see Homework)
- Constant factor approximation
- Reading: Section 9.2 of these notes
- Related problems: k-median and k-means.

Lecture 12 (Feb 21)

- Summary of the relax-and-round paradigm
(Optional reading: some notes from a previous offering.)
- Other relaxations: Semidefinite programming as "vector programs"
- Max Cut: Goemans-Williamson algorithm
- Analysis of random hyperplane rounding
- Reading: Chapter 1 of the book of Gartner and Matousek.

Lecture 13 (Feb 26)

- Semidefinite programming: formulation as LP with matrix variables and infinitely many constraints
- Efficient separation oracle
- Cholesky decomposition and finding vector solution
- Other examples of SDP algorithms: 3-coloring (Karger, Motwani, Sudan), quadratic programming
- Reading: Chapter 13 of this excellent book.

C) Graph analysis

Lecture 14 (Feb 28)

- Introduction, graph partitioning
- Balanced cut, sparsity (and the sparsest cut problem)
- Example:2 sparsest cuts in some basic graphs (complete graph, n-cycle, 2-D grid)
- Tangent 1: Max-flow Min-cut theorem (see these lecture slides)
- Tangent 2: Hardness of approximation vs NP-hardness (see Chapter 16 of the book referred to above; the first section contains a couple of basic reductions)
- Reading: Old lecture notes on partitioning and objectives.

Lecture 15 (Mar 11)

- Sparsest cut problem, derivation of continuous relaxation
- Adjacency matrix and Laplacian of graphs
- Reading: Lecture notes on partitioning and objectives.

Lecture 16 (Mar 13)

- Laplacian quadratic form and sparsest cut
- Recap of basic linear algebra -- eigenvalues & eigenvectors of a symmetric matrix, spectral decomposition
- Eigenvalues of a Laplacian & number of connected components
- Top eigenvalue/vector as optimizing a quadratic form (or Rayleigh coefficient)
- Reading: Lecture notes -- also discusses how to deal with non-regular graphs

Lecture 17 (Mar 18)

- Second eigenvector of Laplacian and sparsest cut
- Cheeger's inequality + very rough sketch of proof (a similar treatment can be found in these notes); for a proof, see my notes from a previous offering; the notation is slightly different, so please pay attention!
- Power iteration for finding the top eigenvalue/vector
- Analysis in terms of eigenvalue gap
- More reading: Notes on the power method. A classic paper on how spectral clustering recoves a "good" partition in planar graphs
- A video with some example graphs and how spectral partitioning performs (ff to 3:00). Also, one of the top "cited" papers in CS (over 20k citations) is an application of spectral partitioning to image segmentation

Lecture 18 (Mar 20)

- Spectral partitioning review
- Random walks in undirected graphs: walk on a line and Brownian motion
- The random walk transition matrix
- Random walk as power iteration
- Reading: Old Lecture notes
- Optional reading: Link to Einstein's paper on Brownian motion (only Sections 4 & 5 seem relevant!). Elegant book of Doyle and Snell on random walks and their connection to electrical networks

Lecture 19 (Mar 25)

- Stationary probability distribution (in terms of degrees)
- Convergence to stationary distribution, notion of "mixing time"
- "Applications" of random walks
- Random walk on a line revisited (quadratic time bound) - 2-Satisfiability -- algorithm using random walks (see these notes for more details; another reference)
- Graph search (connectivity) in Log space

Lecture 20 (Mar 27)

- Log-space algorithm for graph search (see these notes for some of the details that we skipped)
- Volume of a convex body given membership oracle
- Lower bound for any deterministic algorithm
- Randomized algorithm using sampling within K ("dart throwing") - Reading: Lecture notes by Santosh Vempala for details on the lower bound of Elekes

Lecture 21 (Apr 1)

- Approximating volume: two steps -- (i) sampling => volume estimation, (ii) algorithms for sampling via random walks
- Slides used for recap and overview
- Reading: Lecture notes by Santosh Vempala; those interested can find a link to the analysis of the Ball walk
- Introduction -- learning with expert advice
- Reading: Some lecture notes. Also see the introductory part of this classic survey

D) Efficient algorithm design from "online" optimization

Lecture 22 (Apr 3)

- Learning with expert advice
- The weighted majority algorithm (deterministic) and analysis
- Multiplicative weight update (MWU) rule, discussion on implementation
- Reading: Notes linked above

Lecture 23 (Apr 8)

- Learning with expert advice
- Randomized sampling algorithm, (1+epsilon) approximation
- The "loss" viewpoint on the randomized analysis
- Linear classification
- Reading: Lecture notes (these cover the weighted majority algorithm as well; sections 4 & 5 are most relevant for this lecture)

Lecture 24 (Apr 10)

- (Relevant aside) Perceptron algorithm. Reading: Lecture notes
- Winnow algorithm is very similar, but based on learning with expert predictions. Reading: Lecture notes
- Introductio to solving linear programs using the MWU framework

Lecture 25 (Apr 15)

- How to solve a linear program using the MWU framework
- Reading: These lecture notes

Lectures 26 and 27 -- COURSE REVIEW --

- Reading: Notes about the centroid based algorithm for solving LP and other optimization problems

Homeworks

We will have one homework every 3 weeks. You will have two weeks to complete each HW. I will put out the homework on Wednesdays.

References/Additional Material

Apart from the lecture notes, the following references (books, links to other course notes, etc) could be useful for interested students. If you find references that you think others would benefit from, please let me know.

Books and Surveys:
Writing assignment:

Here I will post some interesting papers on the topics we covered in class. You will need to pick one of the papers and write a two-page summary of it. The goal is to learn how to summarize the essential ideas from a research paper (better than ChatGPT!). Make sure you mention (a) the motivation/background (b) the result, (c) key ideas in the proof, and (d) a rough description of the technical details. Especially for part (a), you might need to read a few prior works as well.

  1. Parallel Algorithms for Maximal Independent Set: two papers, one by Alon, Babai, and Itai, (Link), and another by Alon, et al. about how "nature" solves it. (Link)
  2. Approximate Graph Coloring by Semidefinite Programming, by Karger, Motwani, and Sudan. (Link)
  3. Approximating the Cut Norm via Grothendieck's Inequality, by Alon and Naor. (Link)
  4. Polynomial time approximation schemes for Euclidean traveling salesman and other geometric problems, by Sanjeev Arora. (Link)
  5. Local Graph Partitioning using PageRank Vectors, by Anderson, Chung, and Lang. (Link)
  6. Max Cut and the Smallest Eigenvalue, by Luca Trevisan. (Link)
  7. Many Sparse Cuts via Higher Eigenvalues, by Louis, Raghavendra, Tetali, and Vempala. (Link). An alternative is this paper by Lee, Oveis Gharan, and Trevisan.
  8. Twice-Ramanujan sparsifiers, by Batson, Spielman, and Srivastava. (Link)
  9. Linear Time Solvers for Laplacian System of Equations, by Koutis, Miller, and Peng. (Link). See also lecture notes from a course by Satish Rao.
  10. Geometry of Graphs and Algorithmic Applications, by Linial, London, and Rabinovich. (Link)
  11. A random polynomial-time algorithm for approximating the volume of convex bodies, by Dyer, Frieze, and Kannan. (Link)
  12. (Advanced Students Only) The Subspace Flatness Conjecture and Faster Integer Programming, by Reis and Rothvoss. (Link)
  13. A sieve algorithm for the shortest lattice vector problem, by Ajtai, Kumar, and Sivakumar. (Link) See also these lecture notes.
  14. Online k-server via multi-scale entropic regularization, by Bubeck, Cohen, Lee, Lee, Madry. (Link)
  15. Chasing Convex Bodies, by Argue, Gupta, Guruganesh, Tang. (Link). An alternative is this paper by Sellke.
  16. How Bad is Selfish Routing?, by Roughgarden and Tardos. (Link)
  17. Smoothed Analysis: Why The Simplex Algorithm Usually Takes Polynomial Time, by Spielman and Teng. (Link)
  18. CHOOSE YOUR OWN! (You need to ask the instructor for an OK before March 18)



Aditya Bhaskara (Spring 2024). If you have questions/suggestions/corrections, please email: a.bhaskara AT utah DOT edu