What can be (machine) learned about the performance of Buchberger’s algorithm?
Given a system of polynomials, Buchberger’s algorithm computes a Gröbner basis
of the ideal these polynomials generate using an iterative procedure based on multivariate
long division. The runtime of each step of the algorithm is typically dominated by a series
of polynomial additions, and the total number of these additions is a hardware-independent
performance metric that is often used to evaluate and optimize various implementation choices.
We attempt to predict, using just the starting input, the number of polynomial additions that
take place during one run of Buchberger’s algorithm. Good predictions are useful for quickly
estimating difficulty and understanding what features make a Gröbner basis computation
hard. Our features and methods could also be used for value models in the reinforcement
learning approach to optimize Buchberger’s algorithm introduced in Peifer’s thesis.
We show that a multiple linear regression model built from a set of
easy-to-compute ideal generator statistics can predict the number of polynomial
additions somewhat well, better than an uninformed model, and better than
regression models built on some intuitive commutative algebra invariants
that are more difficult to compute. We also train a simple recursive neural
network that outperforms these linear models. Our work serves as a proof of
concept, demonstrating that predicting the number of polynomial additions in
Buchberger’s algorithm is a feasible problem from the point of view of machine
learning.