• Aucun résultat trouvé

Pouvoir algorithmique des syst`emes hybrides : le calcul hybride

1.3 Diff´erentes classes de mod`eles de syst`emes biologiques

2.1.3 Pouvoir algorithmique des syst`emes hybrides : le calcul hybride

Avant de rentrer dans la description proprement dite de notre mod`ele, nous d´ecrivons dans ce

paragraphe un autre int´erˆet des syst`emes hybrides, qui r´eside dans la th´eorie ducalcul hybride.

Cette th´eorie, dont les bases sont pos´ees dans [21] et d´evelopp´ees dans [27] est fond´ee sur

l’approximation de syst`emes dynamiques non lin´eaires par un syst`eme lin´eaire par morceaux.

Consid´erons un syst`eme den´equations diff´erentielles ordinaires autonomes sur un domaine

D de Rn : 

dx

dt(t) =f(x(t))

x(0) =x0 ∈D

(2.1)

On supposera ici que le champ de vecteur f : Rn → Rn est de classe C1 sur D. Lorsque f

est non lin´eaire, la r´esolution analytique de (2.1) est souvent impossible. La simulation des

trajectoires d’un tel syst`eme demande donc une approximation num´erique.

Les m´ethodes classiques de r´esolution num´erique d’´equations diff´erentielles ordinaires non

lin´eaires (du type Euler ou Runge-Kutta) font appel `a une discr´etisation temporelle. Dans la

m´ethode d’Euler par exemple, on consid`ere un pas de temps ∆t > 0 et on pose, pour tout

p∈N,tp =p∆t. En supposant alors le pas de temps suffisament petit, on fait l’approximation

suivante :

dx

dt(tp)xp+1xp

∆t

qui nous m`ene `a la formule de r´ecurrence :

xp+1 = xp+ ∆tf(xp)

Cette formule nous donne une discr´etisation des trajectoires solutions de (2.1). Afin de prouver

que ces trajectoires discr`etes approchent correctement les vraies solutions, il reste `a d´eterminer

la convergence de la m´ethode. Dans le cas pr´ec´edent (m´ethode d’Euler explicite), on peut

montrer que la m´ethode est convergente (c’est-`a-dire que les trajectoires approch´ees tendent

bien vers les trajectoires r´eelles lorsque le pas de temps ∆t tend vers 0) et que l’ordre de

convergence est de 1 (voir par exemple [18]), c’est-`a-dire que l’on a, pour toutP ∈N:

max

0≤p≤P|xp−x(tp)|= O

∆t→0(∆t)

Cette m´ethode est bien sˆur rudimentaire et il existe de nombreuses m´ethodes pr´esentant de

bien meilleurs ordres de convergence. On peut citer notamment la m´ethode classique de

Runge-KuttaRK45 d’ordre 4 (voir [18]).

La m´ethodologie du calcul hybride se base sur un point de vue radicalement diff´erent. La

discr´etisation est spatiale, c’est-`a-dire qu’on ne discr´etise plus la variable temporelle t mais la

variable d’´etatx. Dans le cas scalaire (n= 1), cela consiste `a d´efinir un pas d’espace ∆x >0. On

ne cherche plus `a donner une approximation de la d´eriv´ee dx

dt mais `a donner une approximation

du second membre f(x).

Dans les m´ethodes num´eriques classiques, la discr´etisation de la d´eriv´ee donne lieu `a une

´equation r´ecurrente qui approche l’´equation diff´erentielle. Dans le calcul hybride, nous

d´ecom-posons l’espace des phases en une partition de segments Ip = [p∆x,(p+ 1)∆x] sur chacun

desquels nous sommes amen´es `a r´esoudre une ´equation diff´erentielle approch´ee :

dx

dt =fp(x) (2.2)

Le but du calcul hybride n’est donc pas de transformer une ´equation diff´erentielle en une

´equation r´ecurrente, mais de proposer une simplification de cette ´equation diff´erentielle en

l’approximant sur chaque segmentIp par une ´equation diff´erentielle dont la r´esolution formelle

est possible explicitement. Les approximantsfp doivent donc ˆetre `a la fois suffisament g´en´eraux

pour pouvoir approcher correctement la fonction de d´epart, et aussi suffisament simples pour

permettre une r´esolution exacte des ´equations diff´erentielles (2.2). Les fonctions affines r´ealisent

ce compromis, et ce, quelle que soit la dimension ndu syst`eme.

Consid´erons le syst`eme diff´erentiel affine suivant :

dx

dt =Ax(t) +b

x(t0) =x0

(2.3)

o`u A est une matrice r´eelle carr´ee de dimension n et b un vecteur r´eel de dimension n. La

r´esolution de ce syst`eme nous donne :

x(t) =eA(tt0)x0+eAt

Z t

t0

eAub du

ou alors, dans le cas o`u A est une matrice inversible :

x(t) =eA(tt0) x0+A−1b

−A−1b

Il nous reste `a d´eterminer comment discr´etiser le domaineD de d´epart lorsque la dimension

n est strictement sup´erieure `a 1. Selon [27], la discr´etisation deD doit se faire en n-simplexes

D´efinition 2.2 Soient d et n deux entiers naturels tels que n ≥ d. Un d-simplexe de Rn est

l’enveloppe convexe de n’importe quel ensemble ded+ 1 points affinement ind´ependants.

C’est-`

a-dire que siSest un d-simplexe deRn, alors il existe un ensemble fini{x1, . . . , xd+1}de points

affinement ind´ependants deRn tel que :

S =

(d+1

X

i=1

λixi

(∀i= 1. . . d+ 1, λi ≥0)∧

d+1

X

i=1

λi= 1

!)

En dimension 2, les 2-simplexes sont les triangles, en dimension 3, les 3-simplexes sont les

t´etra`edres, etc. Grˆace `a un maillage simplicial deD (voir d´efinition dans [27]), nous pouvons,

sur chaque simplexe du maillage d´efinir une unique approximation affine de f qui interpole

f aux sommets du simplexe. Grˆace `a cette interpolation, nous pouvons assurer que le champ

de vecteurs affine par morceaux ainsi construit est continu et lipschitzien sur l’ensemble du

domaine (voir [27]).

Nous supposons par commodit´e queD est un pav´e deRn(ce sera le cas dans notre exemple).

Nous supposons que (Di)iI est une famille de n-simplexes de Rn constituant un maillage

simplicial deD. Nous d´efinissons la taille des simplexesDi par :

hi def

= sup

x,y∈Di

kx−yk∞

o`u la normek.k∞ est la norme vectorielle classique :

∀x∈Rn, kxk∞= max

j∈{1,...,n}|xj|

Nous d´efinissons ensuite le pas du maillage par :

hdef= sup

i∈I

hi

On introduit alors l’approximation affine par morceauxfh du champ non lin´eairef, d´efinie par

interpolation def aux sommets du maillage (Di)i∈I. L’approximation affine par morceaux du

syst`eme diff´erentiel autonome (2.1) est donc le syst`eme diff´erentiel suivant :

dxh

dt (t) =fh(xh(t))

xh(0) =x0 ∈D

(2.4)

Remarque 2.2 Dans chaque simplexe Di (pour i∈I), le champ de vecteurs fh est affine, on

pose :

∀x∈Di, fh(x)def= Aix+bi

Nous notons Sij, pour j allant de 1 `a n+ 1, les sommets du simplexe Di. La matrice Ai et

le vecteur bi sont alors calcul´es grˆace aux contraintes d’interpolation suivantes aux sommets

de Di :

∀j∈ {1, . . . , n+ 1}, f(Sij) =AiSij +bi

Le th´eor`eme qui suit (tir´e de [27]) justifie l’int´erˆet de la m´ethode d’approximation affine par

morceaux, en donnant un r´esultat de convergence :

Th´eor`eme 2.1 Soient x(t) et xh(t) les solutions respectives des probl`emes de Cauchy (2.1) et

(2.4). On suppose quef estL-lipschitzienne. Pour tout to`u x(t) etxh(t) sont d´efinies, on a :

kx(t)−xh(t)k ≤ ε(Lh)(eL|t|−1)

et

dx

dt(t)dxh

dt (t)

≤ε(h)eL|t|

o`u ε(h) tend vers z´ero lorsque h tend vers z´ero.

Dans la suite de ce chapitre, nous proposons un mod`ele du fonctionnement de l’op´eron

lactose grˆace `a un syst`eme hybride. Nous utilisons ensuite le calcul hybride pour trouver des

trajectoires de ce syst`eme.