SIAM J. COMPUT. c 2013 Society for Industrial and Applied Mathematics Vol. 42, No. 3, pp. 924–1029
GRAPH HOMOMORPHISMS WITH COMPLEX VALUES: A DICHOTOMY THEOREM ∗
† ‡ § JIN-YI CAI ,XICHEN, AND PINYAN LU
Abstract. A C Z · Each symmetric matrix over defines a graph homomorphism function A( )on undirected graphs. The function ZA(·) is also called the partition function from statistical physics, and can encode many interesting graph properties, including counting vertex covers and k-colorings. We study the computational complexity of ZA(·) for arbitrary symmetric matrices A with algebraic complex values. Building on work by Dyer and Greenhill [Random Structures and Algorithms,17 (2000), pp. 260–289], Bulatov and Grohe [Theoretical Computer Science, 348 (2005), pp. 148–186], and especially the recent beautiful work by Goldberg et al. [SIAM J. Comput., 39 (2010), pp. 3336– 3402], we prove a complete dichotomy theorem for this problem. We show that ZA(·)iseither computable in polynomial-time or #P-hard, depending explicitly on the matrix A. We further prove that the tractability criterion on A is polynomial-time decidable.
Key words. computational complexity, counting complexity, graph homomorphisms, partition functions
AMS subject classifications. 68Q17, 68Q25, 68R05, 68R10, 05C31
DOI. 10.1137/110840194
1. Introduction. Graph homomorphism has been studied intensely over the years [28, 23, 13, 18, 4, 12, 21]. Given two graphs G and H, a graph homomorphism
from G to H is a map f from the vertex set V (G)to V (H) such that, whenever (u, v)isanedgeinG,(f(u),f(v)) is an edge in H. The counting problem for graph homomorphism is to compute the number of homomorphisms from G to H.Forafixed graph H, this problem is also known as the #H-coloring problem. In 1967, Lov´asz [28] proved that H and H are isomorphic iff for all G, the number of homomorphisms from G to H and from G to H are the same. Graph homomorphisms and the associated partition function defined below provide us an elegant and wide-ranging notion of graph properties [23]. In this paper, all graphs considered are undirected. We follow standard defini-
tions: G is allowed to have multiple edges; H can have loops, multiple edges, and, more generally, edge weights. (The standard definition of graph homomorphism does not allow self-loops for G. However, our result is stronger: We prove polynomial-time tractability even for input graphs G with self-loops; at the same time, our hardness results hold for the more restricted case of G with no self-loops.) Formally, we use A × ∈ { } to denote an m m symmetric matrix with entries (A i,j ), i, j [m]= 1, 2,...,m . Given any undirected graph G =(V,E), we define the graph homomorphism function
∗ Received by the editors July 11, 2011; accepted for publication (in revised form) February 21, 2013; published electronically May 21, 2013. http://www.siam.org/journals/sicomp/42-3/84019.html †Department of Computer Sciences, University of Wisconsin–Madison, Madison, WI 53706 ([email protected]). This work was supported by NSF CCF-0914969. ‡Department of Computer Science, Columbia University, New York, NY 10027 (xichen@ cs.columbia.edu). This work was supported by NSF grants CCF-0832797 and DMS-0635607 when the author was a postdoc at the Institute for Advanced Study and Princeton University, by a USC
Downloaded 07/31/15 to 128.105.14.124. Redistribution subject SIAM license or copyright; see http://www.siam.org/journals/ojsa.php Viterbi School of Engineering startup fund to Shang-Hua Teng, and by CCF-1149257 and a Sloan research fellowship. §Microsoft Research Asia, Beijing 100080, China ([email protected]).
924
Copyright © by SIAM. Unauthorized reproduction of this article is prohibited. GRAPH HOMOMORPHISMS WITH COMPLEX VALUES 925