73206b976e6b59e6.tex
1: \begin{abstract}
2: Kirchhoff's matrix-tree theorem states that the number of spanning trees of a graph $G$ is equal to the value of the determinant of the reduced Laplacian of $G$. We outline an efficient bijective proof of this theorem, by studying a canonical finite abelian group attached to $G$ whose order is equal to the value of same matrix determinant. More specifically, we show how one can efficiently compute a bijection between the group elements and the spanning trees of the graph. The main ingredient for computing the bijection is an efficient algorithm for finding the unique $G$-parking function (reduced divisor) in a linear equivalence class defined by a chip-firing game. We also give applications, including a new and completely algebraic algorithm for generating random spanning trees. Other applications include algorithms related to chip-firing games and sandpile group law, as well as certain algorithmic problems about the Riemann-Roch theory on graphs.
3: \begin{comment}
4: It is known that, relative to any fixed vertex $q$ of a finite graph, there exists a unique $q$-reduced divisor in each linear equivalence class of divisors.  In this paper, we give an efficient algorithm for finding such reduced divisors. Then we give some applications, including a new and completely algebraic algorithm for solving the {\em Uniform Spanning Tree} problem. Unlike the previously known algorithms which rely on random walks the running time is bounded deterministically.
5: \end{comment}
6: 
7: \end{abstract}
8: