Randomized and Approximation Algorithms
Arizona State University, Fall 2022
When: Mondays and Wednesdays 1:30–2:45pm
Where: CAVC 359
Instructor: Zilin Jiang ([email protected])
Office hours: Friday 3:30–4:30pm over Zoom (subject to change depending on the demand)
Course description
Prerequisites: A strong undergraduate background in Algorithms, Discrete Probability, and Combinatorics.
Primary references:
- Rajeev Motwani and Prabhakar Raghavan. Randomized algorithms. Cambridge University Press, 1995.
- Vijay V. Vazirani. Approximation algorithms (Vol. 1). Berlin: Springer, 2001.
Onboarding:
- Please fill out the pre-semester questionnaire.
- Learn how to use LaTeX (I recommend the tutorials on Overleaf).
Asking questions: For class-related questions, it is best to come to office hours.
Grading
Homework 60% + Midterm 15% + Final 25%.
No make-up test will be given unless a student has notified the instructor before the test is given.
- Midterm: 1:30–2:45 PM, October 12, 2022, CAVC 359.
- Final: 2:30–4:20 PM, December 5, 2022, CAVC 359.
Assignments
You are strongly encouraged to do as much homework as possible individually; you will gain the most out of the course this way.
Sources and collaboration policy. Collaboration and use of external sources are permitted, but must be fully acknowledged and cited. Collaboration may involve only discussion; all the writing must be done individually. Failure to do so will be treated as cheating.
Late policy and grade appeal policy. In general no late homework will be accepted unless there is a genuine emergency backed up by official documents. No grade appeal will be considered after one week of the posting of the grade for any assignment.
There will be 6 assignments.
- Assignment 1 (due on Sept 4, 2022)
- Assignment 2 (due on Sept 18, 2022)
- Assignment 3 (due on Oct 2, 2022; extended to Oct 5, 2022)
- Assignment 4 (due on Oct 30, 2022)
- Assignment 5 (due on Nov 13, 2022; extended to Nov 15, 2022)
- Assignment 6 (due on Nov 30, 2022; extended to Dec 1, 2022)
Schedule
Week 1
- Aug 22. Main benefits of randomized algorithms; distinguish average-case analysis; linearity of expectation; randomized quicksort; binary space partitioning.
- Aug 24. Binary space partitioning (BSP) tree; painter's algorithm; randomized autopartition; randomized algorithm for MinCut; edge contraction.
Week 2
- Aug 29. Analysis of RandMinCut; Turing machines and RAMs; complexity classes as sets of languages; ZPP, RP, and PP.
- Aug 31. BPP; NP ⊆ RP; Adelman's theorem RP ⊆ P/poly; game tree evaluations.
Week 3
- Sep 5: No class (Labor day)
- Sep 7. Deterministic, non-deterministic and randomized algorithms for game tree evaluations; basics of game theory — payoff matrix, optimal strategy and solution.
Week 4
- Sep 12. Mixed strategies; von Neumann's minimax theorem; Loomis' restatement; Yao's minimax method; a lower bound on the cost of game tree evaluations.
- Sep 14. Coupon collection; stable marriage and its average case analysis; principle of deferred decision; stochastic domination; Markov's inequality; ZPP = RP ∩ co-RP.
Week 5
- Sep 19. Chebyshev's inequality; coupon collection; median finding.
- Sep 21. Pairwise independence; conservation of randomness; the Chernoff bound.
Week 6
- Sep 26. Set balancing; permutation routing problem on hypercube.
- Sep 28. Wiring problem; randomized rounding; basic applications of probabilistic methods.
Week 7
- Oct 3. Lovász local lemma (lopsided and symmetric versions); applications to injective functions and a k-SAT problem.
- Oct 5. Algorithmic proof of Lovász local lemma; Moser's fix-it algorithm; expanding graphs; OR-concentrators.
Week 8
- Oct 10: No class (Fall break)
- Oct 12: Midterm
Week 9
- Oct 17. Probabilistic application via expanding graphs; 2SAT; Markov chains.
- Oct 19. Graph and stationary distribution of Markov chains; the fundamental theorem of Markov chains; random walks on (undirected) graphs; hitting time, commute time and cover time.
Week 10
- Oct 24. Electric network and commute time.
- Oct 26. Bounds on cover time; eigenvalues of graphs; expanders.
Week 11
- Oct 31. Expansion and spectral gap of expanders; Gabber–Galil expanders, random walk on expanders and probability amplification.
- Nov 2. Fingerprinting by vector multiplication (Freivald's method), by modulo a random prime, and by polynomial evaluation at a random point.
Week 12
- Nov 7. Multivariate polynomials and the Schwartz–Zippel theorem; the graph isomorphism and non-isomorphism problems.
- Nov 9. Interactive proof system; NP and IP; #3SAT ∈ IP.
Week 13
- Nov 14. Cardinality vertex cover problem; Set cover problem.
- Nov 16. Steiner tree and metric Steiner tree problems; approximation factor preserving reduction; traveling salesman problem and its impossibility of approximation algorithms; metric traveling salesman problem.
Week 14
- Nov 21. Metric traveling salesman problem; multiway cut problem; min k-cut problem.
- Nov 23. Gomory–Hu trees; approximation algorithm for min k-cut problem; metric k-center.
Week 15
- Nov 28. Approximation algorithm for the metric k-center problem; knapsack problem; polynomial time approximation scheme (PTAS) and fully polynomial time approximation scheme (FPTAS).
- Nov 30. Semidefinite programming; max-cut problem; the Goemans–Williamson algorithm.