Number of spanning forests in a graph - MathOverflow most recent 30 from http://mathoverflow.net 2013-05-24T19:45:34Z http://mathoverflow.net/feeds/question/66588 http://www.creativecommons.org/licenses/by-nc/2.5/rdf http://mathoverflow.net/questions/66588/number-of-spanning-forests-in-a-graph Number of spanning forests in a graph Aleks Vlasev 2011-05-31T20:12:01Z 2011-07-18T05:11:05Z <p>Hello,</p> <p>I have two questions that have been bugging me recently. The first is about the number of spanning forests in a graph and the second is about enumerating these with edge labels.</p> <p>Q1: I am aware of Kirchhoff's Matrix-Tree theorem regarding the number of spanning trees in a graph. I was wondering if there is a generalization to this theorem that counts the number of spanning k-forests in a graph. What I am mostly interested in is this: is there a method of finding the number of k-forests in a graph by taking a determinant of some matrix?</p> <p>Q2: Suppose you label each edge as $e_{i,j}$ meaning that you are taking the undirected edge from $v_i$ to $v_j$ in the graph. Then in the Laplacian matrix if you plug in the sum of $e_{i,j}$'s instead of $\deg(v_i)$ and $-e_{i,j}$ instead of -1 when that edge connects vertices $i$ and $j$, you get the combinatorial Laplacian. Taking the determinant of a minor of this matrix gives the Kirchhoff polynomial which is an enumeration of the spanning trees of the graph, where each monomial contains the variables for all the edges in the given tree. My question is whether we can generalize this to spanning forests.</p> http://mathoverflow.net/questions/66588/number-of-spanning-forests-in-a-graph/66606#66606 Answer by David Speyer for Number of spanning forests in a graph David Speyer 2011-05-31T22:59:10Z 2011-05-31T22:59:10Z <p>Two points:</p> <p>(1) There is a result which is very similar to this. Let $G$ be a graph. Let $A$ be the matrix whose rows and columns are indexed by the vertices of $G$, where $A_{ij}$ is negative the number of edges from $i$ to $j$, for $i \neq j$, and where $A_{ii} = \lambda_i + \deg_i(G)$. Then the coefficient of $\lambda_{i_1} \cdots \lambda_{i_k}$ in $\det A$ is the number of spanning forests of $G$ with $k$ components, such that $i_1$, $i_2$, ... and $i_k$ are in separate components. Notice that the case $k=1$ is the matrix tree theorem: The coefficient of $\lambda_{i_1}$ is clearly the determinant of the adjacency matrix of $G$, with the $i_1$-st rows and column deleted. Basically any proof of the matrix-tree theorem should prove this as well.</p> <p>If you set all the $\lambda_i$'s equal to each other, then the coefficient of $\lambda^k$ in $\det(A)$ will be the weighted number of $k$-spanning-forests, where the weight of a forest with components $T_1$, $T_2$, ..., $T_k$ is $\prod |T_i|$. (Because that is the number of ways to choose $k$ vertices, one in each component.) Perhaps this is good enough for your purposes.</p> <p>(2) It is highly unlikely that there is a reasonable formula which gives you an exact count. More precisely, counting spanning forests is a <a href="http://en.wikipedia.org/wiki/Sharp-P" rel="nofollow">#P-complete</a> problem. See <a href="http://journals.cambridge.org/action/displayAbstract?fromPage=online&amp;aid=2092796" rel="nofollow">On the Computational Complexity of the Jones and Tutte Polynomials</a> and note that counting spanning forests is equivalent to evaluating Tutte at $(1,2)$. This means that, assuming $P \neq NP$, there is no polynomial algorithm to count spanning forests. Now, "reasonable formula" is not a precisely defined notion, but I suspect that anything you would consider reasonable would give a polynomial time algorithm. In particular, note that computing an $n \times n$ determinant, all of whose entries have at most $n$ digits, is polynomial time.</p> http://mathoverflow.net/questions/66588/number-of-spanning-forests-in-a-graph/66610#66610 Answer by Simon for Number of spanning forests in a graph Simon 2011-06-01T00:28:20Z 2011-06-01T00:53:18Z <p>With regards to your Q2, in quantum field theory there is a commonly used generalization of the Kirchhoff polynomial to 2-trees (2-component spanning forests). It's normally called the 2nd Symanzik polynomial, as the 1st Symanzik polynomial is basically identical to the Kirchhoff polynomial. I'm not sure if it can generalize to $k$-spanning forests.</p> <p>To calculate the 2nd Symanzik polynomial you need to associate a variable with each vertex. (In QFT this is the incoming momentum at that vertex.)</p> <p>There's a nice recent review article which discusses some of this<br> Feynman graph polynomials <a href="http://arxiv.org/abs/1002.3458v3" rel="nofollow">(arXiv:1002.3458v3)</a> </p> <p>I also made a Mathematica demonstration that lets you draw graphs and calculates the polynomials.<br> <a href="http://demonstrations.wolfram.com/ScalarFeynmanDiagramsAndSymanzikPolynomials/" rel="nofollow">Scalar Feynman Diagrams And Symanzik Polynomials</a>. </p> <p>The classic reference is<br> N. Nakanishi, Graph Theory and Feynman Integrals, Newark, NJ: Gordon and Breach, 1971.</p> http://mathoverflow.net/questions/66588/number-of-spanning-forests-in-a-graph/66614#66614 Answer by Aaron Meyerowitz for Number of spanning forests in a graph Aaron Meyerowitz 2011-06-01T03:02:39Z 2011-07-18T05:11:05Z <p>I started this, went to dinner, and came back to see that David Speyer anticipated me, but I'll put it in anyway. Here is a theorem, a story and a result somewhat along the lines you want. </p> <p>Theorem: If $\mathcal{F}$ is a forest with $n$ (labelled) vertices and $k$ connected components of sizes $n_1,n_2,\cdots,n_k$ then the number $T(\mathcal{F})$ of completions to a labelled tree is $n_1n_2\cdots n_kn^{k-2}.$</p> <p>The proof <strike> is left to the interested reader but it</strike> is an easy induction on $k \ge 1$ and includes at the other extreme of $k=n$ the usual enumeration of labelled trees. (see below)</p> <p>Story: I discovered this as an undergraduate. Of course I knew that there are like 100 proofs of the $n^{n-2}$ theorem but I thought the induction on the number of undetermined edges <em>might</em> be a slightly new twist. I had the occasion to show it to Frank Harary who said: "This is well written and deserves a place in the literature, I am editing a new journal, submit it." So I did. A few months later it came back with a letter from Haray: "I got the referees report, never submit this anywhere again!" and I didn't (until now!).</p> <p>So for your Q2: Label an edge from $v_i$ to $v_j$ as $e_{i,j}$ (with $i \lt j$). Then in the Laplacian matrix if you plug in $n-1+\sum_j e_{i,j}$ instead of $\deg(v_i)$ and $-1-e_{i,j}$ instead of -1 when that edge connects vertices $i$ and $j$, you get a modified combinatorial Laplacian. Taking the determinant of any minor of this matrix gives a modified Kirchhoff polynomial which is a weighted enumeration of the spanning forests of the graph, where each term is a monomial contains the variables for all the edges in a given forest $\mathcal{F}$ and the coefficient is $T(\mathcal{F}).$ So this polynomial spits out all the spanning forests including the empty one (times $n^{n-2}$) ,each of the spanning trees, and everything in between.</p> <p>Looking over the comments i see that one could just add the identity to the original combinatorial Laplacian (i.e. set all the $\lambda_{ii}=1$) and get a sum over the spanning trees with positive weights.</p> <p><strong>the proof</strong> The case $k=1$ is obvious (alternately, start with $k=2$.) Suppose now that the result is true for forests made of $k-1$ trees and that $\mathcal{F}$ is a forest with $n$ (labelled) vertices and $k$ connected components $T_1,T_2,\cdots,T_k$ of sizes $n_1,n_2,\cdots,n_k$. We will find $(k-1)T(\mathcal{F})$, the number of ways to add a distinguished edge (obtaining a forest with $k-1$ components) and then complete <em>that</em> to a tree. If the distinguished edge goes from $T_i$ to $T_j$ then, by assumption, there are $(n_i+n_j)n_1n_2\cdots\widehat{n_i}\cdots\widehat{n_j}\cdots n_kn^{k-3}$ such completions. Since there are $n_in_j$ such edges, the number mentioned is <code>$$\sum_{1\le i&lt;j \le k}(n_i+n_j)\left(n_1\cdots n_kn^{k-3}\right)=(k-1)\sum_{i=1}^kn_i\left( n_1\cdots n_kn^{k-3}\right)=(k-1)n\left( n_1\cdots n_kn^{k-3}\right)$$</code> Hence, $T(\mathcal{F})=n_1n_2\cdots n_kn^{k-2}.$</p> http://mathoverflow.net/questions/66588/number-of-spanning-forests-in-a-graph/70418#70418 Answer by Nitin Bhagat for Number of spanning forests in a graph Nitin Bhagat 2011-07-15T10:02:19Z 2011-07-15T10:02:19Z <p>Please refer to the following articles</p> <p>C. J. Liu and Yutze Chow. Enumeration of Connected Spanning Subgraphs Of A Planar Graph. Acta Mathematica Hungarica, 41(3):27–36, 1983. C. J. LIU and YUTZE CHOW. On Operator And Formal Sum Methods For Graph Enumeration Problems. SIAM Journal of Control and Optimization, 5(3):384–406, 1984. C. J. Liu and Yutze Chow. Enumeration of Connected Spanning Subgraphs Of A Planar Graph. Acta Mathematica Hungarica, 60(1):81–91, 1992. C. J. Liu and Yutze Chow. Enumeration Of Forests In Graph. Proceeding of American Mathematical Society, 83(3):659–662, 1981.</p> http://mathoverflow.net/questions/66588/number-of-spanning-forests-in-a-graph/70443#70443 Answer by Abdelmalek Abdesselam for Number of spanning forests in a graph Abdelmalek Abdesselam 2011-07-15T15:32:40Z 2011-07-15T15:32:40Z <p>I am surprised no one mentioned the work of Alan Sokal and coworkers on precisely this issue of weighted enumeration of spanning forests which is related to the $q\rightarrow 0$ limit of the Potts model as well as the multivariate Tutte polynomial.</p> <p>A determinant expression corresponds to a Fermionic (Grassmann/Berezin) integral with a quadratic `action' in the exponential. There is an analogue of the matrix-tree theorem for spanning forests with a Fermionic integral with quartic action see: <a href="http://arxiv.org/abs/cond-mat/0403271" rel="nofollow">http://arxiv.org/abs/cond-mat/0403271</a></p> <p>which appeared in PRL. Follow ups such as <a href="http://arxiv.org/abs/0706.1509" rel="nofollow">http://arxiv.org/abs/0706.1509</a></p> <p>can be found by looking at Sokal's papers on arxiv: <a href="http://arxiv.org/find/grp_math/1/au:+sokal/0/1/0/all/0/1" rel="nofollow">http://arxiv.org/find/grp_math/1/au:+sokal/0/1/0/all/0/1</a></p> <p>Note that there was a whole semester at the Isaac Newton Institute revolving around this topic: <a href="http://www.newton.ac.uk/programmes/CSM/" rel="nofollow">http://www.newton.ac.uk/programmes/CSM/</a></p> <p>One can even watch the videos of the talks. The one perhaps most relevant to this question is the talk by Andrea Sportiello in the fourth workshop.</p>