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 quei
=j
etpi
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 dei
, c’est-`a-dire le nombre d’occurrences dei
;il ne peut pas y avoir dans(
E;<
)deux couples(i;pi
)et(j;pj
)tels quei
=j
etpi
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” deE
ssiS
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 :fA;A;A;B;C;C
g. SoitE
= f(A;
3);
(B;
1);
(A;
2)g,E
n’est pas un multi-ensemble. SoitE
=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-ensembleE
, on notejS
j et on appelle cardinal deS
jS
j = Pipi
tel que(i;pi
)2S
. D´efinition 7.3.5 On noteE
l’ensemble de formules propositionnelles issu du multi-ensemble
E
:E
=f
i
telle que(i;pi
)2E
gD´efinition 7.3.6 Soit
S
un sous-ensemble du multi-ensembleE
,S
est une sous-base consistante deE
ssiS
est une sous-base consistante de
E
.Soit
S
un sous-ensemble du multi-ensembleE
,S
est une th`ese deE
ssiS
est une th`ese de
E
.D´efinition 7.3.7 Soit
S
un sous-ensemble du multi-ensembleE
,S
est une sous-base pr´ef´er´ee pour la car- dinalit´e deE
ssi :S
est une sous-base consistante deE
, il n’existe pasS
0sous-base consistante de
E
telle quejS
j<
jS
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;<
)ssi8k
=1:::n
,S
1
[
:::
[Sk
est une sous-base pr´ef´er´ee pour la cardinalit´e du multi-ensembleE
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) deE
en utilisant l’ordre bas´e sur la cardinalit´e sur les th`eses deE
?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 deE
en utilisant l’ordre lexicographique sur les th`eses deE
?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
02. nfmax ( P
ipi
tel que(i;pi
)2E
)3. si MAX-GSAT-ME (
E
, nfmax) alorsk
nfmax sinon4. nfmin 0
5. tant que ((nfmax - nfmin)
>
1) faire6.
k
(nfmax + nfmin) div 2 (* div=division enti`ere *) 7. si MAX-GSAT-ME (E
,k
) alors8. nfmin
k
9. sinon nfmax
k
fin si fin tant que fin si
10. si NGSAT-CAR-ME (
E
,H
,k
) alors 11. ´echec vrai12. 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
03. pour chaque formule
G
deE
faire4. si
M
satisfaitG
alorsp
p
+pG
(*pG
=poids deG
*) fin sifin 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 deE
(* c’est `a dire :a.
k
00
b. pour chaque formule
G
deE
faire c. siM
satisfaitG
alorsd.
k
0k
0fin si fin pour
e. v´erifier que
k
0 =k
*)3. v´erifier que
M
ne satisfait pasH
algorithme pour EXI-CAR-ME :1. deviner un sous-ensemble
Y
deE
(*v´erifier que
Y
est une th`ese pr´ef´er´ee pour la cardinalit´e deE
*) 2. ´echec faux3.
k
jY
j4. S’il existe une sous-base consistante
Z
deE
telle quejZ
j> k
alors 5. ´echec vrai
fin si
6. si non ´echec alors
7. v´erifier que
Y
inf`ereH
fin sialgorithme pour MAX-GSAT-STRICT-ME : 1. deviner une interpr´etation
M
2.p
03. pour chaque formule
G
deE
faire4. si
M
satisfaitG
alorsp
p
+pG
(*pG
=poids deG
*) fin sifin pour
5. v´erifier que
p > k
algorithmes pour UNI-LEX-ME (recherche dichotomique pour conserver un algorithme polynomial) : 1.
E
0f(
H
!G;
1)g[E
[f(:G;
1)g2.
k
<
0;
0;:::;
0>
(*vecteur de dimensionn
=nombre de strates dansE
0 *) 3. pourns
1 `an
faire 4. nfmax ( Pipi
tel que(i;pi
)2E
0ns
) 5.k
[ns
] nfmax 6. si (non MAX-GSAT-ARRAY-ME (E
0 ,k
)) alors 7. nfmin 0 8.k
[ns
] 09. tant que ((nfmax - nfmin)
>
1) faire10.
k
[ns
] (nfmax + nfmin) div 2 (* div=division enti`ere *)11. si MAX-GSAT-ARRAY-ME (
E
0,
k
) alors12. 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 dimensionn
(nombre de strates dansE
)*) 2. pourns
1 `an
faire3. nfmax (
P
ipi
tel que(i;pi
)2Ens
) 4.k
[ns
] nfmax5. si (non MAX-GSAT-ARRAY-ME (
E
,k
)) alors6. nfmin 0
7.
k
[ns
] 08. tant que ((nfmax - nfmin)
>
1) faire9.
k
[ns
] (nfmax + nfmin) div 2 (* div=division enti`ere *) 10. si MAX-GSAT-ARRAY-ME (E
,k
) alors11. 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 vrai15. 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 faux4. tant que
i
n
(nombre de strates deE
) et (non ´echec) faire5.
p
06. pour chaque formule
G
de(E;<
)faire7. si
M
satisfaitG
alorsp
p
+pG
(*pG
=poids deG
*) fin sifin pour
8. si
p
k
[i
]alors9.
i
i
+110. 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 stratei
deE
(* c’est `a dire :a.
k
0<
0
;
0;:::;
0>
(*k
0de mˆeme dimension
n
quek
*) b. pour chaque stratei
de 1 `an
fairec. pour chaque formule
G
de la stratei
faired. si
M
satisfaitG
alors e.k
0 [i
]k
0 [i
]+pG
(*pG
=poids deG
*) fin si fin pour fin pour f. v´erifier quek
0 =k
*)3. v´erifier que
M
ne satisfait pasH
algorithme pour EXI-LEX-ME :(*v´erifier que
Y
est une th`ese pr´ef´er´ee lexicographiquement de(E;<
)*) 2. ´echec faux3.
i
1 (*strate la plus prioritaire*) 4. tant que non ´echec eti < n
+1faire5.
k
jY
1 j +jY
2 j +:::
+jYi
j6. S’il existe une sous-base consistante
Z
deE
1 [E
2 [:::
[Ei
telle quejZ
j> k
alors 7. ´echec vrai 8. sinoni
i
+1 fin sifin tant que
9. si non ´echec alors
10. v´erifier que
Y
inf`ereH
fin siTous ces algorithmes donnent la mˆeme borne maximum pour la complexit´e que celle obtenue par les algo- rithmes correspondant au cas des ensembles.