CS7540 Spectral Algorithms, Spring 2017 Lecture #2. Matrix Tree Theorem. Presenter: Richard Peng Jan 12, 2017

Similar documents
Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1

Math 776 Graph Theory Lecture Note 1 Basic concepts

Algebraic Graph Theory- Adjacency Matrix and Spectrum

Math 778S Spectral Graph Theory Handout #2: Basic graph theory

The Matrix-Tree Theorem and Its Applications to Complete and Complete Bipartite Graphs

REGULAR GRAPHS OF GIVEN GIRTH. Contents

Counting the number of spanning tree. Pied Piper Department of Computer Science and Engineering Shanghai Jiao Tong University

Professor: Padraic Bartlett. Lecture 9: Trees and Art Galleries. Week 10 UCSB 2015

CPS 102: Discrete Mathematics. Quiz 3 Date: Wednesday November 30, Instructor: Bruce Maggs NAME: Prob # Score. Total 60

Introduction to Graph Theory

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

Computability Theory

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

Notes 4 : Approximating Maximum Parsimony

Spectral Graph Sparsification: overview of theory and practical methods. Yiannis Koutis. University of Puerto Rico - Rio Piedras

Ma/CS 6b Class 13: Counting Spanning Trees

Lecture 22 Tuesday, April 10

Math 485, Graph Theory: Homework #3

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

Lecture 19 Thursday, March 29. Examples of isomorphic, and non-isomorphic graphs will be given in class.

Lecture 27: Fast Laplacian Solvers

2 Eulerian digraphs and oriented trees.

Lecture 4: Trees and Art Galleries

Induction Review. Graphs. EECS 310: Discrete Math Lecture 5 Graph Theory, Matching. Common Graphs. a set of edges or collection of two-elt subsets

8 Matroid Intersection

Stanford University CS359G: Graph Partitioning and Expanders Handout 18 Luca Trevisan March 3, 2011

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19:

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2

DO NOT RE-DISTRIBUTE THIS SOLUTION FILE

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points

CS70: Discrete Math and Probability. Fan Ye June 23, 2016

MATH 423 Linear Algebra II Lecture 17: Reduced row echelon form (continued). Determinant of a matrix.

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017

Introduction aux Systèmes Collaboratifs Multi-Agents

2. Lecture notes on non-bipartite matching

Ma/CS 6b Class 26: Art Galleries and Politicians

LATIN SQUARES AND THEIR APPLICATION TO THE FEASIBLE SET FOR ASSIGNMENT PROBLEMS

CMSC Honors Discrete Mathematics

Math 170- Graph Theory Notes

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4)

Exercise set 2 Solutions

Kirchhoff's theorem. Contents. An example using the matrix-tree theorem

Chordal Graphs and Minimal Free Resolutions

Lecture 4: Walks, Trails, Paths and Connectivity

NP-Complete Reductions 2

Problem Set 2 Solutions

Discrete Mathematics for CS Spring 2008 David Wagner Note 13. An Introduction to Graphs

Spectral Clustering. Presented by Eldad Rubinstein Based on a Tutorial by Ulrike von Luxburg TAU Big Data Processing Seminar December 14, 2014

arxiv: v1 [math.ho] 7 Nov 2017

Elements of Graph Theory

4 Basics of Trees. Petr Hliněný, FI MU Brno 1 FI: MA010: Trees and Forests

Some Graph Theory for Network Analysis. CS 249B: Science of Networks Week 01: Thursday, 01/31/08 Daniel Bilar Wellesley College Spring 2008

NP-Completeness. Algorithms

The k-center problem Approximation Algorithms 2009 Petros Potikas

Chapter 3 Trees. Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.

DO NOT RE-DISTRIBUTE THIS SOLUTION FILE

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018

1. Suppose you are given a magic black box that somehow answers the following decision problem in polynomial time:

Lecture 11: Clustering and the Spectral Partitioning Algorithm A note on randomized algorithm, Unbiased estimates

Treewidth and graph minors

K 4 C 5. Figure 4.5: Some well known family of graphs

Graphs (MTAT , 6 EAP) Lectures: Mon 14-16, hall 404 Exercises: Wed 14-16, hall 402

Cospectral graphs. Presented by: Steve Butler. 21 April 2011

Introduction III. Graphs. Motivations I. Introduction IV

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lemma of Gessel Viennot

arxiv: v4 [math.co] 25 Apr 2010

1 Matching in Non-Bipartite Graphs

Lecture 2 : Counting X-trees

Combinatorial Optimization

An Introduction to Graph Theory

Lecture 5: Graphs. Graphs! Euler Definitions: model. Fact! Euler Again!! Planar graphs. Euler Again!!!!

CS 561, Lecture 9. Jared Saia University of New Mexico

Structured System Theory

NP Completeness. Andreas Klappenecker [partially based on slides by Jennifer Welch]

Problem Set 2 Solutions

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University

SPERNER S LEMMA MOOR XU

Notes for Lecture 24

Week 11: Minimum Spanning trees

Math 15 - Spring Homework 2.6 Solutions 1. (2.6 # 20) The following graph has 45 vertices. In Sagemath, we can define it like so:

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Combinatorics of free product graphs

On Covering a Graph Optimally with Induced Subgraphs

MATH 350 GRAPH THEORY & COMBINATORICS. Contents

1 Random Walks on Graphs

A graph is finite if its vertex set and edge set are finite. We call a graph with just one vertex trivial and all other graphs nontrivial.

Math 575 Exam 3. (t). What is the chromatic number of G?

Testing Isomorphism of Strongly Regular Graphs

Trees and Tree Encodings

Finding a -regular Supergraph of Minimum Order

Figure 1: Two polygonal loops

Characterizations of Trees

Simplicial and Cellular Spanning Trees, I: General Theory

Mathematics and Statistics, Part A: Graph Theory Problem Sheet 1, lectures 1-4

On the null space of a Colin de Verdière matrix

Graph Definitions. In a directed graph the edges have directions (ordered pairs). A weighted graph includes a weight function.

Computer Project #2 (Matrix Operations)

Exact Algorithms Lecture 7: FPT Hardness and the ETH

Chapter 23. Minimum Spanning Trees

Transcription:

CS7540 Spectral Algorithms, Spring 2017 Lecture #2 Matrix Tree Theorem Presenter: Richard Peng Jan 12, 2017 DISCLAIMER: These notes are not necessarily an accurate representation of what I said during the class. They are mostly what I intend to say, and have not been carefully edited. Next week: Richard away. Tuesday: Anup Rao on eigenvalues, Thursday: Antonio Blanca on Random Walks. Last time: Give more background on the materials. Too many new concepts (mostly math), more details to formulas: review linear algebra notes. Write down collaboration policy: should be there now. Today: matrix tree theorem, graph Laplacians, Schur complements. The problem that we ll discuss is counting the number of spanning trees in a graph. We ll actually need the weighted version, so for a graph where edges have weight w e, the weight of a tree is w(t ) def = w e, e T and the total weight of trees in a graph is: T (G) def = T T (G) w(t ). For example the triangle graph with edge weights 1, 2, and 3 has weight 1 2 + 2 3 + 3 1 = 2 + 6 + 3 = 11. Counting spanning trees is related to the generation of a random spanning trees, which is in turn used in approximation algorithms. This connection between determinant and combinatorial objects in turn has a variety of uses in the study of other combinatorial objects. We will show that the number of spanning trees can be computed using the determinant of a matrix, which also underlies many other things in spectral graph theory: 1

Definition 0.1. Given an undirected graph G, define its graph Laplacian as a n n matrix L with entries given by: x u w ux if u = v def L uv = w uv if u v and uv E. 0 otherwise The matrix-tree theorem states that the determinant of the first n 1 rows/columns of L gives the total weight of all trees. Theorem 0.2 (Matrix-Tree Theorem). Let L 1:n 1,1:n 1 be the minor containing the first n 1 rows and columns of L. We have: T (G) = det(l 1:n 1,1:n 1 ) For the graph above with edge weights 1, 2 and 3, the graph Laplacian is: 3 1 2 1 4 3, The top left 2-by-2 minor is [ 3 1 1 5 and its determinant is 3 4 ( 1) ( 1) = 11. You can check that the other 2 minors (by removing different vertices) also has determinant 11. There are many proofs of the matrix-tree theorem. I will show one that s algorithmic, and very much related to numerical operations, specifically Gaussian elimination. The simplest case is n = 2, in this case there is only one possible tree, and its weight equals to the (weighted) degree of both vertices. For bigger n, it is useful to consider how we can compute determinants. The standard operation done to matrices is a row operation, or its analog in columns. We take a row/column, and add / subtract it to/from another row or column. The following facto makes the connection to row operations crucial: Fact 0.3. Row/column operations does not change the determinant. This means we can find the determinant of the graph Laplacian by picking a vertex, and eliminate it by adding/subtracting it to the non-zero off-diagonal entries in its row/column. For the matrix 1 4 3, ], 2

we can remove the 1 in row 2, column 1 by adding 1/3 copies of the first row to the second, giving: 0 3.66 3.66, and the 2 can be removed similarly by adding 2/3 copies of the first row to the second, giving: 0 3.66 3.66. 0 3.66 3.66 After we do this, we can remove the 1 and 2 in row 1 for free by adding copies of the 3 to it, leading to the matrix 3 0 0 0 3.66 3.66. 0 3.66 3.66 Note that the bottom-right 2 2 matrix is still a graph Laplacian. For a formal proof that graphs are closed under Schur complements, the following definition is useful: Lemma 0.4. A matrix is a graph Laplacian if and only if: It s symmetric. Row sums and column sums are all 0. All off-diagonal entries are non-positive. With this in mind, we can see that row/column operations produce graph Laplacians because: It keeps row/column sums the same. It only subtracts from off-diagonal entries. A closer look also gives that for a vertex with neighbors 1... k with edge weights w 1... w k, this elimination operation creates, for each pair of neighbors i and j, an edge of weight w i w j x w. x This way of removing a vertex generates what s called a Schur Complement. This has a slightly messy algebraic definition, but can also be defined as the object formed by removing vertices in this order. Note that in the above example, the determinant of the new matrix is still 3 3.666666666666666 = 11. 3

This, plus the fact that we have the matrix-tree theorem in the n = 2 case suggests an inductive approach: we repeatedly remove vertices, and show that the Schur complement formed by removing that vertex has a tree count related to the tree count of the original graph. Lemma 0.5. Let Schur(G, u) be a graph obtained from G by pivoting out a vertex u with weighted degree Then T (G) = T (Schur(G, u)). This Lemma implies the matrix tree theorem because we can now do induction on the value of n, and apply the matrix tree theorem on the smaller Schur(G, u). To show this inductive step, it suffices to show a bijection between trees in Schur(G, u) and trees in G. There are two kinds of edges in Schur(G, u): Those added from the clique formed by pivoting u, we ll denote these with K. Those in G that does not involve u, we ll denote these with G. In addition, we can denote the neighborhood of u by N(u). A tree in either G or Schur(G, u) can be broken into two parts: a forest in H 0, and another forest in either N(u) or K. The formal statement that we will show is: Lemma 0.6. For any forest F of G, we have w(t ) = T is spanning tree of G, F T T is spanning tree of Schur(G, u), F T w(t ) As a sanity check, suppose there is only 1 connected component, then this tree is done if we re working on H. But in G, we still need to connect u to one of these vertices, and there are ways of doing this. In the remaining time (if there is any), we will give a proof sketch of this Lemma: Any forest will produce connected components, let it be S 1... S t. The number of ways to connect u to S i is which we ll define as w(s i ). v S i w uv, As these are picked independently, the total weight over trees is t w(s i ). i=1 4

For clique edges on the other hand, the total weight of edges between S i and S j is: w(s i ) w(s j ) This is a product demand graph. So by proofs like Prufer sequences, it can be shown that the total weight of spanning trees there is t i=1 ( ) w(si ) t 1 = 1 w(s i ). The weight of spanning trees of a product-demand graph can be given by a generalization of Cayley s formula. It can be proven using https://en.wikipedia.org/wiki/prüfer sequence. Details on it is in the problem set. i 5