Course description: The course begins with an overview of the fundamental concepts of graph theory, followed by an in-depth discussion of some classical topics as well as some aspects of a current area: information theoretic graph theory.
Topics covered: (tentative)
- Basics: Graphs, degrees, paths and cycles, independent sets, cliques, isomorphism, subgraphs, complement of a graph, trees, breadth-first search, depth-first search, applications.
- Trees: Prüfer code, Cayley’s theorem, exchange properties of spanning trees, Kruskal’s algorithm, Matrix-tree Theorem.
- Orientations and Eulerian tours: Königsberg bridges problem, Euler’s theorem
- Hamilton cycles: Hamiltonian cycles and paths, necessary conditions, sufficient conditions (Dirac, Ore, Pósa, Chvátal)
- Shortest paths: PERT method, Dijsktra’s algorithm, Gallai’s theorem
- Matchings: Kőnig-Hall-Frobenius theorem, Kőnig’s algorithm, stable matchings, Gale-Shapley algorithm, Tutte’s theorem, matchability of a subset
- Colorings: Chromatic number and clique number, Mycielski’s construction, Brooks’ theorem, edge-chromatic number, Vizing’ theorem, list colorings, chromatic polynomial, unit distance graph.
- Flows: Max Flow-Min Cut Theorem, Menger’s theorems, disjoint paths between terminal pairs, nowhere-zero flows, balanced orientations
- Planar graphs: Four Color Theorem, Euler’s formula, bounding the number of edges of planar graphs, Kuratowski’s theorem, graph minors, Wagner’s theorem, Five Color Theorem.
- Higher connectivity: Highly edge- and node-connected graphs, block decompositions, ear decompositions.
- Partially ordered sets: Dilworth’s theorems.
- Perfect graphs: Basic examples, perfectness of comparability graphs, the Perfect Graph Theorem, the Strong Perfect Graph Theorem.