I SRAËL -C ÉSAR L ERMAN
V ALÉRIE R OUAT
Segmentation de la sériation pour la résolution de #SAT
Mathématiques et sciences humaines, tome 147 (1999), p. 113-134
<http://www.numdam.org/item?id=MSH_1999__147__113_0>
© Centre d’analyse et de mathématiques sociales de l’EHESS, 1999, tous droits réservés.
L’accès aux archives de la revue « Mathématiques et sciences humaines » (http://
msh.revues.org/) implique l’accord avec les conditions générales d’utilisation (http://www.
numdam.org/conditions). Toute utilisation commerciale ou impression systématique est consti- tutive d’une infraction pénale. Toute copie ou impression de ce fichier doit conte- nir la présente mention de copyright.
Article numérisé dans le cadre du programme Numérisation de documents anciens mathématiques
http://www.numdam.org/
SEGMENTATION DE LA
SÉRIATION
POUR LARÉSOLUTION
DE #SATIsraël-César
LERMAN1,
ValérieROUAT2
RÉSUMÉ - Le problème général traité est celui de l’évaluation approchée du nombre de solutions d’une formule booléenne F sous forme normale conjonctive. En appliquant le principe «diviser pour
résoudre», la méthode présentée permet de réduire de façon considérable la complexité algorithmique du problème. Elle est basée sur la segmentation d’une sériation établie sur la table d’incidence associée à F.
Nous montrons, dans des cas aléatoires difficiles de génération d’uneformule F, l’intérêt de la sériation et
de sa meilleure coupure en deux parties connexes et de tailles comparables. De plus, nous
définissons
lanotion d’indépendance en
probabilité
pour F. On propose ici et on valide théoriquement et par une vaste expérimentation la méthode.MOTS-CLÉS - Satisfiabilité, théorie de la complexité, dénombrement de solutions, problèmes
#P-complets, classification, sériation.
SUMMARY - Cutting seriation for approximate #SAT resolution
We propose here a general method for approximating the number of solutions of a boolean formula in conjunctive normal form F. By applying the principle «divise to resolve», this method reduces considerably the computational complexity. It is based on cutting a seriation established on an incidence data table associated with F. Moreover, the independence probability concept is finely exploited.
Theoretical justification and intensive experimentation validate the proposed method.
KEYWORDS - Satisfiability, complexity theory, counting, #P-complete problems, classification, seriation.
1. INTRODUCTION
Relativement à un ensemble V =
{Xl, ... , XN 1
de variablesbooléennes,
une clauseest une
disjonction
de littéraux de la forme yl V... V ~9 V ... V ~r(r N), où Yq
estpour un indice
i,
de laforme xi
ou -,xi. Une affectation des variables booléennes satisfait laclause,
si l’une au moins des variablesyq,1
qr,
est à vrai. Une’ IRISA/Université de Rennes 1, Campus de Beaulieu, 35042 Rennes Cedex, e-mail : Ierman@insa.fr
2 CRIL, rue de l’Université, S.P. 16, 62307 Lens Cedex, e-mail : iouat@cril.univ-artois,1?
instance SAT est une
conjonction
de clauses construites sur V. Leproblème
SATde la SATisfiabilité de l’instance est celui de l’existence d’une
solution,
c’est-à-dire d’une affectation des variables de Vqui
mette à vrai l’instance. Leproblème #SAT
est celui de l’évaluation du nombre de solutions d’une instance SAT.
Le
problème
SAT est àl’origine
de la définition desproblèmes NP-complets [3].
Ils constituent la sous-classe la
plus
difficile desproblèmes
NP(Non déterministes
Polynomiaux).
Ilsregroupent
une trèslarge
classe deproblèmes
de décision. Dé-montrer
qu’il
n’existe pasd’algorithme polynomial
pour résoudre leproblème posé
(P # NP)
est au centre de la théorie de lacomplexité
eninformatique
etcorrespond
d’ailleurs à une
conjecture qui
duredepuis plus
d’unquart
de siècle.Le
problème #SAT,
dénombrement de toutes les solutions d’une instance SAT est à l’évidence et apriori plus
difficile que leproblème précédent,
il se situe eneffet dans la classe des
problèmes #P-complets [25].
La classe ainsi définie a uneimportance
touteparticulière
en théorie de lacomplexité puisqu’elle
« contient »toute la hiérarchie
polynomiale [24].
Oncomprend
dans ces conditionspourquoi
lathéorie de la
complexité
accorde unepart
deplus
enplus importante
aux classes decomptage [17, 6].
Si le
problème
SAT ajusqu’à présent
motivé une masse considérable detravaux,
leproblème #SAT
estaujourd’hui
reconnu comme aussiimportant
et fondamen-tal. D’une
part,
ceproblème apparaît
dans de nombreuxproblèmes d’intelligence artificielle,
que ce soit le calcul de laprobabilité
de pannes de circuits ou encore la formalisation du raisonnementapproximatif
à base deprobabilités.
D’autrepart,
iltient une
place importante
dans la théorie de lacomplexité puisqu’il
est unrepré-
sentant de la classe des
problèmes #P-complets.
Plusieurs
algorithmes
de résolution exacte de#SAT
ont étédéveloppés [4, Il, 14]
mais ils se heurtent à
l’explosion
combinatoire due à lacomplexité
duproblème
pour destailles,
mêmeréduites,
des instances SAT.Cependant,
une valeurapprochée
ou estimation du nombre exact de solutionsaura un intérêt crucial.
[19]
montre que mêmel’approximation
estalgorithmique-
ment difficile. Différents axes de recherche ont
déjà
été étudiés:interruption
d’uneméthode exacte
[4],
calculapproché
utilisant une résolution exacte[21, 22]
et « ran-domisation »
(évaluation
du résultatglobal
àpartir
de résultatspartiels
obtenuspar
tirage
aléatoire dans l’ensemble des solutionspossibles [5, 2]).
La méthode que nous
présentons approxime
le nombre exact de solutions enutilisant le
principe général «
diviser pour résoudre ». Ils’agit
de diviser leproblème
en deux
sous-problèmes
de taillesrespectives comparables
et depouvoir
reconstituer- en
temps polynomial -
une solutionapprochée
duproblème global
àpartir
dessolutions exactes aux deux
sous-problèmes.
Associant à une instance
SAT,
une matrice d’existence Clauses xVariables,
laméthode
proposée consiste,
dans sesgrandes lignes : (i)
àappliquer
unetechnique spécifique
desériation ;
(ii)
à couper la sériation « au mieux » en deuxparties
connexes de tailles com-parables,
àpartir
d’un critèrestatistique
de coûtpolynomial
etadapté
àl’évaluation du
degré d’indépendance ;
(iii)
à reconstituer àpartir
d’une formule dûmentjustifiée
par le calcul desproba-
bilités et les conditions
expérimentales,
une valeurapproximative
du nombretotal de solutions.
Dans nos
premières
communications[21, 13],
nous avions le souci depouvoir
reconnaître la meilleure
qualité
des résultatsqu’on pouvait
atteindre. De sorte que connaissant le nombre exact desolutions,
on déterminait la coupurequi
fournissait la meilleureapproximation.
Enrevanche, ici,
la coupure est déterminée - commecela se doit dans les cas réels -
automatiquement,
àpartir
d’un critèrestatistique
decoût
polynomial. À
des fins de validation de la méthodeproposée,
nous continuonscertes à comparer le nombre exact de solutions à celui
approché.
L’ensemble de nos
expériences porte
sur le cas,classiquement
considéré dans lalittérature de 3SAT
aléatoire,
c’est-à-dire sur la réalisation d’instances SAT dansune
hypothèse d’indépendance probabiliste
totale et de distribution uniforme surl’espace
desclauses,
où exactement trois variables par clause se trouvent instanciées.C’est en effet dans ce contexte où aucune structure
statistique
n’estcachée,
que la difficultéalgorithmique apparaît.
2.
#SAT ; REPRÉSENTATION,
NOTIOND’INDÉPENDANCE
ET SOLUTIONAPPROCHÉE
PAR COUPURE2.1.
REPRÉSENTATION
Nous allons
rappeler
lareprésentation classique
duproblème #SAT
ainsi que celle ensembliste[10] qui, précisément, permet
uneapproche
parl’analyse
combinatoire des données et lastatistique.
Définitions
préliminaires
Clause :
V =f xl,
..., xi, ...,XN 1
étant un ensemble de variablesbooléennes,
uneclause sur V d’ordre r est une
disjonction
de littéraux de la formeoù
{l, 2, ... ,
q, ... ,r} représente
un sous-ensemble de r éléments def 1, 2, ... ) i)
... ,N}
et où yq, pour qreprésentant
un indicei,
est de laforme xi
ou Txj .Ainsi par
exemple,
ensupposant
Nsupérieur
à4,
une clauseC3
d’ordre 3peut
être:Dans ce cas yl = XI, Y2 = et Y3 = X4-
Une affectation des variables booléennes satisfait la clause si et seulement si l’une
au moins des variables
yq,1
q r, est à vrai. Dansl’exemple précédent
c’est lecas si et seulement si x, est à vrai ou
(non exclusif)
X3 est à faux ou(non exclusif)
X4 est à vrai.
Cylindre ponctuel
associé à une clause :À
l’ensemble V des N variables booléennes associons le cubelogique ~0,1~~.
Il
représente
l’ensemble des valeurs du vecteur(xl, ... , xi, ... , x~)
des variables booléennes. Lecylindre ponctuel
associé à une clausereprésente
toutsimplement
l’ensemble des sommets du cube
logique qui
falsifient la clause. Cet ensemble a unestructure
géométrique particulière,
cequi justifie
sonappellation.
Plusprécisément,
notons la clause Cr
(cf. ( 1 ) )
sous la forme:ce
qui indique
lesvariables xi
instanciées dansCr@
soit sous formepositive
soit(exclusivement)
sous formenégative.
Associons maintenant à Cr sa
négation,
l’anti-clause-,Cr,
elle se met sous laforme de la
conjonction :
où on
L’ensemble des sommets du cube
logique
satisfaisant(4)
seprésente
sous la formed’un vecteur dont seules les
composantes il, i2, ... , iq,
...,ir
se trouventinstanciées,
les autres
composantes
étant indéterminées. Plusprécisément,
endésignant
par aila i-ème
composante
d’un telvecteur,
on a:où s est un booléen indéterminé.
Une telle structure
correspond
bien à uncylindre ponctuel puisque
certainescomposantes
ne sont passpécifiées
et que la base ducylindre
est unpoint
dans lesous espace des
composantes (21, i2,..., 2q, ... , ir).
Instance SAT :
Une instance SAT est une
conjonction
de clausesqu’on peut
mettre sous la formequi représente
une forme normaleconjonctive. CJB1
iP,
a la même formeque
(3)
ci-dessus. En associant àchaque
clauseCri
‘ soncylindre ponctuel
que nous noteronsP,
lanégation
de la formule -,F serareprésentée
par la réunion descylindres ponctuels :
Le
problème
SAT et leproblème #SAT :
Le
problème
SAT de la SATisfiabilité est celui de la reconnaissance de l’existence d’au moins unesolution ; c’est-à-dire,
de l’existence d’une affectation des variables deV, qui
mette l’instance F à vrai. Toutel’importance
de ceproblème
a étéexprimée
dans l’introduction. Dans la
pratique,
laplupart
desalgorithmes
de reconnaissance exhibent une solution effective auproblème posé lorsqu’elle
existe.Étant
donnée notrereprésentation
duproblème
où à une clause on associe soncylindre ponctuel (cf. ci-dessus),
laquestion posée
est de savoir si la réunion G descylindres ponctuels (cf. (6))
recouvre la totalité du cubelogique
ou biens’il reste un vide
(un trou).
Dans ce dernier cas, l’instance est satisfiable.Imaginons
que toutes les clauses soient d’un même ordre r etappelons
rSAT leproblème
SATappliqué
à de telles clauses. En d’autres termes et relativement à(5) :
1Dans ces
conditions,
on saitqu’il
existe unalgorithme
linéaire entemps
pour 2SAT[1]
mais que 3SAT est unreprésentant
irréductible de la classe desproblèmes NP-complets [3].
Considérons alors le
problème
3SAT. Deux conditionsexpérimentales
s’avèrentnécessaires pour que le cas de résolution soit difficile par
rapport
au nombre N de variables.La
première
estqu’il
n’existe aucune structurestatistique
cachée derrière l’en- semble desclauses ;
cequi
se traduit par l’absence de toute relationstatistique parti-
culière sur l’ensemble des
cylindres ponctuels
dans le cube{0, 1}~.
Parconséquent,
les clauses devront être
engendrées
selon un modèleprobabiliste d’indépendance
mu-tuelle. D’autre
part,
lagénération
aléatoire d’une même clause se fera conformément à un modèled’indépendance uniforme,
relativement à l’ensemble des N variables booléennes. Plusprécisément,
ens’exprimant
en termes decylindres ponctuels,
il ya
N 23 cylindres ponctuels
dont la base est un sommetqui
se situe dans un sousespace de dimension 3 du
cube ; et,
ils’agira
d’en choisir un uniformément au hasard pour instancier une clause de 3SAT. Dans lapratique,
on commencera par choisir les 3 variables à instancier(sous
forme soitpositive
soitnégative) ; puis,
on choisiraune instanciation
parmi
les23 possibles. Ainsi,
laprobabilité
d’une clause donnée est1/ ()23.
3La deuxième condition
expérimentale
pour la réalisation aléatoire - conformé- ment au modèle que nous venons de définir - d’une instance SAT difficile pour la reconnaissance de lasatisfiabilité,
consiste en lerespect
d’unrapport
entre le nombre de clauses et celui des variables. Ce dernier doit être autour de 4.25[16].
Le
problème #SAT,
dénombrement de toutes les solutions d’une instance SAT est à l’évidence et apriori plus
difficile que leproblème précédent,
il se situe eneffet dans la classe des
problèmes #P-complets [25].
Nous avonsdéjà exprimé
toutel’importance
de cette classe deproblèmes. Rappelons également
que même pour des tailles réduites d’instancesSAT,
lesalgorithmes
de résolution exactequi
ont étéproposés [4, 10, 11, 14]
se heurtent àl’explosion
combinatoire de lacomplexité
duproblème.
Relativement à notre
représentation
des clauses en termes decylindres ponctuels,
le nombre de solutions d’une instance SAT
représentée
par F(cf. (5))
est exactement lecomplémentaire
à2N
du cardinal de G(cf. (6)).
Ils’agit
dans ces conditionsd’évaluer la cardinalité de la réunion des
cylindres ponctuels respectivement
associésaux clauses.
Ici encore nous allons considérer des instances SAT dont les clauses ont le même ordre r
(cf. (7)).
Leproblème #rSAT
est celui de l’évaluation du nombre de solutions d’une instance rSAT.#2SAT
rentredéjà
dans la classe desproblèmes #P-complets.
Cependant,
à des fins decomparaison
avec les résultats obtenus dans lalittérature,
nous allons nous intéresser au
problème #3SAT.
Comme pour leproblème SAT,
lecas difficile est fourni par le modèle aléatoire de
génération
d’une instance définici-dessus.
Ici,
lepic
de difficultécorrespond
à unrapport
de 1.2 entre le nombre de clauses et celui des variables[20].
À
défaut du nombre exact de solutions d’une instanceSAT,
une valeur suffisam-ment
approchée
ou estimation aura un intérêtcrucial ;
à condition bien sûr d’une réduction notable de lacomplexité permettant
de l’obtenir. Différentesapproches
ont
déjà
été étudiées:interruption
d’une méthode exacte[4],
inférence àpartir
de résultatspartiels
obtenus parsondage
aléatoire dans l’ensemble des solutions pos- sibles[5, 2].
La méthode que nous
présentons
donne uneapproximation
du nombre exact desolutions en utilisant le
principe général «
diviser pour résoudre ». Ils’agit
de diviserle
problème
en deuxsous-problèmes
de taillesrespectives comparables
et depouvoir
reconstituer - en
temps polynomial -
une solutionapprochée
duproblème global
àpartir
des solutions exactes aux deuxsous-problèmes.
Associant à une instance
SAT,
une matrice d’existence Clauses xVariables,
laméthode
proposée consiste,
dans sesgrandes lignes : (i)
àappliquer
unetechnique spécifique
desériation ;
(ii)
à couper la sériation « au mieux » en deuxparties
connexes de tailles com-parables,
àpartir
d’un critèrestatistique
de coûtpolynomial
etadapté
àl’évaluation du
degré d’indépendance ;
(iii)
à reconstituer àpartir
d’une formule dûmentjustifiée
par le calcul desproba-
bilités et les conditions
expérimentales,
une valeurapproximative
du nombretotal de solutions.
Ainsi,
une notion fondamentaleapparaît ;
c’est celled’indépendance
enprobabi-
lité entre deux ensembles de clauses
disjoints (aucune
clause de l’un des ensemble nese retrouve dans
l’autre).
Nousl’appréhendons plus
directement àpartir
des deuxensembles de
cylindres ponctuels respectivement
associés aux deux ensembles de clauses.2.2.
INDÉPENDANCE
PROBABILISTE ENTRE DEUX ENSEMBLES DE CLAUSESSelon
[23],
deux clauses C et C’ sont"logiquement indépendantes"
si et seulements’il
n’y
a pas une affectation des variablesqui puisse
les contredire simultanément.Désignons
parE(C)
etE(C’)
lescylindres ponctuels respectivement
associés à C et à C’. Cette notion d’"indépendance logique" correspond
alors exactement à la notion dedisjonction
entre les deux ensemblesE(C)
etE(C’) ;
cequi
est un casd’exclusion
probabiliste
entre les deux événementsreprésentés
par les deuxcylindres ponctuels [10] .
Parconséquent,
en termes deprobabilités,
c’est un cas dedépendance négative
totale.C’est la notion
d’indépendance
enprobabilité
que nous considérons et cherchons àexploiter. L’expérience
aléatoiresous-jacente
consiste en lechoix,
selon un modèleuniforme,
d’une affectation des variables.Ainsi, chaque
sommet du cubelogique
a la
probabilité 1/2 N d’apparaitre.
Les événements de basequi
nous in-téressent sont les
cylindres ponctuels.
Un événementgénéral
se trouve défini parune réunion finie de tels événements de base. Il en résulte une
algèbre
des événe-ments
puisque
l’intersection de deuxcylindres ponctuels
est uncylindre ponctuel [10]. Ainsi, l’indépendance
enprobabilité
entre deux ensembles de clauses C et~’
est définie par
l’indépendance
enprobabilité
entre les deux événements 8 et F-’ res-pectivement
associés.Précisément,
G(resp. f/)
est formé de la réunion descylindres ponctuels respectivement
associés aux clauses de 6(resp. C’).
Soient C et
C’
deux clauses et soientW(C)
etW(C’)
les deux ensembles de variablesrespectivement
instanciées dans C et dansC’,
on a dans ces conditions lapropriété
suivante :LEMME. Les deux clauses C et C’ sont
indépendantes
enprobabilité
si et seule-ment si les deux ensembles de variables
W(C)
etW (C’)
sontdisjoints.
DÉMONSTRATION. - Désignons
parDésignons
parE(C)
etE(C’)
les deuxcylindres ponctuels respectivement
asso-ciés aux clauses C et C’. On a:
et
est un
cylindre ponctuel
dont le volume(nombre
de sommetsqu’il contient)
est nul dès lorsqu’il
existe au moins une variableappartenant
àW(C)
età
W(C’),
instanciée defaçon opposée
entre C et C’. On a dans ce casDans le cas
contraire, E( C)
nE(C’)
est uncylindre ponctuel
dont le nombre de variables instanciées est r + r‘ - s etdonc,
dont le volume est2N-r-r’+s.
Dans cesconditions,
on a :Ainsi,
le seul cas où la relation suivanted’indépendance
se trouve vérifiée est celui où s = 0.
THÉORÈME
1. Deux ensembles de clauses C et C’ sontindépendants si quelles
que soient les clauses C et
C’, appartenant respectivement
à C et à e’(C
e C etC’ E
C’),
C et C’ sontindépendantes.
DÉMONSTRATION. -
Nous allons établir par récurrence cette condition suffisante del’indépendance
entre deux ensembles de clauses et e’.Désignons
par{Ei,...) Ec}
l’ensemble descylindres ponctuels
associés aux clauses de C et par~E~+1, ... ,
l’ensemble de ceux associés aux clauses de C’.
La récurrence va
porter
sur le nombre total1,
ensupposant
c > 1 et 1 > c.La
propriété
est vraie par définition pour 1 = 2.Supposons qu’elle
soit vraie pour 1 M et démontrons la pour 1 = M + 1.Soient dans ces conditions
{Ei,.... E~~
etf E,+,, ... , EM,
les deux en-sembles de
cylindres ponctuels respectivement
associés aux deux ensembles declauses C et C’. Soient
et
notons d’autre
part
E =Em+,.
Sachantque Ei
etEz~
sontindépendants
pours’agit
d’établir -compte
tenu del’hypothèse
derécurrence - que
Or le
premier
membre se met sous la formeCompte
tenu del’hypothèse
de récurrenceet
Maintenant B n E
peut
se mettre sous la formeConsidérons un
couple
d’indicesquelconque (i, i’)
tel queSi
~
nEM+i = 0, Ei
etEi,
nEM+l
sontindépendants puisque
Sinon,
lesindépendances
entreEi
et~
d’unepart
et entreEi
et d’autrepart,
conduisent àl’indépendance
entreEi
et lecylindre ponctuel ~
n~~+1 puisque, d’après
lelemme,
l’ensemble des variables instanciéesdans Ei
estdisjoint
de chacun des deux ensembles de variables instanciées dans
Ei,
et dansOn a donc
où B’ se met sous la forme :
de sorte que
l’hypothèse
de récurrences’applique
pour A etB’ ;
et on aD’autre
part,
vu queB’
se met sous la forme B n E etcompte
tenu des relations(16), (17)
et(22),
le second membre de(15)
sedéveloppe
comme suit:Il est
important
de noter que la condition définie par la théorème 1 est suffisante mais non nécessaire. Nous allons en effet considérer uncontre-exemple
oùEl, E2
et
E3
étant troiscylindres ponctuels,
on asans que l’on ait les
indépendances
mutuelles entreEl
etE3
d’unepart et, E2
etE3
d’autrepart.
Le
développement
dupremier
membre de(24)
donneLe
développement
du second membre de(24)
donneOn considère maintenant pour N = 8
On constate que ni
El
niE2
ne sontindépendants
deE3.
Alors que lepremier
membre de
(24)
donne à travers(25),
et que, le second membre de
(24)
donne à travers(26),
ce
qui
établit lecontre-exemple.
Maintenant,
relativement à un ensemble C declauses, désignons
parW(C)
l’en-semble des variables dont chacune se trouve instanciée au moins une fois dans l’une des clauses de C.
THÉORÈME
2. C et C’ étant deux ensembles declauses,
une condition nécessaire et suffisante pour que chacune des clauses de C soitindépendante
de chacune des clauses de C’ est que les ensembles de variablesW(C)
etW(C’)
soientdisjoints.
DÉMONSTRATION. - Désignons
parCi, C2,
...,Cc
les clauses de C et parC~+2, ... , Cp
les clauses de C’. On notera alorsWi
=W~(C,), 1
i P. On a dansces conditions :
La condition est trivialement suffisante. Nous allons montrer
qu’elle
est néces-saire,
c’est-à-dire que si pour tout(i, i’) appartenant
à{l,2,...,c}
x~c + 1, c +
2,
...,Pl, Ci
etCi,
sontindépendants,
alorsW(C)
etW (C’)
sontdisjoints.
D’après
le lemme1, l’indépendance
entreCi
etCi,
estéquivalente
à la relationPar
conséquent, l’indépendance
mutuelle entrechaque Ci
de C etchaque Ci,
dee’,
conduit à la relationOr, compte
tenu de(27),
lepremier
membre de(29) peut
se mettre sous la formeLe théorème fournit de
façon
limite lajustification
formelle de la nécessité d’une structure sériationnelle pour ladécomposition
en 2 de l’ensemble des clauses. D’autrepart
et defaçon liée,
iljustifie l’adoption
d’un critère de coupure mesurant l’inter-dépendance
entre deux ensembles de clauses àpartir
descomparaisons
deux à deux.2.3. SOLUTION
APPROCHÉE
PAR COUPURE ;CRITÈRES
DE COUPUREComme nous l’avons
déjà exprimé,
leprincipe général
de notre méthode est celuibien connu de « diviser pour résoudre ». Dans notre cas, c’est le critère
d’indépen-
dance en
probabilité qui
doitguider
la division.Soit C = i
P}
un ensemble de clauses.Imaginons que C puisse
sedécomposer
en deux sous-ensembles. et
tels que
,A~
et soient deux ensembles de clausesindépendants.
Onpeut
dési-gner par
les deux ensembles de
cylindres ponctuels respectivement
associés à,A.~
etOn notera enfin
et
Compte
tenu de la formulela relation
d’indépendance
entreA~
etBc
conduit àl’équation :
Soit maintenant la formule telle que
(5)
résultant de laconjonction
des clauses de e. NotonsNBS(F)
le nombre exact de solutions de l’instance F. SiIP(F~
est laprobabilité
d’insatisfiabilité deF,
on aou, de
façon réciproque,
En
remplaçant
dans(35),
on obtientAinsi, l’indépendance
enprobabilité
entre,A~
et13c permet
de réduire l’évaluation de à celle de d’unepart
et de d’autrepart.
Ces deux dernières évaluationspeuvent
d’ailleurs être effectuées enparallèle.
Cette réductiondu
problème
est d’autantplus
intéressante que les nombres de clauses de et de13c
sontproches. Ainsi,
si = il y a une division par 2 de la taille duproblème.
Pour les instances SAT
aléatoires,
notamment 3SAT(cf. §2.1),
il y a uneprobabi-
lité extrêmement faible de
pouvoir dégager
deux ensembles de clauses de cardinalitéscomparables
et strictementindépendants.
Larépartition
aléatoire des variables ins- tanciées dans les clauses est telle que ladécomposition
de l’ensemble C en deux sous-ensemblesdisjoints ,A~
et13e
obéissantconjointement
aux deux conditions :(i)
et13, indépendants,
(ii) ~4c
etB~
de mêmetaille,
ne
peut
se faire que defaçon approchée.
De telle sorte que le second membre de la formule(38)
fournit uneapproximation
deNBS(F), qu’il s’agit
de rendre laplus précise possible.
C’est au
paragraphe
suivant que nousindiquerons
leprincipe
del’algorithme
de résolution. Sa mise en oeuvre nécessite de
façon
fondamentale la définition d’un critèrestatistique
mesurant ledegré
dedépendance
entre deux ensemblesdisjoints
de clauses
,A~
et13,.
Reprenons
les ensemblesA~
etBc [cf. (33)] respectivement
associés àAc
etUne mesure du
degré
dedépendance
est définie parl’éloignement
à 1 de la densitéde
probabilité :
Le calcul des
probabilités
intervenant dansl’expression (39)
estexponentiel
parrapport
aux taillesrespectives
desarguments. Ainsi,
parexemple, représente
l’union de c x
(P - c) cylindres ponctuels.
Pour éviter lacomplexité
de cecalcul,
on tient
compte
du théorème 1 ci-dessus pour proposer la valeurapprochée
fourniepar
l’expression
suivante :On
peut
remarquer que vautégalement
1 en casd’indépendance
entreAc
etBc.
Un autre coefficient mesurant la
dépendance
entre les deux ensemblesj4c
etB~
résulte de la
généralisation
que nous avons effectuée[9]
du coefficient de Karl Pear-son
[18].
Ce coefficient d’associationpermet
de mesurer l’intensité du lien entredeux attributs booléens définis sur un ensemble O
d’objets.
Il a une nature ana-logue
à celle d’un coefficient de corrélation et estcompris
entre -1 et+1 ;
la valeur0
correspondant
àl’indépendance.
Nous allonsrappeler rapidement
une manièreconstructive
permettant
de l’obtenir[10].
Un attribut booléen a sur (~ est
représenté
par le sous-ensemble(9a
desobjets
où il est à vrai.
peut
être codé par sa fonction indicatrice~a
où estégal
à 1 ou
0,
selon que l’attribut a est à vrai sur x ou non. Relativement à unepaire
ta, b~
d’attributs booléens sur on introduit l’indice brut deproximité
Au
couple (9b),
on faitcorrespondre
uncouple
departies
aléatoiresindépendantes
telles que(resp.
est un élémentpris
uniformément au hasard dans l’ensemble5’-(n,,, O) (resp. (9))
desparties
de 0 de mêmes cardinalité na(resp. nb)
queOsa (resp. (9b). n(a* Ab*)
est alors une variablehypergéométrique
dontl’espérance mathématique
I1b*)]
et la varianceb*)] permettent
decentrer et de réduire
n(a A b)
pour obtenir comme coefficient :En
remplaçant
les cardinaux par lesproportions
relativement à la taille n deCl,
on obtient
l’expression
suivante:où à
(resp. b) représente
l’attributnégation de a,
-,a(resp. négation
deb, -~b) .
Le coefficient de Karl Pearson est défini par
Considérons à
présent
sur l’ensemble O desobjets,
deux ensemblesdisjoints
Aet
B,
formés chacun d’attributs booléens. On supposequ’il n’y
a aucun lienlogique particulier
entre deux attributsquelconques pris
dans A U B. Leproblème
est lagénéralisation
du coefficientR(a, b) (cf. (44))
à lacomparaison
entre A et B.Maintenant,
relativement à un ensemble A d’attributs booléens surCl,
mutuelle-ment sans lien
logique,
on introduit surCl,
la fonctiond’appartenance
où
c(A) représente
le cardinal de A.Ainsi,
est laproportion
d’attributs de Aqui
sont à vrai chez x. Endésignant
parÃ
l’ensemble des attributsrespectivement opposés
aux attributs de A :on a la relation
logique
fondamentale :Dans ces
conditions,
l’indice brut d’association entre les deux ensembles d’attri- buts A et B ci-dessusreprésentés,
se met sous la forme :(voir (41)).
L’analyse
d’une démarche étendant celle de lacomparaison
entre deux attributs booléens conduit à un indice brut aléatoiren(A~
AB*)
dontl’espérance
mathéma-tique
et la variance sontrespectivement
où
et
où des
expressions
telles que pa etindiquent
desproportions
de la forme etn(a A a’)/n.
L’extension du coefficient
R(a, b) (cf. (44))
devient dans ces conditions :où nous avons noté
p(A A B)
pourB)/n.
R(A, B)
va donner lieu à une nouvelle mesure dudegré d’indépendance
mutuelleentre deux ensembles
disjoints
de clauses,A~
et À cette fin et parrapport
auprécédent contexte,
on assimilera O au cubelogique ~0,1 ~~,
de sortequ’un cylindre ponctuel
sera lareprésentation
d’un attribut booléen.Ainsi,
il suffira deremplacer
dans
l’expression (51)
A et B parA~
etB~ (cf. (33))
pour obtenir une mesureR(A~, Be)
du lien entre les deux ensembles de clauses.j4c
etBe
seront d’autantplus indépendants
que la valeur absolue1 R(A,, 1
est voisine de zéro. On remarqueraque par
rapport
à lapremière
mesureadoptée (40),
le coefficient(51)
fait intervenir dans son dénominateur desproportions
telles que PalBa’ et PblBb’, pour(a, a’)
E A x Aet
(b, b’)
E B xB, qui
seront calculées conformément auxéquations (10)
et(11)
ci-dessus.
Le
degré
dedépendance (40)
et le coefficient d’association(51)
déterminent des critères cruciaux pourpartitionner
l’ensemble des clauses en deux classes de taillescomparables
et aussiindépendantes
quepossible.
Cettedécomposition
nécessitel’organisation
de l’ensemble des clauses selon une structurestatistique.
Cellequi
s’est avérée la
plus adaptée
est une sériation. Nous allons chercher auparagraphe
suivant à en
expliquer
la raison.3. DIVISER POUR
RÉSOUDRE;
COUPER UNESÉRIATION ASSOCIÉE À
SAT
3.1. STRUCTURE
RECHERCHÉE
DU TABLEAU D’INCIDENCEASSOCIÉ À
SAT Soit une instance SAT dont ondésigne
- commeprécédemment -
par ..., X j,..., l’ensemble des variables et par
{CI,..., Ci, ... , Cp}
l’ensemble des clauses.Le tableau d’incidence associé à une instance SAT est défini par:
..
-
0
si Xj etn’apparaissent
pas dans la ie clauseCi
pour
1 i P,
~
~
1 si xj ou -’x japparaît
dans la ie clauseCi
pour1 ~ ~ ~
N.Compte
tenu du théorème 2ci-dessus,
la structure idéalequ’il s’agit
de mettre enévidence par
permutation
deslignes
et des colonnes du tableau d’incidence est celle de bloc sériation(8, fi,15~,
mais avec exactement deux blocs. Deplus,
ilimporte
pour que cette mise en forme soitefficace,
que les deux blocs aientapproximativement
lemême nombre de
lignes (voir
condition(ii)
du§2.3).
Il est clair que cette forme pureest inaccessible dans les cas réels et surtout - comme nous l’avons fait remarquer
(cf.
§2.3) -
pour SAT aléatoire. Ils’agit
néanmoins de serapprocher
au mieux de cetteforme pour
pratiquer
avec leplus
deprécision possible,
la formuled’approximation
(35).
On aurait certes pu songer à des méthodes relevant de
l’optimisation
combina-toire, cependant
nospremières expériences
ont consisté àpratiquer
uncouple
declassification
hiérarchiques duales,
surrespectivement,
l’ensemble deslignes
et l’en-semble des colonnes du tableau d’incidence associé à une instance SAT aléatoire
(programme
CHAVL[12]).
On cherche alors à reconnaître àpartir
de lapremière
classification
hiérarchique
unepartition
en deux classes de tailles aussicomparables
que
possible.
On considèreégalement
unepartition
en deux classes de l’ensembledes
colonnes, guidée
par leur classificationhiérarchique.
Si la structure de bloc sé-riation en deux classes domine
statistiquement,
lapermutation
deslignes
et descolonnes du tableau d’incidence conformément à leurs classifications
hiérarchiques respectives,
aboutissant chacune en unepartition
en deuxclasses,
devrait la faireapparaître.
Enfait,
et c’est lié à la nature de la donnéequi
est une instance 3SATaléatoire,
la forme apparuecorrespondait
à une sériation continue.Par
conséquent,
uneapproche qui
s’avèredirecte, simple
et naturelle consiste d’abord àopérer
une sériationglobale
etensuite,
à chercher à lasegmenter
en deuxparties
de taillescomparables,
lesplus indépendantes possibles,
dans les termes desensembles de clauses
,A~
etqu’elles
définissent(cf. §2.3).
On aurait certes pu
envisager
unalgorithme
de classification souscontraintes,
où d’une
part,
le nombre de classes est deux et où d’autrepart,
les tailles des classes sontégales. Pratiquer
alors uncouple
de sériations surrespectivement
lesdeux classes et les
juxtaposer,
aurait très vraisemblablement conduit à un résultatéquivalent
à une sériationglobale.
D’autrepart,
de lasorte,
on ne contrôleplus
ledegré d’indépendance
des deux classes extraiteset,
il estplus judicieux
depouvoir ajuster
les tailles - restantcomparables -
des deuxclasses,
afin de diminuer aumieux leur
degré
dedépendance.
On
comprend
dans ces conditions lapertinence
et lasouplesse
de notreapproche qui
consiste à déterminer une sériationglobale,
schématisée par lafigure 1,
et à lacouper au mieux.
FIG. 1- Matrice d’existence: la
partie
en blanc ne contient que des 0Précisément,
considérons une instance SATaprès application
d’unalgorithme
de