next up previous
suivant: Sixième séance. Systèmes d'équations monter: Une introduction à l'automatique précédent: Une parenthèse. Comment mettre

Cinquième séance bis. Test d'observabilité de Sedoglavic

On va montrer comment l'on peut tester de manière rapide l'observabilité et l'identifiabilité locale d'un système non linéaire. Le résultat général est résumé par le théorème suivant, dû à Alexandre Sedoglavic, en 2001. Dans l'énoncé qui suit, la borne de complexité est obtenue, non à partir du degré des dénominateurs et des numérateurs des fractions représentant les équations d'état, mais à partir de leur complexité d'évaluation, c'est à dire du nombre d'opérations élémentaires nécessaires pour les calculer. Ainsi $(x+1)^{2^{5}}$ se calcule en $1$ addition et $5$ multiplications, c'est donc un polynôme de complexité $6$.

THÉORÈME 23. -- Considérons un modèle possédant $n$ variables d'état, $\ell$ paramètres, $r$ sortie et $m$ commandes. Supposons que les équations de ce modèles soient représentées par un calcul d'évaluation de complexité $L$.

Il existe un algorithme probabiliste qui distingue l'ensemble des variables observables et des paramètres identifiable du modèle, et qui indique le nombre de variable et de paramètres devant être supposés connus pour obtenir un modèle observable et identifiable.

La complexité arithmétique de cet algorithme est bornée par

\begin{displaymath}
{\cal O}\left({\cal M}(\nu)\left({\cal N}(n+\ell)+(n+m)L\right)+m\nu{\cal N}(n+\ell)\right),
\end{displaymath}

${\cal M}(\nu)$ (resp. ${\cal N}(\nu)$) désigne le coût de la multiplication de séries d'ordre $\nu+1$ (resp. de deux matrices de taille $\nu\times\nu$) et où $\nu$ est inférieur ou égal à $n+\ell$ (génériquement égal à $\lceil (n+m)/m\rceil$).

Soient $\mu$ un entier positif arbitraire, $D:=4(n+\ell)^{2}(n+m)d$ et

\begin{displaymath}
D':=(2{\rm Log}(n+\ell+r+1)+{\rm Log}\mu D)D + 4(n+\ell)^{2}((n+m)h+{\rm Log}2nD).
\end{displaymath}

Si les calculs sont éffectués modulo un nombre premier $p$ supérieur à $2D'\mu$, alors la probabilité d'obtenir une réponse correcte est minorée par $(1-1/\mu)^{2}$

L'idée de base de l'algorithme consiste à calculer un développement en série de l'état $x$, d'où l'on peut déduire un développement en série des $r$ sorties $y$. Ceci peut être fait de manière rapide par la méthode de Newton. (Se reporter au cours 6 de Bruno Salvy (semaine 3), théorème 4 p. 8.)

Si le système est localement identifiable et observable, on peut exprimer localement les $m$ fonctions d'état $x$ et les $\ell$ paramètres $\theta$ à partir des sorties $y$ et de leurs dérivées. Il faut au plus aller jusqu'à l'ordre $n+\ell$, qui borne l'ordre de dérivation $\nu$ nécessaire. Sinon, on à un système d'ordre inférieur en les sorties $y$, et les dérivées suivantes des $y_{i}$ s'exprimerons à partir des dérivées d'ordre inférieur à $n+\ell$. Elle n'apporteront donc pas d'informations supplémentaires.

Il suffit alors pour conclure de calculer le rang de la matrice

\begin{displaymath}
J_{1}:=\left(\matrix{{\partial
y\over\partial u}&{\partial
y...
...}\over\partial u}&{\partial
y\over\partial u^{\nu-1}}
}\right)
\end{displaymath}

et celui de la matrice

\begin{displaymath}
J_{2}:=\left(\matrix{{\partial y\over\partial x}&{\partial
y...
...\over\partial u}&{\partial
y\over\partial u^{\nu-1}}
}\right).
\end{displaymath}

Si $\hbox{rang}J_{2} - \hbox{rang}J_{1}=n+\ell$, le système est observable et identifiable, sinon, $n+\ell-(\hbox{rang}J_{2} - \hbox{rang}J_{1})$ est le nombre de variables et de paramètre qui doivent être supposés connus pour qu'il le devienne.


On calcule les rangs en remarquant que si $x$ est solution du système 1, alors $\partial f/\partial \theta_{\alpha}$ est solution du sytème

\begin{displaymath}dx_{i}'=\sum_{j=1}^{n}{\partial f_{i}(x,u,t,\theta)\over
\par...
...u,t,\theta)\over
\partial \theta_{\alpha}}\quad i=1, \ldots,n,
\end{displaymath}

avec les conditions initiales $dx(0)=0$.

De même, $\partial f/\partial x_{\alpha}(0)$ est solution du sytème

\begin{displaymath}dx_{i}'=\sum_{j=1}^{n}{\partial f_{i}(x,u,t,\theta)\over
\partial x_{j}}dx_{i}\quad i=1, \ldots,n,
\end{displaymath}

avec les conditions initiales $dx_{j}(0)=0$, si $j\neq\alpha$ et $dx_{\alpha}(0)=1$.

On obtient donc les développement en séries des solutions de ces équations par le même algorithme rapide, que pour le développement en série de l'état. (Il est difficile de dater l'idée d'utiliser ce type de système pour calculer les dérivées des solutions par rapports aux paramètres. On la trouve dans un cas particulier dans un article de Joseph Ritt en 1920. Le système linéarisé lui-même dans des papiers de Jacobi écrits vers 1850.)


L'aspect probabiliste consiste à choisir au hasard les valeurs numériques correspondant aux fonctions d'état à $t=0$, aux paramètres, etc. Génériquement, les rang des matrices seront ceux des expressions formelles. Il y a une probabilité d'erreur qui peut être majorée en fonction de la taille des nombre choisis pour les calculs.


next up previous
suivant: Sixième séance. Systèmes d'équations monter: Une introduction à l'automatique précédent: Une parenthèse. Comment mettre
Francois Ollivier 2005-02-01