A knowledge-based framework for the selection of mathematical software

Selection of the most appropriate software for solving mathematical problems is a unique and difficult problem that often involves the evaluation of complex quantitative tradeoffs among multiple problem features. Human expertise for making such decisions is rare because it requires both extensive knowledge of the problem domain as well as familiarity with the implementation of the software. Conventional knowledge representation schemes, such as production rules, are not well-suited for assessing such tradeoffs. In this dissertation we present a generic, more precise mechanism for representing software selection expertise, in which the primitive units of knowledge are real-valued mappings. This representation permits the domain expert to express functional relationships between the properties of mathematical problems and the performance of the software. In addition, the expert may define arbitrarily complex operators for pooling evidence, in contrast to the static aggregation mechanisms provided by conventional representation media. Despite the complexity of the representation, the uniform structure of the knowledge base permits knowledge acquisition facilities that are largely mechanical. The accuracy, flexibility and extendibility of the representation model is demonstrated in an automated consultation system for selecting initial value problem ordinary differential equation software. This consultant significantly extends the state-of-the-art in automatic software selection and rivals the performance of human experts.