# Combinatorics and Graph Theory in Computer Science (Fall 2021)

**Time and Location:** TTh 1:15-2:45pm, Bloomberg 176.

**Instructor:** Xin Li. **Office hours:** Wednesday 4pm-5pm, 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.

### Topics Covered

- Aug. 31 and Sep. 2: Basic counting, Binomial theorem, Average principle, Double counting, Inclusion and Exclusion.

- Sep. 7 and Sep. 9: Forbidden subgraphs, Zarankiewicz's problem, Covering.

- Sep. 14 and Sep 16: System of Distinct Representations and Matching, Hall's Theorem, Matching in bipartite graphs, Vertex cover.

- Sep. 21 and Sep 23: Augmenting path, Pigeonhole Principle, Erdos-Szekeres Theorem, Mantel's theorem, Turan's theorem, Dilworth's Lemma, Ramsey theorem.

- Sep. 28 and Sep 30: Dirichlet's Theorem, applications in longest increasing subsequence.

- Oct. 5 and Oct. 7: The probabilistic Method, Linearity of expectation.

**Assignments:**
### Further Reading