• Aucun résultat trouvé

1.3 Langages booléens

1.3.5 La famille des graphes de décision

La section précédente a abordé des propriétés restrictives portant sur un seul nœud à la fois ; nous présentons maintenant des propriétés portant sur des groupes de nœuds. On retrouve ici les fameux BDDs [§ 1.1.2] en tant que NNFs. Nous présentons la famille des graphes de décision, à la manière de Fargier et Marquis [FM06], par des définitions « en cascade » : nous commençons par définir la notion de nœud d’assignement, puis celle de nœud de décision, qui utilise la précédente, et nous pouvons alors présenter divers langages qui dépendent de certaines proprié- tés sur les nœuds — par exemple le langages des graphes dont tous les nœuds de décision sont exclusifs, celui des graphes dont tous les nœuds∧ sont des nœuds d’assignement, etc.

x = 1 ϕ1. . . ∧ x = 2.4 ϕ2. . . ∧ x = 5.71 ϕ3. . . ∧ ∨ ϕ1. . . ϕ2. . . ϕ3. . . x 1 2.4 5.71

Fig. 1.6 : Un nœud de décision deGRDAG (à gauche) et sa représentation simplifiée (à droite). Sur la versionGRDAG, la racine est un nœud de décision, et les trois nœuds

∧ sont des nœuds d’assignement. Dans la représentation simplifiée, le nœud de dé-

cision correspond au nœud étiqueté par une variable, et chaque nœud d’assignement correspond à un arc étiqueté.

Définition 1.3.20 (Nœud d’assignment). Un nœud N d’un GRDAG est un nœud

d’assignement s’il est étiqueté par∧ et a exactement deux fils, dont exactement un

est un littéral.

Un nœud d’assignement N est donc de la forme[x ∈ A]∧ α ; on dit que N est

un nœud d’assignement sur x, et on note Varass(N ) la variable x et Tailass(N ) le

sous-graphe α. Le nom « nœud d’assignement » vient de la définition booléenne d’origine ; ici, de tels nœuds n’assignent pas stricto sensu de valeurs aux variables, mais se contentent de restreindre leurs valeurs possibles. Nous conservons néan- moins le nom original, comme c’est le cas dans le formalismeVNNF [FM07].

On peut maintenant définir les nœuds de décision, toujours d’après Fargier et Marquis [FM07], qui eux-mêmes étendaient les travaux de Darwiche et Marquis [DM02].

Définition 1.3.21 (Nœud de décision). Un nœud N d’un GRDAG est un nœud de

décision si et seulement s’il est étiqueté par ∨ et si tous ses fils sont des nœuds

d’assignement sur une même variable x.

Un nœud de décision N est donc de la forme ([x ∈ A1

] ∧ α1)∨ · · · ∨ ( [ x Ak ]

∧ αk) ; on dit que N est un nœud de décision sur x, et on utilise la nota-

tion Vardec(N ) pour la variable x. La figure 1.6 montre la correspondance entre les

nœuds de décision deGRDAG comme nous venons de les définir, et les nœuds de dé- cision tels qu’ils sont classiquement représentés dans le contexte des diagrammes de décision. Les deux représentations sont équivalentes ; nous parlerons respecti- vement de « versionGRDAG » et de « version diagramme de décision ».

On définit les nœuds de décision exclusifs en appliquant une restriction aux fils des nœuds de décision.

Définition 1.3.22 (Exclusivité). Deux nœuds d’assignement sur une même variable

x d’un GRDAG sont exclusifs si et seulement si leurs littéraux respectifs sont exclu-

sifs ; c’est-à-dire qu’en notant⟨x, A1⟩ et ⟨x, A2⟩ les deux littéraux, on a A1∩ A2 =

∅.

y = 3.12 y∈ [2.1, 6] x =−6 x = 17 y x 17 [2.1, 6] −6 3.12

Fig. 1.7 : À gauche, un GRDAG satisfaisant la décision faible. L’étiquette⊗ peut être remplacée soit par∨, soit par ∧ ; dans les deux cas, la décision faible est satis- faite. À droite, la « version diagramme de décision » de ce GRDAG.

signement exclusifs.

Un GRDAG φ satisfait la propriété de décision exclusive si et seulement si tous ses nœuds de décision sont exclusifs.

Si un graphe satisfait la décision exclusive, il est garanti que les branches de chaque nœud de décision soient mutuellement disjointes. Dans la version diagramme de décision (qui utilise des nœuds étiquetés par des variables et des arcs étiquetés), cela implique qu’il ne peut y avoir au plus qu’un seul chemin compatible avec une instanciation donnée : il n’y a pas de choix possible. En particulier, les GRDAGs qui satisfont la décision exclusive sont déterministes — la réciproque n’est cependant pas vraie.

Les propriétés suivantes, qui portent sur la structure des graphes, nous per- mettent enfin de définir des langages.

Définition 1.3.23 (Propriétés de décision). Soit φ un GRDAG.

• φ satisfait la propriété de décision faible si et seulement si :

– tout littéral de φ a au moins un père, et tous ses pères sont des nœuds

d’assignement, et

– tout nœud d’assignement de φ a au moins un père, et tous ses pères sont

des nœuds de décision.

• φ satisfait la propriété de décision ∨-simple si et seulement s’il satisfait la décision faible, et si tous ses nœuds∨ sont des nœuds de décision.

• φ satisfait la propriété de décision ∧-simple si et seulement s’il satisfait la décision faible, et si tous ses nœuds∧ sont des nœuds d’assignement.

• φ satisfait la propriété de décision (forte) si et seulement s’il satisfait à la fois la décision∨-simple et la décision ∧-simple.

Cette définition provient des travaux de Fargier et Marquis [FM06], avec quelques modifications. En particulier, nous avons raffiné la propriété de « décision simple » en trois propriétés.

La décision faible est simplement la condition nécessaire à un GRDAG pour qu’il appartienne à la « famille décisionnelle ». En effet, elle assure qu’il ne contient aucun littéral et aucun nœud d’assignement « libre », qui n’ont pas de représentation dans la « version diagramme de décision ». Par exemple, le GRDAG[x = 1][y =

3] ne satisfait pas la décision faible, car les littéraux ne sont pas fils de nœuds d’assignements. Au contraire, le GRDAG de la figure 1.7 satisfait la décision faible. En plus de ceci, la décision∨-simple (resp. ∧-simple) garantit qu’aucun nœud

∨ (resp. ∧) n’est « libre ». Par exemple, dans le GRDAG de la figure 1.7, si l’opé-

rateur⊗ est un ∧, alors le GRDAG satisfait la décision ∨-simple : tous les nœuds

∨ sont des nœuds de décision, mais il peut y avoir des nœuds ∧ qui lient ces nœuds

de décision. La version diagramme de décision de ces nœuds∧ « libres » sont sim- plement des nœuds purement conjonctifs. De la même manière, si l’opérateur est un∨, alors le GRDAG satisfait la décision ∧-simple : il peut y avoir des nœuds purement disjonctifs dans la version diagramme de décision du GRDAG, mais pas de nœud purement conjonctif.

La condition la plus forte est d’interdire à la fois les nœuds purement disjonctifs et les nœuds purement conjonctifs, c’est-à-dire de satisfaire à la fois la décision∧- simple et la décision∨-simple : la version diagramme de décision du GRDAG ne contient alors que des nœuds étiquetés par des variables. Nous appelons cette pro- priété « décision forte » ; dans les travaux d’origine [FM06], elle était simplement appelée « propriété de décision ».

Nous pouvons maintenant définir divers langages de type « graphe de déci- sion », en suivant les travaux susmentionnés.

Définition 1.3.24. Un graphe de décision (DG, decision graph) est une NNF satis-

faisant la décision∨-simple et exclusive. DG est la restriction de NNF aux graphes de décision.

DDG est le fragment de DG satisfaisant la décomposabilité.

Un diagramme de décision basique (BDD) est une NNF satisfaisant la décision forte et exclusive.BDD est la restriction de NNF aux BDDs.

Un free(-ordered) BDD (FBDD) est un BDD satisfaisant la décomposabilité. FBDD est la restriction de NNF aux FBDDs.

Notons ici que, comme pourNNF, nous gardons les noms des fragments booléens pour des langages qui ne sont pas nécessairement booléens. Ainsi, en utilisant la définition précédente, un BDD peut porter sur des variables non-booléennes : le langageBDD classique correspond ici à BDDSBB . À cause de cela, nous avons changé la signification des initiales BDD de « diagramme de décision binaire » en « dia- gramme de décision basique », car nos BDDs n’ont pas plus de raison d’être quali- fiés de « binaires » que n’importe quelle autre représentation de cette carte.

⊥ x

y ∧

Fig. 1.8 : Un exemple très simple de DG sur des variables booléennes x et y ; le nœud purement conjonctif permet de considérer les deux sous-graphes indépen- damment l’un de l’autre.

On peut remarquer queFBDD est le langage des BDDs dans lesquels aucune variable n’est répétée le long d’un chemin (dans la version diagramme de décision des graphes). Cette condition revient à utiliser la décomposabilité [DM02] : elle correspond en effet simplement à exiger que pour chaque nœud d’assignement N , Varass(N ) /∈ Scope(Tailass(N )), ce qui revient à forcer les portées des fils de N à

être disjointes.

Les graphes de décision (lesDG-représentations) ajoutent simplement aux dia- grammes de décision la possibilité d’utiliser des nœuds purement conjonctifs entre les nœuds de décision, ce qui permet des assignements en parallèle, comme le montre la figure 1.8.