Combinatorics and Graph Theory in Computer Science (Fall 2019)


Time and Location: TTh 12-1:15pm, Hodson 211.

Instructor: Xin Li. Office hours: Wednesday 11:00am-12:00pm, or by appointment.

Syllabus

Course description: This is a graduate level course studying the applications of combinatorics and graph theory in computer science. We will start with some basic combinatorial techniques such as counting and pigeon hole principle, and then move to advanced techniques such as the probabilistic method, spectral graph theory and additive combinatorics. We shall see their applications in various areas in computer science, such as proving lower bounds in computational models, randomized algorithms, coding theory and pseudorandomness.

Pre Requisite: Discrete math. Probability theory and linear algebra highly recommended.

Required Textbook: Stasys Jukna, Extremal Combinatorics: With Applications in Computer Science. 2nd Edition.
Errata

Optional Textbook: N. Alon and J. H. Spencer, "The Probabilistic Method"

List of Tentative Topics:
Basic Techniques:
Counting; Pigeon hole principle and resolution refutation lower bound; Matching and Hall's theorem; The sunflower lemma and formula lower bounds.

The Probabilistic Method:
Basic method; Lovaz local lemma and its constructive proof; Linearity of Expectation; The deletion method; The entropy function and Shearer’s lemma; Random walks and randomized algorithm for CNF formulas

Spectral Graph theory:
Basic properties of graph spectrum; Cheeger's inequality and approximation of graph expansion; Expander graphs and applications to superconcentrators and pseudorandomness; Error correcting codes and expander codes.

Ramsey Type Theorems and Constructions of Ramsey Graphs.
Additive Combinatorics:
Sum product theorem, Szemeredi-Trotter theorem, Kakeya set problem and applications to randomness extractors.