Génération automatique de bonnes extensions aux intervalles

Génération automatique de bonnes extensions aux intervalles
Charlie Vanaret
Institut de Recherche en Informatique de Toulouse, France
Mots-clés :calcul par intervalles, encadrements rigoureux, surestimation, programmation
génétique
1 Motivation
L’analyse par intervalles est une branche de l’analyse numérique développée depuis les années
1960 [2]. Initialement dédié au contrôle des erreurs d’arrondis, le calcul par intervalles s’est
rapidement révélé être un outil puissant pour le calcul ensembliste, et a été exploité dans de
nombreuses disciplines (optimisation, résolution, intégration numérique, ...).
Calculer sur intervalles consiste à encadrer tout nombre réel xnon représentable exactement
sur une machine par un intervalle à bornes flottantes X= [X,X]. Il est alors possible de
construire des extensions aux intervalles Fd’une fonction à valeurs réelles fen étendant aux
intervalles toutes les opérations élémentaires. Un encadrement rigoureux de l’image f(X)de f
sur l’intervalle Xest alors numériquement garanti :
f(X) := {f(x)|xX} ⊂ F(X)(1)
Plusieurs extensions aux intervalles peuvent être définies. L’extension naturelle FN, la plus
simple, consiste à remplacer les variables par leurs domaines et les opérations élémentaires
par leurs équivalents sur intervalles. Les différentes extensions produisent généralement des
encadrements plus ou moins précis en raison du problème de dépendance : lorsqu’une variable
xapparaît plusieurs fois dans une expression, les occurrences de xsont décorrélées. Ainsi,
l’expression XXavec X= [0,5] produit l’intervalle [5,5], non réduit à 0. Un théorème
de Moore (Théorème 1) indique néanmoins que l’extension naturelle produit un encadrement
optimal sous certaines hypothèses.
Théorème 1 (Optimalité de l’extension naturelle [2]) Soit fune fonction continue sur
un intervalle X. Si l’expression de fne contient qu’une seule occurrence de xX, on a
f(X) = FN(X)(aux arrondis près).
Il est parfois possible de reformuler symboliquement une expression afin de faire disparaître
les occurrences multiples. Par exemple, la fonction f(x) = x22x, dont l’extension naturelle
souffre du problème de dépendance, peut être transformée en l’expression optimale g(x) = (x
1)21. Une technique alternative, particulièrement puissante, consiste à vérifier si la fonction
est monotone par rapport à une variable x. Sans perte de généralité, si fest décroissante par
rapport à xsur l’intervalle X, alors f(X) = [f(X), f(X)] [F(X), F (X)]. Le calcul de f(X)
est alors réduit à deux évaluations ponctuelles aux bornes de X.
Lorsque l’expression de fest complexe (nombre important de variables, nombreuses compo-
sitions de fonctions élémentaires), il est en général non trivial de reformuler son expression ou
de calculer ses dérivées partielles sur intervalles de manière précise. Dans cet article, nous dé-
crivons un outil de génération automatique d’extensions aux intervalles permettant de réduire
ou de supprimer la surestimation due au problème de dépendance.
2 Génération automatique d’extensions aux intervalles
La recherche d’une bonne extension aux intervalles Fd’une fonction fpeut être modélisée
par le problème d’optimisation suivant. Sur un domaine Xdonné, on cherche à interpoler f
sur un ensemble fini de points {xi}i∈{1,...,N }XN, en minimisant la largeur des encadrements
obtenus par Fsur un nombre fini d’intervalles {Xi}i∈{1,...,N}XN:
minimiser
Fµ(w(F(X1)), . . . , w(F(XN)))
sous contraintes d(FN(xi), F (xi)) = 0,i∈ {1, . . . , N}
µest une fonction d’agrégation (par exemple, la somme ou le max) ;
w(X) = XXest la largeur d’un intervalle X;
dest la distance entre deux intervalles définie par :
d(X, Y ) =
0si XY6=
YXsi X < Y
XYsi Y < X
(2)
{xi}et {Xi}sont par exemple générés aléatoirement.
Nous proposons de résoudre ce problème d’optimisation par la programmation génétique [1] :
une extension aux intervalles candidate est modélisée par un arbre syntaxique abstrait, re-
présentant une composition de fonctions élémentaires (appartenant à un ensemble prédé-
terminé). Par exemple, la fonction h(x) = 3 cos(x1) peut être représentée par l’arbre
Mult(3, Cos(Sub(Var("x"), Int(1)))). Des opérateurs stochastiques basés sur la théorie
de l’évolution (sélection, croisement, mutation) permettent de faire évoluer itérativement un
ensemble de solutions candidates dans l’espoir de converger vers une solution satisfaisante.
3 Tests préliminaires sur des cas simples
Des tests préliminaires sur des cas simples (Tableau 1) devront prouver la validité de l’ap-
proche. Pour certains cas, la solution attendue est une simple reformulation à une occurrence
unique. Pour d’autres, un résultat similaire à l’évaluation par monotonie est attendu.
Description Extension naturelle Reformulation optimale
Réduction du nombre d’occurrences
Soustraction XX0
Multiplication X·Xavec X= [2,4] X2
Carré 1 X2
2X(X1)2
1
Carré 2 (Lennard-Jones) 4( 1
X12
1
X6) 4( 1
X6
1
2)2
1
Trigo cos(X) sin(Y)sin(X) cos(Y) sin(YX)
Analyse de monotonie
Interpolation linéaire T X + (1 T)Yavec T= [0,1] [T(XY) + Y , T (XY) + Y]
Non-linéaire Xcos(X)Xavec X= [1,2] [Xcos(X)X, X cos(X)X]
TAB. 1 – Reformulations optimales d’expressions analytiques
Références
[1] John R Koza. Genetic programming : on the programming of computers by means of natural
selection, volume 1. MIT press, 1992.
[2] R. E. Moore. Interval Analysis. Prentice-Hall, 1966.
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !