论文标题

基于机器学习的软件管道,用于选择具有多项式输入的算法的可变排序

A machine learning based software pipeline to pick the variable ordering for algorithms with polynomial inputs

论文作者

Florescu, Dorian, England, Matthew

论文摘要

我们对应用机器学习(ML)技术来改善数学软件感兴趣。 ML工具的概率性质似乎会使该软件珍贵的确切结果无效,但是,该软件的基础算法通常带有一系列选择,这些选择是ML应用程序的良好候选者。我们指的是对软件的数学正确性没有影响的选择,但会影响其性能。 过去,我们尝试了一种这样的选择:在构建圆柱代数分解(CAD)时使用的可变订单使用。我们使用Python库Scikit-Learn(Sklearn)尝试不同的ML模型,并开发了用于特征生成和超参数选择的新技术。 除了立即应用CAD变量排序以外,这些技术很容易适应做出决定。因此,在本文中,我们提出了一条软件管道,用于使用Sklearn来选择作用于多项式系统的算法的可变排序。描述的代码可在线免费获得。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源