Cargando…

A Machine Learning Based Software Pipeline to Pick the Variable Ordering for Algorithms with Polynomial Inputs

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...

Descripción completa

Detalles Bibliográficos
Autores principales: Florescu, Dorian, England, Matthew
Formato: Online Artículo Texto
Lenguaje:English
Publicado: 2020
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7340908/
http://dx.doi.org/10.1007/978-3-030-52200-1_30
_version_ 1783555119346876416
author Florescu, Dorian
England, Matthew
author_facet Florescu, Dorian
England, Matthew
author_sort Florescu, Dorian
collection PubMed
description 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 variable ordering. Hence in this paper we present a software pipeline to use sklearn to pick the variable ordering for an algorithm that acts on a polynomial system. The code described is freely available online.
format Online
Article
Text
id pubmed-7340908
institution National Center for Biotechnology Information
language English
publishDate 2020
record_format MEDLINE/PubMed
spelling pubmed-73409082020-07-08 A Machine Learning Based Software Pipeline to Pick the Variable Ordering for Algorithms with Polynomial Inputs Florescu, Dorian England, Matthew Mathematical Software – ICMS 2020 Article 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 variable ordering. Hence in this paper we present a software pipeline to use sklearn to pick the variable ordering for an algorithm that acts on a polynomial system. The code described is freely available online. 2020-06-06 /pmc/articles/PMC7340908/ http://dx.doi.org/10.1007/978-3-030-52200-1_30 Text en © Springer Nature Switzerland AG 2020 This article is made available via the PMC Open Access Subset for unrestricted research re-use and secondary analysis in any form or by any means with acknowledgement of the original source. These permissions are granted for the duration of the World Health Organization (WHO) declaration of COVID-19 as a global pandemic.
spellingShingle Article
Florescu, Dorian
England, Matthew
A Machine Learning Based Software Pipeline to Pick the Variable Ordering for Algorithms with Polynomial Inputs
title A Machine Learning Based Software Pipeline to Pick the Variable Ordering for Algorithms with Polynomial Inputs
title_full A Machine Learning Based Software Pipeline to Pick the Variable Ordering for Algorithms with Polynomial Inputs
title_fullStr A Machine Learning Based Software Pipeline to Pick the Variable Ordering for Algorithms with Polynomial Inputs
title_full_unstemmed A Machine Learning Based Software Pipeline to Pick the Variable Ordering for Algorithms with Polynomial Inputs
title_short A Machine Learning Based Software Pipeline to Pick the Variable Ordering for Algorithms with Polynomial Inputs
title_sort machine learning based software pipeline to pick the variable ordering for algorithms with polynomial inputs
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7340908/
http://dx.doi.org/10.1007/978-3-030-52200-1_30
work_keys_str_mv AT florescudorian amachinelearningbasedsoftwarepipelinetopickthevariableorderingforalgorithmswithpolynomialinputs
AT englandmatthew amachinelearningbasedsoftwarepipelinetopickthevariableorderingforalgorithmswithpolynomialinputs
AT florescudorian machinelearningbasedsoftwarepipelinetopickthevariableorderingforalgorithmswithpolynomialinputs
AT englandmatthew machinelearningbasedsoftwarepipelinetopickthevariableorderingforalgorithmswithpolynomialinputs