Theoretical Computer Science Stack Exchange is a question and answer site for theoretical computer scientists and researchers in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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).

share|cite|improve this question
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. – Ross Snider May 12 '11 at 1:38
I forgot to include the link: – Ross Snider May 12 '11 at 1:44
Thanks! That's an excellent link. – Dana Moshkovitz May 12 '11 at 2:20
@Ross, comment -> answer ? – Suresh Venkat May 12 '11 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. – Martin Schwarz May 12 '11 at 6:25

12 Answers 12

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.

share|cite|improve this answer

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.

share|cite|improve this answer

Just heard during the 8F workshop

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

share|cite|improve this answer

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.

share|cite|improve this answer

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).

share|cite|improve this answer

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.

See also this this for application in cryptanalysyis (I don't know very much about that).

share|cite|improve this answer

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.

share|cite|improve this answer

The following paper can be seen as one application.

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.

share|cite|improve this answer

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.

share|cite|improve this answer

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

share|cite|improve this answer

Grobner bases are used for the fastest list decoding algorithms for Reed-Solomon codes:

share|cite|improve this answer

Following 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.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.