• Aucun résultat trouvé

O `u l’on parle de multi-ensembles !

Lors de l’´etude du cas particulier des clauses de Horn pour les probl`emes utilisant la cardinalit´e, nous nous sommes rendus compte qu’il ´etait indispensable d’introduire une nouvelle notion : les multi-ensembles. En effet, dans les d´emonstrations propos´ees dans les sections 7.3.6 et 7.3.7, nous allons ˆetre amen´es `a r´ep´eter des formules de notre base initiale ce qui n’est pas compatible avec la notion d’ensemble. Nous d´efinissons alors :

D´efinition 7.3.1

E

est un multi-ensemble de formules propositionnelles ssi :

E

est un ensemble de couples(

i;pi

)avec : 

i

une formule propositionnelle,

il ne peut pas y avoir dans

E

deux couples(

i;pi

)et(

j;pj

)tels que

i

=

j

et

pi

6=

pj

.

D´efinition 7.3.2 (

E;<

)=

E

1

[

:::

[

En

est un multi-ensemble stratifi´e de formules propositionnelles ssi : (

E;<

)est un ensemble stratifi´e de couples(

i;pi

)avec :



i

une formule propositionnelle,

pi

est le poids de

i

, c’est-`a-dire le nombre d’occurrences de

i

;

il ne peut pas y avoir dans(

E;<

)deux couples(

i;pi

)et(

j;pj

)tels que

i

=

j

et

pi

6=

pj

.

D´efinition 7.3.3 Les multi-ensembles ´etant d´efinis comme des ensembles de couples, nous conservons la notion d’inclusion classique : soit

E

un multi-ensemble,

S

est un “sous-ensemble” de

E

ssi

S



E

. Idem pour le cas stratifi´e.

Exemples : Soit

E

=f(

A;

3)

;

(

B;

1)

;

(

C;

2)g,

E

est un multi-ensemble correspondant `a la collection de formules propositionnelles suivante :f

A;A;A;B;C;C

g. Soit

E

= f(

A;

3)

;

(

B;

1)

;

(

A;

2)g,

E

n’est pas un multi-ensemble. Soit

E

=f(

A;

3)

;

(

B;

1)

;

(

A;

3)g,

E

est le multi-ensemble :f(A,3), (B,1)g.

Cette notion de multi-ensemble est essentielle en cardinalit´e car dire qu’une formulepeut ˆetre r´ep´et´ee

p

fois change totalement le calcul des sous-bases pr´ef´er´ees pour la cardinalit´e.

D´efinition 7.3.4 Soit

S

un sous-ensemble du multi-ensemble

E

, on notej

S

j  et on appelle cardinal de

S

j

S

j  = P

ipi

tel que(

i;pi

)2

S

. D´efinition 7.3.5 On note

E



l’ensemble de formules propositionnelles issu du multi-ensemble

E

:

E



=f

i

telle que(

i;pi

)2

E

g

D´efinition 7.3.6 Soit

S

un sous-ensemble du multi-ensemble

E

,

S

est une sous-base consistante de

E

ssi

S



est une sous-base consistante de

E

 .

Soit

S

un sous-ensemble du multi-ensemble

E

,

S

est une th`ese de

E

ssi

S



est une th`ese de

E

 .

D´efinition 7.3.7 Soit

S

un sous-ensemble du multi-ensemble

E

,

S

est une sous-base pr´ef´er´ee pour la car- dinalit´e de

E

ssi :

S

est une sous-base consistante de

E

, il n’existe pas

S

0

sous-base consistante de

E

telle quej

S

j 

<

j

S

0 j  .

D´efinition 7.3.8 Soit

S

un sous-ensemble du multi-ensemble(

E;<

)=

E

1

[

:::

[

En

,

S

est une sous-base pr´ef´er´ee pour l’ordre lexicographique de(

E;<

)ssi8

k

=1

:::n

,

S

1

[

:::

[

Sk

est une sous-base pr´ef´er´ee pour la cardinalit´e du multi-ensemble

E

1

[

:::

[

Ek

.

Nous pouvons alors red´efinir les probl`emes d’inf´erence non-monotone li´es `a la cardinalit´e :

D´efinition 7.3.9 Les probl`emes d’inf´erence non-monotone UNI (EXI, ARG)-CAR sur des multi-ensembles sont :

instance :

E

un multi-ensemble de formules propositionnelles,

H

une formule propositionnelle,

question :

H

est-elle une cons´equence forte (faible, argumentative) de

E

en utilisant l’ordre bas´e sur la cardinalit´e sur les th`eses de

E

?

D´efinition 7.3.10 Les probl`emes d’inf´erence non-monotone UNI (EXI, ARG)-LEX sur des multi-ensembles sont :

instance :

E

un multi-ensemble de formules propositionnelles,

H

une formule propositionnelle,

question :

H

est-elle une cons´equence forte (faible, argumentative) avec pr´ef´erences de

E

en utilisant l’ordre lexicographique sur les th`eses de

E

?

Ces probl`emes sont not´es UNI (EXI, ARG)-LEX-ME.

Nous avons pu jusqu’`a pr´esent nous passer de la notion de multi-ensemble. Notons toutefois que tous les r´esultats obtenus jusqu’ici sur des ensembles sont conserv´es en int´egralit´e quand on travaille sur des multi- ensembles. En effet, le cas des ensembles est une restriction du cas des multi-ensembles donc toutes les preuves de compl´etude restent valables, quant aux preuves d’appartenance, on constate que les seuls al- gorithmes d´ependants de cet aspect sont les algorithmes utilisant la cardinalit´e et ils peuvent ˆetre modifi´es comme suit :

algorithme pour UNI-CAR-ME (recherche dichotomique pour conserver un algorithme polynomial) : 1.

k

0

2. nfmax ( P

ipi

tel que(

i;pi

)2

E

)

3. si MAX-GSAT-ME (

E

, nfmax) alors

k

nfmax sinon

4. nfmin 0

5. tant que ((nfmax - nfmin)

>

1) faire

6.

k

(nfmax + nfmin) div 2 (* div=division enti`ere *) 7. si MAX-GSAT-ME (

E

,

k

) alors

8. nfmin

k

9. sinon nfmax

k

fin si fin tant que fin si

10. si NGSAT-CAR-ME (

E

,

H

,

k

) alors 11. ´echec vrai

12. sinon ´echec faux fin si

13. v´erifier que l’on n’a pas ´echec (´echec = faux) algorithme pour MAX-GSAT-ME :

1. deviner une interpr´etation

M

2.

p

0

3. pour chaque formule

G

de

E

faire

4. si

M

satisfait

G

alors

p

p

+

pG

(*

pG

=poids de

G

*) fin si

fin pour

5. v´erifier que

p



k

algorithme pour NGSAT-CAR-ME :

1. deviner une interpr´etation

M

2. v´erifier qu’elle satisfait

k

formules de

E

(* c’est `a dire :

a.

k

0

0

b. pour chaque formule

G

de

E

faire c. si

M

satisfait

G

alors

d.

k

0

k

0

fin si fin pour

e. v´erifier que

k

0 =

k

*)

3. v´erifier que

M

ne satisfait pas

H

algorithme pour EXI-CAR-ME :

1. deviner un sous-ensemble

Y

de

E

(*v´erifier que

Y

est une th`ese pr´ef´er´ee pour la cardinalit´e de

E

*) 2. ´echec faux

3.

k

j

Y

j 

4. S’il existe une sous-base consistante

Z

de

E

telle quej

Z

j 

> k

alors 5. ´echec vrai

fin si

6. si non ´echec alors

7. v´erifier que

Y

inf`ere

H

fin si

algorithme pour MAX-GSAT-STRICT-ME : 1. deviner une interpr´etation

M

2.

p

0

3. pour chaque formule

G

de

E

faire

4. si

M

satisfait

G

alors

p

p

+

pG

(*

pG

=poids de

G

*) fin si

fin pour

5. v´erifier que

p > k

algorithmes pour UNI-LEX-ME (recherche dichotomique pour conserver un algorithme polynomial) : 1.

E

0

f(

H

!

G;

1)g[

E

[f(:

G;

1)g

2.

k

<

0

;

0

;:::;

0

>

(*vecteur de dimension

n

=nombre de strates dans

E

0 *) 3. pour

ns

1 `a

n

faire 4. nfmax ( P

ipi

tel que(

i;pi

)2

E

0

ns

) 5.

k

[

ns

] nfmax 6. si (non MAX-GSAT-ARRAY-ME (

E

0 ,

k

)) alors 7. nfmin 0 8.

k

[

ns

] 0

9. tant que ((nfmax - nfmin)

>

1) faire

10.

k

[

ns

] (nfmax + nfmin) div 2 (* div=division enti`ere *)

11. si MAX-GSAT-ARRAY-ME (

E

0

,

k

) alors

12. nfmin

k

[

ns

]

13. sinon nfmax

k

[

ns

]

fin si fin tant que fin si

fin pour

14. v´erifier que

k

[

n

]est diff´erent de 1 ou bien :

(* calcul du vecteur

k

*)

1.

k

<

0

;

0

;:::;

0

>

(* vecteur de dimension

n

(nombre de strates dans

E

)*) 2. pour

ns

1 `a

n

faire

3. nfmax (

P

ipi

tel que(

i;pi

)2

Ens

) 4.

k

[

ns

] nfmax

5. si (non MAX-GSAT-ARRAY-ME (

E

,

k

)) alors

6. nfmin 0

7.

k

[

ns

] 0

8. tant que ((nfmax - nfmin)

>

1) faire

9.

k

[

ns

] (nfmax + nfmin) div 2 (* div=division enti`ere *) 10. si MAX-GSAT-ARRAY-ME (

E

,

k

) alors

11. nfmin

k

[

ns

]

12. sinon nfmax

k

[

ns

]

fin si fin tant que fin si

fin pour

13. si NGSAT-LEX-ME (

E

,

H

,

k

) alors 14. ´echec vrai

15. sinon ´echec faux fin si

16. v´erifier que l’on n’a pas ´echec (´echec = faux) algorithme pour MAX-GSAT-ARRAY-ME :

1. deviner une interpr´etation

M

2.

i

1 (*strate la plus prioritaire*) 3. ´echec faux

4. tant que

i



n

(nombre de strates de

E

) et (non ´echec) faire

5.

p

0

6. pour chaque formule

G

de(

E;<

)faire

7. si

M

satisfait

G

alors

p

p

+

pG

(*

pG

=poids de

G

*) fin si

fin pour

8. si

p



k

[

i

]alors

9.

i

i

+1

10. sinon ´echec vrai fin si

fin tant que

11. v´erifier que l’on n’a pas ´echec (´echec = faux) algorithme pour NGSAT-LEX-ME :

1. deviner une interpr´etation

M

2. v´erifier qu’elle satisfait

k

[

i

]formules de chaque strate

i

de

E

(* c’est `a dire :

a.

k

0

<

0

;

0

;:::;

0

>

(*

k

0

de mˆeme dimension

n

que

k

*) b. pour chaque strate

i

de 1 `a

n

faire

c. pour chaque formule

G

de la strate

i

faire

d. si

M

satisfait

G

alors e.

k

0 [

i

]

k

0 [

i

]+

pG

(*

pG

=poids de

G

*) fin si fin pour fin pour f. v´erifier que

k

0 =

k

*)

3. v´erifier que

M

ne satisfait pas

H

algorithme pour EXI-LEX-ME :

(*v´erifier que

Y

est une th`ese pr´ef´er´ee lexicographiquement de(

E;<

)*) 2. ´echec faux

3.

i

1 (*strate la plus prioritaire*) 4. tant que non ´echec et

i < n

+1faire

5.

k

j

Y

1 j  +j

Y

2 j  +

:::

+j

Yi

j 

6. S’il existe une sous-base consistante

Z

de

E

1 [

E

2 [

:::

[

Ei

telle quej

Z

j 

> k

alors 7. ´echec vrai 8. sinon

i

i

+1 fin si

fin tant que

9. si non ´echec alors

10. v´erifier que

Y

inf`ere

H

fin si

Tous ces algorithmes donnent la mˆeme borne maximum pour la complexit´e que celle obtenue par les algo- rithmes correspondant au cas des ensembles.