Times Tue Thu 11:00am - 12:15pm
Location McCullough 115
Instructor John Tomlin (jtomlin5 at stanford) Office Hours By appointment
Course Assistants Bertrand Decoster decoster at stanford Tue 10-11 AM
Thu 10-11 AM
iCME Huang building basement

Required Texts

Recommended Texts

Topics

This course is targeting doctorate students with strong foundations in mathematics who wish to become more familiar with the design and analysis of discrete algorithms. An undergraduate course in algorithms is not a prerequisite, only familiarity with basic notions in linear algebra and discrete mathematics.
  1. Graph Theory, Random walks and spanning trees
    • The random walk connection
    • The eigenvalue connection: matrices and graphs
    • Markov chains
    • Pagerank
  2. Networks and flows
    • Definitions
    • Max flows and min cuts
    • Minimum cost flow
    • Multicommodity flow
    • Dynamic network flow (*)
  3. Linear programming
    • Problem formulation
    • Duality
    • The simplex method
    • Unimodularity
    • Reductions and applications
  4. Integer Programming
    • IP and MIP
    • Cutting Planes
    • Branch and bound, branch and cut
  5. Complexity(*)
    • P versus NP. NP-completeness
    • The primal-dual method. Randomized rounding methods
    • Semi-definite relaxations and maximum cut
    • Traveling Salesman Problems (TSP) (*)
  6. Algorithms and games (time permitting)(*)
    • The stable marriage problem and applications
    • Algorithms for Nash and market equilibria

Starred sections indicate advanced topics

Course Requirements

The requirements for this course are four homeworks (one every two weeks approximately), an in-class midterm examination and a final exam.