• Aucun résultat trouvé

Calcul de la s´emantique abstraite

Th´eor`eme 6.10 Si L.M♯ v´erifie le crit`ere CS2, alors pour tout PCI P , on a :

LP M ⊆ γ ◦ γ′¡LP M♯¢

Preuve On montre que si L.M♯ v´erifie CS2, alors γ◦ L.Mv´erifie CS1. Ceci est ´evident d’apr`es la

d´efinition de γ′ (d´efinition 6.5). Le th´eor`eme 6.1 s’applique donc sur γ◦ L.M, ce qui prouve le

th´eor`eme 6.10. ¤

6.3

Calcul de la s´emantique abstraite

Nous allons donc utiliser le domaine des contraintes FSn comme domaine abstrait, et nous cherchons une s´emantique abstraite L.M♯:PCI → FSn

qui v´erifie le crit`ere CS2. Cette s´emantique abstraite nous est fournie par les algorithmes d’int´egration garantie d´ecrits au chapitre 3.

6.3.1

L’int´egration garantie est une s´emantique abstraite valide

Pour construire la s´emantique abstraite, nous allons simplement utiliser les algorithmes d’int´egration garantie de la mani`ere suivante : la premi`ere phase de l’algorithme (encadrement a priori, voir la section 3.3.2) nous donne, `a partir d’un PCI P :=¡˙y = F (y, [k] , y(0)∈ [y0]

¢ , un pas d’int´egration h et un encadrement [y] tels que ∀t ∈ [0, h] , ∀y ∈ LP M, y(t) ∈ [y] (on pourra trouver les preuves dans [BM07a, NJC99]). De plus, la seconde phase de l’int´egration garantie (section 3.3.3) donne [yh] tel que∀y ∈ LP M, y(h) ∈ [yh]. Le th´eor`eme suivant est donc vrai :

Th´eor`eme 6.11 (Fonction d’int´egration garantie) Il existe une fonction IG qui, ´etant donn´e un PCI P ∈ PCI, fournit h ∈ R+, [y] , [yh]∈ IRn tels que :

1. ∀y ∈ LP M, ∀t ∈ [0, h] , y(t) ∈ [y] et 2. ∀y ∈ LP M, y(h) ∈ [yh].

Si la fonction renvoie h = 0, cela voudra dire que l’int´egration garantie a ´echou´e.

D´efinition 6.13 (S´emantique abstraite) La s´emantique abstraite d’un PCI P ∈ PCI est d´efinie comme le r´esultat de l’algorithme suivant :

Entr´ee : P =¡˙y = F (y, [k]), y(0)∈ [y0]

¢ ∈ PCI

Entr´ee : N ∈ N; /* nombre de pas `a effectuer */

Sortie : LP M♯N

d´ebut

(h, [y] , [yh]) = IG(P );

si h = 0 alors renvoyer tt♯; finsi

res = 0 : [y] ; i = 1; tant que i < N faire

P =¡˙y = F (y, [k]), y(0)∈ [yh]

¢ ; (h, [y] , [yh]) = IG(P );

si h = 0 alors renvoyer res∧ t : ⊤n I; finsi

res = res∧ t : [y]; i = i + 1; t = t + h; fintantque

renvoyer res∧ t : ⊤n I;

fin

Pour un PCI P ∈ PCI et un entier N ∈ N∗, on notera LP M

La s´emantique abstraite utilise donc un algorithme d’int´egration garantie pour calculer une sur- approximation des solutions du PCI par une fonction en escalier `a N marches. Le param`etre N permet de contrˆoler la pr´ecision de l’abstraction : plus N est grand, plus l’abstraction est pr´ecise. La sˆuret´e de la s´emantique abstraite ainsi calcul´ee est prouv´ee par le th´eor`eme suivant.

Th´eor`eme 6.12 (Sˆuret´e de la s´emantique abstraite.) Pour tout N ∈ N∗, la fonction L.M♯ N

donn´e `a la d´efinition 6.13 v´erifie le crit`ere CS2.

Preuve On prouve le th´eor`eme par r´ecurrence sur N . Si N = 1, la preuve est ´evidente d’apr`es le th´eor`eme 6.11. Soit maintenant N ≥ 1 tel que la fonction L.MN v´erifie le crit`ere CS2, nous devons montrer que L.M♯N +1 le v´erifie ´egalement. Soit donc P ∈ PCI un probl`eme de Cauchy intervalle

et soit φ = LP M♯N +1. D’apr`es la d´efinition 6.13, φ est construite ainsi : on calcule ψ = LP M ♯ N, puis

on effectue un dernier pas d’int´egration garanti pour la derni`ere contrainte. D’apr`es l’hypoth`ese de r´ecurrence, ψ v´erifie l’´equation (6.15), et d’apr`es la construction de la derni`ere contrainte et le th´eor`eme 6.11, φ v´erifie ´egalement cette ´equation pour i = N + 1. Donc, φ v´erifie l’´equation

(6.15), donc L.M♯N +1v´erifie le crit`ere CS2. ¤

6.3.2

Motivation pour une nouvelle m´ethode d’int´egration garantie

Les algorithmes classiques d’int´egration garantie (AWA ou VNODE notamment) utilisent, pour r´esumer, un d´eveloppement en s´eries de Taylor de la solution de l’EDO `a int´egrer, qu’ils trans- forment en m´ethode de calcul garanti en utilisant une arithm´etique d’intervalles (voir chapitre 3). La formule ainsi obtenue est ensuite r´e´ecrite pour obtenir une m´ethode la plus stable possible. Cette r´e´ecriture consiste notamment `a remplacer le calcul par intervalle classique en un calcul par forme centr´ee, ce qui revient `a calculer l’encadrement comme un point associ´e `a une erreur, soit le diam`etre de l’intervalle. Les m´ethodes les plus stables (comme COSY-VI) vont encore plus loin en repr´esentant les termes intervalles par des formes de Taylor, ce qui r´eduit le wrapping effect mais augmente largement le temps de calcul. Les m´ethodes classiques `a base d’intervalles, si elles sont relativement efficaces, souffrent de plusieurs probl`emes. Tout d’abord, pour des probl`emes non lin´eaires, les r´esultats tendent `a ˆetre fortement surapproxim´es `a cause du wrapping effect qui rend les algorithmes instables. Pour les probl`emes les plus complexes, cette instabilit´e est coupl´ee `a une baisse d’efficacit´e. En effet, il devient alors important d’utiliser un ordre ´elev´e dans le d´eveloppement en s´erie de Taylor. Presque toutes les impl´ementations existantes utilisent des algorithmes de diff´erentiation automatique pour cela, ce qui revient `a recalculer `a chaque pas les d´eriv´ees successives de la fonction `a int´egrer. Cette op´eration peut ˆetre tr`es coˆuteuse en temps. Enfin, le principal reproche que l’on pourrait faire aux m´ethodes classiques d’int´egration garantie est leur ´eloignement des m´ethodes d’int´egration num´erique. En effet, les num´ericiens ont d´evelopp´e de nombreuses m´ethodes d’approximation des solutions des ´equations diff´erentielles et poss`edent souvent une grande expertise sur ces m´ethodes. Par ailleurs, ces m´ethodes sont tr`es souvent uti- lis´ees lors du test des syst`emes critiques embarqu´es pour simuler l’environnement ext´erieur (c’est notamment ce que nous avons fait pour la simulation du probl`eme des deux r´eservoirs en Simulink, annexe A). Une m´ethode d’int´egration garantie qui serait construite sur une m´ethode num´erique permettrait donc non seulement d’utiliser l’expertise acquise sur les m´ethodes num´eriques pour choisir finement le pas d’int´egration et rendre la m´ethode la plus stable possible, mais surtout donnerait une information suppl´ementaire qui est la distance entre la simulation num´erique et la vraie solution. Dans cette optique, on peut voir le programme de r´esolution num´erique comme l’impl´ementation, suivant un algorithme particulier, du probl`eme de la r´esolution de l’´equation diff´erentielle. Mesurer la qualit´e de cette impl´ementation revient `a mesurer la distance entre les r´esultats fournis par l’int´egration num´erique et les r´esultat attendus, c’est-`a-dire la solution de l’´equation diff´erentielle.

Nous avons d´evelopp´e une m´ethode d’int´egration garantie nomm´ee GRKLib qui repose sur ces id´ees, c’est-`a-dire qu’elle s’appuie sur une m´ethode num´erique classique (en l’occurrence une m´ethode de Runge-Kutta, mais les id´ees que nous pr´esentons peuvent s’appliquer dans un cadre bien plus g´en´eral). Notre ambition en commen¸cant ce travail sur un algorithme de Runge-Kutta