Section: Scientific Foundations
Interval analysis
We are interested in real-valued system solving (, ), in optimization problems, and in the proof of the existence of properties (for example, it exists such that or it exist two values , such that and ). There are few restrictions on the function as we are able to manage explicit functions using classical mathematical operators (e.g. as well as implicit functions (e.g. determining if there are parameter values of a parametrized matrix such that the determinant of the matrix is negative, without calculating the analytical form of the determinant).
Solutions are searched within a finite domain (called a box) which may be either continuous or mixed (i.e. for which some variables must belong to a continuous range while other variables may only have values within a discrete set). An important point is that we aim at finding all the solutions within the domain whenever the computer arithmetic will allow it: in other words we are looking for certified solutions. For example, for 0-dimensional system solving, we will provide a box that contains one, and only one, solution together with a numerical approximation of this solution. This solution may further be refined at will using multi-precision.
The core of our methods is the use of interval analysis that allows one to manipulate mathematical expressions whose unknowns have interval values. A basic component of interval analysis is the interval evaluation of an expression. Given an analytical expression in the unknowns and ranges for these unknowns we are able to compute a range , called the interval evaluation, such that
In other words the interval evaluation provides a lower bound of the minimum of and an upper bound of its maximum over the box.
For example if and , then , meaning that for any in [0.5,0.6] we guarantee that .
The interval evaluation of an expression has interesting properties:
-
it can be implemented in such a way that the results are guaranteed with respect to round-off errors i.e. property 1 is still valid in spite of numerical errors induced by the use of floating point numbers
-
if or , then no values of the unknowns in their respective ranges can cancel
-
if (), then is positive (negative) for any value of the unknowns in their respective ranges
A major drawback of the interval evaluation is that may be overestimated i.e. values of such that may not exist. This overestimation occurs because in our calculation each occurrence of a variable is considered as an independent variable. Hence if a variable has multiple occurrences, then an overestimation may occur. Such phenomena can be observed in the previous example where while the real maximum of is approximately 0.9144. The value of is obtained because we are using in our calculation the formula with having the same interval value than .
Fortunately there are methods that allow one to reduce the overestimation and the overestimation amount decreases with the width of the ranges. The latter remark leads to the use of a branch-and-bound strategy in which for a given box a variable range will be bisected, thereby creating two new boxes that are stored in a list and processed later on. The algorithm is complete if all boxes in the list have been processed, or if during the process a box generates an answer to the problem at hand (e.g. if we want to prove that , then the algorithm stops as soon as for a certain box ).
A generic interval analysis algorithm involves the following steps on the current box [1] , [7] , [3] , [5] :
-
exclusion operators: these operators determine that there is no solution to the problem within a given box. An important issue here is the extensive and smart use of the monotonicity of the functions
-
filters: these operators may reduce the size of the box i.e. decrease the width of the allowed ranges for the variables [8] , [29] , [25] , [28] , [22]
-
existence operators: they allow one to determine the existence of a unique solution within a given box and are usually associated with a numerical scheme that allows for the computation of this solution in a safe way
-
bisection: choose one of the variable and bisect its range for creating two new boxes
-
storage: store the new boxes in the list
The scope of the COPRIN project is to address all these steps in order to find the most efficient procedures. Our efforts focus on mathematical developments (adapting classical theorems to interval analysis, proving interval analysis theorems), the use of symbolic computation and formal proofs (a symbolic pre-processing allows one to automatically adapt the solver to the structure of the problem), software implementation and experimental tests (for validation purposes).