COMBINATORIAL OPTIMIZATION, ALGORITHMS AND RANDOM STRUCTURES


1) Recurrences, induction and generating functions
2) Average-case analysis of simple algorithms
3) Introduction to graph theory
4) Algorithms over graphs
5) Data structures and trees
6) Combinatorial search: backtracking and dynamic programming
7) Probabilistic Algorithms and Randomized Search
8) Complexity theory I: basics
9) Complexity theory II: NP-completeness
10) Coping with NP-completeness: heuristics (Approximation algorithms, branch-and-bound and backtracking, local search and simulated annealing).
11) Information theory I: Source and channel coding
12) Information theory II: elements of cryptography
13) Random structures: families of random graphs or networks (including the scale-free structures) and percolation theory
14) Optimization over random structures: typical-case complexity and phase transitions

Text books:
1) "Introduction to Algorithms", T.H. Cormen, C.E. Leiserson, R.L. Rivest, MIT Press, (2000)
2) Concrete Mathematics, R.L. Graham, D. E. Knuth, and O. Patashnik, Addison-Wesley, 1994
3) Computational Complexity, C.H. Papadimitriou, Addison Wesley (1994)or Combinatorial optimization: algorithms and complexity (Prentice-Hall 1982, C.H. Papadimitriou, K. Steiglitz; second edition by Dover, 1998)
4) M. R. Garey and D. S. Johnson. Computer and Intractability. A Guide to NP-Completeness. W. H. Freeman, 1979.
5) Randomized Algorithms, R. Motwani, P.Raghavan,Cambridge University Press (1995)
6) Information Theory, Inference, and Learning Algorithms, D.J.C. MacKay, Cambridge University Press, 2003
 

Lecture Notes:
1) Random graphs, J. Spencer (Courant)
2) Introduction to Monte Carlo Algorithms, W. Krauth (ENS-Paris)
3) A theoretician's Guide to the Experimental Analysis of Algorithms, D.S. Johnson (AT\&T Labs)
 

Handouts on scale-free graphs, cryptography, typical-case complexity