# Combinatorics and Graph Theory in Computer Science (Spring 2024)

**Time and Location:** TTh 1:15-2:45pm, Hodson 216.

**Instructor:** Xin Li. **Office hours:** Wednesday 3pm-4pm, 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; Matching and Hall's theorem; Chains and Antichains, with applications to LIS.

**The Probabilistic Method:**

Basic method; Lovaz local lemma and its constructive proof; Linearity of Expectation; The deletion method; Concentration bounds; 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.

### Further Reading