• Aucun résultat trouvé

3.3 Vers des langages-cibles plus appropriés

3.3.3 Nouvelles requêtes et transformations

La manipulation en ligne de politiques de décision compilées nécessite une opé- ration d’extraction de modèle. Comme elle n’est pas mentionnée dans la littérature sur la carte de compilation, nous l’introduisons ici, en même temps que quelques autres intéressantes nouvelles requêtes et transformations.

Définition 3.3.1 (Requêtesd’extraction). SoitL un sous-langage de GRDAG.

• L satisfaitMX (model extraction, extraction de modèle) si et seulement s’il existe un algorithme polynomial associant touteL-représentation φ à un de ses modèles s’il en existe un, et s’arrête sans rien retourner sinon.

• L satisfaitCX(context extraction, extraction de contexte) si et seulement s’il existe un algorithme polynomial associant touteL-représentation φ et toute variable y à Ctxtφ(y).

L’extraction du contexte d’une variable, c’est-à-dire l’ensemble de ses valeurs co- hérentes, est particulièrement intéressant quand son domaine n’est pas booléen. Cette opération peut être par exemple utilisée pour étudier une propriété des états successeurs dans une relation de transition ; elle a également des applications en configuration (quelles valeurs sont toujours disponibles pour ce paramètre ?) et en diagnostic (quelles sont les pannes possibles de ce composant ?).

Intéressons-nous à présent au conditionnement ; comme expliqué dans la sec- tion 1.4.1.3, il peut être généralisé de deux façons aux variables non-booléennes. Nous avons choisi de garder l’idée que conditionner une fonction signifie assigner des valeurs à certaines variables. Mais il est parfois nécessaire de restreindre ces variables à un sous-ensemble de leur domaine, pas forcément à une unique valeur ; c’est le rôle de la transformation suivante.

Définition 3.3.2 (Restriction à un terme). SoitL un sous-langage de GRDAG. L satis- faitTR(term restriction, restriction à un terme) si et seulement s’il existe un algo-

rithme polynomial associant touteL-représentation φ et tout terme cohérent γ de L à uneL-représentation de la restrictionJφK|JγKdeJφK à JγK.

La restriction à un terme est donc une extension du conditionnement. Quand elles sont appliquées à des variables booléennes, ces deux transformations sont complè- tement équivalentes, comme nous l’avons expliqué en section 1.4.1.3. La restriction à un terme peut être utilisée, par exemple, sur une forme compilée représentant une politique de décision : si l’observation de l’état courant n’est pas précise, au lieu de conditionner les variables d’état, elles peuvent être restreintes. La structure résul- tante représente alors l’ensemble des actions qui pourraient convenir à l’état courant non connu avec précision. Bien sûr,TRest fortement liée àCD, et également àFO, par définition.

La restriction à un terme est également liée à la conjonction, mais pas celle de fonctions booléennes quelconques. Il s’agit d’une conjonction avec un terme, suivie de l’oubli des variables de ce terme. En général, il est facile de conjoindre

une structure avec un terme, même si le langage en question ne satisfait pas∧C, ni même∧BC. Comme cette propriété est souvent utilisée dans les preuves, nous introduisons la transformation spécifique qui correspond, celle de « conjonction avec un terme », et pour des raisons similaires, sa duale « disjonction avec une clause ».

Définition 3.3.3. SoitL un sous-langage de GRDAG.

• L satisfait ∧tC (closure under conjunction with a term, fermeture par la conjonction avec un terme) si et seulement s’il existe un algorithme po- lynomial associant toute L-représentation φ et tout terme γ de L à une L- représentation deJφK ∧ JγK.

• L satisfait∨clC(closure under disjunction with a clause, fermeture par la dis- jonction avec une clause) si et seulement s’il existe un algorithme polynomial associant touteL-représentation φ et toute clause γ de L à une L-représentation deJφK ∨ JγK.

* * *

En résumé, nous décidons d’étudier la possibilité de compiler nos problèmes en utilisant des langages-cibles plus adaptés, capables de manipuler conjointement variables discrètes et variables continues. Nous restons dans le cadre de GRDAG, mais nous efforçons de rester aussi général que possible, dans le but de maintenir une compacité maximale. Les requêtes et transformations [voir définitions 1.4.12 et 1.4.13] que les nouveaux langages doivent satisfaire sont les suivantes :

CDetMX— obligatoires, pour les manipulations de base des politiques de décision et des tables de transition ;

MEetFO— souhaitables, pour pouvoir manipuler ces éléments plus fine- ment ;

∧BC,∨BC,¬C— nécessaires à l’application de notre algorithme basé sur la planification forte par model-checking ;

EN— souhaitable, pour que ledit algorithme puisse manipuler des actions non-déterministes.

En essayant d’appliquer la compilation de connaissances à un des problèmes de planification que nous cherchons à traiter, nous avons été confrontés à l’écueil des variables réelles, qui ne sont habituellement pas considérées dans le cadre de la compilation — bien qu’elles soient très utiles dans la représentation de problèmes réalistes. Les paramètres continus, tels que le temps ou l’énergie, sont en général arbitrairement discrétisés pour pouvoir être exprimés par des variables énumérées. Ainsi, nous avons représenté le paramètre « temps restant » du problème Drone par le biais d’une variable entière, réduisant de fait la précision à un nombre constant de secondes, fixé au préalable. Cette méthode conduit à manipuler des variables à grand domaine, ce qui a un impact sur la taille des structures compilées.

Nous avons décidé d’étudier l’efficacité de langages-cibles de compilation per- mettant d’utiliser des variables continues — ainsi que des variables à grand do- maine énuméré — sans nécessiter de discrétisation arbitraire. Les diagrammes à intervalles (interval diagrams) [ST98] semblaient un bon point de départ, mais ils n’ont en pratique jamais été appliqués à des variables continues, ni utilisés pour la planification. De plus, étant destinés à une utilisation dans le domaine du model-

checking symbolique, ils sont suffisamment contraints pour supporter la requête

d’équivalence, dont nous n’avons pas besoin. Nous avons donc tenté de relâcher certaines des restrictions structurelles des diagrammes à intervalles, en définissant un langage plus général, que nous avons nommé automates à intervalles.

4

Formalisme des

automates à intervalles

Dans ce chapitre, nous les automates à intervalles, un langage-cible de com- pilation pour les problèmes impliquant des variables continues. Nous identifions par la suite une restriction structurelle des automates à intervalles, leur permettant de supporter des requêtes et transformations fréquemment utilisées, en particulier celles nécessaires à la planification.

Ce chapitre est divisé en trois sections : nous commençons par définir le lan- gage général des automates à intervalles [§ 4.1], puis introduisons le sous-langage des automates à intervalles convergents [§ 4.2], et enfin présentons la carte de com- pilation de la famille des automates à intervalles [§ 4.3].

4.1

Langage