Learning a performance metric of Buchberger's algorithm
  What can be (machine) learned about the complexity of Buchberger's algorithm?
  Given a system of polynomials, Buchberger's algorithm computes a Gr\"obner
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. In this
work 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 Gr\"obner 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, Stillman, and
Halpern-Leistner, 2020].
  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.
