A machine learning based software pipeline to pick the variable ordering for algorithms with polynomial inputs
Dorian Florescu, Matthew England

TL;DR
This paper presents a machine learning pipeline that optimizes variable ordering in algorithms for polynomial systems, improving performance without affecting correctness, demonstrated through CAD variable ordering experiments.
Contribution
It introduces a novel ML-based software pipeline for selecting variable orderings in polynomial algorithms, adaptable to other decision points in mathematical software.
Findings
Effective ML models for variable ordering selection
New feature generation techniques for ML in mathematical software
Open-source code for the pipeline available online
Abstract
We are interested in the application of Machine Learning (ML) technology to improve mathematical software. It may seem that the probabilistic nature of ML tools would invalidate the exact results prized by such software, however, the algorithms which underpin the software often come with a range of choices which are good candidates for ML application. We refer to choices which have no effect on the mathematical correctness of the software, but do impact its performance. In the past we experimented with one such choice: the variable ordering to use when building a Cylindrical Algebraic Decomposition (CAD). We used the Python library Scikit-Learn (sklearn) to experiment with different ML models, and developed new techniques for feature generation and hyper-parameter selection. These techniques could easily be adapted for making decisions other than our immediate application of CAD…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
