• Aucun résultat trouvé

De FC à MAC : un algorithme paramétrable pour la résolution des CSP

N/A
N/A
Protected

Academic year: 2021

Partager "De FC à MAC : un algorithme paramétrable pour la résolution des CSP"

Copied!
10
0
0

Texte intégral

(1)

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�

(2)

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℄.

(3)

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, 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-

(4)

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 =

(5)

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 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

Références

Documents relatifs

If you want to access your Mac Disk using a special Macintosh system diskette (for example J one with C/. new release of the Finder),You must copy the Davong Irf§tall

You can discern some file properties, such as name, extension, size (depending on how the window is customized), type, and default opening application, just by looking at the file

machines-outils augmente très nettement dans les tableaux de Machines Production.C'est peut-être parce que les fournisseurs ont tous pris le temps de. répondre à

Yeu ean read an account of living with AIDS since 1984, as weil as an analysis of the situation in South Africa, where things are looking up slightly, despite a hast of

Une façon populaire de construire un algorithme de MAC est d’utiliser un chiffrement de bloc en conjonction avec le mode de fonctionnement en chaînage de bloc de

De ce fait, l’onde électrique produite est de basse fréquence (&lt; 300 kHz). L’onde électromagnétique produite par un tel signal électrique n’est de loin pas idéale pour

[r]

The chosen value for the link register must be 12 bytes greater than the value of the stack pointer, so that the target program will return to and execute the bytes from the attack