Recommender techniques for software with result verification (Artikel)
|Recommender techniques for software with result verification (Artikel)|
|Autor||Ekaterina Auer, Wolfram Luther|
|In:||M. Papadrakakis, V. Papadopoulos, G. Stefanou (eds.), Proceedings of 3rd ECCOMAS Thematic Conference on Uncertainty Quantification in Computational Sciences and Engineering (UNCECOMP)|
Methods with result verification such as interval analysis or affine arithmetic have been used successfully at least since the 1970s not only for dealing with the automated proofs that simulation results obtained using computers are correct, but also for taking into account the influence of bounded uncertainty in the input on the outcome of a simulation. There are many packages developed for providing basic arithmetic computations on different platforms, for example, filib++ in C++, PyInterval in Python , or such exotic implementations as JuliaIntervals in Julia programming language, and this is only a small choice of tools for interval arithmetics. Moreover, there are packages for higher level algorithms such as solving initial value problems for ordinary differential equations (e.g., VNODE-LP), global optimization or linear/nonlinear systems of equations (e.g., inside C-XSC Toolbox). However, despite this abundance of software solutions, set-based methods with result verification are rarely used by an ordinary engineer for dealing with bounded uncertainty. In our opinion, one reason for this unpopularity is that engineers do not have time to compare the existing tools and choose the package that is most suitable for their task. To address this problem, we suggest using automatic recommendations. In this paper, we focus on software for solving initial value problems since it is important in many application areas such as biomechanics or automatic control. We show how modern concepts from the area of recommender systems can be employed to obtain an automatic suggestion about what tool to use for a given application and what prerequisites are necessary to be able to do so. We discuss in general what kind of data, metadata, quality criteria, metrics, and visualizations are required to be able to compare and recommend software with result verification. Finally, we present algorithms for recommendation and illustrate their functionality.