Tentative Course
Outline
- Average-case
analysis, randomized algorithms
- Average case analysis of Quicksort
via linearity of expectations (CLRS Chapters 5 and 7)
- Karger's
randomized min cut algorithm (Wikipedia)
- Las Vegas vs. Monte Carlo algorithms (Wikipedia
Las Vegas, Wikipedia
Monte Carlo)
- KKT randomized minimum
spanning tree algorithm (Wikipedia)
- Luby's algorithm for maximal independent set
in the CONGEST model (reference)
- Computing the expected maximum of n i.i.d.
geometrically distributed random variables using
union and tail bounds (section 5.4.3 in CLRS) to
analyze Luby's (with 0/1 priorities) in a ring
- Topic: Linear Programming
- Reading: CLRS Chapters 29, 22, 24, 25
- Writing vertex cover as a linear program
- Writing maximum cardinality matching
as linear program
- No integrality gap for bipartite graphs
via rounding
- Weak and
strong duality
- Dual
of vertex cover and maximum cardinality matching
- Analysis of augmenting path algorithm
for maximum cardinality bipartite matching using
weak duality
- Writing shortest path as a linear program
- No integrality gap via rounding
- Dual
- Correctness of Bellman-Ford using weak
duality
- Simplex greedy algorithm vs. divide and
conquer Ellipsoid
- Writing
network flow as a linear program (path version and
edge version)
- Dual = min s-t cut using
path LP
- Solving dual of path LP using
Ellipsoid and algorithm for the separation
problem (notes)
- Correctness of Ford-Fulkerson
using weak duality
- Complementary slackness
- Hungarian (Primal-Dual) Algorithm for
min cost perfect bipartite matching and analysis using
complementary slackness
- Topic: Network Flow
- Reading: Chapter 26
- Karp-Edmonds extensions to
Ford-Fulkerson algorithm
- Poly-time, pseudo poly-time, and strong
poly-time
- Push-Relabel network flow algorithm
- Submodularity of cuts and Gormory-Hu trees
(lecture
notes, wikipedia)
- Matroids
- Max/Min weight independent set greedy
algorithm (CLRS Chapter 17)
- Matroid intersection
(lecture notes)
- Topic: Approximation algorithms
- Reading: CLRS Chapter 35
- Traveling Salesman Problem (TSP)
- Minimum spanning tree 2 approximation
- Christofides 3/2 approximation
- Vertex
Cover
- 2
approximation via linear program rounding
- 2-approximation of primal-dual algorithm using dual
fitting (notes)
- Randomized 2 approximation for max cut,
and derandomization using method of conditional
expectations (notes)
- Pseudo-poly time dynamic program and
PTAS for knapsack
- Gap reduction to prove hardness of
approximation for graph coloring
- Topic: Fixed Parameter Tractability
- Reading: (
Lecture notes
)
- Bounded tree search algorithm for vertex
cover
- Kernalization algorithm for vertex
cover
- Equivalence of kernalization and fixed
parameter tractability
- Hardness of dominating set via
parameterized reduction from independent set
- Topic: Problem Complexity, Information
Theoretic and Adversarial Lower Bounds
- Lower bounding worst case and
average case time complexity of a deterministic
algorithm and time for a Las Vegas algorithm using
sorting as an example
- Lower bounding worst-case deterministic
time for a problem
- Omega(n log n) information theoretic
lower bound for sorting
- n-1 information theoretic lower bound
for find the maximum
- 3n/2 information theoretic lower bound
for computing smallest and largest number
- Lower bounding time complexity of a
problem for Las Vegas algorithms
- Von Neumann's minimax theorem for two
person zero sum games and Yao's technique
- Application to sorting
- Topic: Online problems and competitiveness
analysis
- Reading: Chapter 27
- Ski Rental / Elevator waiting
- Paging
- upper bound and resource augmentation
analysis of LRU
- Adversarial lower bound
- Randomized lower bound using Yao's
technique
- List Update
- 2-competiveness of Move to Front for
List Update via potential function
- Topic: Online Learning From Experts and Regret Analysis
of online problems
- Multiplicative Weights: Analysis
of the weighted majority and randomized weighted majority
algorithms
- Multiplicative Weights to solve
covering/packing linear programs: (notes 1, notes 2)