GAUSS: an online algorithm selection system for numerical quadrature

https://doi.org/10.1016/S0965-9978(01)00046-1Get rights and content

Abstract

We describe the design and implementation of GAUSS — an online algorithm selection system for numerical quadrature. Given a quadrature problem and performance constraints on its solution, GAUSS selects the best (or nearly best) algorithm. GAUSS uses inductive logic programming to generalize a database of performance data; this produces high-level rules that correlate problem features with algorithm performance. Such rules then serve as the basis for recommending algorithms for new problem instances. GAUSS functions online (new data and information can be incrementally incorporated) and can also provide phenomenological explanations of algorithm recommendations.

Introduction

The subject of this paper is GAUSS — an automatic algorithm recommender system for numerical quadrature. Given a quadrature problem and performance constraints on its solution, GAUSS selects the best (or nearly best) algorithm. The approach we take is to organize a database of test problems and quadrature algorithms, and to accumulate performance data for the given population. This database of performance data is then mined (generalized) to arrive at high-level rules that can form the basis for a recommendation (for future problems).

GAUSS demonstrates a novel approach to the design and implementation of algorithm recommender systems. Traditionally, recommender systems generalize performance data offline and have been restrictive in their coverage of the application domain (e.g. the use of weak learning methods such as neural network training). GAUSS however uses relational descriptions for domain modeling and interacts dynamically with its environment to gather the data needed to mine for recommendations. It is thus an online recommender system. New information about problems and algorithms can be easily incorporated without having to retrain on the old data. In addition, the end-user of the recommender system can query the system for the basis of the recommendations (relational rules that correlate the effect of problem features on algorithm performance).

Two ideas are critical in our presentation below:

  • GAUSS does not evaluate integrals (symbolically or numerically). In addition, it does not require a symbolic form of the integrand, though it can make use of symbolic information if available. The goal of recommender systems is to help novice users or to be used in a completely automatic environment (such as problem solving environments [10]).

  • Systems like GAUSS typically have two phases of development and operation. The first is the collection and generalization of performance information (to yield rules, decision procedures, etc.) while the second is the actual process of algorithm recommendation (and incorporating any feedback/changes). The first phase is time consuming but needs to be done only once. The second phase is comparatively fast, inexpensive, and can be performed as many times as desired.

Section 2 provides a quick overview of the application domain considered in this study and identifies the difficulties in algorithm recommendation. The design of the GAUSS system is detailed in Section 3. Complexity and various practical implementation considerations are described here. Section 4 presents a careful experimental evaluation of the system. Section 5 identifies several important future research directions.

Section snippets

Numerical quadrature

The algorithm recommendation problem addressed by GAUSS is to:

  • Select an algorithm to evaluate I=abf(x)dx

  • so that relative error ϵr<θ and N is minimized

where θ is an user-specified error requirement and N is the number of times f(x) is evaluated in [a,b] to yield the desired accuracy. Most quadrature algorithms evaluate I as [6]:abf(x)dx≈w1f(x1)+w2f(x2)+⋯+wnf(xn),−∞≤a≤b≤+∞

We choose ϵr and N as performance criteria because:

  • For most software implementations of integration routines, an absolute

The design of GAUSS

We outline the design of the GAUSS system with an example. Consider the effect of the QUADPACK routine QNG [18] on the integral (Fig. 2, left)301x1/2log(x)dx=−49

When the relative error requirement is reduced from 0.1 down to 5×10

Experimental studies

In this section, we outline the experimental framework for the evaluation of GAUSS. We have utilized 124 routines from the GAMS cross-index [4], where the category H2a is for the evaluation of one dimensional integrals. In the experiments described below, methods for principal value integrals, interval analysis techniques, parallel methods of numerical integration, Monte Carlo methods and number theoretic methods are excluded. The integrand is also assumed to be either (i) a function available

Extensions

There are several possible extensions to the work presented here:

  • The representational formalism can be enhanced to include so-called description logics or terminological logics that provide more functionality than the logic formalism employed here. In particular, this will permit constructive induction where rules of the form ‘If two or more of these features are present, then use algorithm X’ can be induced. The scheme presented in this paper is a proper subset of this language.

  • The study can

Concluding remarks

The eventual success and acceptance of algorithm recommender systems rely on the expressiveness of their representation(s) and their ability to reason efficiently (and accurately) with such representations. We have shown how GAUSS achieves these objectives by (i) a direct control over the data-generation process, (ii) a rich representation language for recommendation rules and domain-specific context information, and (iii) the use of ILP for generalization. The online capability of systems like

Acknowledgements

We acknowledge suggestions from three anonymous reviewers whose comments greatly improved the presentation and readability of this paper. This research was supported in part by the National Science Foundation (CCR-9311486; EIA-9984317), the Defense Advanced Research Projects Agency through the Army Research Office (DAAH04-94-G-0010), Intel Corporation, and the Purdue Research Foundation.

References (23)

  • C. de Boor

    CADRE: an algorithm for numerical quadrature

  • F.S. Acton

    Real computing made REAL

    (1996)
  • R. Baier et al.

    Partial evaluation of numerical programs in FORTRAN

    (1994)
  • A. Berlin et al.

    Compiling scientific code using partial evaluation

    IEEE Comput

    (1990)
  • Ronald F. Boisvert. The NIST guide to available mathematical software. URL: http://gams.nist.gov,...
  • I. Bratko et al.

    Applications of inductive logic programming

    Commun ACM

    (1995)
  • P.J. Davis et al.

    Methods of numerical integration

    (1984)
  • L. de Raedt et al.

    Using logical decision trees for clustering

    (1997)
  • S. Dzeroski et al.

    Relational reinforcement learning

    (1998)
  • E. Gallopoulos et al.

    Computer as thinker/doer: problem-solving environments for computational science

    IEEE Comput Sci Engng

    (1994)
  • E.N. Houstis et al.

    PYTHIA-II: a knowledge/database system for managing performance data and recommending scientific software

    ACM Trans Math Software

    (2000)
  • Cited by (11)

    • Exploring the role of graph spectra in graph coloring algorithm performance

      2014, Discrete Applied Mathematics
      Citation Excerpt :

      These ideas date back to the 1970s, when the Algorithm Selection Problem (ASP) was first posed by Rice [49], and formulated as the task of learning the relationship between a set of features describing problem classes, and the performance of algorithms. The approach was then applied to the task of selecting the best solver for partial differential equations and numerical quadrature [61,32,33,47]. Independently, the same ideas have been applied in the machine learning community, to select the best algorithm for solving classification [10,2] and prediction problems [46,63]—a sub-field known as meta-learning [62] since the approach is to learn about learning algorithm performance.

    • Novel runtime systems support for adaptive compositional modeling in PSEs

      2005, Future Generation Computer Systems
      Citation Excerpt :

      Consider how the interaction between Weaves and runtime recommender systems would work for the task of adaptive numerical quadrature. Let us start with the collection of 120 quadrature algorithms described in [24]. For a given numerical integration problem, the performance goal is to recommend a suitable quadrature routine such that the number of function evaluations is minimized.

    View all citing articles on Scopus
    View full text