HAL Id: hal-01095577
https://hal.archives-ouvertes.fr/hal-01095577
Submitted on 15 Dec 2014
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Carte de compilation des diagrammes de décision ordonnés a valeurs réelles
Hélène Fargier, Pierre Marquis, Alexandre Niveau, Nicolas Schmidt
To cite this version:
Hélène Fargier, Pierre Marquis, Alexandre Niveau, Nicolas Schmidt. Carte de compilation des di-
agrammes de décision ordonnés a valeurs réelles. Huitièmes Journées de l’Intelligence Artificielle
Fondamentale, Jun 2014, Angers, France. �hal-01095577�
Actes IAF 2014
Carte de compilation des diagrammes de d´ ecision ordonn´ es ` a valeurs r´ eelles ∗
H´ el` ene Fargier 1 Pierre Marquis 2 Alexandre Niveau 3 Nicolas Schmidt 1,2
1 IRIT-CNRS, Univ. Paul Sabatier, Toulouse, France
2 CRIL-CNRS, Univ. Artois, Lens, France
3 GREYC-CNRS, Univ. Caen, France
fargier@irit.fr {marquis,schmidt}@cril.fr alexandre.niveau@unicaen.fr
R´ esum´ e
Les diagrammes de d´ ecision valu´ es (VDDs) sont des structures de donn´ ees repr´ esentant des fonctions ` a va- leurs r´ eelles positives. Ces structures sont utiles pour la compilation de fonctions de coˆ ut ou d’utilit´ e, ou en- core de distributions de probabilit´ es. Si la complexit´ e de certaines requˆ etes (comme l’optimisation) et de cer- taines transformations (comme le conditionnement) sur de tels langages est bien connue, il reste de nombreuses requˆ etes et transformations importantes dont la com- plexit´ e n’a pas encore ´ et´ e identifi´ ee ; figurent parmi elles diff´ erents types de coupes, marginalisations, ou encore combinaisons. En ´ etablissant une carte de compilation des diagrammes de d´ ecision ordonn´ es ` a valeurs r´ eelles, cet article contribue ` a combler ce manque. Nos r´ esultats montrent que beaucoup de tˆ aches difficiles ` a partir de CSPs valu´ es sont traitables ` a partir de VDDs.
Abstract
Valued decision diagrams (VDDs) are data struc- tures that represent functions mapping variable-value assignments to non-negative real numbers. They prove useful to compile cost functions, utility functions, or pro- bability distributions. While the complexity of some que- ries (notably optimization) and transformations (notably conditioning) on VDD languages has been known for some time, there remain many significant queries and transformations, such as the various kinds of cuts, mar- ginalizations, and combinations, the complexity of which has not been identified so far. This paper contributes to filling this gap and completing previous results about the time and space efficiency of VDD languages, thus leading to a knowledge compilation map for real-valued functions. Our results show that many tasks that are hard on valued CSPs are actually tractable on VDDs.
∗
Cet article est la version fran¸ caise de « A Knowledge Com- pilation Map for Ordered Real-Valued Decision Diagrams », ` a paraˆıtre dans les actes de la conf´ erence AAAI’2014 [11].
1 Introduction
Les diagrammes de d´ ecision valu´ es sont des struc- tures de donn´ ees repr´ esentant des fonctions ` a variables multiples, et ` a valeur dans un ensemble V de « va- luations » (g´ en´ eralement un sous-ensemble de R
+).
Ces fonctions correspondent souvent ` a des fonctions de coˆ ut ou d’utilit´ e, ou ` a des distributions de probabilit´ es, qui sont largement utilis´ es en IA. Parmi les diff´ erentes tˆ aches importantes lorsque l’on utilise ce genre de fonc- tions, on retrouve la requˆ ete d’optimisation : trouver une affectation donnant la valuation optimale, ou la valeur d’une variable donn´ ee pouvant conduire ` a une affectation optimale, etc. Une telle requˆ ete est particu- li` erement int´ eressante combin´ ee avec la transformation de conditionnement, qui donne une repr´ esentation res- treinte de la fonction, dans laquelle certaines variables ont ´ et´ e affect´ ees. La combinaison de ces deux tˆ aches permet par exemple de r´ esoudre des probl` emes comme la recherche du diagnostic le plus probable consid´ erant un ensemble de symptˆ omes, ou de la voiture la moins ch` ere d’une gamme qui soit munie d’un klaxon cuca- racha.
Plusieurs autres structures de donn´ ees ont ´ et´ e d´ efi- nies pour repr´ esenter ce genre de fonctions ` a variables multiples, les plus connues ´ etant les CSP valu´ es [19], les GAI nets [4], et les r´ eseaux bay´ esiens [17]. Cepen- dant ces langages ne sont pas adapt´ es aux requˆ etes susmentionn´ ees lorsque des garanties de temps de r´ e- ponse sont impos´ ees (comme c’est le cas dans les ap- plications Web) : l’optimisation est en effet NP-difficile pour les CSPs, GAI-nets et r´ eseaux bay´ esiens.
Les VDDs n’ayant pas cet inconv´ enient, plusieurs
familles de VDDs ont ´ et´ e d´ efinies et ´ etudi´ ees durant
ces vingt derni` eres ann´ ees. On s’int´ eressera ici notam- ment au langage ADD (algebraic decision diagrams) [5], au langage AADD (affine algebraic decision diagrams) [21, 18], et au langage SLDD (semiring-labeled decision diagrams) [22]. En r´ ealit´ e, SLDD est une famille de lan- gages SLDD
⊗, param´ etr´ ee par un op´ erateur ⊗. On re- trouve en particulier SLDD
+(´ equivalent au langage des EVBDDs [16, 15, 1]) lorsque ⊗ repr´ esente l’op´ erateur +, et SLDD
×lorsque ⊗ repr´ esente l’op´ erateur ×.
Toutefois, de nombreuses requˆ etes et transforma- tions ne d´ ecoulent pas du conditionnement et de l’op- timisation. Consid´ erons par exemple la requˆ ete sui- vante : « lister toutes les voitures bon march´ e (par exemple en-dessous de 10 000 euros) de telle gamme, d’une capacit´ e d’au moins 8 passagers ». Cela demande de se concentrer sur les voitures bon march´ e, ce qui ne rel` eve ni de l’optimisation ni du conditionnement. De mˆ eme, certaines transformations, telles la projection sur une variable, ou son compl´ ementaire, l’´ elimination de variables, qui ont une grande importance th´ eorique et pratique (par exemple pour r´ esoudre le probl` eme
« posterior marginal » (PM) dans les r´ eseaux bay´ e- siens), ne peuvent pas ˆ etre r´ eduites ` a l’optimisation et au conditionnement. C’est ´ egalement le cas pour les transformations de combinaison (aussi appel´ ees op´ e- rations « apply »), qui consistent, ´ etant donn´ e des re- pr´ esentations de fonctions f et g, ` a calculer une repr´ e- sentation de la fonction f g, avec un op´ erateur associatif et commutatif sur V (par exemple l’addition ou la multiplication, lorsque V = R
+). Ces transfor- mations sont tr` es importantes, ne serait-ce que pour permettre la construction incr´ ementale de repr´ esenta- tions par des algorithmes de type ascendant.
La carte de compilation [8] identifie la complexit´ e des requˆ etes et transformations sur plusieurs langages propositionnels, ainsi que la compacit´ e relative de ces langages. Cependant, elle ne concerne que le cas sp´ eci- fique des fonctions bool´ eennes ; et mˆ eme si cette carte a ´ et´ e ´ etendue dans de nombreuses directions, le cas des VDDs n’a pas encore ´ et´ e tr` es d´ evelopp´ e. Il a ´ et´ e montr´ e que le langage AADD est strictement plus compact que le langage ADD [18], les travaux sur la compacit´ e ont ensuite ´ et´ e ´ etendus [10], montrant que le langage AADD est strictement plus compact que les langages SLDD
+et SLDD
×, eux-mˆ emes plus compacts que le langage ADD.
Pour compl´ eter cette carte, il reste ` a d´ eterminer l’en- semble des requˆ etes et transformations d’int´ erˆ et que chacun de ces langages satisfait. En d’autres termes, pour chaque requˆ ete et transformation, et pour cha- cun des langages ADD, SLDD
+, SLDD
×et AADD, il s’agit de mettre en ´ evidence un algorithme en temps poly- nomial effectuant cette op´ eration, ou de prouver qu’un tel algorithme n’existe pas ` a moins que P = NP.
C’est le but principal de cet article, qui est orga-
nis´ e comme suit La section suivante permet au lecteur de faire connaissance avec la famille des langages de VDDs, et la suivante pr´ esente les requˆ etes et transfor- mations ´ etudi´ ees dans la carte de compilation. Nous exposons ensuite les r´ esultats de complexit´ e obtenus
1,
´
etablissant pour chaque langage ´ etudi´ e et chaque re- quˆ ete et transformation, si le langage satisfait ou pas la requˆ ete ou la transformation. Ils constituent une pre- mi` ere avanc´ ee dans la construction d’une carte de com- pilation pour les fonctions ` a valeurs non bool´ eennes.
2 Diagrammes de decision valu´ es
Pr´ eliminaires. Soit un ensemble fini de variables X = {x
1, . . . , x
n}, chaque x
iprenant ses valeurs dans un domaine fini D
xi, et soit un sous-ensemble X ⊆ X ; on note #— x = { hx
i, d
ii | x
i∈ X, d
i∈ D
xi} une affecta- tion des variables de X, et D
Xl’ensemble de toutes ces affectations (le produit cart´ esien des domaines des variables de X). La concat´ enation de deux affectations
#— x et #— y de deux ensembles disjoints de variables X et Y est une affectation de X ∪ Y not´ ee #— x · #— y .
On consid` ere des fonctions f portant sur des va- riables d’un sous-ensemble Scope(f ) ⊆ X , et pre- nant leurs valeurs dans V (dans cet article, on pren- dra souvent V = R
+). Le domaine de f est not´ e D
f= D
Scope(f). Pour tout Z ⊆ Scope(f ), on note f
#—zla restriction (ou conditionnement s´ emantique) de f par #— z , c’est-` a-dire la fonction sur Scope(f ) \ Z telle que pour tout #— x ∈ D
Scope(f)\Z, f
#—z( #— x ) = f ( #— z · #— x).
Soit un op´ erateur binaire sur V , et deux fonctions f et g portant sur un mˆ eme ensemble de variables ; f g est la fonction d´ efinie par f g ( #— x ) = f( #— x ) g( #— x).
La -projection de f sur Z ⊆ Scope(f ) est d´ efinie par f
,Z( #— x ) = J
#—y∈DScope(f)\Z
f
#—y( #— x).
En abusant quelque peu des notations, si X et Y sont deux ensembles de variables disjoints, Scope(f ) = X , et #— x · #— y est une affectation de X ∪ Y , alors on sup- pose que f ( #— x · #— y ) = f ( #— x ). En pratique, on consid` ere souvent des affectations compl` etes #— x ∈ D
X.
Soit une relation binaire r´ eflexive et transitive sur V (c’est-` a-dire un pr´ eordre), dont on note ∼ la partie sym´ etrique et la partie asym´ etrique. On d´ efinit les ensembles de « coupes » suivants :
— CUT
max(f ) = { #— x
∗| ∀ #— x , ¬(f ( #— x ) f( #— x
∗)) } ;
— CUT
min(f ) = { #— x
∗| ∀ #— x , ¬(f ( #— x ) ≺ f ( #— x
∗)) } ;
— CUT
γ(f ) = { #— x | f ( #— x ) γ } ;
— CUT
γ(f ) = { #— x | f ( #— x ) γ } ;
— CUT
∼γ(f ) = { #— x | f ( #— x ) ∼ γ } ;
1. Pour des raisons de place, les preuves ne sont pas d´ eve- lopp´ ees ici ; une version compl` ete (incluant les preuves) de l’ar- ticle AAAI original peut ˆ etre trouv´ ee ` a l’adresse <url: https:
//niveau.users.greyc.fr/pub/AAAI14 FMNS.pdf>.
Par exemple, si l’optimisation correspond ` a la minimi- sation, CUT
minest l’ensemble des solutions optimales (les voitures les moins ch` eres) ; CUT
γest l’ensemble des solutions satisfaisant la condition de la coupe (les voitures bon march´ e, celles dont le prix est inf´ erieur ` a γ).
Un langage de repr´ esentation sur X ` a valeurs dans V est un ensemble de structures de donn´ ees, ´ equip´ e d’une fonction d’interpr´ etation qui associe ` a chacune une fonction f : D
X→ V. Cette fonction est appel´ ee l’interpr´ etation de la structure de donn´ ees, et la struc- ture de donn´ ees est la repr´ esentation de cette fonction.
D´ efinition 2.1 (langage de repr´ esentation ; inspir´ ee de [13]). Etant donn´ e un ensemble de valuations V, un langage de repr´ esentation L sur X ` a valeurs dans V est un quadruplet hC
L, Var
L, f
L, s
Li, o` u :
— C
Lest un ensemble de structures de donn´ ees (´ ega- lement appel´ ees L-repr´ esentations ou simplement
« formules »),
— Var
L: C
L→ 2
Xest une fonction qui associe ` a chaque L-repr´ esentation le sous-ensemble de X dont elle d´ epend,
— f
Lest une fonction d’interpr´ etation associant ` a chaque L-repr´ esentation α une fonction f
αLdepuis l’ensemble de toutes les affectations de Var
L(α) vers V,
— s
Lest une fonction de taille, de C
Ldans N , qui donne la taille de chacune des L-repr´ esentations.
Diagrammes de d´ ecision valu´ es. Dans la suite, nous consid´ erons des langages de repr´ esentation bas´ es sur des structures de donn´ ees appel´ ees diagrammes de d´ e- cision valu´ es. De tels diagrammes permettent de re- pr´ esenter des fonctions ` a valeurs dans V en autorisant les nœuds et les arcs ` a porter des valeurs, prises dans un ensemble E (g´ en´ eralement E = V, mais ce n’est pas toujours le cas, comme nous le verrons plus tard).
D´ efinition 2.2 (diagramme de d´ ecision valu´ e). Un diagramme de d´ ecision valu´ e (VDD) sur X et E est un multi-graphe acyclique orient´ e, fini, et comportant une racine unique, dans lequel chaque nœud N est ´ eti- quet´ e par une variable x ∈ X et poss` ede un ensemble Out(N ) de |D
x| arcs sortants, chaque arc a ∈ Out(N )
´
etant ´ etiquet´ e par une valeur distincte v(a) ∈ D
x. Les arcs comme les nœuds peuvent ˆ etre ´ etiquet´ es par des
´
el´ ements de E ; on note ϕ(a) (resp. ϕ(N)) la valuation de l’arc a (resp. du nœud N ). La taille d’un diagramme de d´ ecision α, not´ ee |α|, est la taille du graphe (son nombre de nœuds et d’arcs) plus la taille de l’ensemble des valuations port´ ees par les arcs et les nœuds.
Nous supposons que tous les diagrammes de d´ ecision consid´ er´ es sont ordonn´ es, i.e. que pour tout VDD, un
ordre strict et total B sur X est choisi, et quel que soit le chemin pris de la racine ` a un nœud terminal, les variables ´ etiquetant les nœuds sont rencontr´ es dans l’ordre B (chaque variable ne peut donc apparaˆıtre qu’une seule fois dans un mˆ eme chemin). Un chemin de la racine ` a un nœud terminal repr´ esente une affec- tation (partielle) de X ; la structure des diagrammes de d´ ecision est d´ eterministe, ce qui signifie qu’` a une affectation donn´ ee ne correspond au plus qu’un seul chemin dans α, not´ e p
α( #— x).
Un VDD α est consid´ er´ e comme r´ eduit s’il ne com- porte aucun couple de nœuds isomorphes (distincts)
2. Un syst` eme de cache peut ˆ etre utilis´ e pour d´ etecter et fusionner ces nœuds isomorphes ` a la vol´ ee, ce qui nous permet de consid´ erer implicitement les diagrammes comme ´ etant r´ eduits.
Langages de la famille des VDDs. On s’int´ eresse
`
a plusieurs langages de la famille des VDDs, ` a savoir ADD, SLDD et AADD. Chacun d’entre eux impose des res- trictions sur les diagrammes admissibles (par exemple, dans le langage ADD seuls les nœuds terminaux portent des valuations ϕ), et d´ efinit comment ils sont interpr´ e- t´ es. De ce fait, les langages ADD, SLDD et AADD diff` erent
`
a la fois syntaxiquement (par la fa¸ con dont les arcs et les nœuds sont ´ etiquet´ es) et s´ emantiquement (par la fa¸ con dont les formules sont interpr´ et´ ees). La figure 1 pr´ esente des repr´ esentations d’une mˆ eme fonction dans chacun de ces langages, dont nous allons maintenant rappeler la d´ efinition.
D´ efinition 2.3 (ADD). Le langage ADD est le quadru- plet hC
ADD, Var
ADD, f
ADD, s
ADDi, avec C
ADDl’ensemble des VDDs ordonn´ es sur X dont chaque nœud terminal est ´ etiquet´ e par un ´ el´ ement de E = V (en g´ en´ eral, E = V = R
+) et dont les arcs ne sont pas ´ etiquet´ es, et f
ADDd´ efinie comme suit, pour chaque formule α et chaque affectation #— x :
— si α est un nœud terminal, alors f
αADD( #— x) = ϕ(α),
— sinon, en notant N la racine de α, x ∈ X sa va- riable, d ∈ D
xla valeur telle que hx, di ∈ #— x, a = hN, Mi l’arc tel que v(a) = d, et β la for- mule ADD ayant pour racine le nœud M de α, alors f
αADD( #— x ) = f
βADD( #— x ).
Dans le cadre AADD de Sanner & McAllester [18], le co-domaine de la fonction repr´ esent´ ee est V = R
+. Un seul nœud terminal est autoris´ e, et chaque arc est
´
etiquet´ e par un couple de valeurs de R
+(c’est-` a-dire que E = R
+× R
+6= V).
2. Des nœuds N et M sont dits isomorphes s’ils sont ´ etiquet´ es par la mˆ eme variable x, portent (le cas ´ ech´ eant) le mˆ eme ϕ-label, et qu’il existe une bijection B de Out(N) dans Out(M ) telle que
∀a ∈ Out(N ), a et B(a) ont le mˆ eme nœud terminal, partagent
la mˆ eme valeur de D
x, et ϕ(a) = ϕ(B(a)).
Figure 1 – Exemple de VDDs dans trois langages diff´ erents, ADD (a), SLDD
+(b), et AADD (c), tous trois repr´ esentant la mˆ eme fonction sur les variables {x
1, x
2, x
3} avec D
x1= D
x3= {0, 1} et D
x2= {0, 1, 2}.
D´ efinition 2.4 (AADD). Le langage AADD est le qua- druplet hC
AADD, Var
AADD, f
AADD, s
AADDi, avec C
AADDl’en- semble des VDDs ordonn´ es sur X ayant un unique nœud terminal, et dont les arcs sont ´ etiquet´ es par un couple hq, f i dans R
+× R
+. A des fins de normali- sation, la racine de α est ´ egalement ´ etiquet´ ee par un couple hq
0, f
0i dans R
+× R
+, appel´ e offset. L’inter- pr´ etation d’un tel VDD α est, pour chaque affectation
#— x, f
αAADD( #— x ) = q
0+ (f
0× g
αAADD( #— x )), o` u g
αAADDest d´ efinie comme suit :
— si α est le nœud terminal, alors g
αAADD( #— x) = 0,
— sinon, en notant N la racine de α, x ∈ X sa va- riable, d ∈ D
xla valeur telle que hx, di ∈ #— x , a = hN, M i l’arc tel que v(a) = d, ϕ(a) = hq
a, f
ai, et β la formule prenant racine au nœud M de α, alors g
αAADD( #— x) = q
a+ (f
a× g
AADDβ( #— x )).
Le langage AADD est muni d’une condition de norma- lisation qui rend toute AADD-repr´ esentation ordonn´ ee (et r´ eduite) canonique. La canonicit´ e est importante car elle assure une repr´ esentation unique de chacune des sous-formules, ce qui est la cl´ e pour efficacement reconnaˆıtre et fusionner les nœuds isomorphes.
Dans le cadre SLDD
⊗[22]
3, les arcs (mais pas les nœuds terminaux) sont ´ etiquet´ es par des ´ el´ ements de E = V, et hE, ⊗, 1
⊗i est un mono¨ıde commutatif : f
αSLDD⊗( #— x ) est l’agr´ egation par ⊗ des ´ etiquettes des arcs le long du chemin p
α( #— x).
D´ efinition 2.5 (SLDD
⊗). Soit un mono¨ıde commutatif hE, ⊗, 1
⊗i ; le langage SLDD
⊗est le quadruplet hC
SLDD⊗,
3. Notre d´ efinition de SLDD est un peu plus g´ en´ erale que l’ori- ginale, en ce que (i) nous ne consid´ erons que des diagrammes ordonn´ es, et (ii) nous utilisons un mono¨ıde commutatif au lieu d’un semi-anneau commutatif, le deuxi` eme op´ erateur n’´ etant pas utilis´ e dans la d´ efinition de la structure de donn´ ees [10].
Var
SLDD⊗, f
SLDD⊗, s
SLDD⊗i, avec C
SLDD⊗l’ensemble des VDDs ordonn´ es sur X ayant un unique nœud terminal N d’´ etiquette ϕ(N ) = 1
⊗, dont les arcs sont ´ etiquet´ es avec des ´ el´ ements de E = V , et dont la racine a un offset ϕ
0∈ E. Pour chaque formule α et chaque affec- tation #— x , f
αSLDD⊗( #— x ) = ϕ
0⊗ g
SLDDα ⊗( #— x), o` u g
αSLDD⊗( #— x ) est d´ efinie comme suit :
— si α est le nœud terminal, alors g
αSLDD⊗( #— x ) = 1
⊗,
— sinon, en notant N la racine de α, x ∈ X sa va- riable, d ∈ D
xla valeur telle que hx, di ∈ #— x, a = hN, M i l’arc tel que v(a) = d, et β la formule prenant racine au nœud M de α, alors g
αSLDD⊗( #— x ) = ϕ(a) ⊗ g
βSLDD⊗( #— x ).
Deux mono¨ıdes sont particuli` erement int´ eressants : h R
+, +, 0i (le langage correspondant est not´ e SLDD
+) et h R
+, ×, 1i (le langage correspondant est not´ e SLDD
×). Les langages SLDD
+et SLDD
×ont tous deux des conditions de normalisation qui assurent leur ca- nonicit´ e. De plus, toute formule de l’un de ces deux langages peut ˆ etre traduite en temps lin´ eaire vers le langage AADD .
Il en va de mˆ eme pour le langage ADD, dont chaque
formule peut ˆ etre traduite en temps lin´ eaire en une
formule de chacun des trois autres langages ´ etudi´ es
ici ; un exemple est donn´ e en figure 2 (pour plus de
d´ etails sur les traductions de formules d’un langage
vers un autre, voir Fargier et al. [9]). Enfin, notons
que si les variables sont bool´ eennes, et V = {0, 1},
toute formule de chacun des quatre langages consid´ er´ es
peut ˆ etre traduite en un OBDD en temps lin´ eaire, la
r´ eciproque ´ etant trivialement vraie.
Figure 2 – Exemple de traduction d’une formule du langage ADD vers le langage SLDD
+: (a) formule ADD de d´ epart, (b) les poids sont remont´ es sur les arcs, (c) les nœuds x
2puis x
1sont normalis´ es, et (d) les nœuds isomorphes sont fusionn´ es.
3 Requˆ etes et transformations
Nous introduisons maintenant plusieurs requˆ etes et transformations importantes, que nous d´ efinissons dans le cadre g´ en´ eral des langages de repr´ esentation ` a valeurs dans V — c’est-` a-dire que ces requˆ etes et trans- formations sont bien d´ efinies mˆ eme lorsque V 6= R
+. D´ efinition 3.1 (requˆ etes). Soit L un langage de re- pr´ esentation sur X ` a valeurs dans un ensemble V to- talement ordonn´ e par une relation .
— L satisfait l’optimisation OPT
max(resp.
OPT
min) si et seulement s’il existe un algo- rithme en temps polynomial associant ` a toute formule α de L la valeur max
#—x∈Dff
αL( #— x ) (resp.
min
#—x∈Dff
αL( #— x )).
— L satisfait l’´ equivalence EQ si et seulement s’il existe un algorithme en temps polynomial asso-
ciant tout couple α, β de formules de L ` a 1 si f
αL= f
βL, et ` a 0 sinon.
— L satisfait l’implication de formules SE si et seule- ment s’il existe un algorithme en temps polyno- mial associant tout couple α, β de formules de L
`
a 1 si ∀ #— x , f
αL( #— x) f
βL( #— x ), et ` a 0 sinon.
— L satisfait la coh´ erence partielle sup´ erieure (resp.
inf´ erieure, resp. ´ egale) CO
γ(resp CO
γ, resp.
CO
∼γ) si et seulement s’il existe un algorithme en temps polynomial associant tout γ ∈ V et toute formule α de L ` a 1 si ∃ #— x , f
αL( #— x) γ (resp.
f
αL( #— x ) γ, resp. f
αL( #— x) ∼ γ), et ` a 0 sinon.
— L satisfait la validit´ e partielle sup´ erieure (resp.
inf´ erieure, resp. ´ egale) VA
γ(resp VA
γ, resp.
VA
∼γ) si et seulement s’il existe un algorithme en temps polynomial associant tout γ ∈ V et toute formule α de L ` a 1 si ∀ #— x , f
αL( #— x) γ (resp.
f
αL( #— x ) γ, resp. f
αL( #— x) ∼ γ), et ` a 0 sinon.
— L satisfait l’´ enum´ eration de max-mod` eles ME
maxsi et seulement s’il existe un polynˆ ome p et un algorithme associant ` a toute formule α de L l’en- semble des ´ el´ ements de CUT
max(f
αL) en temps p(|α|, |CUT
max(f
αL)|).
— L satisfait l’extraction de max-mod` ele MX
maxsi et seulement s’il existe un algorithme en temps polynomial associant ` a toute formule α de L un
´ el´ ement de CUT
max(f
αL).
— L satisfait le comptage de max-mod` eles CT
maxsi et seulement s’il existe un algorithme en temps polynomial associant ` a toute formule α de L le nombre d’´ el´ ements de CUT
max(f
αL).
Les requˆ etes ME
min, ME
γ, ME
γet ME
∼γ(resp. MX
min, MX
γ, MX
γet MX
∼γ; resp.
CT
min, CT
γ, CT
γet CT
∼γ) sont d´ efinies de la mˆ eme fa¸ con que ME
max(resp. MX
max; resp. CT
max), en utilisant respectivement les en- sembles CUT
min(f
αL), CUT
γ(f
αL), CUT
γ(f
αL) et CUT
∼γ(f
αL) ` a la place de CUT
max(f
αL).
Les familles de requˆ etes MX et ME sont cruciales pour le raisonnement bay´ esien et la configuration in- teractive. Elles capturent, par exemple, la demande d’une explication parmi les plus probables (MX
max), ou d’une des configurations les moins ch` eres (MX
min).
Dans ces applications, le comptage est ´ egalement utile, comme pour caract´ eriser le nombre de voitures « bon march´ e » (CT
γ) ou le nombre de maladies suffi- samment probables pour ˆ etre consid´ er´ ees (CT
γ).
Les autres requˆ etes, telles la coh´ erence, la validit´ e, l’´ equivalence ou l’implication, sont utiles ` a de nom- breux probl` emes de raisonnement, notamment car elles
´
etendent aux bases de connaissances pond´ er´ ees les re-
quˆ etes analogues d´ efinies sur les formules bool´ eennes
en NNF.
D´ efinition 3.2 (transformations). Soit L un langage de repr´ esentation sur X ` a valeurs dans V, et un op´ erateur binaire associatif et commutatif sur V.
— L satisfait le conditionnement CD si et seulement s’il existe un algorithme en temps polynomial as- sociant ` a toute formule α de L, tout X ⊆ X , et tout #— x ∈ D
X, une L-repr´ esentation de f
α,L#—x.
— L satisfait la -combinaison born´ ee BC si et seulement s’il existe un algorithme en temps po- lynomial associant ` a tout couple α, β de formules de L, une L-repr´ esentation de f
αLf
βL.
— L satisfait la -combinaison C si et seulement s’il existe un algorithme en temps polynomial as- sociant ` a tout ensemble {α
1, . . . , α
n} de formules de L, une L-repr´ esentation de J
ni=1
f
αLi.
— L satisfait la -´ elimination de variables Elim (resp. d’une seule variable, SElim) si et seule- ment s’il existe un algorithme en temps polyno- mial associant ` a toute formule α de L et tout en- semble de variables X ⊆ X (resp. tout singleton X ⊆ X ) une L-repr´ esentation de J
#—x∈DX
f
α,L#—x.
— L satisfait la -´ elimination d’une variable born´ ee SBElim si et seulement s’il existe un polynˆ ome p et un algorithme associant ` a toute formule α de L et toute variable x ∈ X , une L-repr´ esentation de J
#—x∈Dx
f
α,L #—xen temps p(|α|
|Dx|).
— L satisfait la -marginalisation de variable Marg si et seulement s’il existe un algorithme en temps polynomial associant ` a toute formule α de L et toute variable x ∈ X une L-repr´ esentation de J
#—z∈DX \{x}
f
α,L #—z.
— L satisfait la γ-coupe haute CUT
γ, suivant un pr´ eordre sur V , si et seulement s’il existe un al- gorithme en temps polynomial associant ` a toute formule α de L et toutes valeurs γ, a, b ∈ V v´ e- rifiant a b, une L-repr´ esentation de la fonction g d´ efinie par g( #— x) = a si #— x ∈ CUT
γ(f
αL), et g( #— x) = b sinon.
Les transformations CUT
γ, CUT
∼γ, CUT
maxet CUT
minsont d´ efinies de la mˆ eme fa¸ con, en utilisant respectivement les ensembles CUT
γ(f
αL), CUT
∼γ(f
αL), CUT
max(f
αL) et CUT
min(f
αL).
La transformation classique d’« oubli » de variables (forgetting ) correspond ` a leur max-´ elimination. La marginalisation sur une variable est ´ equivalente ` a l’´ elimination de toutes les variables, sauf une ; la +-marginalisation est typiquement importante dans le cadre des r´ eseaux bay´ esiens, pour effectuer la posterior marginal request (voir par exemple Dar- wiche [7]), et dans les probl` emes de configuration, la min-marginalisation dans un VDD repr´ esentant une
fonction de prix revient ` a calculer le prix minimal as- soci´ e ` a toute valeur possible de la variable en ques- tion (qui repr´ esente par exemple une option pour une voiture, voir Astesana et al. [3]). On trouve un autre exemple d’utilisation en planification stochastique, o` u l’algorithme d’it´ eration de la valeur peut ˆ etre a ´ et´ e impl´ ement´ e par une suite de +-´ eliminations et de ×- combinaisons sur des formules ADD [14].
Pour finir, la famille des op´ erations de coupe re- pr´ esente la restriction d’une fonction aux affectations optimales (les voitures les moins ch` eres, les explica- tions les plus probables. . .) ou proches de l’optimum (les voitures ` a moins de γ euros, les maladies ayant une probabilit´ e > γ). Pour qu’elle reste aussi g´ en´ erale que possible, nous avons d´ efini cette famille d’op´ era- tions comme des transformations au sein d’un mˆ eme langage, mais il est important de noter qu’en prenant a = 1 et b = 0 quand V = R
+, la coupe d’un VDD est en fait une formule du langage MDD [20], une extension directe d’OBDD aux variables non bool´ eennes, qui satis- fait ` a peu pr` es les mˆ emes requˆ etes et transformations, comme CO, CD, SE, etc. [2].
4 Carte de compilation des VDDs ordon- n´ es ` a valeurs dans R +
Nous pouvons ` a pr´ esent ´ etablir une carte de com- pilation des VDDs repr´ esentant des fonctions ` a valeur r´ eelle ; on se focalise donc dans la suite de l’article sur le cas V = R
+, avec l’ordre habituel ≥ sur R
+, et ∈ {max, min, +, ×}. Les langages consid´ er´ es sont ADD, SLDD
×, SLDD
+et AADD ; nous laissons de cˆ ot´ e SLDD
maxet SLDD
min, ces langages ayant ´ et´ e prouv´ es
´
equivalents ` a ADD modulo une transformation polyno- miale [10].
Commen¸ cons par les requˆ etes de base. Chacun des quatre langages examin´ es satisfait CD : conditionner une formule α par une affectation #— x peut ˆ etre effec- tu´ e en temps lin´ eaire grˆ ace ` a un algorithme adapt´ e du cas OBDD. De plus, comme la repr´ esentation de toute fonction en une formule r´ eduite (resp. r´ eduite et nor- malis´ ee) de ADD (resp. AADD, SLDD
×, SLDD
+) est unique, et comme les proc´ edures de r´ eduction et normalisation sur chacun des quatre langages sont polynomiales, ils satisfont tous EQ. Enfin, SE est satisfaite par ADD, SLDD
+et SLDD
×, grˆ ace ` a une combinaison de coupes, d’inversion des valuations sur les arcs et de traduction vers MDD. D´ ecider si AADD satisfait SE reste en revanche un probl` eme ouvert.
Proposition 4.1.
— ADD, SLDD
+, SLDD
×et AADD satisfont EQ et CD.
— ADD, SLDD
+et SLDD
×satisfont SE.
Pour structurer les autres r´ esultats, nous distin- guons trois cat´ egories d’op´ erations : celles li´ ees ` a l’opti- misation, qui sont traitables sur les VDDs ; celles li´ ees
`
a la coupe suivant un seuil γ, qui peuvent devenir diffi- ciles ; et les transformations de combinaison et d’´ elimi- nation de variables. Les r´ esultats obtenus pour les deux premi` eres cat´ egories sont r´ esum´ es dans la table 1, et ceux obtenus pour la troisi` eme le sont dans la table 2.
Op´ erations li´ ees ` a l’optimisation. Comme ´ evoqu´ e pr´ ec´ edemment, OPT
maxet OPT
minsont traitables pour les formules AADD [18] comme pour les formules SLDD [22], et leur satisfaction par ADD est ´ evidente.
Tous les r´ esultats positifs de la table 1 sont li´ es aux faits que (i) les VDDs sont des graphes sans circuit, et (ii) l’agr´ egation des valuations ϕ est monotone sur les classes consid´ er´ ees. Dans de tels diagrammes, les che- mins de valeur minimale (resp. maximale) peuvent ˆ etre obtenus en temps polynomial, grˆ ace ` a un algorithme de recherche de plus court (resp. plus long) chemin. En s’appuyant sur cette id´ ee, on peut ´ ecrire une proc´ edure en temps polynomial construisant une formule MDD qui repr´ esente les affectations optimales — ce qui implique la satisfaction de CUT
maxet CUT
min, dont on peut d´ eduire celle des requˆ etes portant sur ces coupes.
Proposition 4.2. ADD, SLDD
+, SLDD
×et AADD satisfont OPT
max, OPT
min, CUT
max, CUT
min, ME
max, ME
min, MX
max, MX
min, CT
maxet CT
min.
Op´ erations li´ ees aux γ-coupes. Les requˆ etes et transformations li´ ees ` a l’optimisation pure sont donc faciles ; cependant, pour de nombreuses applications, l’optimisation seule ne suffit pas. Ainsi, un client vou- lant acheter une voiture ne cherche pas forc´ ement la moins ch` ere, mais un v´ ehicule qui satisfait ses desi- derata tout en ´ etant relativement bon march´ e, c’est-
`
a-dire, d’un coˆ ut inf´ erieur ` a un certain seuil — d’o` u l’importance des γ-coupes.
Un r´ esultat positif est qu’il suffit de comparer la va- leur maximale (resp. minimale) de f
αL(qui peut s’ob- tenir en temps polynomial) ` a γ ∈ R
+pour d´ ecider s’il existe un #— x tel que f
αL( #— x) ≥ γ (resp. ≤ γ). De mˆ eme, d´ ecider de la γ-validit´ e d’une formule α n´ eces- site seulement de comparer γ ` a la valeur maximale (resp. minimale) de f
αL.
Proposition 4.3. ADD, SLDD
+, SLDD
×et AADD satis- font CO
γ, VA
γ, CO
γ, VA
γet VA
∼γ.
Bien qu’il soit possible de v´ erifier en temps polyno- mial s’il existe une affectation conduisant ` a une valeur sup´ erieure ou ´ egale ` a γ, d´ eterminer s’il existe une af- fectation conduisant exactement ` a γ est difficile sur SLDD
+, SLDD
×et AADD. La preuve s’appuie sur une
r´ eduction polynomiale depuis le probl` eme de d´ ecision subset sum [12].
Proposition 4.4. SLDD
+, SLDD
×et AADD ne satisfont pas CO
∼γ, sauf si P = NP.
Il est clair que la satisfaction de MX
∼γou CT
∼γest une condition suffisante ` a celle de CO
∼γ; cela est vrai en toute g´ en´ eralit´ e, et pas seulement sur nos quatre langages ` a valeurs dans R
+. De fa¸ con similaire, on peut montrer que ME
∼γest ´ egalement une condition suffisante ` a CO
∼γ, et que CUT
∼γimplique MX
∼γsi l’une des requˆ etes MX est satisfaite.
Proposition 4.5. Soit L un langage de repr´ esenta- tion sur X ` a valeurs dans un ensemble V totalement ordonn´ e par une relation .
— Si L satisfait CUT
∼γet l’une des requˆ etes MX, alors il satisfait MX
∼γ.
— Si L satisfait MX
∼γ, CT
∼γou ME
∼γ, alors il satisfait CO
∼γ.
Corollaire 4.6. SLDD
+, SLDD
×et AADD ne satisfont pas MX
∼γ, CUT
∼γ, CT
∼γou ME
∼γ, sauf si P = NP.
Ainsi, except´ e VA
∼γ, les requˆ etes visant la coupe exacte d’une fonction repr´ esent´ ee par un VDD ` a un seul nœud terminal sont difficiles. La situation est plus nuanc´ ee lorsque l’on s’int´ eresse aux coupes inf´ erieure et sup´ erieure.
Proposition 4.7. Soit L ∈ {SLDD
+, SLDD
×, AADD}.
— L satisfait ME
γ, ME
γ, MX
γet MX
γ.
— L ne satisfait ni CT
γni CT
γ, sauf si P = NP.
— L ne satisfait ni CUT
γni CUT
γ.
L’id´ ee de la preuve du premier point est que depuis tout nœud d’une formule AADD normalis´ ee, il existe un chemin vers le nœud terminal qui correspond ` a la valeur 1, et un autre qui correspond ` a la valeur 0. Un chemin de la racine ` a ce nœud lui fournit un offset (notons-le hp, qi), calcul´ e ` a partir de ses arcs. Il est ainsi possible de r´ epondre ` a ME
γ(resp. ME
γ) en
´
enum´ erant tous les chemins, sans explorer les nœuds pour lesquels p + q < γ (resp. p > γ).
La preuve du point suivant s’appuie sur le fait que si CT
γ´ etait satisfaite, il serait possible de compter les affectations #— x v´ erifiant f
α( #— x) ≥ γ, et ´ egalement celles v´ erifiant f
α( #— x ) > γ ; CT
∼γserait donc satisfaite, or nous avons montr´ e qu’elle est difficile (mˆ eme principe pour CT
γ).
Les transformations CUT
γet CUT
γne sont pas satisfaites, et ce inconditionnellement (mˆ eme si P = NP). Pour le cas de CUT
γsur SLDD
+, la preuve utilise le fait que la fonction f ( #— y · #— z ) = P
ni=1
y
i·
Requˆete ADD SLDD+ SLDD× AADD VCSP+
CD √ √ √ √ √
EQ √ √ √ √
?
SE √ √ √
? ◦
OPTmax/OPTmin
√ √ √ √
◦ CTmax/CTmin √ √ √ √
◦ MEmax/MEmin √ √ √ √
◦ MXmax/MXmin
√ √ √ √
◦ CUTmax/CUTmin √ √ √ √
? VA∼γ
√ √ √ √
? VAγ/VAγ
√ √ √ √
◦ CO∼γ
√ ◦ ◦ ◦ ◦
COγ/COγ √ √ √ √
◦ ME∼γ
√ ◦ ◦ ◦ ◦
MEγ/MEγ
√ √ √ √
◦ MX∼γ
√ ◦ ◦ ◦ ◦
MXγ/MXγ √ √ √ √
◦ CUT∼γ
√ ◦ ◦ ◦ ?
CUTγ/CUTγ
√ • • • ?
CT∼γ
√ ◦ ◦ ◦ ◦
CTγ/CTγ √
◦ ◦ ◦ ◦
Table 1 – R´ esultats sur les requˆ etes de base, l’optimi- sation et les γ-coupes ; √
signifie « satisfait », • signifie
« ne satisfait pas », et ◦ signifie « ne satisfait pas, sauf si P = NP ». Les r´ esultats pour les probl` emes de satis- faction de contraintes valu´ ees additives (VCSP
+) sont donn´ ees ` a titre de comparaison.
2
n−i+ P
ni=1
z
i· 2
n−ia une SLDD
+-repr´ esentation com- portant seulement 2n + 1 nœuds, en utilisant l’ordre y
1C · · · C y
nC z
1C · · · C z
nsur les variables, alors qu’il n’existe aucune formule en OBDD
Cde taille po- lynomiale repr´ esentant la fonction qui vaut 1 quand f ( #— y · #— z ) ≥ 2
net 0 sinon. Les autres preuves sont si- milaires, en adaptant la fonction f .
Ces r´ esultats sur AADD et SLDD contrastent avec le cas du langage ADD, qui satisfait toutes les transforma- tions CUT (les γ-coupes s’obtiennent par une proc´ e- dure simple de fusion de nœuds terminaux), et donc
´ egalement toutes les requˆ etes MX, ME, CT et CO.
Combinaison, ´ elimination de variables, marginalisa- tion. Aucun des langages consid´ er´ es ne satisfait les transformations de combinaison ou d’´ elimination de variables dans leur version non born´ ee ; ce n’est pas surprenant si l’on observe que (i) la combinaison dis- jonctive non born´ ee (∨C) et l’oubli (FO) ne sont pas satisfaits par OBDD ; (ii) toute formule d’OBDD peut ˆ etre vue comme une formule d’ADD, et donc ˆ etre tra- duite en temps polynomial en SLDD
+(resp. SLDD
×, AADD) ; et (iii) la disjonction de plusieurs formules en OBDD revient ` a couper leur somme (leur combinaison par +) ` a la valeur minimale (par construction, les contre-mod` eles de la disjonction sont les #— x tels que ϕ( #— x ) = 0, la formule r´ esultante peut donc ˆ etre vue comme une formule en OBDD dont la n´ egation est ´ equi- valente ` a la disjonction de la formule de d´ epart) or tous les langages consid´ er´ es satisfont CUT
min. Les autres preuves s’appuient sur des arguments similaires. Il est
Transformation ADD SLDD+ SLDD× AADD maxBC/ minBC √
• • •
+BC √ √
• •
×BC √
• √
•
maxC/ minC • • • •
+C/×C • • • •
maxElim/ minElim • • • •
+Elim/×Elim • • • •
SmaxElim/SminElim • • • • S+Elim/S×Elim • • • • SBmaxElim/SBminElim √
• • •
SB+Elim √ √
• •
SB×Elim √
• √
•
maxMarg/ minMarg √ √ √ √
+Marg √ √ √ √
×Marg √
? √
?
Table 2 – R´ esultats sur les transformations (voir l´ e- gende des symboles en table 1). ; √
signifie « satisfait »,
• signifie « ne satisfait pas », et ◦ signifie « ne satisfait pas, sauf si P = NP ».
`
a noter que contrairement au cas d’OBDD, mˆ eme la -
´
elimination d’une seule variable est difficile (l’id´ ee est que la -combinaison des deux formules peut s’obtenir en -´ eliminant une variable suppl´ ementaire).
Proposition 4.8. ADD, SLDD
+, SLDD
×et AADD ne sa- tisfont pas C, Elim ou SElim, quelle que soit l’op´ eration ∈ {max, min, +, ×}.
La question de la combinaison born´ ee est plus d´ e- licate. Sanner & McAllester [18] ont propos´ e une ex- tension de l’algorithme « apply » de Bryant [6], lequel est en temps polynomial sur OBDD pour les op´ erations AND et OR, pour combiner deux formules en AADD (par +, ×, max ou min) ; cet algorithme est directe- ment adaptable aux autres langages de la famille des VDDs consid´ er´ es dans cet article. Cependant, la com- plexit´ e de cette proc´ edure « apply » n’avait pas ´ et´ e identifi´ ee formellement ; un des principaux r´ esultats de cet article est que les combinaisons born´ ees sont dif- ficiles sur AADD, ce qui implique que l’algorithme en question n’est pas en temps polynomial.
Proposition 4.9.
— SLDD
+, SLDD
×et AADD ne satisfont pas maxBC, minBC, SBmaxElim ou SBminElim.
— SLDD
×et AADD ne satisfont pas +BC, et donc pas SB+Elim.
— SLDD
+et AADD ne satisfont pas ×BC, et donc pas SB×Elim.
La difficult´ e de maxBC et de minBC vient di- rectement de celle de CUT
γet CUT
γ. Celle de
×BC se prouve en consid´ erant les deux fonctions suivantes, qui portent sur des variables bool´ eennes : f ( #— x) = P
n−1i=0