Algorithmically generating new algebraic features of polynomial systems for machine learning
This work addresses performance optimization in CASs and SMT solvers for researchers and practitioners, though it is incremental as it builds on existing feature frameworks for a specific algorithm.
The paper tackled the problem of selecting variable ordering for cylindrical algebraic decomposition (CAD) in computer algebra and SMT solvers by algorithmically generating new algebraic features from polynomial systems, resulting in ML-based choices that outperformed human-created heuristics and were further improved with these additional features.
There are a variety of choices to be made in both computer algebra systems (CASs) and satisfiability modulo theory (SMT) solvers which can impact performance without affecting mathematical correctness. Such choices are candidates for machine learning (ML) approaches, however, there are difficulties in applying standard ML techniques, such as the efficient identification of ML features from input data which is typically a polynomial system. Our focus is selecting the variable ordering for cylindrical algebraic decomposition (CAD), an important algorithm implemented in several CASs, and now also SMT-solvers. We created a framework to describe all the previously identified ML features for the problem and then enumerated all options in this framework to automatically generation many more features. We validate the usefulness of these with an experiment which shows that an ML choice for CAD variable ordering is superior to those made by human created heuristics, and further improved with these additional features. We expect that this technique of feature generation could be useful for other choices related to CAD, or even choices for other algorithms with polynomial systems for input.