This project addresses the computational complexity of counting problems in graphs; such problems ask to compute the number of certain structures rather than merely deciding their existence. Counting problems find applications in diverse areas like network analysis, machine learning, probabilistic databases, and statistical physics. They are linked to fundamental questions in complexity theory and give rise to algorithmic breakthroughs for decision problems.
The proposed project will go beyond the state of the art in computational counting by building bridges between algorithms/complexity and the mathematical theory of graph homomorphisms, which are structure-preserving maps between graphs. Already starting from the 1960s, Lovász and others showed that homomorphism numbers between graphs tie together disparate mathematical areas—similarly, the PI observed in the past 5 years that the computational problem of counting homomorphisms unifies a range of problems in computer science that were previously studied in isolation. This connection allows us to approach fundamental questions in parameterized and fine-grained complexity related to the complexity of counting small patterns in large graphs, which were out of reach for more combinatorial approaches. Secondly, it allows us to revisit problems in classical counting complexity from a new angle, especially for partition functions in discrete physical systems, with the aim of simplifying, unifying and extending known results. Thirdly, homomorphism counts give a surprising novel viewpoint on questions in algebraic complexity surrounding the “permanent versus determinant” problem, an algebraic variant of the “P versus NP” problem.