HAL Id: inria-00000063
https://hal.inria.fr/inria-00000063
Submitted on 26 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.
De FC à MAC : un algorithme paramétrable pour la résolution des CSP
Assef Chmeiss, Lakhdar Sais
To cite this version:
Assef Chmeiss, Lakhdar Sais. De FC à MAC : un algorithme paramétrable pour la résolution des CSP.
Premières Journées Francophones de Programmation par Contraintes, CRIL - CNRS FRE 2499, Jun 2005, Lens, pp.267-276. �inria-00000063�
De FC à MAC : un algorithme paramétrable
pour la résolution des CSP
Assef Chmeiss Lakhdar Saïs
CRIL CNRS Université d'Artois
rue Jean Souvraz -SP 18
62307Lens Cedex
{hmeiss, sais}ril.univ-artois.fr
Résumé
Beauoupd'algorithmesderésolutiondeProblèmes
deSatisfationdeContraintesontétéproposésesder-
nièresannées.Parmiesalgorithmesnouspouvonsmen-
tionner les deux les plus populaires et les plus étu-
diés : le Forward-Cheking (FC) et Maintaining Ar-
Consisteny(MAC).Dans epapier,nous étudionses
deuxalgorithmesetnousréévaluonsleursperformanes
sur des problèmesgénérés aléatoirement. Préisément,
nous montrons expérimentalementqueFC est meilleur
que MAC sur des CSP diiles dont le graphe de
ontraintes est très dense et la dureté desontraintes
estfaible.Enrevanhe,MACsemontreplusperformant
que FC sur desproblèmes diilesave un graphede
ontraintespeudenseetuneduretéélevée.Cesrésultats
montrentquelemaintiende l'Ar-onsistanependant
lareherhepeutêtreunepertedetemps.Ensuite,Nous
proposonsuneapprohegénériquequipermet,pendant
la reherhe,un maintienpartielet paramétrablede la
onsistaneloale.
Abstrat
Manybaktraksearhalgorithmshasbeendesigned
over the last yearsto solveonstraint satisfation pro-
blems.Amongthem,ForwardCheking(FC)andMain-
tainingArConsisteny(MAC)algorithmsarethemost
popularandstudied algorithms. Inthis paper,suhal-
gorithmsare revisitedandextensively ompared giving
risetointerestingharaterizationoftheireienywith
respet to random instanes. More preisely, we pro-
vide experimental evidenethat FC outperforms MAC
onhardCSPswithhighgraphdensityandlowonstraint
tightnesswhereasMACisbetteronhardCSPswithlow
densityandhighonstraintstightness.Thisresultsshow
thatonsomeCSPsmaintainingfullaronsistenydu-
ringsearhmightbetimeonsuming.Then,wepropose
anewgeneriapproahthatmaintainpartialandpara-
meterizableformofloalonsisteny.
1 Introdution
LesProblèmesdeSatisfationdeContraintes(CSP)
sontlargementutilisésdanslarésolutiondeproblèmes
ombinatoiresapparaissantdansdiversesappliations.
Ils onernent la reherhe de solutions dans un ré-
seaux de ontraintes 'est-à-dire aeter des valeurs
à des variables,tout en satisfaisant un ensemble de
ontraintes portant sur es diérentes variables. La
tehnique lassique utilisée pour résoudre un CSP
estlebaktraksystématique.Cetteproédure(bak-
trak)hoisit, defaçonrépétitive, une variable et es-
sayedeluiaeterl'unedesvaleursdanssondomaine.
Ensuite,soitellehoisitunenouvellevariablesoitelle
eetueunretourenarrièreenasd'éhe.Cetteteh-
niqueestàlabasedelaplupartdesalgorithmesderé-
solutiondes CSP.Néanmoins, pourrésoudreertains
problèmesombinatoiresdiiles,ilfaut améliorerla
performanedeetteproédureàl'aidedetehniques
plusintelligentes.Uneaméliorationimportanteàajou-
terest leltrage,qui onsisteàenleverdes domaines
futurs des valeurs inompatibles ave l'instaniation
ourante.Beauoupdetravauxontétudiédiérentsni-
veauxdeltragequipeutêtreappliquéàhaquen÷ud
del'arbredereherhe.Lesdeuxalgorithmeslesplus
onnusdanse adresontFC(Forward-Cheking)et
MAC(MaintainingAr-Consisteny).Laperformane
de es algorithmesa été disutée dans plusieurs tra-
vaux dans la littérature [1, 5, 16, 17℄. Il semble que
estravauxsoientd'aordqueMAConstitueunbon
hoixpourlarésolutiondesCSP[5,17,20℄.Paronsé-
quent,beauoupd'améliorationsdelaomplexitétem-
porelle et/ou spatialedes algorithmes de onsistane
d'arontétéproposées[3,4,7,15, 21℄.
sont tirées à partir de résultats expérimentaux. La
omplexité de es algorithmes reste dans le pire des
asdel'ordreded n
avedlatailledesdomaineset n
lenombredevariables.Lesexpérimentationssont,en
général,eetuées sur des instanes générées aléatoi-
rementetsurunnombrelimité deproblèmesréels.
Nous pensons que es deux algorithmes (FC et
MAC)sontomplémentaires etque leurperformane
dépend des problèmes testés. En d'autres termes,
la rentabilité du maintien de la onsistane d'ar
pendant lareherhe dépend des aratéristiquesdes
CSPtestés.
Dans e papier, nous présentons une réévaluation
omparative de FC et MAC sur des problèmes aléa-
toires ave des aratéristiques diérentes omme la
densité du graphe de ontraintes et la dureté des
ontraintes.Pluspréisément,nousfournissonsdesré-
sultats montrant que FC est meilleur que MAC sur
des CSP diiles dont le graphe de ontraintes est
trèsdenseetaveunefaibledureté.Ens'appuyantsur
esobservations,nousproposonsunnouvelalgorithme
générique de baktrak appelé MAC(dist
k
). Cet al-
gorithme maintient, pendant la reherhe, une forme
partielle de onsistane d'arpar rapport àun para-
mètrekappelédistane.Nousmontrons,surquelques
instanes, qu'il existe une distane i pour laquelle
MAC(dist
i
) amélioreà lafois FC(qui ltreunique-
mentle voisinagede lavariable) et MAC(qui main-
tientlaonsistaned'ar).
Ce artile organisé omme suit. Après un rappel de
quelques dénitions, nous rappelons les algorithmes
FC et MAC. Ensuite, nous présentons le nouvel al-
gorithme générique MAC(dist
k
) qui permet de pa-
ramétrer le niveau de onsistane d'ar à maintenir.
Nousmontrons,ensuite,uneomparaisonexpérimen-
tale entre FC et MAC sur des problèmes aléatoires
diiles.Nousprésentonségalementdesrésultatspré-
liminaires sur le omportement de MAC(dist
k ) ave
plusieursvaleursde k. Enn, nous donnons quelques
diretionspossiblessurdesfuturstravauxetnouster-
minonsparuneonlusionsure papier.
2 Préliminaires
UnCSP(ProblèmedeSatisfationdeContraintes)à
domainesnisestdéniparletripletP =(X;D;C):
X = fx
1
;x
2
;:::x
n
g est un ensemble de n va-
riables.
D=fd
1
;d
2
;:::d
n
gest unensemblededomaines
nis,une variable x
i
prend ses valeursdans son
domaine d
i . jd
i
j représente la taille du domaine
d.Siunevariablex possèdeuneseulvaleurdans
i
valeur.
C = f
1
;
2
;:::;
m
g est un ensemble de m
ontraintes. Chaque ontrainte
i
est une paire
(vars(
i );rel(
i
))telle que:
vars(
i
)Xestunsous-ensembledevariables.
jvars(
i
)jreprésentel'arité delaontrainte.
rel(
i )
Q
xk2vars(i) d
k
est larelationdénie
parlaontrainte
i
.Ellespéielesouplesde
valeursautorisésparlaontrainte.Nousappe-
lons testde onsistane letest d'appartenane
d'unoupledevaleursàlarelationrel(
i ).
Unesolutionestuneaetationdesvaleursauxva-
riablesquisatisfaittouteslesontraintes.Étantdonné
unCSP,lesquestionsqui seposentsontdesavoirs'il
existe une solution,d'en exhiber unesi telest leas,
ouenoredetrouvertouteslessolutions.Lapremière
questionpermet de dénirun problèmeNP-omplet.
Pourdesraisonsdesimpliiténousnouslimitons,dans
e papier, auxréseaux deontraintes binaires,où les
ontraintes n'impliquent que deux variables. Dans le
asdesCSPbinaires,uneontrainteentrelesvariables
x
i et x
j
est notée C
ij
. Nous pouvonsassoier àtout
CSP binaire P = (X;D;C) un graphe G
P
= (X;C)
appeléle graphede ontraintesdanslequellesn÷uds
sontlesvariablesduréseau,etunearêterelieunepaire
den÷uds siet seulementsiily aune ontraintessur
les variables orrespondantes. L'ensemble des n÷uds
qui partagent une arête ave x
i
(le voisinage de x
i )
est notée (x
i
). Ainsi, j (x
i
)j représente le degré de
x
i
.Unevariablex
i
dontledegréest égalà1seraap-
pelésingletondegré.Undomained
i
estar-onsistant
ssi, 8a 2 d
i
;8x
j
2 X tel que
ij
2 C, 9b 2 d
j t.q.
(a;b) 2 rel(
ij
). b est appelé support de a par rap-
portàlaontrainte
ij
.UnCSPest ar-onsistantssi
8d
i 2D;d
i
6=;et d
i
est ar-onsistant.
3 Tehniques de résolution des CSP
Pour résoudre unCSP, on peut employerun algo-
rithme de reherhe en profondeur de type baktra-
king (BT) [6, 13℄. A haque étape de l'arbre de re-
herhe,on essayed'aeter une variable, siette af-
fetationproduitunonitunretourenarrièreestef-
fetué.Dansl'objetifderéduirel'espaedereherhe,
beauoupd'améliorationsonernantl'algorithmeBT
ont été proposées. Ces améliorations onernent es-
sentiellement les questions suivantes : quel type de
onsistaneloaledoit-onappliquer?Quelleestlapro-
hainevariableàaeter?et quedoit-onfaireenas
deonit?
Les tehniques qui ont été proposés dans l'obje-
tif de prendre en ompte les questions préédentes
peuvent être lassier en deux atégories : les ap-
trospetives(Look-bak):
Les approhes prospetives : elles détetent à
l'avanedesfuturessituationsd'éhe.Ellesee-
tuentune sortede ltragedanslesdomainesdes
variablesnonenoreinstaniées.Ellessuppriment
donlesvaleursinompatiblesavel'instaniation
(solutionpartielle)ourante.Celtrageest,engé-
néral,réaliséàl'aidedetehniquesbaséessurdes
propriétés de onsistaneloale.Les algorithmes
lesplusonnusdanseadresontleForwardChe-
kinget MAC(MaintainingArConsisteny).
Les approhes rétrospetives : elles onsistent à
déterminer la ause de l'éhe et ensuite ee-
tuer unretour enarrière diretementverslava-
riable responsable de l'éhe et non pas vers la
variable préédente. Onpeut ainsi éviterdes re-
tours en arrières inutiles. Parmi es tehniques,
nous pouvonsiter l'algorithme de bakjumping
[11℄, onit-direted bakjumping [16℄ et dyna-
mibaktraking[12℄.
D'autresapprohesombinentlesdeuxpréédentes.
Parexemple, on peut intégreronit-direted bak-
jumpingaveforward-heking(FC-CBJ)[16℄.Ilsem-
bleraitqu'ilyaunerelationinverseentrelesapprohes
prospetives et les approhes rétrospetives, plus on
eetue du ltrage en avant moins on fait de retour
en arrière.Pour plus de détails voirle livre de Rina
Dehter[8℄.
Laomplexitéentempsdeesalgorithmesresteex-
ponentielle dans le pire des as. Par onséquent, la
omparaisondes performanes dees algorithmesest
basée essentiellement sur l'analyse de résultats expé-
rimentauxobtenussurdiérenteslassesdeCSP.Ces
résultats permettent d'observer le omportement de
es algorithmes. Il semble que MAC soit le meilleur
proédure de résolution de CSP et partiulièrement
sur des CSP diiles de grande taille. Par exemple,
Bessière et Regin[5℄ ont armé : MAC is not only
more eient than FC to solve large pratial pro-
blems, but itis also really moreeient thanFC on
hardandlargerandomproblems.
D'autresonlusionsonernantl'eaitéd'autres
algorithmes de résolution se trouvent dans la
littérature[1, 16℄. Nous pensonsque lesperformanes
des diérentes algorithmes de reherhe sontliées au
hoixfait:
dans la façon dont es algorithmes sont implé-
mentés:heuristiquesutiliséespourlehoixdeva-
riableset/oudevaleurs,ombinaisond'approhes
prospetivesetrétrospetives.
dans les aratéristiques des instanes testées :
taille,densitédugraphedeontraintes,duretédes
niques prospetivessont en général très eaessur
des instanes aléatoires diiles. D'un autre oté,
les approhes rétrospetivesse montrent plusperfor-
mantessurdesproblèmesréels[19,2,22,14,9℄.Notre
intuition est que es observations seraient valables
danslesadredesCSP.
Dansepapier,nousnousintéressonsauomporte-
mentdes approhes prospetiveset leur performane
sur des problèmes générés aléatoirement. Plus pré-
isément, nous onsidérons les deux algorithmes les
pluspopulaires:Forward-Cheking(quimaintientune
formepartielledeltrage)etMAC(quieetueunl-
trageparonsistaned'arsurl'ensembledesvariables
non aetées. L'objetif prinipal de e travail n'est
pasdedéterminerlequeldesdeuxalgorithmesdomine
l'autre.Nousherhonsàaratériserlesinstanessur
lesquellesl'unestmeilleurquel'autre.Notreintuition
estqueleniveaudeltrage(partieloutotal)àappli-
querdépend des problèmestestés, plus laduretédes
ontraintesestélevée,plusleltrageenavantestutile.
4 FC versus MAC
Dansettesetion,nousomparonslaperformane
deFCetMACsurdesproblèmesaléatoires.Nousdé-
rivonslesprinipauxpointsonernantl'implémenta-
tiondees deuxalgorithmes.Dans lesdeuxas,nous
employonslesmêmesheuristiquesetlamêmeétapede
pré-traitement:
heuristiques :la prohaine variableàaeter est
hoisieselonl'heuristiquelapluseaedom/deg
[5℄. Cetteheuristiquehoisitlavariablequimini-
mise le rapport entre la taille de domaine et le
degrédelavariable.
pré-traitement:une étapede ltrageest réalisée
par onsistane d'ar avant la résolution. Nous
utilisonsl'algorithmeAC8[7℄poureetuerette
étape.
TandisqueFCréaliseune formelimitéedeltrage
pendant la reherhe (propagation par rapport aux
voisinsfutursdelavariableourante),MACmaintient
àhaqueétapedelareherheunCSPar-onsistant.
Ainsi,MACpeutgrâeaumaintiendelaonsistane
d'ardéonneterlesvariablessingletonvaleuretsin-
gletondegré[18℄.
LesexpérimentationsontétéeetuéessurdesCSP
générésaléatoirementselonlemodèleB[10℄.Cegéné-
rateuradmetquatreparamètres:
lenombredevariablesN
latailleinitialedesdomainesD
la proportion p1 des ontraintes dans le réseau
(ou le nombre de ontraintes C donné par C =
par les ontraintes (ou T le nombre de ouples
interditsT =p2DD)
Danslasuite,nousutilisonsC etT aulieudep1et
p2.Cestappeléladensité dugraphedeontrainteset
T ladureté desontraintes.Les lassestestéesseront
dondésignéesparlequadruplet<N;D;T;C>
Avantdeprésenterune omparaisonexpérimentale
entre FCet MAC, nous rappelonsquelques résultats
extraitsdel'artiledeBessièreet Regin[5℄.Dansleur
artile, ils omparent la performane de FC-CBJ et
MAC sur des CSP aléatoires.Les résultats montrent
que MAC est plus performant que FC-CBJ qui est
généralement meilleur que FC. On peut, don, dire
queMACestpluseaequeFC.Lerapportd'ea-
itédonné(siononsidèreletempsd'exéution)varie
entre2.16et476(MACpeutêtre476plusrapideque
FC-CBJ).Latable1,rappelleleslassestestées dans
l'artilementionné[5℄
<N;D;T;C>
<35;6;4;501>
<35;9;27;178>
<50;6;8;325>
<50;20;300;95>
<100;12;110;120>
<125;3;1;929>
<350;3;1;2292>
<250;3;3;391>
<350;3;3;524>
Tab.1Classesextraitesde[5℄
A l'exeption des trois premières lasses (elles ne
sontpasvraimentdiiles), lesautreslassesorres-
pondentàdesproblèmesdontlegraphedeontraintes
est peu dense. En plus, les problèmes issus des deux
dernièreslassessontar-inonsistantsequipeutêtre
prouvé par une étape de pré-traitement par onsis-
taned'ar.
Nous avons eetué des expérimentations sur des
CSP aléatoires an de omparer FC et MAC. Nous
avons hoisi des lasses pour lesquelles MAC est
meilleur que FC et d'autres pour lesquelles FC est
plusperformant.Lesrésultatssontreportésdansdeux
tables, la première montrentles problèmes où FC se
montrepluseaetandisqueMAC estmeilleur sur
leslassesdeladeuxièmetable.
Lesritèresquenousonsidéronsdanslaomparai-
sonsont:lenombredetestsdeonsistane(#heks),
lenombreden÷udsvisités(#nodes)etletempsd'exé-
utionexpriméenseondes 1
.
1
LesexpérimentationsontétéréaliséessurunPCPentium4
sieurs lasses en modiant le nombre de variables N
et lataille desdomainesD.Dans l'objetifde traiter
des problèmes prohes de la phase de transition,
nous avons herhé pour haque ouple (N;D) la
valeurappropriée pourladureté(T)et lenombrede
ontraintes(C).
La table 2, présente les résultats sur une variété
de lasses. Pour haquelasse, nous avons généré20
ou 10 CSP (la deuxième olonne préise le nombre
de problèmes testés) et les résultats reportés or-
respondent à la moyenne des résultats sur les CSP
testés. La première olonne présente la lasse testée
(< N;D;T;C >). La deuxième indique le nombre
de problèmes onsistants et le nombre de problèmes
inonsistants (une ligne par atégorie). La troisième
et la quatrième olonnes donnent le nombre de tests
de onsistane eetués par FC et MAC respetive-
ment.La inquièmeet lasixièmeolonnesprésentent
le nombre de n÷uds visités par FC et MAC. Enn,
lesdeuxdernièresolonnesfournissentletempsd'exé-
utiondehaquealgorithme.Noussignalonsquenous
avonshoisideprésenterlesrésultatssurlesproblèmes
onsistants et sur eux inonsistants séparément. Ce
hoix permet d'avoir une idée sur le omportement
desalgorithmessuresdeuxatégories.
La table 2, montre que FC est meilleur que MAC
sur toutes les lasses si on onsidère le nombre de
tests de onsistane et le temps d'exéution omme
mesures d'eaité. Nous pouvons remarquer que le
graphe des ontraintes des lasses testées est dense
(pourertaineslasses, quand N = 20, legraphe est
omplet),equifaitlapartiularitédeeslasses.En
général, plus legraphe est dense, plus FC semontre
performant. FC peut être 2 à 5 fois plus rapide que
MAC selon la densité du graphe. Par exemple, le
rapportd'eaitésurleslasses<30;20;177;150>
et < 60;10;20;600 > (densité de graphe est de
33%) est d'environ 2. Ce rapport peut arriver à 5
sur les lasses dont le graphe est omplet (la lasse
<20;20;108;190>).Ces résultats montrent queFC
est plus performant que MAC sur des CSP dont le
graphedeontrainteestdense.
Danslatable 3,nousprésentonsquelquesrésultats
montrant que MAC est plus eae que FC sur des
CSP ave ungraphe de ontraintes peu dense. Nous
avons testé la lasse < 90;20;272;222 > dont la
densité de son graphe est d'environ 5.5%. La table
donne la moyenne des résultats sur 20 problèmes
aléatoires. Nous remarquons que, sur ette lasse,
MACestmeilleur queFC,lerapport deperformane