• Aucun résultat trouvé

Définition 3. On dit que des directives ctin particulières présentent une anomalie relativement aux

directives order s’il n’est pas possible de parcourir le graphe modulaire par un système de boucles imbriquées relativement aux axes des espaces de calcul. Autrement dit, il n’est pas possible de définir un ordre topologique sur le graphe modulaire uniquement par des directives order.

Résultat 3. Soit X une CFC pour laquelle le sous-graphe correspondant GX, formé uniquement des arcs entre les sommets de X , vérifie la condition suivante : pour tout axe l de son espace de calcul, les distances dl correspondant à tous les arcs de GX ne sont pas de même signe (≤ ou ≥). Alors les directives ctin présentent une anomalie relativement aux directives order.

Démonstration. Nous faisons l’hypothèse que les directives ctin ne présentent pas d’anomalie

relativement aux directives order. Il est alors possible de trouver des directives order permettant de parcourir le graphe modulaire. Alors, d’après le résultat 2, les fonctions de base de X se trouvent dans un même bloc order ; notons lx l’axe correspondant à sa boucle extérieure. En fonction du sens de cette boucle (ascendante ou descendante), les distances dlxsur tous les arcs de GX sont de même signe : dlx≤ 0 pour le sens croissant et dlx≥ 0 pour le sens décroissant (règle 2 du chapitre

4). Ce résultat contredit la condition retenue dans l’énoncé. Ainsi, l’hypothèse que les directives

ctin ne présentent pas d’anomalies ne peut pas être retenue.

Résultat 4. Soit X une CFC pour laquelle le sous-graphe correspondant GX, formé uniquement des arcs entre les sommets X , vérifie la condition suivante : il existe un circuit de GX formé d’arcs ayant des vecteurs de valuation nulle. Alors les directives ctin présentent une anomalie relative-ment aux directives order.

Démonstration. La démonstration est simple, puisque cette propriété génère un graphe modulaire

avec des circuits.

Ces résultats vont nous permettre de proposer un algorithme capable de détecter toutes les anomalies ; pour cela, nous commençons par en présenter une interprétation. Etant donnée une CFC X définie sur un espace de calcul Sx, dont la dimension est n (n> 0), supposons que pour un

axe l donné de Gxtous les dlsont de même signe (≤ ou ≥)8. Soit Fpune fonction de base de X et I un point de l’espace de calcul commun Sx. Le sous-espace affine de Sx, défini par les points I ayant une composante constante, égale à l0, suivant l’axe l, est noté Hl0. Cet espace divise l’espace Sx en deux sous-espaces, Hl+

0 et Hl

0, selon que l’on considère les points de Sxayant des composantes suivant l strictement plus grandes ou strictement plus petites que l0. Si l’on considère un arc du graphe modulaire ayant comme module source Fs(I), cet arc sera orienté vers Hl+

I′ si dlest négatif et vers Hl

I′ si dl est positif. Ainsi, à titre d’exemple, si tous les dl, relativement à l’axe l des arcs de

GX sont< 0, alors le parcours des modules relatifs à X se réalise en parcourant, suivant les valeurs

croissantes de l, les espaces H1, H2, H3, etc.. Autrement dit, le parcours se fait de Hlvers les points de Hl+. Ceci peut se présenter avec le pseudo-code :

5.3. ANOMALIES DANS LA DÉFINITION DES CTIN

Soit Nl la taille maximale suivant l’axe l. pour l= 1 à Nl faire

Parcourir le sous-espace affine Hl correspondant. fin pour

De même, dans le cas où les dl sont tous> 0, le parcours se fait de Hl vers les points de Hl et décrit par le pseudo-code :

pour l= Nl à 1 faire

Parcourir le sous-espace affine Hl correspondant. fin pour

Ce parcours générique permet l’analyse de tous les arcs pour lesquels dl est strictement positif ou strictement négatif. Il ne reste plus alors qu’à analyser la faisabilité du parcours selon les axes

dl= 0 ; ceci correspond aux règles de cohérence présentées au chapitre 4. Si l’on note Gl le sous-graphe de G qui est restreint aux arcs de G pour lesquels dl = 0, le problème se ramène à étudier

la faisabilité de parcours par boucles imbriquées sur un espace de dimension n− 1, qui est la

projection de Sx sur les axes différents de l’axe l. Ainsi, la même méthode s’applique à Gl en le décomposant en CFC et en étudiant le signe des dl de chacune de ses CFC, afin de déterminer un axe pour une boucle possible ou bien de détecter une anomalie. Ce processus récursif continue en réduisant régulièrement la dimension de l’espace Sxjusqu’à la dimension restante 1.

Arrivé à la dimension 1, au sein d’une CFC, deux cas peuvent se présenter :

– Si les distances restantes ne sont pas de même signe, alors il y a la détection d’une anomalie, qui indique une impossibilité de parcourir l’espace de dimension 1 restant par une boucle (ce qui équivaut aux cas précédents où la dimension est différente de 1).

– Si les distances restantes sont de même signe, alors on considère le sous-graphe qui consiste à retenir uniquement les arcs ayant les distances restantes nulles. Si ce graphe contient une composante CFC non réduite à un élément, alors il faut conclure qu’il s’agit d’une anomalie (existence d’un circuit dans G formé de vecteurs distance nuls).

Si aucun de ces deux cas d’anomalie ne se manifeste lorsqu’on analyse la dernière dimension, on peut conclure que les ctin ne comportent pas d’anomalie. On peut alors former la boucle relative au dernier axe (courant) et dont le sens est donné par le signe commun, croissant si les distances sont≤ 0 et décroissant si les distances sont ≥ 0. On peut former ensuite les différentes boucles

imbriquées en remontant les récursions et en intégrant les différentes boucles obtenues.

Remarque : L’anomalie qui concerne l’existence d’une boucle ayant un vecteur distance nul,

Fp(I) → Fp(I), peut être détectée par YAO lors de la déclaration des directives ctin.

Deux types d’anomalies peuvent se présenter, on les appellera par la suite : anomalie

structu-relle et anomalie non structustructu-relle.

Anomalie structurelle. Elle correspond à une anomalie des directives ctin, c’est le cas où le graphe modulaire généré contient des circuits ; dans ces conditions, il n’est pas possible de

défi-(a) -1 + 2

F

1

F

2 (b) i = 1 i = 2 i = 3 i = 4 1 2 3 4 1 2 3 4 Module Module i i 2 1 F F

FIG. 5.5 – Anomalie non structurelle dans un GDR formé par deux fonctions de base dans un

circuit rattachées à un espace 1D. (a) Présentation du GDR et (b) graphe modulaire : déploiement du GDR dans l’espace 1D. Ce type d’anomalie ne présente pas un circuit dans le graphe modulaire.

nir un ordre topologique sur le graphe modulaire. Cette anomalie est donc structurelle, puisque la structure du graphe modulaire ne permet pas le calcul des différents modules. L’existence d’un circuit dans le graphe modulaire consiste à partir d’un module Fp0(I) et à parcourir d’autres

mo-dules Fpi(I) pour aboutir au module initial Fp0(I). Ceci se traduit par l’existence d’un circuit dans

le GDR qui contient les fonctions de base Fp0, . . . , Fpi, . . . qui sont associées à un même espace

de calcul. Or, chaque traversée d’un arc du graphe modulaire consiste à l’application d’un arc du

GDR qui permet de décaler la position du module destination relativement à la position du

mo-dule source, en retranchant pour chaque axe l les distances dl correspondantes. Il est alors facile de vérifier que cette situation correspond à l’existence d’un circuit dans le GDR et pour lequel la somme des distances dl, relativement à tout axe l, est nulle (dans ce cas on considère les valeurs effectives des dl et non leur signe uniquement). Un cas particulier se présente lorsqu’il existe un circuit dans le GDR pour lequel les distances associées aux axes sont nulles pour tous les arcs de ce circuit. C’est le cas aussi des boucles avec des distances nulles.

Anomalie non structurelle. Cette anomalie correspond au fait que le graphe modulaire est sans circuit, mais sa structure ne permet pas de lui associer un ordre topologique sous la forme de boucles imbriquées. Donc, il n’est pas possible d’effectuer le calcul des différents modules en faisant une traversée des espaces de calcul par des directives order. Dans ces conditions, les di-rectives ctin sont incompatibles avec les didi-rectives order. L’exemple de la figure 5.5 illustre cette anomalie. L’exemple correspond à une grille de calcul à 1 dimension. Le graphe 5.5b montre bien que le parcours de la grille ne permet pas de calculer (pour le même indice) F1 et F2. Si on se place en un point de grille d’indice i et que l’on suppose le sens être ascendant, le calcul de F1est possible mais le calcul de F2n’est pas possible, car il suppose un sens descendant. Inversement si on suppose un sens descendant.

Un exemple d’anomalie structurelle dans un circuit sur deux fonctions de base rattachées à un espace 1D est présenté en figure 5.6a.

La figure 5.6b montre un exemple où l’anomalie est confondue entre structurelle et non

struc-turelle. Seules les valeurs des vecteurs distance peuvent mettre en évidence de quelle anomalie il