HAL Id: inria-00000087
https://hal.inria.fr/inria-00000087
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.
Une Stratégie de Résolution Orientée par la Topologie des CSPs Numériques
Heikel Batnini, Michel Rueher, Claude Michel
To cite this version:
Heikel Batnini, Michel Rueher, Claude Michel. Une Stratégie de Résolution Orientée par la Topologie
des CSPs Numériques. Premières Journées Francophones de Programmation par Contraintes, CRIL
- CNRS FRE 2499, Jun 2005, Lens, pp.211-218. �inria-00000087�
Une Stratégie de Résolution Orientée par
la Topologie des CSPs Numériques
Heikel Batnini Mihel Rueher Claude Mihel
Université de Nie Sophia-Antipolis
Projet COPRINI3S-CNRS/INRIA/CERMICS
INRIA, 2004 Route des Luioles
BP 93,06902 Sophia-Antipolis
hbatninisophia.inria.fr rueheressi.fr pjmessi.fr
Abstrat
Les méthodes lassiques de résolution de
CSPsnumériquessontbaséessurunalgorithme
ombinantunetehniquedebissetionetunl-
trage paronsistane loale. En général,le l-
trageestbasésurlaHull-onsistaneoulaBox-
onsistane. Les algorithmesde ltrage orres-
pondants identientsouventdestrous dansles
domaines,'est-à-diredesintervallessurlesquels
ertainesontraintesnesontpassatisfaites.Ces
trous sont ependant utilisés uniquementpour
déterminerlepluspetitintervalle englobantles
solutions.
Ce papier présente une stratégie de re-
herhe, nommée TopSearh (Topologial
Searh),quiexploitelestrous identiéspares
ltrages. TopSearh utilise es informations
pourséletionnerladiretiondeoupeainsique
pourdénirlepointde oupedans ledomaine
séletionné. Si auun trou n'est identié une
bissetion standard est mise en oeuvre. Les
premiers résultatsexpérimentauxmontrent que
ette heuristique de reherhe dont lesur-oût
est minime, peut améliorer de manière très
signiative les performanes de la bissetion
lassique.
1 Introdution
Cet artile présente une nouvelle straté-
gie de reherhe pour la résolution de CSPs
(ConstraintSatisfation Problem)numériques.
Ce problème apparaît dans de nombreux do-
mainesd'appliationommeenrobotique,hi-
mie ou enore en géométrie. L'objetif est de
trouveruneapproximationnedessolutionsde
systèmesdeontraintesnon-linéaires.
Les méthodes lassiques pour résoudre les
CSPsnumériquessontbaséessurunalgorithme
ombinantunetehniquedebissetionetunl-
trageparonsistaneloale.
La bissetion onsisteà hoisirun intervalle
enutilisantdiversesstratégiesdeséletion.Cet
intervalleestalorsoupéenplusieurspartie,en
généralen son milieu, puis les sous-problèmes
orrespondants sont résolus de manière indé-
pendante.
Parmilesstratégiesdeséletiondedomaine,
laméthodeonsidéréeommeétantlaplusef-
aeen moyenne est le Round Robin (RR),
qui traite les domaines des variables les uns
aprèslesautresdemanièreirulaire.D'autres
stratégiesdeséletionutilisentdesinformations
syntaxiques ou sémantiques. La stratégie Lar-
gest First (LF), aussi appelée geometri split-
ting [17℄, onsiste à hoisir la variable dont le
domaineest le plus grand.La stratégie Maxi-
mal Smear (MS) [6, 13℄ séletionne le domaine
quimaximise lasmear funtion 1
.De manière
informelle,MSidentie lavariabledont lapro-
jetionalaplusgrandepente.
1
Lasmearfuntion de
x
kest:s
k= max
1≤j≤m
{max {|J
i,j|,|J
i,j|}w(
xi)},
où Ji,j
= [J
i,j, J
i,j]
estla(i, j)
-èmeentréedel'exten-sionauxintervallesdelamatrieJaobiennedusystème
sont basées sur la Hull-onsistane [15, 2℄ ou
la Box-onsistane [3, 19℄. Les algorithmes de
ltrage orrespondants identient souvent des
trous dans lesdomaines,'est-à-diredes inter-
vallessur lesquelsertainesontraintesnesont
passatisfaites. Ces trous sontependantutili-
sés uniquement pour déterminer le plus petit
intervalleenglobantlessolutions.
Cepapierprésenteunestratégiedereherhe,
nommée TopSearh (Topologial Searh), qui
exploite les trous identiés par es ltrages.
TopSearh utilise es informations pour séle-
tionnerladiretiondeoupeainsiquepourdé-
nir le point de oupe dans le domaine séle-
tionné.Siauuntroun'estidentiéune bisse-
tionstandardestmiseenoeuvre.
Plus préisément, les trous dans les do-
maines sont identiés par l'algorithme HC4
qui permet d'implanter eaement à la fois
la Hull-onsistane et la Box-onsistane [2℄.
TopSearh réupère es informations ave un
sur-oût négligeablepuislesexploite durantla
phase de reherhe. Plusieurs heuristiques ex-
ploitantesinformationspeuventêtreutilisées,
parexempledesheuristiquesbaséessurlataille
destrousidentiés.
Un retour-arrière hronologique est la plu-
partdutempsutilisépourtraiterlessous-CSPs
générés par la bissetion. D'autres stratégies
plussophistiquéespeuventependantêtreutili-
sées,parexempleunestratégiederetour-arrière
dynamiquetellequeellequiaétéprésentéepar
[11℄. TopSearh est une stratégie dereherhe
pouvant être ombinée ave n'importe quelle
stratégiederetour-arrière.
D'autrepart,desonsistane plusfortesba-
séessurl'utilisationdestrousidentiésontété
proposéespar[8,4℄.L'originalitédeTopSearh
provientdufaitquelestroussontexploitésuni-
quementpourlareherhedesolutions.
Ce papier est organisé de la manière sui-
vante:lasetion2rappellelesnotionsdebase
sur l'arithmétique d'intervalles.Le shéma gé-
néral de TopSearh est dérit dans la setion
3. La setion 4 présente la tehnique utilisée
pourolleterlestrousdans lesdomaines.En-
n,lasetion5présente quelquesrésultatsex-
périmentaux sur des problèmesissus de la lit-
Cette setion présente quelques rappels sur
les CSPs numériques, ainsi que les notations
utilisées dans le reste du papier. Le leteur
pourrasereporterà[16,6,12,9℄pourplusde
détails.
2.1 Notations
L'intervalle x
= [x, x]
dénotel'ensemble desréels
x
tels quex ≤ x ≤ x
. Les variablessont notées
x, y
, les veteurs de variables parX, Y
et les veteurs d'intervalles - ou boîtes- par X
,
Y. Le milieum(
x)
de l'intervalle x est(x + x)/2
et sa taille est le nombre posi-tif
x − x
. Une union d'intervalles sera notée Ux
= S
x(j),oùxestlepluspetitintervalleen-
globanttouslessous-intervallesx
(j).Préisons
que es x
(j) sont disjoints et triés par borne
inférieure roissante,'est-à-dire
x
(j)< x
(j+1).Nousonsidérons dans e papier lesCSPs nu-
mériquesdénisparunensembledeontraintes
C
= { c
1, . . . , c
m}
, mettantenjeuleveteurdevariables
X = (x
1, . . . , x
n)
dontlesvaleurssontrestreintesàlaboîteX
= (
x1, . . . ,
xn)
.2.2 Arithmétique des intervalles
Soit
f
, une fontion à valeurs réelle et àn
inonnues
X = (x
1, . . . , x
n)
. L'évaluation par intervalles def
pour une boîte donnée X= (
x1, . . . ,
xn)
est unintervalleytelque:y ≤ f (x
1, . . . , x
n) ≤ y, ∀ x
i∈
xi, 1 ≤ i ≤ n
End'autrestermes,yestunintervalleonte-
nantlesvaleursde
f
lorsquelesvaleursdesin-onnuessontrestreintes àlaboîteX.
Lamanièrelaplussimplede aluleretin-
tervalle est de substituer tous les opérateurs
mathématiques, les onstantes et les variables
parleurextensionauxintervalles.Unearithmé-
tiquedesintervallesétenduepermetdealuler
uneuniond'intervallesontenantlesvaleursde
f
enappliquantlemêmeprinipe.Parexemple,soit
f (x) = √ x
pourx ∈
x= [4, 9]
. L'évalua-tionde
f
parrapportàxestl'intervalle[ − 3, 3]
,alorsquel'uniond'intervalles ontenanttoutes
lesvaleursde
f
est[ − 3, − 2] ∪ [2, 3]
.2.3 Consistanesloales
La plupart des solveurs de ontraintes sont
basés surlaHull-onsistane[15,2℄oulaBox-
manièreinformelle,soit
c
j uneontrainten
-airedéniepar
f
j(x
1, . . . , x
n) = 0
.c
jestonsistantesi pour haune desesvariables
x
i, lesbornesx
ietx
ipossèdentunsupportdanslesdomainesdesautresvariables.
Leltragedesdomainesonsisteàappliquer
itérativement un opérateur de rédution asso-
iéàhaqueouple
(c
j, x
k)
.Cesopérateursré-duisent les bornes des domaines de
x
k en al-ulant une approximation par intervalle de la
fontion de projetion
π
kj, qui exprime la va-riable
x
kenfontiondesdesautresvariablesdec
j. Notons que l'évaluation exate deπ
jk n'esten général pas un simple intervalle, mais sou-
vent une uniond'intervalles omme le montre
lagure1.
00000 00000 11111 11111
000000000000 000000000000 111111111111 111111111111 1
16
−2 −1 1 4
y
c:y=x2
x
X
x
(1)
x
(2)
Fig. 1 Considérons laontrainte
c : y = x
2ave
x ∈ [ − 2, 4]
ety ∈ [1, 16]
. Les fontionsde projetion assoiées sont
π
x(y) = √ y
etπ
y(x) = x
2. L'approximation deπ
x(y)
al-ulée par la Hull-onsistane ou par la Box-
onsistanesurlesintervallesxetyest
[ − 2, 4]
,alors que l'évaluation exate de
π
x(y)
est[ − 2, − 1] ∪ [1, 4]
.L'unedes implantations lespluseaesde
laHull-onsistane(Realpaver[5℄)estbaséesur
laproédureHC4revisequiimplémentelesopé-
rateurs de rédution. Cette proédure alule
une rédution des domaines en parourant la
représentationarboresentedelaontraintedes
feuilles à la raine (propagation asendante)
et inversement (propagation desendante). La
gure 2 illustre l'exéution de HC4revise sur
la ontrainte
c : y = x
2 avex ∈ [ − 2, 4]
et
y ∈ [1, 16]
. La propagation asendante (- gure 2(a)) évalue par intervalle haque noeudde l'arbreen partantdes feuilles et enremon-
enutilisantlesfontionsdeprojetionsassoiés
auxopérateurs.Parexemple,laprojetionde
c
sur
x
estx ← √ y
;ledomainedey
étant[1, 16]
,le domaine de
x
est réduit à[ − 2, − 1] ∪ [1, 4]
.HC4reviseidentieuntroudansledomainede
x
: l'intervalle ouvert] − 1, 1[
, qui n'a pas desupport pour
c
lorsquey
est dans l'intervalle[1, 16]
.y ^
=
2 x
[1,16]
[−2,4]
[0,16]
2 [1,16]
(a)Propagationasendante
^
2 x
=
y [0,16]
2
[1,16] [1,16]
[−2,−1]∪[1,4]
[1,16]
[−2,4]
(b)Propagationdesendante
Fig.2L'opérateurderédutionHC4revise.
LesonsistanesloalesbaséessurHC4revise
identientdondestrousdanslesdomainesdes
variables,'est-à-diredesintervallessurlesquels
plusieursontraintesnesontpassatisfaites.Ces
trouspermettentdealulerunerédutionplus
forte des domaines mais ne sont plus utilisés
après l'étapedeltrage.
La setion suivante montre omment es
trouspeuventêtreexploitéspourorienterlare-
herhedesolutions.
3 Reherhe orientée par les trous
Ce papier présente une nouvelle stratégie
de reherhe, nommée TopSearh (Topologi-
al Searh), dérivée de la bissetion standard.
Contrairementauxstratégieslassiquesdebis-
setion,TopSearhexploiteladistribution des
solutionsàl'intérieurdesdomaines.TopSearh
s'appuiesurlestrousidentiéspendantl'étape
joints qui ne ontiennent auune solution du
CSP.
Funtion TopSearh(in:X
0
,
Cout:S
)%%X0
= (
x1, . . . ,
xn)
1:
Q ←
X02:
S ← ∅
3: while
Q 6 = ∅
do4: ExtratX from
Q
5: X
←
Prune(
X,
C)
6: if X
6 = ∅
then7: if
w(
X) ≤ ω
sol then8: %%
S
isasolution9:
S ← S ∪
X10: else
11: U
X
←
ComputeGaps(
X,
C)
12: if somegap existsthen
13: SeletU
xk fromUX
14: Seletg
k(p) fromUxk
15:
x
1k← x
k(p)16:
x
2k← x
k(p+1)17: else
%%Standardbisetion
18: Seletxk fromX
19:
x
1k← m(
xk)
20:
x
2k← m(
xk)
21: endif
22:
Q ← Q ∪ (
x1, . . . , [x
k, x
1k], . . . ,
xn)
23:
Q ← Q ∪ (
x1, . . . , [x
2k, x
k], . . . ,
xn)
24: endif
25: endif
26: endwhile
27: return
S
Fig. 3 Shéma général de l'algorithme
TopSearh.
Ces trous apportent une information signi-
ative à la fois pour hoisir la diretion de
oupe et le point de oupe dans le domaine
hoisi. TopSearh déoupe en priorité les do-
maines pour lesquels des trous ont été identi-
és.Ladéoupeproprementditeonsisteàéli-
miner un troudu domaine séletionné, réant
ainsideuxsous-problèmesdisjoints.
Le shéma général de e nouvel algorithme
est donné par la gure 3. Le domaine ou-
rant est tout d'abord réduit par la proédure
Prune (ligne 5), qui est un algorithme stan-
darddeltragebasé surlaBox-onsistaneou
la Hull-onsistane. Si la boîte ourante X
= (
x1, . . . ,
xn)
n'est pas une solution du CSP,xi(ligne11).
U
X
dénote le veteur d'union d'intervalles
(
Ux1, . . . ,
Uxn)
retourné par la proédureComputeGaps(voirsetion4).Pourhaqueva-
riable
x
i, ette proédure alule une uniond'intervalles
U
xi
= [
xi(j)
,
où xi(j)
= [x
i(j), x
i(j)]
dénote lej
-ème sous-domainedelavariable
x
i.Le
p
-èmetroude Uxi est l'intervalleouvert entrelep
-èmeet lep + 1
-èmesous-domaine:gi(p)
=]x
i(p), x
i(p+1)[
TopSearhséletionneundomaineontenant
aumoinsuntrou(ligne13).Puis,lespointsde
oupe sont déterminés de manière à éliminer
untroug
k(p) (lignes 15 et 16). Plusieurs heu-
ristiquespourséletionnerladiretiondeoupe
(ligne13)ainsiqueletrouàéliminer(ligne14)
ontétéétudiées(voirsetion5).
Si auun troun'aété identié,unbissetion
lassiqueest mise enoeuvre (lignes 18-20). La
stratégiedehoixdeladiretiondeoupeuti-
lisée est une des heuristiques dérites dans la
setion1(RR,LF,ouMS).
La setion suivante présente la proédure
ComputeGapsquiolletelestrousaluléspen-
dantlaphasedeltrage.
4 Calul des trous
Cette setion présente un algorithme pour
aluler les trous dans les domaines des va-
riables. TopSearh ollete et intersete les
unions d'intervalles qui ont été alulées dans
haquedomaineparHC4revisedurantlaphase
deltrage.Lesur-oûtengendréestdonlimité
àdesopérationsd'intersetionsentreesunions
d'intervalles.
En d'autre termes, pour haque ouple
(x
i, c
j)
, HC4revise alule une union d'inter-valles qui approxime la fontion de proje-
tion
π
i(j).Pourhaquevariablex
i,l'algorithme ComputeGapsalulel'intersetiondetouteslesapproximationsdes fontionsdeprojetionas-
soiéesauxontraintesmettantenjeu
x
i (voirgure4).
Plus préisément,soient
c
j une ontrainteetx
i une variable dec
j et soit U(j)xi l'approxi-
mation exate de
π
ji qui a été alulée pen-dant laphase de ltrage.L'union d'intervalles
alulées pour la variable
x
i par l'algorithme ComputeGaps (voir gure 5) est l'intersetiondes U
(j)
xi, pour toutes les ontraintes
c
j danslesquelles
x
i apparaît.000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000 000000
111111 111111 111111 111111 111111 111111 111111 111111 111111 111111 111111 111111 111111 111111 111111 111111
0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000 0000000
1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111 1111111
c
2c
1x
1x
2x2
x1
g1(1) x1(2) g1(2)
x
11(2)
x
11(1)
x
21(2)
x
21(1)
U
1
x1
U
2
x1
Ux1
x1(3)
x1(1)
X1 X2
Fig. 4 L'approximation des projetions de
c
1 etc
2 surla variablex
1 sont respetivement U1
x1
=
x11(1)∪
x11(2) et U2x1
=
x21(1)∪
x21(2).L'uniond'intervalles générée parComputeGaps
pourlavariable
x
1 est l'intersetionde U1
x1 et
U
2
x1 : Ux1
=
x1(1)∪
x1(2)∪
x1(3). Les deuxtrousidentiés,g
1(1)etg1(1),permettentd'éli-
minerlesboîtesinonsistantesX
1 etX2,dans
lesquellesunedesdeuxontraintesn'estpasvé-
riée.
En terme d'implantation, lealul des U
(j)
xi
aété réalisé parune légèremodiationde la
proédureHC4revise.Pendantl'évaluationdes-
endante del'arbre,lorsque lenoeudonsidéré
estune variable
x
i et quedestrous ontétédé-tetésdanssondomainexi,l'uniond'intervalles
assoiéà
x
i est intersetéaveUxi.Lasetionsuivanteprésenteuneomparaison
entrel'algorithmestandarddebissetionetl'al-
gorithmedereherheTopSearhsurunesérie
deCSPsnumériques.
5 Résultats expérimentaux
Cette setionprésente des résultats obtenus
ave TopSearh sur une série de problèmes
lassiques:
FuntionComputeGaps(in:X
,
C out:UX)%%X
= (
x1, . . . ,
xn),
UX= (
Ux1, . . . ,
Uxn)
1: U
X
←
X%%SetU
xi
=
xi for1 ≤ i ≤ n
2: for eah
c
j∈
Cdo3: for eah
x
i∈
Vars(c
j)
do4: U
xi
←
Uxi∩
U(j)xi%%U
(j)
xi isomputedbyHC4revise
5: endfor
6: endfor
7: returnU
X
Fig.5Computationofthegaps
l'arithmétiquedesintervalles.
- d1 [7℄ est une appliation de la inématique
diretederobots.
- nbody5 [14℄estune instaneduproblèmeà5
orps issudelaméaniqueéleste.
- eo7 et eo8 [19℄ sont deux appliations de
modélisationéonomique.
- ponts [10℄, ext-penta et ext-pentaX [1℄ sont
des problèmes de ontraintes géométriques,
oùext-pentaX est une instane partiulière de
ext-penta.
- aprasse [18℄ est un système d'équations
polynomialesissudesproblèmesdePosso.
n m s
Xd1
12 12 16 [ − 10
3, 10
3]
eo8
8 8 8 [ − 10
3, 10
3]
eo7
7 7 8 [ − 10
3, 10
3]
ext-penta0
18 19 64 [ − 10, 10]
ext-penta1
18 19 64 [ − 10, 10]
ext-penta2
18 19 320 [ − 10, 10]
ponts
26 26 128 [ − 10
2, 10
2]
ext-penta
19 19 448 [ − 10, 10]
nbody5
6 6 12 [ − 10
8, 10
8]
i4
10 10 1024 [ − 1, 1]
aprasse
4 6 28 [ − 10, 10]
Tab.1
n
estlenombredevariables,m
est lenombredeontraintes,
s
estlenombresolutionsdanslaboîteinitialeX.
Latable 1donne unedesriptionsyntaxique
dees problèmes.
La bissetion lassique est omparée ave
TopSearh;touteslesdeuxsontombinéesave
RR. Le ltrage est réalisé par HC4 seul (ta-