• Aucun résultat trouvé

Carte de compilation des diagrammes de décision ordonnés a valeurs réelles

N/A
N/A
Protected

Academic year: 2021

Partager "Carte de compilation des diagrammes de décision ordonnés a valeurs réelles"

Copied!
11
0
0

Texte intégral

(1)

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�

(2)

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

(3)

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

i

prenant ses valeurs dans un domaine fini D

xi

, et soit un sous-ensemble X ⊆ X ; on note #— x = { hx

i

, d

i

i | x

i

∈ X, d

i

∈ D

xi

} une affecta- tion des variables de X, et D

X

l’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

#—z

la 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>.

(4)

Par exemple, si l’optimisation correspond ` a la minimi- sation, CUT

min

est 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

L

i, o` u :

— C

L

est un ensemble de structures de donn´ ees (´ ega- lement appel´ ees L-repr´ esentations ou simplement

« formules »),

— Var

L

: C

L

→ 2

X

est une fonction qui associe ` a chaque L-repr´ esentation le sous-ensemble de X dont elle d´ epend,

— f

L

est une fonction d’interpr´ etation associant ` a chaque L-repr´ esentation α une fonction f

αL

depuis l’ensemble de toutes les affectations de Var

L

(α) vers V,

— s

L

est une fonction de taille, de C

L

dans 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

ADD

i, avec C

ADD

l’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

ADD

d´ 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

x

la 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)).

(5)

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

AADD

i, avec C

AADD

l’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

0

i 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

αAADD

est 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

x

la valeur telle que hx, di ∈ #— x , a = hN, M i l’arc tel que v(a) = d, ϕ(a) = hq

a

, f

a

i, 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

x

la 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.

(6)

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

2

puis x

1

sont 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∈Df

f

αL

( #— x ) (resp.

min

#—x∈Df

f

α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

max

si 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

max

si 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

max

si 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.

(7)

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

αL

f

β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

n

i=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 #—x

en 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

max

et CUT

min

sont 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

max

et 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.

(8)

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

max

et OPT

min

sont 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

max

et 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

max

et 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

n

i=1

y

i

·

(9)

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

n

i=1

z

i

· 2

n−i

a une SLDD

+

-repr´ esentation com- portant seulement 2n + 1 nœuds, en utilisant l’ordre y

1

C · · · C y

n

C z

1

C · · · C z

n

sur les variables, alors qu’il n’existe aucune formule en OBDD

C

de taille po- lynomiale repr´ esentant la fonction qui vaut 1 quand f ( #— y · #— z ) ≥ 2

n

et 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−1

i=0

x

i

·2

i

(repr´ esentation d’un entier par un

vecteur de bits) et g( #— x ) = 2

n+1

−f ( #— x). Chacune a une

(10)

SLDD

+

-repr´ esentation (pour l’ordre x

0

C x

1

C · · · C x

n−1

) comportant n + 1 nœuds et 2n arcs ; or il est pos- sible de montrer que la SLDD

+

-repr´ esentation de f × g (pour le mˆ eme ordre) contient un nombre exponen- tiel d’arcs au dernier niveau, mˆ eme apr` es normalisa- tion. Cela montre que toute SLDD

+

-repr´ esentation de f × g est de taille exponentielle. Les autres preuves proc` edent de la mˆ eme mani` ere, avec des fonctions f et g adapt´ ees.

Il y a en fait deux cas dans lesquels la combinaison born´ ee n’est pas difficile : lorsque le langage consid´ er´ e est ADD, et lorsque l’op´ erateur de combinaison est aussi celui servant ` a agr´ eger les valeurs des arcs dans le lan- gage consid´ er´ e (l’addition pour SLDD

+

et le produit pour SLDD

×

). Dans ces deux cas, ´ eliminer une variable de domaine born´ e est ´ egalement r´ ealisable en temps polynomial — par d´ efinition de l’´ elimination de va- riable.

Proposition 4.10.

— SLDD

+

satisfait +BC et SB+Elim.

— SLDD

×

satisfait ×BC et SB×Elim.

— ADD satisfait BC et SBElim pour toute op´ e- ration ∈ {×, +, min, max}.

Pour finir, nous avons prouv´ e que tous les langages consid´ er´ es satisfont la marginalisation suivant tous les op´ erateurs, ` a l’exception de la ×-marginalisation sur AADD et SLDD

+

, dont la satisfaction reste ` a d´ eterminer.

Proposition 4.11.

— ADD, SLDD

+

, SLDD

×

et AADD satisfont Marg, pour toute op´ eration ∈ {+, min, max}.

— ADD et SLDD

×

satisfont ×Marg.

5 Conclusion

Cet article a pr´ esent´ e une analyse de la complexit´ e des langages de la famille des VDDs ` a valeurs r´ eelles pour un ensemble de requˆ etes et de transformations utiles. Les requˆ etes li´ ees ` a l’optimisation se r´ ev` elent faisables pour tous les langages consid´ er´ es, et c’est

´

egalement le cas de la marginalisation additive et de certaines requˆ etes li´ ees aux coupes ; ces derni` eres sont g´ en´ eralement difficiles lorsque l’on cherche ` a atteindre exactement une valeur γ, et cette difficult´ e s’´ etend aux transformations li´ ees. Un des principaux r´ esultats est que les combinaisons, mˆ eme born´ ees, sont difficiles sur les VDDs, ce qui implique qu’aucun algorithme « ap- ply » ne peut ˆ etre en temps polynomial sur les for- mules en AADD dans le cas g´ en´ eral, mˆ eme pour les op´ erations simples et « bool´ eennes » que sont min et max. Lorsqu’il est n´ ecessaire de pouvoir effectuer des

combinaisons born´ ees par + (resp. par ×) efficace- ment, le meilleur compromis temps/espace est offert par SLDD

+

(resp. SLDD

×

). Enfin, il s’av` ere que la com- plexit´ e de diverses op´ erations li´ ees ` a l’optimisation est meilleure pour les langages de la famille des VDDs que pour d’autres langages d´ edi´ es ` a la repr´ esentation de fonctions non bool´ eennes comme VCSP

+

; des r´ e- sultats proches sont ` a attendre pour les GAI-nets ou les r´ eseaux bay´ esiens, pour lesquels l’optimisation est

´

egalement difficile.

Remerciements

Ces travaux ont ´ et´ e en partie soutenus par le projet BR4CP ANR-11-BS02-008 de l’Agence Nationale de la Recherche.

R´ ef´ erences

[1] J´ erˆ ome Amilhastre, H´ el` ene Fargier, and Pierre Marquis. Consistency restoration and explana- tions in dynamic CSPs: Application to configu- ration. Artificial Intelligence, 135(1–2):199–234, 2002.

[2] J´ erˆ ome Amilhastre, H´ el` ene Fargier, Alexandre Niveau, and C´ edric Pralet. Compiling CSPs: A complexity map of (non-deterministic) multiva- lued decision diagrams. In Proceedings of IC- TAI’12, pages 1–8, 2012.

[3] Jean-Marc Astesana, Laurent Cosserat, and H´ e- l` ene Fargier. Constraint-based vehicle configura- tion: A case study. In Proceedings of ICTAI’10, pages 68–75, 2010.

[4] Fahiem Bacchus and Adam J. Grove. Graphical models for preference and utility. In Proceedings of UAI’95, pages 3–10, 1995.

[5] R. Iris Bahar, Erica A. Frohm, Charles M. Gaona, Gary D. Hachtel, Enrico Macii, Abelardo Pardo, and Fabio Somenzi. Algebraic decision diagrams and their applications. In Proceedings of IC- CAD’93, pages 188–191, 1993.

[6] Randal E. Bryant. Graph-based algorithms for Boolean function manipulation. IEEE Transac- tions on Computers, 35:677–691, 1986.

[7] Adnan Darwiche. Modeling and Reasoning with Bayesian Networks. Cambridge University Press, 2009.

[8] Adnan Darwiche and Pierre Marquis. A know- ledge compilation map. Journal of Artificial In- telligence Research (JAIR), 17:229–264, 2002.

[9] H´ el` ene Fargier, Pierre Marquis, and Nicolas

Schmidt. Compacit´ e pratique des diagrammes

(11)

de d´ ecision valu´ es : normalisation, heuristiques et exp´ erimentations. In Actes des Journ´ ees Franco- phones de Programmation par Contraintes (JFPC 2013), pages 123–132, 2013.

[10] H´ el` ene Fargier, Pierre Marquis, and Nicolas Schmidt. Semiring labelled decision diagrams, re- visited: Canonicity and spatial efficiency issues.

In Proceedings of IJCAI’13, pages 884–890, 2013.

[11] H´ el` ene Fargier, Alexandre Niveau, Pierre Mar- quis, and Nicolas Schmidt. A knowledge com- pilation map for ordered real-valued decision dia- grams. In Proceedings of AAAI’2014, 2014. Ac- cept´ e pour publication.

[12] M. R. Garey and David S. Johnson. Computers and Intractability: A Guide to the Theory of NP- Completeness. W. H. Freeman, 1979.

[13] G. Gogic, H.A. Kautz, Ch.H. Papadimitriou, and B. Selman. The comparative linguistics of know- ledge representation. In Proceedings of IJCAI’95, pages 862–869, 1995.

[14] Jesse Hoey, Robert St-Aubin, Alan J. Hu, and Craig Boutilier. SPUDD: Stochastic planning using decision diagrams. In Proceedings of UAI’99, pages 279–288, 1999.

[15] Yung-Te Lai, Massoud Pedram, and Sarma B. K.

Vrudhula. Formal verification using edge-valued binary decision diagrams. IEEE Transactions on Computers, 45(2):247–255, 1996.

[16] Yung-Te Lai and Sarma Sastry. Edge-valued bi- nary decision diagrams for multi-level hierarchi- cal verification. In Proceedings of DAC’92, pages 608–613, 1992.

[17] Judea Pearl. Probabilistic reasoning in intelligent systems – networks of plausible inference. Morgan Kaufmann series in representation and reasoning.

Morgan Kaufmann, 1989.

[18] Scott Sanner and David A. McAllester. Affine al- gebraic decision diagrams (AADDs) and their ap- plication to structured probabilistic inference. In Proceedings of IJCAI’05, pages 1384–1390, 2005.

[19] Thomas Schiex, H´ el` ene Fargier, and G´ erard Ver- faillie. Valued constraint satisfaction problems:

Hard and easy problems. In Proceedings of IJ- CAI’95 (1), pages 631–639, 1995.

[20] Arvind Srinivasan, Timothy Kam, Sharad Ma- lik, and Robert K. Brayton. Algorithms for dis- crete function manipulation. In Proceedings of ICCAD’90, pages 92–95, 1990.

[21] Paul Tafertshofer and Massoud Pedram. Facto- red edge-valued binary decision diagrams. Formal Methods in System Design, 10(2/3), 1997.

[22] Nic Wilson. Decision diagrams for the compu-

tation of semiring valuations. In Proceedings of

IJCAI’05, pages 331–336, 2005.

Références

Documents relatifs

Le premier membre d’une règle de grammaire est un SNT (la règle en constitue la définition), le second membre est une famille ordonnée (éventuellement vide) de symboles, terminaux

N est une suite de r´ eels strictement positifs qui tend vers 0, alors elle est d´ ecroissante ` a partir d’un

Rôle des grammaires Exemples informels de grammaires Grammaire : définition formelle La hiérarchie de

Question 6-2 On peut aussi d´ecider, pour chaque fonction utilisateur, d’´evaluer tout de suite les ar- guments dont on peut affirmer de mani`ere certaine qu’ils seront utilis´es

Jean-Christophe Filliˆ atre Langages de programmation et compilation mise ` a niveau OCaml 17. ´enum´erer toutes les rang´ees

Jean-Christophe Filliˆ atre Langages de programmation et compilation s´emantique op´erationnelle 36. propri´et´es de la s´emantique naturelle

Jean-Christophe Filliˆ atre Langages de programmation et compilation analyse lexicale 1?.

Jean-Christophe Filliˆ atre Langages de programmation et compilation analyse syntaxique (2/2) 25.