# Gröbner bases in TCS?

Does anyone know of interesting applications of Gröbner bases to theoretical computer science?

Gröbner bases are used to solve multi-variate polynomial equations, an NP-hard problem in general. I was wondering whether some tractable special cases were used to provide efficient algorithms/constructions/proofs in TCS or TCS-related areas (combinatorics, coding theory).

• Also, scholarpedia gives a good list of applications in TCS. They can be used to find solutions to certain linear integer optimization problems, it lists a reference to coding theory through "Gröbner Bases and Applications." They include more: in robotics and software engineering. It's really a good list. May 12, 2011 at 1:38
• I forgot to include the link: scholarpedia.org/article/Groebner_basis May 12, 2011 at 1:44
• @Ross, comment -> answer ? May 12, 2011 at 4:25
• Gröbner bases, while EXPSPACE-complete in general, are in PSPACE over Boolean rings. This has applications in model-checking to replace BDDs: Quoc-Nam Tran, "A PSPACE Algorithm for Groebner Bases Computation in Boolean Rings", Proc. WASET, Vol. 35, Nov. 2008, ISSN 2070-3740. May 12, 2011 at 6:25
• An application is in cryptanalysis of certain algebraic ciphers, such as AES. See Gröbner Bases, Coding, and Cryptography and chapter 6 of Algebraic Aspects of the Advanced Encryption Standard. May 12, 2011 at 7:40

Gröbner basis computation, while EXPSPACE-complete in general, are in PSPACE over Boolean rings. This has applications in model-checking to replace BDDs: Quoc-Nam Tran, "A PSPACE Algorithm for Groebner Bases Computation in Boolean Rings", Proc. WASET, Vol. 35, Nov. 2008, ISSN 2070-3740

[NOTE] The result stating that Groebner basis computation is in PSPACE over Boolean rings seems wrong, see Mark van Hoeij, Gröbner basis in Boolean rings is not P-SPACE, arXiv:1502.07220, 2015.

[NOTE] The claim that the result stating that Groebner basis computation is in PSPACE over Boolean rings seems wrong, is wrong. The author confuses PSPACE-computability with having a polynomial size. A PSPACE function may well have exponentially long output.

There is an interesting Springer volume on applications of Gröbner bases in coding and cryptography:

Personally I'm doing my research in the algorithms for computing ideals of error locator polynomials (quite well-known concept in coding theory, especially syndrome decoding). In the case of codes from algeraic geometry error locators ideal is usually an ideal of polynomial from several variables — that's the place, where Gröbner Bases play central role. In the abovementioned volume most interesting part for me is the S. Sakata's description of BMS-algorithm and a survey of its applications for decoding algebraic geometry codes.

Just heard during the 8F workshop

The original proof that network coding can be implemented in a flow network uses Gröbner bases.

Gröbner bases have been applied to constraint satisfaction problems (see this grant). At this point Gröbner basis techniques do not appear to be useful for the applications of constraint satisfaction, since they are competing with mature search heuristics, consistency enforcement techniques, and efficient special purpose propagators -- not to mention good general-purpose SAT solvers. However, I think there are definitely theoretical uses waiting to be discovered, specifically when the Gröbner basis has reasonable size. See also the paper by Jefferson, Jeavons, Green, and van Dongen, presented at MACIS 2007 (journal version: AMAI 67 359–382, 2013, doi:10.1007/s10472-013-9365-7), which discusses some of the issues.

I used a Gröbner basis to help find a short proof of a new dichotomy theorem for #CSP problems over 3-regular graphs with a single binary constraint function that has complex weights (arXiv version).

There is natural equivalence relation over the set of constraint functions, namely, $f \sim g$ if $\#\operatorname{CSP}(f) = \#\operatorname{CSP}(g)$ for all possible instance graphs. For 3-regular graphs, there are fewer equivalence classes than would otherwise exist over all possible graphs. Since a dichotomy theorem only needs to prove the complexity of one constrain function in each equivalence class, this leads to a shorter proof.

The Gröbner basis is used to convert from the initial four variables needed to define a binary function to six "symmetrized variables" that are invariant in each equivalence class (see section D of the paper linked above). However, the Gröbner basis is not mentioned in the paper since its only purpose was the automated transformation from the initial four variables to the six symmetrized variables in various polynomials (which was preformed by Mathematica's GroebnerBasis).

Grant Passmore and others write about them in the context of SMT solvers. I'm not an expert in Groebner bases nor in SMT solvers, so it's hard for me to evaluate how well this reference answers your question.

In proof complexity the use of Gröbner bases has been proposed by Clegg, Edmonds, Impagliazzo to refute CNFs. There are cases in which this proof system outperforms Resolution exponentially but it does not seem to me that there is a real performance improvement for general instances.

It is also true that many of the lower bounds for Resolution hold for Polynomial Calculus (a proof system based on Gröbner bases). The exceptions usually are built for the characteristic of the underlying field. This means that working in $GF(2)$ can help you on some formulas but not on others.

Yet Polynomial Calculus has not been studied as much as Resolution, thus well tested heuristics are not available.

The following paper can be seen as one application.

• Gunnar Carlsson, Gurjeet Singh, Afra Zomorodian: Computing Multidimensional Persistence. Journal of Computational Geometry, 1(1) 2010, pages 72-100. https://doi.org/10.20382/jocg.v1i1a6

I see the authors use Buchberger's algorithm as a subroutine, and exploit the structure of their problem to prove that the running time is polynomially bounded.

Alekseyev and Pevzner use them in this paper to compute the $k$-break distance between two genomes in linear time. Loosely speaking, that distance is defined as the minimum number of times you need to cut a given genome into $k$ pieces and rearrange them in order to transform that genome into another given one.

Grobner bases are used for the fastest list decoding algorithms for Reed-Solomon codes: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.320.1170&rep=rep1&type=pdf

Gröbner bases have been successfully used to solve important problems in multiple view geometry in computer vision.

Following http://arxiv.org/pdf/1502.05912.pdf sometimes grobner basis are used to decide isomorphism (when graphs are encoded by systems of equations). But this joins the use of grobner basis in refutating CNFS.