Computing the partition function for graph homomorphisms
  We introduce the partition function of edge-colored graph homomorphisms, of which the usual partition function of graph homomorphisms is a specialization, and present an efficient algorithm to approximate it in a certain domain. Corollaries include efficient algorithms for computing weighted sums approximating the number of k-colorings and the number of independent sets in a graph, as well as an efficient procedure to distinguish pairs of edge-colored graphs with many color-preserving homomorphisms G --> H from pairs of graphs that need to be substantially modified to acquire a color-preserving homomorphism G --> H. 
Alexander Barvinok and Pablo Sober\'on
math.CO math-ph math.MP math.OC