# 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.

### Topics Covered

• Sep. 3 and Sep. 5: Basic counting, Binomial theorem, Average principle, Double counting, Inclusion and Exclusion.

• Sep. 10 and Sep. 12: Forbidden subgraphs, Mantel's theorem, Turan's theorem, Zarankiewicz's problem.

• Sep. 17 and Sep 19: Covering, System of Distinct Representations and Matching, Hall's Theorem.

• Sep. 24 and Sep 26: Matching in bipartite graphs, Vertex cover, augmenting path, beiginning Pigeonhole Principle.

• Oct. 1 and Oct. 3: Erdos-Szekeres Theorem, Dilworth's Lemma, Dirichlet's Theorem, graph coloring and Ramsey theorem, beginning the probabilistic method

• Oct. 8 and Oct. 11: Linearity of expectation, Razborov's proof that MAJ has large AC0 circuit size, beginning Lovasz Local Lemma.

• Oct. 15 and Oct. 17: Applications of Lovasz Local Lemma, Midterm exam.

• Oct. 22 and Oct. 24: Constructive algorithms of Lovasz Local Lemma, random walk algorithms for 2SAT and 3SAT.

• Oct. 29 and Oct. 31: Hitting time and cover time of random walks, Cheeger's Inequality the first direction.

• Nov. 5 and Nov. 7: Cheeger's Inequality and spectral graph partition, bound on eigenvalues, and expander mixing lemma.

• Nov. 12 and Nov. 14: Error correcting codes, singleton bound, Hamming bound, GV bound, linear codes.

• Nov. 19 and Nov. 21: Asymptotically good codes, Reed-Solomon codes, Concatednated codes, and expander codes.

• Dec. 3 and Dec. 5: Sum product theorem, Szemeredi-Trotter theorem, Kakeya set problem.

Assignments: