HAL Id: inria-00000061
https://hal.inria.fr/inria-00000061
Submitted on 25 May 2005
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.
Cohérence d’arc existencielle : un pas de plus vers la cohérence d’arc complète
Matthias Zytnicki, Federico Heras, Simon de Givry, Javier Larrosa
To cite this version:
Matthias Zytnicki, Federico Heras, Simon de Givry, Javier Larrosa. Cohérence d’arc existencielle : un
pas de plus vers la cohérence d’arc complète. Premières Journées Francophones de Programmation
par Contraintes, CRIL - CNRS FRE 2499, Jun 2005, Lens, pp.139-148. �inria-00000061�
Cohérene d'ar existentielle : un pas de plus
vers la ohérene d'ar omplète
Matthias Zytniki
1
, Federio Heras
2
, Simon de Givry
1
, Javier Larrosa
2 1
INRA Toulouse BIA
2
UPC LSI
zytnikitoulouse.inra.fr
Résumé
Les réseaux de ontraintes pondérées orent un
adredereprésentationetderésolutionpermettantd'ex-
primerdesontraintesditesmolles utilespourmo-
déliser un très large hamp d'appliations. La plupart
des solveurs que l'on trouve atuellement implantent
un algorithme de séparation et évaluation en profon-
deur d'abord qui maintient une ohérene loale du-
rantlaphase d'explorationde l'arbre.Lesrésultatsem-
piriquestendentàprouverquemaintenirFDAC*semble
êtrelemeilleurhoixenpratique.Nousprésentonsdans
et artileuneforme d'ar ohéreneplus forte, appe-
lée ohérene d'ar existentielle et diretionnelle, ainsi
qu'unalgorithmepermettantde transformer un réseau
deontraintespondéréesenunréseauéquivalent,satis-
faisantette propriété.L'algorithmes'avèreeae sur
denombreuseslassesdeproblèmes.
Abstrat
TheweightedCSPframeworkisasoftonstraintfra-
meworkwithawiderangeofappliations.Mosturrent
state-of-the-artompletesolversan be desribed asa
basidepth-rstbranhandboundsearhthatmaintain
some formofaronsistenyduringthesearh.Empi-
rialresults indiatethatmaintainingFDAC*seemsto
bethebestinpratie.Inthispaperweintrodueanew
strongerformofaronsisteny,thatweallexistential
diretionalaronsisteny andweprovideanalgorithm
to enfore it.Theeienyofthe algorithm isempiri-
allydemonstratedinavarietyofdomains.
1 Introdution
Lesréseauxdeontraintespondérées(RCP)onsti-
tuent une extension bien onnue du formalisme des
réseaux de ontraintes (RC) et permettent de trai-
ter eaementungrandnombred'appliationspra-
étégénéraliséeauformalismedesRCP[2,9℄.Ilexiste
quatregénéralisationsonnuesseréduisantàlaohé-
rened'ardansleadredesRC:
AC* [7℄,qui transposela ohérened'ar auas
valué,
DAC*[8℄,quitransposelaohérened'ardire-
tionnelleauasvalué,
FDAC*[8℄,dénieommelaonjontiondesdeux
propriétéspréédentes,
FAC*,où haque valeurde haquevariable doit
posséderunsupportomplet.
Malheureusement, toutes les instanes de RCP ne
peuventêtre transformées en une instane possédant
lapropriétéFAC*,e qui rendlapropriété inutileen
pratique.FDAC*estlaplusfortepropriétéquipuisse
êtreétabliesurunRCP.Dans [8℄,unalgorithmeper-
mettantd'établirFDAC*aétéproposéaveuneom-
plexité de
O(end 3 )
(n
représentantle nombre de va- riablesde l'instane,e
le nombrede ontraintes etd
la taille du plus granddomaine). De plus, l'artile a
montréquemaintenirFDAC*durantl'explorationest
unmeilleurhoixquemaintenirAC*,plusfaible.
Dansnotreartile,nousprésentonsunenouvelleo-
héreneloaleappelée ohérened'ar existentielleet
diretionnelle (EDAC*). Nousmontrons que EDAC*
estplusforte queFDAC*,notammentparlefaitque
lapremièreexigel'existened'unevaleurpourlaquelle
touslessupports doiventêtre dessupports omplets.
Intuitivement,ladiéreneentrel'algorithmeproposé
et eux préédemment ités est que lesderniers s'at-
tahent à obtenir une ohérene loale par rapport
à haque ontrainte binaire onsidérée indépendam-
ment,alorsquelepremierprendenomptetoutesles
ontraintesquis'appliquentsurunevariabledansleur
Nous présentons aussi un algorithme qui établit
ettepropriétéentemps
O(ed 2 ×max{nd, ⊤})
,⊤
étantlabornesupérieuredel'instaneduRCP. Cetteom-
plexité,qui est une borne supérieure dont on ne sait
pasenoresielleest eetivementatteinte,utiliseles
struturesdedonnéesdeAC2001(f.[1℄),surlapropo-
sitionde[9℄.Toutefois,d'autresstruturesdedonnées
peuvent éventuellementdonner demeilleurs résultats
enpratique,mêmesilaomplexitéthéoriquenesemble
pasêtremodiée.
Un des intérêts majeurs de EDAC* est qu'il peut
être inlus dans un algorithme de séparation et éva-
luation(SE)quimaintientlapropriétéàhaquen÷ud
visité.Nousavonsévaluéexpérimentalementetteidée
sur des instanes de Max-SAT [3℄, Max-CSP [8℄ et
des problèmes du plaement d'entrepts. Les tests
montrentquemaintenirEDAC*esttoujoursaumoins
aussibonquemaintenirFDAC*.
2 Dénitions
Une struture de valuation est une struture algé-
briquepermettantdespéier lesoûts danslespro-
blèmesdesatisfationdeontraintesvaluées[11℄.Elle
estdénieparletuple
S = hE, ⊕, ≺i
,où:
E
est l'ensembledesoûts,
≺
est une relation qui ordonne totalementE
etdénitainsisonpluspetitélément(
⊥
)etsonplusgrandélément(
⊤
),
⊕
est une opération interne deE
utilisée pourombinerlesoûts.
D'après[9℄,lastruturedevaluation d'unRCPest
S = h[0..k], ⊕, <i
où:
E ⊂ N
etk
estunentiernaturelpositif,
⊕
est déni par:∀(a, b) ∈ E 2 , a ⊕ b = min{a + b, k}
,
<
estlarelationd'ordrehabituellesurlesentiers.Dans e as,
0 = ⊥
etk = ⊤
. Ilest deplus utile dedénirlasoustration
⊖
desoûts:a ⊖ b =
a − b
sia 6= k
k
sinonUnréseaudeontraintespondéréesestuntuple
P = hX , D, C, Si
où:
X = {x 1 , . . . , x n }
est l'ensembledesvariables;
D = {D 1 , . . . , D n }
est l'ensemble des domainesnis assoiés aux variables, haque domaine
D i
estl'ensembledesvaleursquepeutprendre
x i
;
C
estl'ensembledesontraintespondéréesunairesetbinaires,'est-à-direl'ensembledesfontionsde
oûtssur
S
.Uneontrainteunaire
C i
estunefontiondelaforme:D i → E
, une ontrainte binaireC ij
est de laforme :D i × D j → E
. On suppose qu'il existe pour haquevariable
x i
une ontrainte unaireC i
(éventuellement lafontionnullesurD i
)etuneontrainted'ariténulleC ∅
(éventuellementnulle).Lorsqu'uneontrainte
C
assigneàuntuplet
leoûtde
⊤
,elasigniequet
estinterditparC
.Sileoûtestdiérent,l'aetationestautorisée,aveunoût
C(t)
.Leoût d'uneaetation
t = (v 1 , . . . , v n )
deD i ×. . . × D n
,notéeV(t)
,est lasommedetouslesoûts:V(t) = M
Cij∈C i<j
C ij (v i , v j ) ⊕ M
C
i∈C
C i (v i ) ⊕ C ∅
Un tuple
t
estohérent siV(t) ≺ ⊤
. Leproblèmegé-néralquionsiste àtrouveruntuple ohérent de oût
minimal est NP-diile.Un RCP dont
⊤
vaut1
estunréseaudeontrainteslassiques.
b
a b
x
ix
ja
1 C
∅= 0
(a)leréseauoriginel
b
a b
x
ix
ja 1
C
∅= 0
(b)aprèsprojetion
Fig.1DeuxinstaneséquivalentesdeRCP(
⊤ = 2
).Exemple 1 Considérons le problème dérit
Fig. 1(a). Il a deux variables
x i
etx j
, hauneayant deux valeurs
a
etb
. Les oûts des ontraintesunaires sont donnés dans les erles (par défaut,
la valeur est de
0
). Les ontraintes binaires sontreprésentées par desarsreliant unepairede valeurs,
l'ar est étiqueté par le oût de ette paire (la valeur
par défaut étant
1
). S'il n'existe pas d'ar entre deuxvaleurs, le oût est nul pour la ontrainte. Dans les
deux exemples, le oût optimal est
0
, obtenu par letuple
(b, a)
.3 Quelques ohérenes loales de RCP
Deux instanes de RCP dénies sur le même en-
semble de variables sont dites équivalentes si elles
taniationomplète.Lesohérenesloalessontlarge-
mentutiliséespourtransformerdes problèmesendes
problèmes équivalents, plus simples. En général, les
ontraintessontdonnéesexpliitementpardestables
deoûts,ouimpliitementpardesexpressionsmathé-
matiquesoudesproéduresalgorithmiques.Parsoui
de larté, nous supposeronsl'expression expliite des
ontraintes.La plussimpledesohérenes loalesest
laohérenede n÷ud :
Dénition 1 [7℄ Lavariable
x i
est n÷ud-ohérente ssi:
∀v ∈ D i , C ∅ ⊕ C i (v) ≺ ⊤
,
∃v ∈ D i , C i (v) = ⊥
.UnRCP estn÷ud-ohérent ssi toutessesvariables le
sont.
UnRCPpeutfailementêtretransforméenunRCP
n÷ud-ohérent équivalent si l'on projette toutes les
ontraintes unaires sur le
C ∅
et en éliminant toutesles valeurs interdites. C'est e que font les fontions
ProjetteUnaireet ÉlagueVariable(Alg.1).
Les propriétés de ohérene d'ar sont basées sur
la notiondesupport et desupportomplet.Pourune
ontrainte binaire
C ij
,w ∈ D j
est un support dev ∈ D i
siC ij (v, w) = ⊥
. C'est un support ompletsi
C ij (v, w) ⊕ C j (w) = ⊥
Dénition 2 [7℄ Lavariable
x i
est ar-ohérente si pour touteontrainte binaireC ij
,toutevaleur de sondomaine
v ∈ D i
possèdeunsupportsurC ij
.UnRCPest ar-ohérent(AC*) sitoutessesvariables lesont.
Dénition 3 La variable
x i
est omplètement ar- ohérente si pour toute ontrainte binaireC ij
, toutevaleurdesondomaine
v ∈ D i
possèdeunsupportom-plet sur
C ij
. UnRCP est omplètement ar-ohérent (FAC*) sitoutesses variables lesont.Lessupportspour
v ∈ D i
parrapportàD j
peuventêtretrouvésparprojetiondesoûtsbinaires
C ij (v, ·)
sur
C i (v)
. C'est e qui est fait par laproédure Pro-jette(Alg.1).LaproédureCherheSupport(Alg.2)
trouveunsupportsur
D j
pourhaquevaleurdeD i
.Exemple 2 LeRCP dérit Fig. 2(a) n'est pas AC*
ar la valeur
a ∈ D i
n'a pas de support par rapportà la variable
x j
. La propriété est obtenue en exéu-tantCherheSupport(
i, j
)(equinousdonnel'instaneFig.2(b))puisProjetteUnaire(
i
)(instaneFig.2()).Pour obtenir un support omplet pour les valeurs
de
D i
parrapport àD j
(assuréparlafontion Cher-heSupportComplet de Alg. 2), il faut étendre les
oûts unaires de
C j (·)
surC ij (·, ·)
(proédure ÉtendC i (v)
.Dans le as des RC (où
⊤ = 1
), être un supportpour
v ∈ D i
est équivalent à être un support om-plet et les deux notions seréduisent àla même pro-
priété. C'est pourquoi AC* et FAC* se réduisent au
mêmeRC.Ce n'estpasleasdansleadre desRCP
etalorsque,dans[8℄,ilaétéprouvéqu'unRCPpou-
vait êtretransforméenune instaneAC* équivalente
en
O(ed 3 )
, il n'estpas toujourspossible d'en trouverunequi satisfasselapropriétéFAC*.
Exemple3 Le problème Fig. 1(a) est AC*, mais
pas FAC* ar la valeur
a ∈ D i
n'a pas desupport omplet. On peut alors appeler la fon-
tion CherheSupportComplet(
i, j
), e qui donne leproblème Fig. 1(b). Il n'est pas FAC* non plus
ar
b ∈ D j
n'a pas de support omplet. AppelerCherheSupportComplet(
i, j
)(f. Alg. 2)nous ramè-nerait à l'instane préédente. On peut failement
prouverquee problèmen'a pasd'équivalent FAC*.
C'estpourquoiFAC*n'estpasunebonnepropriété.
Pourtenterderésoudreleproblème,unepropriétéplus
faibleaétéproposée.Danslasuite,noussupposerons
quel'ensembledesvariables
X
esttotalementordonnépar
<
.Dénition4 [8℄ La variable
x i
est diretionnelle- ment ar-ohérente si toutes ses valeursv ∈ D i
ontunsupportompletpourhaqueontraintebinaire
C ij
telle que
j > i
. Elle est omplètement et diretion- nellement ar-ohérente (FDAC*) si elle est de plusar-ohérente.UnRCPestomplètementetdiretion-
nellementar-ohérente sihaquevariable l'est.
Exemple4 Leproblème Fig.2()estAC*mais pas
FDAC*arlavaleur
a ∈ D i
n'apasdesupportompletpar rapport àla variable
x j
.Lapropriété FDAC* estétablie par l'exéutionde CherheSupportComplet(
i, j
)(f.Alg. 2), quiproduit Fig.2(d).
Tout RCP peut être transformé en une instane
équivalentesatisfaisantFDAC*entemps
O(end 3 )
[8℄.Dans leasdes RC, FDAC* seramèneaussiàlao-
hérened'ar.Dansleasgénéral,FAC* estplusfort
queFDAC*,quiest plusfortqueAC*.Ilestalorsin-
téressant de savoir si on peut trouver une propriété
plus forte que FDAC*, tout en garantissant l'exis-
tene d'une instane possédant ette propriété pour
toutproblème.
4 La ohérene d'ar existentielle : une
propriété plus forte
ConsidéronsleproblèmeFDAC* Fig.2(d).Notons
quelavaleur
a ∈ D k
possèdeunsupportenx j
(equib a
b a
xi xk
a b xj 2 C∅= 0
2
1
(a) le problème
originel
b a
b a
xi xk
a b xj 2
1
C∅= 0
1
(b) après proje-
tionde
C
ijsurx
ien
a
b a
b a
xi xk
a b xj 2 C∅= 1
() l'instane
équivalenteAC*
b a
b a
xi xk
a b xj C∅= 1
1
1
(d) l'équivalente
FDAC* ave
i <
j < k
b a
b a
xi xk
a b xj C∅= 1
1 1
(e) après Find-
FullSupports(
k, i
)et FindFullSup-
ports(
k, j
)b a
b a
xi xk
a b xj C∅= 2
(f) l'équivalente
EDAC*
Fig.2Six instaneséquivalentes(ave
⊤ = 4
)Nous avonslamême situation pourlavaleur
b ∈ D k
et
x i
. Ainsi, le oût unairede es deux valeurs peutêtre augmenté en établissant les supports omplets
(Fig.2(e)).Commetouslesoûtsunairesdesvaleurs
de
x k
sontplus grandsque⊥
, laohérene de n÷udest perdueet laborneinférieurepeutêtreaugmentée
(Fig.2(f)).D'unemanièregénérale,lessupportsom-
pletspeuventêtreétablissanserreurpossibledansles
deuxdiretionssil'onaugmente
C ∅
.Nousmontreronsensuitequ'ilexisteuneohéreneloalenaturelleder-
rière ette observation. Nous l'appellerons ohérene
d'arexistentielle(EAC*).
Dénition5 Lavariable
x i
est existentiellementar- ohérente s'ilexiste aumoins une valeurv ∈ D i
telleque
C i (v) = ⊥
et si ette valeur possède un supportomplet pour toutes les ontraintes
C ij
. Un RCP estexistentiellementar-ohérentsitoutessesvariablesle
sont.
Toutes les ohérenes loales préédemment évo-
quées demandent àhaquevaleurde haquevariable
uneertainepropriété.PourEAC*,ondemandedans
haquevariablel'existened'unevaleurpossédanter-
tainespropriétés.Ilestimportantdenoterquesiune
variable
x i
n'est pas EAC*,alors pour toutesles va-leurs
v ∈ D i
telles queC i (v) = ⊥
, ilexistex j
telque∀w ∈ D j , C ij (v, w) ⊕C j (w) ≻ ⊥
.L'établissementd'unsupport ompletsur
x i
violeradonlapropriétéNC*et ilserapossibled'augmenter
C ∅
.D'autre part, il est possible d'intégrer EAC* à
FDAC* pour exploiter les avantages de haun. On
parlealorsdeohérened'arexistentielleetdiretion-
nelle.
Dénition6 UnRCPestEDAC*s'il estFDAC* et
EAC*.
Ainsi,EDAC*imposequehaquevaleuraitunsup-
portompletdansunediretion etunsupportsimple
dans l'autre (pour satisfaire FDAC*). De plus, une
valeuraumoinsdehaquevariabledoitavoirunsup-
portomplet danslesdeuxdiretions(poursatisfaire
EAC*).Cettedernièrevaleurest appelée valeurom-
plètement supportée.Notons que dans leas des RC,
EDAC*seréduitaussienohérened'ar.
EDAC*estparonstrutionplusfortequeFDAC*.
Elle est plus faible que FAC* ar pour haque va-
riable,seuleunedesesvaleursesttotalementsuppor-
tée.L'exemple3rappellequetrouverunsupportom-
Nous présentons ii un algorithme qui établit
EDAC*dansleasdesRCPbinaires.EDAC*(Alg.3)
transforme un problème arbitraire en une instane
équivalente vériant la ohérene loale EDAC*.
L'idée généraleenestlasuivante :
Ontentedetrouverpourhaquevariable
x i
sava-leuromplètementsupportéepourétablirEAC*;
s'il n'yen apas,onpropagelesoûtsdefaçonà
entrouverun.
On tente de trouverpourhaquevariable
x j
unsupport omplet par rapport à toute ontrainte
binaire qui s'applique sur elleet une variable
x i
telle que
i < j
pourétablirDAC*.On tente de trouverpourhaquevariable
x j
unsupport omplet par rapport à toute ontrainte
binairequis'applique surellepourétablirAC*.
On tente de trouverpour haquevariable toutes
sesvaleursdontleoûtunaireesttropélevé.
On peut aélérer l'algorithme en remarquant que
l'établissement de DAC* sur
x i
par rapport à uneontrainte
C ij
tellequei < j
rendinutilelareherhede support pour AC* ou de support existentielpour
EAC* dansettediretion.
De plus, établir une propriété peut en asser une
autre. Pour remédier à elà, on rentre les variables
dontunepropriétéestéventuellementvioléedansune
des trois les
Q
,R
etS
qui sont implantées ommedeslesdeprioritétellesquelapluspetitevaleur(ou
laplusgrande)peutêtreretiréeentempsonstant.La
signiationdeslesestlasuivante:
Si
x j
est dansQ
, alors une de ses valeurs aétésupprimée et dans e as lesplus grandsvoisins
de
x j
peuventavoirperduleursupportetdoiventêtrevériés(traitementdelapropriétéAC*pour
j > i
).Si
x j
est dansR
, alors le oût unaire d'une deses valeurs est passé de
⊥
àune valeur de oûtstritementsupérieureetdanse aslespluspe-
titsvoisinsde
x j
peuventavoirperduleursupportomplet et doiventêtre vériés(traitement dela
propriétéDAC*pour
j < i
).Si
x i
est dansP
, alors soit le oût unaire de lavaleuromplètementsupportéepour
x i
aétéaug-menté,soitleoûtunaired'unedesvaleursde
x j
(un pluspetitvoisinde
x i
)est passéde⊥
àunevaleurdeoût stritementsupérieureet,danse
as,
x i
peutavoirperdulesupportomplet desavaleuromplètementsupportéeetdoitêtrevérié
(traitementdelapropriétéEAC*pour
j < i
).Ilexistedeplusune autreleauxiliaire,
S
,qui sertàremplireaement
P
.et quatre boules intérieures. Les boules tant que
auxlignes5,8et10établissentrespetivementEAC*,
DAC*etAC*.Laligne11établitNC*.Àhaquefois
qu'unoûtestprojetépourl'établissementd'unepro-
priété, une autre propriété peut être violée. Les va-
riables dont une ohérene loale est à vérier sont
stokées dans les les. L'établissement de NC*, AC*
et DAC* est faitommedans [8℄. Nous nousonen-
treronsdonsur EAC*.
Cette propriété est prinipalement établie par
CherheSupportExistentiel(
i
), qui trouve un supportexistentielpour
x i
endonnantunsupportompletparrapport àhaquepluspetit voisin
x j
(l'établissement d'un support omplet sur les plus grands voisins sefaitaveDAC*).Lorsquel'onétablit lesupport exis-
tentiel de
x i
, lafontiondeoûtC j
diminueouresteonstante.Nousn'aurons donpasàvérierlaohé-
reneexistentiellede
x j
nilaohérened'ardiretion-nelle desplus petits voisin de
x j
. Deplus, omme laohéreneexistentielleestplusfortequeAC*,ilestin-
utiled'établirlaohérened'arentre
x i
etx j
.Cepen-dant, la ohérene d'ardiretionnelle de la variable
x i
doitêtrevériéearunevaleurdex i
peutavoirvusonoûtunaireaugmenter (ligne6). Demême,lao-
héreneexistentielledesplusgrandsvoisinsde
x i
doitaussiêtrerevue(ligne7).
ÉlagueVariable()établitlaohéreneden÷udaprès
qu'un oût unaire ou
C ∅
a été augmenté (ligne 11).Cette fontion peut être exéutée plus souvent pour
éviterertainsexamenssuperusdanslesboulestant
que sans que ela ne hange la omplexité dans le
pireas. Parsouidelartédenotreexposé,nousne
dérirons pasii leas oùle problème estinohérent
etoù
C ∅
atteint⊤
.Theorème 1 La omplexité de EDAC* est de
O(ed 2 max{nd, ⊤})
en tempsetO(ed)
en espae.Preuve1 En e qui onerne l'espae, on utilise la
struturedonnéepar[2 ℄pouravoir uneomplexité en
O(ed)
.Deplus, [8 ℄prouve lespointssuivants:
ProjetteUnaire, Projette, Étend et ÉlagueVariable
ontune omplexité en
O(d)
;CherheSupport et CherheSupportComplet ont
une omplexité en
O(d 2 )
.Etudions maintenant la omplexité de la boule tant
quedansEDAC*.Labouleàla ligne8établitDAC*.
Comme dérit dans l'artile préédemment ité, elle
est en
O(ed 2 )
ar haque variable est stokée dansR
au maximum une fois, e qui entraîne que haqueontrainte
C ij
estvériéeune seulefois(ligne9). Demême, la boule ligne 10 qui établit AC* dans la di-
retiondesplusgrandesvariablesestaussien