• Aucun résultat trouvé

2.5 Conditions de résolubilité de MOTI

Le problème MOTI étant insoluble dans le cas générique, il est intéressant de caractériser les cas de résolubilité. L’objectif de ce paragraphe est d’imposer des contraintes a priori pour que les trajectoires puissent être suivies infailliblement. Cependant, identifier ces contraintes n’est pas trivial.

Avant d’entrer plus précisément dans les détails permettant de contraindre les caractéris- tiques du système afin de rendre MOTI résoluble, il est nécessaire d’introduire d’autres nota- tions.

2.5.1 Caractérisation d’infaillibilité

Soient un objet o et sa trajectoire décrite au cours du temps dans le GCC. Nous pouvons identifier ses mouvements unitaires comme suit.

Définition 2.2 (Mouvement unitaire) Soit o ∈ O un objet se déplaçant dans le système re- présenté par un GCC G(V, E). Pour chaque temps t ∈ T , son mouvement unitaire est défini

par mt,o = Pt,t+1,o. ⋄

Définition 2.3 (Mouvement unitaire global) Soit un système représenté par le GCC G(V, E) sur lequel les objets de l’ensemble O se déplacent. Pour chaque temps t ∈ T , le mouvement

unitaire gobal est dénoté : Mt= Pt,t+1. ⋄

Le mouvement unitaire global est défini, à chaque instant t, comme l’ensemble des mouve- ments unitaires de tous les objets. Par conséquent, il représente comment le système «évolue» immédiatement après l’instant t donné.

Si nous considérons l’état du système à un temps t spécifique, il est possible d’identifier toutes les potentialités de mouvements unitaires que les objets peuvent être amenés à effectuer. Chaque combinaison possible de ces mouvements correspond à un mouvement unitaire global différent. De même, tous ces mouvements globaux peuvent être définis à partir de la position des objets dans le GCC (i.e. étant donné un vecteur d’état, il est possible d’extrapoler tous les mouvements possibles immédiatement après).

Par conséquent, les mouvements unitaires globaux ne sont pas nécessairement liés à une notion de temps. Ils peuvent être vus comme l’ensemble des mouvements unitaires possibles que les objets peuvent effectuer, à partir d’un état du système donné. Hors du contexte temporel, il est donc possible de définir le graphe des états. Celui-ci rassemble tous les états possibles du système (en terme de vecteurs d’état) ainsi que les mouvements unitaires globaux permettant de passer de l’un à l’autre.

Définition 2.4 (Graphe des états) Soit G(V, E) un GCC représentant l’environnement de dé- placement de x objets dans O. Le graphe des états correspondant est défini par SG(S, M), où S est l’ensemble de tous les vecteurs d’états possibles et M celui de tous les mouvements

A C D B S0 S4 S3 S2 S1 S5

FIG. 2.3 – Graphe des états d’un système à 2 objets mouvants sur un GCC à 4 sommets.

La figure 2.3 présente un exemple de graphe des états, représenté sur la droite de la figure, dans le cas de 2 objets mouvants sur le graphe à quatre sommets introduit précédemment et rappellé sur la partie gauche de la figure. À présent, il est nécessaire d’introduire une notion de faillibilité. Nous pouvons définir quels sont les arcs et les sommets du graphe des états qui peuvent être considérés comme faillibles, par rapport à la résolubilité de MOTI.

Définition 2.5 (Mouvement faillible) Soit un système représenté par G(V, E) sur lequel les objets de O peuvent se déplacer, et le graphe des états SG(S, M) correspondant. Considérons deux états S, S′ ∈ S tels qu’il existe un mouvement global M ∈ M reliant ces deux états dans

SG : S−→ SM ′. M est faillible ssi ∃M∈ M tel que S M

′ −−→ S′et M 6= M′. S' S S' S S M M M' M Faillible : Faillible : Infaillible : M'

FIG. 2.4 – Faillibilité des états et des

mouvements globaux.

Sont considérés comme faillibles tous les mouve- ments globaux reliant deux même états du système déjà reliés par un autre mouvement global différent. Cette notion de faillibilité permet de traduire les cas de fi- gure pour lesquels l’observateur est incapable de distin- guer quel mouvement s’est réellement produit, parmi les possibilités de mouvements faillibles reliant deux états consécutifs du système (les trajectoires ne sont ex- trapolées qu’en connaissance des états du système). La présence d’un mouvement faillible dans le graphe des états rend MOTI insoluble pour le système considéré.

De la même manière, nous pouvons définir la failli- bilité d’un état du système.

Définition 2.6 (État faillible) Soit un système représenté par G(V, E) sur lequel les objets de O peuvent se déplacer, et le graphe des états SG(S, M) correspondant. Un état S ∈ S est faillible ssi ∃M ∈ M, ∃S′∈ S tels que S −→ SM ′et M est faillible.

La figure 2.4 présente les différents cas de figure de faillibilité des états et des mouve- ments. Considérons à nouveau le graphe des états représenté en figure 2.3, les états S2 et S3

2.5. Conditions de résolubilité de MOTI 39

Algorithme 2.1 : Construction du graphe des états

Données : G, un graphe ; x, le nombre d’objets mouvants ; Résultat : SG(S, M), le graphe des états associé ;

S ← {S ∈ {0, 1}|V ||P

v∈V S[v] = x}; 1

M ← ∅;

2

pour chaque S ∈ S faire

3

pour chaque S′∈ S\{S} faire 4

si ∃!(v, v′)∈ V2tel que S[v] = S[v] = 1 et S[v] = S[v] = 0 alors 5

M ← M ∪ {S−−−−−→ S{[v−v′]} ′}; 6

pour chaque S ∈ S faire

7

pour chaque S′∈ S\{S} faire 8

pour chaque S′′∈ S\{S} faire 9 si (S′→ S ∈ M) ∧ (S → S′′∈ M) 10 et (∀S′→ S′′∈ M, e S′,S′′6= eS,S∪ eS,S′′) 11 et ∀[v′, v 1]∈ eS′,S, ∀[v2, v′′]∈ eS,S′′, v16= v2alors 12 M ← M ∪ {S′ eS′ ,S∪eS,S′′ −−−−−−−−→ S′′}; 13

si G est non-orienté alors

14

fusionner les arcs symétriques dans M;

15

retourner (S, M);

16

sont tous deux faillibles, en raison de l’existence des deux arcs distincts (deux mouvements globaux faillibles) les reliant (flèches épaisses). Tous les autres états (et, a fortiori, tous les autres mouvements globaux) sont infaillibles.

2.5.2 Un algorithme de génération du graphe des états SG

Dans ce paragraphe, nous proposons un algorithme de construction du graphe des états, fondé sur la fermeture transitive conditionnelle du graphe des états réduit aux mouvements isolés4. L’aspect conditionnel permet d’affirmer qu’aucun mouvement incohérent ne pourra

être décelé dans le graphe des états généré par cet algorithme.

Cet algorithme se décompose en deux phases principales. La première permet de générer le graphe des états réduit aux mouvements isolés. Au préalable, l’ensemble des états est initia- lisé avec l’intégralité de tous les états possibles du système, et celui des mouvements globaux avec l’ensemble vide. Puis, à partir de la ligne 3, et jusqu’à la ligne 6, l’algorithme enrichit le graphe des états avec tous les mouvements isolés possibles. La seconde phase de l’algorithme adjoint au graphe précédent tous les mouvements globaux non-isolés possibles. De la ligne 7 à la ligne 13, inspiré du mécanisme utilisé dans l’algorithme de détermination de la fermeture transitive de Floyd-Warshall [Flo62, War62], trois boucles imbriquées calculent itérativement tous les mouvements possibles, avec un nombre quelconque de mouvements unitaires concomi-

4Un mouvement isolé signifie qu’au plus un unique objet parmi tous se déplace dans le mouvement global

tants5. Enfin, les dernières lignes (de la ligne 14 à 15) permettent de fusionner les mouvements

symétriques (inversement identiques) dans le cadre d’un GCC non-orienté, et par conséquent, retourne un graphe des états non-orienté.

Preuve de correction et de terminaison de l’algorithme 2.1 – La terminaison de cet algorithme est triviale étant donné que celui-ci n’est composé que de boucles imbriquées de longueur finie. La complexité de cet algorithme est évidemment O(|S|3) puisqu’il contient exactement trois

boucles imbriquées sur l’ensemble S.

La preuve de correction s’inspire fortement de celle de l’algorithme de Floyd-Warshall [Flo62, War62]. Ce dernier assure que tous les chemins possibles entre deux états apparaissent dans la fer- meture transitive du graphe. La condition de la ligne 12 permet quant à elle de ne pas introduire de mouvement incohérent dans le graphe des états. Étant donné que les arcs dans SG sont générés à partir de l’intégralité des mouvements isolés et respectent la condition sus-citée, aucun mouvement global

possible ne peut être ignoré. 

2.5.3 Caractérisation de MOTI

À présent, nous sommes donc en mesure de générer, et donc d’exploiter, le graphe des états. À partir des définitions du paragraphe 2.5.1, il est possible de réviser le théorème 2.1 (page 35) et ainsi proposer deux définitions de la résolubilité de MOTI. En premier lieu, nous considérons les cas pour lesquels la trajectoire globale est connue (e.g. lors d’une analyse de l’évolution du système a posteriori).

Theorème 2.3 (P -résolubilité) Soit SG(S, M) un graphe des états défini pour un GCC de G, G(V, E), contenant les objets mouvants de O. Pour une trajectoire spécifique P ∈ Pti,tj

donnée : MOTI est résoluble ssi ∀t ∈ Jti, tj−1K, Mtest infaillible.

Preuve – Soit une trajectoire spécifique P ∈ Pti,tj.

– Commencons par prouver par la contraposée l’implication directe. Supposons que ∃t ∈ Jti, tj−1K tel que Mt est faillible. Notons P∗ = Pt,t+1 la sous-trajectoire de Pti,tj donné tel que

Mt= P∗. De part la définition 2.5, il existe au moins un mouvement infaillible M′ ∈ M qui permet

de passer du même état initial S au même état final S′, noté M= P′∗. Trivialement, P6= P′∗

mais ils partagent les mêmes vecteurs d’états initial et final Stet St+1. Étant donné que la relation tag

utilisé par l’observateur est une application, il existe une unique étiquette image pour ces états. Donc, nous avons :

∃P∗, P′∗∈ Pt,t+1: P∗6= P′∗∧ P∗= P′∗.

Par conséquent, dû au théorème 2.1, MOTI est insoluble pour P∗et P′∗. Ainsi, vu que Pest une

sous-trajectoire de Pti,tj, MOTI est insoluble pour Pti,tj.

– Supposons à présent que ∀t ∈ Jti, tj−1K, Mtest infaillible. Nous avons donc : ∀t ∈ Jti, tj−1K,

∄ M 6= Mttel que St M

−→ St+1. D’où,∀t ∈ Jti, tj−1K,∃!P ∈ Pt,t+1 de Stà St+1et, de par son

unicité, ce P est une sous-trajectoire du Pti,tj considéré entre les instants t et t+1. Ainsi, ∀P′ ∈ Pt,t+1

tel que P 6= P′, l’état initial du système (ou respectivement final) pour Pn’est pas le même que l’état

initial (ou respectivement final) du système pour P . Alors, par l’emploi d’une fonction bijective map quelconque telle qu’introduite dans la preuve du théorème 2.1, nous avons : ∀P′ ∈ P

t,t+1 : P 6=

5La notation e