Using Machine Learning to Improve Cylindrical Algebraic Decomposition
arXiv:1804.10520 · doi:10.1007/s11786-019-00394-8
Abstract
Cylindrical Algebraic Decomposition (CAD) is a key tool in computational algebraic geometry, best known as a procedure to enable Quantifier Elimination over real-closed fields. However, it has a worst case complexity doubly exponential in the size of the input, which is often encountered in practice. It has been observed that for many problems a change in algorithm settings or problem formulation can cause huge differences in runtime costs, changing problem instances from intractable to easy. A number of heuristics have been developed to help with such choices, but the complicated nature of the geometric relationships involved means these are imperfect and can sometimes make poor choices. We investigate the use of machine learning (specifically support vector machines) to make such choices instead. Machine learning is the process of fitting a computer model to a complex function based on properties learned from measured data. In this paper we apply it in two case studies: the first to select between heuristics for choosing a CAD variable ordering; the second to identify when a CAD problem instance would benefit from Groebner Basis preconditioning. These appear to be the first such applications of machine learning to Symbolic Computation. We demonstrate in both cases that the machine learned choice outperforms human developed heuristics.
arXiv commentarXiv admin note: text overlap with arXiv:1608.04219, arXiv:1404.6369
References in corpus (21)
- Machine Learning in Automated Text Categorization
- Truth Table Invariant Cylindrical Algebraic Decomposition
- Cylindrical Algebraic Decompositions for Boolean Combinations
- Satisfiability Checking meets Symbolic Computation (Project Paper)
- Program Verification in the presence of complex numbers, functions with branch cuts etc
- A Case Study on the Parametric Occurrence of Multiple Steady States
- Truth Table Invariant Cylindrical Algebraic Decomposition by Regular Chains
- Improving the use of equational constraints in cylindrical algebraic decomposition
- Using the Regular Chains Library to build cylindrical algebraic decompositions by projecting and lifting
- Problem formulation for truth-table invariant cylindrical algebraic decomposition by incremental triangular decomposition
- The complexity of cylindrical algebraic decomposition with respect to polynomial degree
- Symbolic Versus Numerical Computation and Visualization of Parameter Regions for Multistationarity of Biological Networks
- Choosing a variable ordering for truth-table invariant cylindrical algebraic decomposition by incremental triangular decomposition
- Cylindrical Algebraic Sub-Decompositions
- Constructing Fewer Open Cells by GCD Computation in CAD Projection
- Speeding up Cylindrical Algebraic Decomposition by Gröbner Bases
- Using Machine Learning to Decide When to Precondition Cylindrical Algebraic Decomposition With Groebner Bases
- Understanding Branch Cuts of Expressions
- Machine Learning for Mathematical Software
- Using the distribution of cells by dimension in a cylindrical algebraic decomposition
- Need Polynomial Systems be Doubly-exponential?
Cited by in corpus (12)
- Deciding the Consistency of Non-Linear Real Arithmetic Constraints with a Conflict Driven Search Using Cylindrical Algebraic Coverings
- Identifying the Parametric Occurrence of Multiple Steady States for some Biological Networks
- Cylindrical Algebraic Decomposition with Equational Constraints
- Explainable AI Insights for Symbolic Computation: A case study on selecting the variable ordering for cylindrical algebraic decomposition
- Comparing machine learning models to choose the variable ordering for cylindrical algebraic decomposition
- Learning selection strategies in Buchberger's algorithm
- Algorithmically generating new algebraic features of polynomial systems for machine learning
- New heuristic to choose a cylindrical algebraic decomposition variable ordering motivated by complexity analysis
- Deep Learning Gauss-Manin Connections
- Improved cross-validation for classifiers that make algorithmic choices to minimise runtime without compromising output correctness
- Lessons on Datasets and Paradigms in Machine Learning for Symbolic Computation: A Case Study on CAD
- A machine learning based software pipeline to pick the variable ordering for algorithms with polynomial inputs