• Aucun résultat trouvé

4.3 Probl` eme de pr´ ediction

4.3.2 Marginales

D´efinition Un invariant est une cons´equence d’une contrainte donn´ee, et constitue

pour cette raison une pr´edictionbona fides d’un mod`ele. On peut ´egalement s’int´eresser

`

a une notion moins forte, que nous introduisons ici. La contrainte de consistance C

µG

d´efinie au paragraphe 3.1.3 d´ecrit l’ensemble des mod`eles admissibles. En supposant

tous ces mod`eles sont ´equiprobables, on peut s’int´eresser `a la probabilit´e qu’une variable

xprenne la valeur s, soitP[x=s|C

µG

]. Cette probabilit´e peut ˆetre calcul´ee en comptant

les solutions de la contrainte.

Function invariant

(2)

(d : diagram)

if is const(d) then

return∅

casedthen(d) =leaf(F)

return{(root(d),–)} ∪invariant

(2)

(delse(d))

casedelse(d) =leaf(F)

return{(root(d),+)} ∪invariant

(2)

(dthen(d))

otherwise

I

+

←invariant

(2)

(dthen(d))

I

invariant

(2)

(delse(d))

returnI

+

∩I

Solutions de la contrainte et chemin dans le diagramme A premi`` ere vue –

mais `a premi`ere vue seulement – on pourrait penser que compter les solutions d’une

contrainte revient `a compter les chemins de la racine du diagramme au sommet T.

Cette approche simple est malheureusement fausse, puisque comme on l’a vu, on peut

associer plusieurs solutions `a chaque chemin de la racine `a la feuilleT. On peut le voir

sur l’exemple pr´esent´e en figure 4.3 : le syst`eme qualitatif comporte 4 variables, mais

le support du diagramme repr´esentant les solutions de ce syst`eme n’en a plus que 3 ;

la variable repr´esentant la variation du sommet C n’est pas contrainte, et n’apparaˆıt

donc pas dans le diagramme. En cons´equence, il y a deux chemins dans le diagramme

qui m`enent au sommet T, mais bien quatre solutions `a la contrainte initiale.

Comme nous l’avons d´ej`a vu, un diagramme de d´ecision est une repr´esentation

canonique pour une classe d’´equivalence de fonctions bool´eennes. Ces fonctions diff`erent

par leur ensemble de d´epart, vu comme un ensemble de variables. Pour d´esigner une

fonction – ou une contrainte – bool´eenne, il faut donc donner `a la fois son diagramme

et l’ensemble de ses variables. C’est pour cette raison qu’on ne peut compter le nombre

de solutions d’une contrainte `a partir de son seul diagramme.

Valuations associ´ees `a un chemin Donnons-nous une contrainteC, son diagramme

de d´ecision D

C

, et un chemin π de la racine au sommet T. Nous avons introduit au

paragraphe 4.2.1 la valuation partielle v

π

d´ecrite par π, ainsi que l’ensemble val

C

(π)

des solutions de C qui sont des prolongements de v

π. Soit

X l’ensemble des variables

libres deC. Pour construire un prolongement dev

π

surX, il suffit de choisir une valeur

parmi deux pour chaque variable deCn’apparaissant pas dansπ. On en d´eduit l’´egalit´e

suivante :

|val

C

(π)|= 2

|X|−|π|+1

(4.4)

Pour obtenir le nombre total de solutions de la contrainte (not´e #C), on somme

|val

C

(π)|pour tous les chemins π de la racine `a la feuille T:

#C=X

π

Cette formule n’est pas encore tr`es op´erationnelle ; nous voyons `a pr´esent une formule

de r´ecurrence qui constitue la base d’un algorithme sur les diagrammes de d´ecision.

Formulation r´ecursive Il suffit de d´ecomposer le terme par rapport `a une variable

libre. Soitxune variable libre dans C, on a :

#C= #C[x:=+] + #C[x:=–] (4.6)

Cette relation est utile pour le calcul r´ecursif que nous proposons avec la fonction

cardinal d´efinie plus bas. Cette fonction re¸coit en argument la repr´esentation

cano-nique d’une contrainte, i.e. son diagramme et l’ensemble de ses variables libres. La

pr´econdition indiqu´ee assure que le support du diagramme est bien contenu dans les

variables libres de la contrainte. Trois cas sont envisag´es : tout d’abord, si le diagramme

est constant, alors le r´esultat est donn´e par la formule (4.4). Dans le cas contraire, le

dia-gramme a une variable de tˆete, que l’on va comparer `a la variable libre de la contrainte

la plus prioritaire. Si elles sont ´egales, on applique la formule (4.6). Si la contrainte

admet une variable libre plus prioritaire que la racine du diagramme, cela signifie que

la variable en question n’apparaˆıt pas dans le diagramme, et que par cons´equent les

diagrammes de C[x := +] et C[x := –] sont identiques, d’o`u la r´ecurrence employ´ee.

Dans les deux cas, la pr´econdition pour l’appel r´ecursif de la fonctioncardinalest bien

v´erifi´ee. Enfin le cas o`u la variable `a la racine du diagramme est strictement plus

prio-ritaire que les variables libres du diagramme ne peut pas arriver, parce qu’il contredit

la pr´econdition.

Function cardinal(d : diagram, S : variable set)

Pre :support(d)⊆S

if is const(d)then

return 2

|S|

x←minS // Minimum selon ≺

if root(d) =xthen

n

1

←cardinal(dthen(d), S\ {x})

n

2

cardinal(delse(d), S\ {x})

return n

1

+n

2

if root(s)≺xthen

return 2×cardinal(d, S\ {x})

Proportion de solutions Avec cet ´equipement, nous pouvons calculer la probabilit´e

qu’une variablexprenne la valeur ssous la contrainteC. Elle s’exprime par :

P[x=s|C] = #C[x:=s]

#C

Comme nous l’avons vu, le nombre de solutions d’une contrainte d´epend du nombre de

ses variables libres et ce, mˆeme si certaines de ces variables peuvent prendre n’importe

quelle valeur. De telles variables n’apparaissent pas dans le diagramme de la contrainte.

Cela signifie que l’on peut augmenter(( artificiellement))le nombre de solutions en

ajou-tant des termes dans une conjonction qui sont des tautologies et qui ont des variables

libres (comme x≈?par exemple).

Nous allons voir maintenant que cette propri´et´e d´esagr´eable disparaˆıt quand on

consid`ere non plus le nombre de solutions d’une contrainte, mais le rapport entre le

nombre de solutions et le nombre total de valuations des variables de la contrainte.

Cetteproportion de solutions est invariante quand on ajoute des(( variables inutiles))`a

la contrainte. SoitCune contrainte etXl’ensemble de ses variables libres. Laproportion

de solutions deC est d´efinie comme :

ρ

C

= #C

2

|X|

La proposition suivante dit essentiellement que cette grandeur est ind´ependante de

l’ensemble des variables libres de la contrainte.

Proposition 6. La fonction C 7→ ρ

C

est constante sur une classe d’´equivalence selon

∼ (voir d´efinition page 47).

D´emonstration. Soit une contrainte bool´eenneC, etXl’ensemble de ses variables libres.

Le couple (D

C

, X) o`u D

C

est le diagramme de d´ecision de C d´esigne C de mani`ere

univoque. Nous avons en particulier support(D

C

) ⊆ X. Nous pouvons consid´erer 3

cas :

1. D

C

=T. Toute valuation des variables deX est une solution doncρ

C

= 1

2. D

C

=F. Aucune valuation des variables de X n’est une solution doncρ

C

= 0

3. Alors soitxla variable `a la racine de D

C

. On a :

ρ

C

= #C

2

|X|

= #C[x:=+] + #C[x:=]

2

|X|

= 1

2(

#C[x:=+]

2

|X|−1

+ #C[x:=]

2

|X|−1

)

= 1

2(

#C[x:=+]

2

|X\{x}|

+ #C[x:=]

2

|X\{x}|

)

= ρ

C[x:=+]

+ρ

C[x:=]

2

Dans chacun des cas, la proportion ne d´epend pas deX, mais seulement du diagramme

D

C

, qui est constant sur une classe d’´equivalence selon ∼.

Calcul de la proportion de solutions On d´eduit de cette preuve un algorithme

pour le calcul de la proportion, d´ecrit dans la fonction proportion. La fonction proc`ede

r´ecursivement sur le diagramme de d´ecision en reprenant les trois cas de la preuve

ci-dessus.

Function proportion(d: diagram)

cased=leaf(T)

return 1

cased=leaf(F)

return 0

otherwise

p

+

←proportion(dthen(d))

p

←proportion(delse(d))

return

p++p 2

Calcul des marginales On consid`ere `a nouveau une contrainteC,X l’ensemble de

ses variables libres, et x une variable quelconque. On voit maintenant par un calcul

rapide que la marginaleP[x:=s|C] est elle aussi constante sur une classe d’´equivalence

selon∼:

P[x=s|C] = #C[x:=s]

#C

= #C[x:=s]

2

|X|

2

|X|

#C

= 2ρ

C[x:=s]

ρ

C

Les marginales peuvent ˆetre calcul´ees en construisant le diagramme de C[x:=+] pour

chaquexdans X, et obtenir le r´esultat par la formule ci-dessus.

Notons pour finir un point important sur l’impl´ementation : le nombre de solutions

d’une contrainte croˆıt au pire en 2

n

si nest le nombre de variables dans le support du

diagramme. En pratique, le nombre de mod`eles satisfaisant la contrainte est souvent

tr`es ´elev´e, et pour ´eviter les d´ebordements il faut avoir recours `a des entiers de taille

arbitraire. Les proportions sont elles calcul´ees sous forme de rationnels.