An LP Algorithm for Counting Eulerian Orientations Through the Lens of Quasi-polymorphism
arXiv:2607.27961
The paper provides a polynomial-time algorithm for counting weighted Eulerian orientations in cases previously only known to be in FP^NP, using a linear programming relaxation to transform quasi‑polymorphisms into ordinary polymorphisms and achieving a complete FP versus #P dichotomy for these counting problems.
Abstract
The weighted Eulerian orientation counting problem () plays a key role in the complexity classification program for Holant problems. A recent result established an versus -hard dichotomy for problems. The tractable side of this dichotomy can be characterized by functions admitting quasi-polymorphisms of the ternary XOR operation, leaving open whether these cases on the side are in fact in FP. In this paper, we settle this question by giving a polynomial-time algorithm for all cases on the side. Consequently, we obtain a complete FP versus dichotomy for counting weighted Eulerian orientations, and further for complex-valued Holant problems with an odd-arity signature. Our algorithm is based on a linear programming relaxation, but we use it in a nonstandard way. Instead of proving that the relaxation is integral and solving the problem directly from an optimal LP solution, we use the relaxation as a structural tool to lift the quasi-polymorphism condition to an ordinary polymorphism condition. This reveals an affine local structure of the constraint functions, which leads to tractability.
14 pages