Syllabus for COS 593
Advanced Algorithm Design
Bernard Chazelle
TTH 3:00-4:20 (Rm:TBA)
Basic Techniques
dynamic programming
linear time median
epsilon-approximations
Fibonacci/soft heaps
Pseudorandomness
finite fields, Riemann's hypothesis, Weil's thm, etc.
low fourier coefficients via characters
perfect matching
pairwise independence, universal hash functions, expanders (for BPP)
Randomized Algorithms
Schwartz-Zippel (applns to polynomial identities, perfect matching)
fingerprinting (primal/dual methods)
primality testing (solovay-strassen, rabin-miller)
interactive proofs
IP = PSPACE and NP = PCP(log n, 1) [proofs of weakened versions]
Linear Programming
duality via Lagrangian and Farkas' lemma (geometric interpretation)
examples: shortest path, max flow/min cut
game theory (minimax theorem)
ellipsoid method and applications
Karmarkar's algorithm
Semidefinite Programming
quadratic integer programming
goemans-williamson's max-cut algorithm
eigenvalue bound
Lattice Basis Reduction
diophantine approximation (continued fractions, Roth's thm)
simultaneous diophantine approximation (Dirichlet's thm)
the LLL algorithm
applications: integral systems, cryptosystems, Mertens' conjecture
Network Flows
min-cost circulation (eg, max flow, bipartite matching)
residuals, potentials, duality thm, primal-dual approach
algorithms: Klein, Tardos, Goldberg-Tarjan
Quantum computing
model
Shor's algorithms for factoring and discrete log
quantum error-correcting codes
Grover's search algorithm and its geometry