HAL Id: inria-00000065
https://hal.inria.fr/inria-00000065
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.
IGC : Une nouvelle consistance partielle pour les CSPs continus
Gilles Chabert, Gilles Trombettoni, Bertrand Neveu
To cite this version:
Gilles Chabert, Gilles Trombettoni, Bertrand Neveu. IGC : Une nouvelle consistance partielle pour les CSPs continus. Premières Journées Francophones de Programmation par Contraintes, CRIL - CNRS FRE 2499, Jun 2005, Lens, France. pp.199-210. �inria-00000065�
IGC : Une nouvelle onsistane partielle pour
les CSPs ontinus
Gilles Chabert Gilles Trombettoni Bertrand Nev eu
PROJET COPRINI3S-INRIA-CERTIS
2004 route des Luioles
06902 SophiaAntipolis, FRANCE
(habert|trombe|neveu)s ophi a.in ria. fr
Résumé
Dansetartile,nousproposonsunenouvellelasse
deonsistanespartiellessurlesCSPsontinus,jusque-
là ignorée.Cette approhe est motivéeparlearatère
infrutueuxdesalgorithmesdepropagationdetypeAC3
onçus pour des problèmes disrets, et appliqués tels
quelsendomaineontinu,'estàdireavelamême no-
tiondesupport(ausensdesvaleursréelles).Nousdon-
nonsunenouvelledénition,elledesupport-intervalle,
oïnidant ave uneautreabstration du problème,et
délinonsplusieurspropriétésdesCSPsliéesàettedé-
nition. Nous montrons que seule l'une d'elles (IGC)
semble exploitable,etqu'ilestpossibleàpartirde l'al-
gorithmedebaseAC3del'obtenir,moyennantlereours
à des ROBDD (redued ordered binary deision dia-
grams),aulieudesimplesintervalles,pourlareprésen-
tationdesdomaines.
1 Introdution
La programmation par ontraintes en domaine
ontinu est une disipline qui s'attahe à résoudre
des problèmes numériques en utilisant une approhe
"ontraintes". L'une des voies de reherhe onsiste
à transposer des tehniques de ltrage de CSPs dis-
rets en destehniquesde ltrage deCSPs ontinus.
Cet artiles'intéresseàlapluslassiqued'entre elles,
l'ar-ohérene.
Dans etteoptique, plusieurstravaux ont déjà été
menés, notamment euxd'Hyvönen [7℄, Lhomme [8℄,
Faltings[5℄etBenhamou[1℄.Engénéralilsontabouti
à la onlusion suivante : Si AC3s'avère eae, son
pendantendomaineontinunel'estplusdutout. Le
fait que laomplexité soit polynomiale enle nombre
de valeurs du domaine ne peut plus être aepté si
etteborne estatteinte enpratique,arladisrétisa-
devaleurs.Le moyenlassique depallieretteinadé-
quationauxvaleursréellesonsisteàlimiterleltrage
auxbornes des domaines.La propriété obtenues'ap-
pelle la 2B-ohérene. Nous proposons ii une autre
approhe.
A partir d'observations sur un exemple, nous in-
troduisonsuneohérenepartielleplusforte,nommée
IGC,quipermet dedéelerdanslaboule depropa-
gation desblosde valeurs(sous forme d'intervalles)
neontenantauunesolution.Cetteohérenerepose
sur une autre vision duproblème : ungraphe oùles
intervallesformentlessommetset oùlesarêtesrepré-
sentent l'existene de supports. Notre idée est alors
d'élimineraufuret àmesurelesintervalles sanssup-
port.
Apparaîtalorsunéueil: lasuppressiondetelsin-
tervallesontientunproblèmesous-jaentdereherhe
de lique maximale. Plutt que de greer un algo-
rithme générique de graphes pour eetuer ette re-
herhe,nousproposonsuneméthode(Etiq-AC)adap-
tée ànotreproblème, dontl'eaitétientàson im-
briationpeuoûteusedanslabouledepropagation.
Auunereherhen'estdélenhéeexpliitement,on
seontentedestokerdansdesBDDsdesinformations
auoursdelapropagationquipermettentdedéteter
l'absene delique.Laomplexité resteexponentielle
arnousverronsqueleproblèmeestNP-diile,mais
lerésultatesttrèsenourageantenpratique.
1.1 Contexte
Notretravailportesurleproblèmedesatisfationde
ontraintes,avedesvariablesréelles.OnnoteNCSP
(numerial onstraint satisfation problem) une ins-
tane de e problème. Nous limitons dans et artile
y=x p
,pourp entierpositifquelonque.
x=y+z,x=y z,x=yz et x=y=z.
Nous éartons les fontions trigonométriques par
soui de simpliité, mais elles pourraient aussi être
prises en ompte sans que la théorie hange. L'algo-
rithme, par ontre,deviendrait beauoup plus lourd.
De plus, pour rendreles exemples plus lisibles, nous
utiliserons parfois des ontraintes plus élaborées. Le
leteurpourravérierquehaundeesexemplespeut
être transformé en un système de ontraintes primi-
tivessansqueelanehangelepropos(iln'yajamais
d'ourrenemultipledevariable).
Un NCSP est un triplet (C ;V;D) où C est l'en-
semble des ontraintes,V = fx
1
;:::;x
n
g l'ensemble
desvariables,etD=D
x1
:::D
xn
leproduitarté-
siendesdomainesderesp.x
1
;:::;x
n
.Laquestionest
desavoirs'ilexisteunpointdeDquisatisfaithaque
ontraintedeC.
Conernantlareprésentationdesdomaines,nousse-
ronsamenésàmanier2typesdeNCPS:
(C ;V;B)estunNCSP-boîtesiB estleproduit
denintervallesfermésderéels.
(C ;V;G) estunNCSP-gruyèresiGestlepro-
duitartésiendenunionsdisjointesniesd'inter-
vallesfermésderéels.
1.2 Rappels
Dans les dénitions suivantes, on se réfère à un
NCSPquelonque(sans suppositionsurlanaturedes
domaines).
Dénition 1.1 (Projetion) Soit une ontrainte
impliquant les variables x;y
1
;:::;y
k
. On appelle pro-
jetion de surxla fontion suivante:
x
: D ! fv 2 D
x j 9(v
1
;:::;v
k ) 2 D
y1
:::
D
y
k
; (v;v
1
;:::;v
k
)est vraig
Dénition 1.2 (Ar-ohérene)
SoitP =(C ;V;D) unNCSP. P estar-ohérent ssi:
8<;x>2CV aveximpliquéedans,D
x
=
x (D).
Dénition 1.3 (Partie ar-ohérente) La partie
ar-ohérente d'un NCSP est le sous-NCSP ar-
ohérent maximal, au sens de l'inlusion ensembliste
(desdomaines).
Remarque1.1 Onnesaitpasengénéralquelleestla
naturede la partie ar-ohérente d'unNCSP (notam-
mentsi pour un NCSP-boîte, elle peut être représen-
tée par un ensemble dénombrable d'intervalles) mais
onprouve son existene etsonuniité grâeauxdeux
pointssuivants:
-;estunsous-NCSPar-ohérent.
-Uneunion(.a.d.l'union desdomainespourhaque
variable) quelonquede sous-NCSPsar-ohérents est
pour aboutir à une propriété plus faible que l'ar-
ohérene, qu'il soit possible de représenter ave des
intervalles,etdealuleraveunalgorithme.Nousuti-
liserontuneapproximationnotée-AC(désigneune
disrétisationdesréels),dontladénitionestrenvoyée
en annexe. Cette dénition s'applique à des NCSP-
gruyères. Les propriétés introduites dans e papier,
ommeACet IGCsontdépendantes del'approxima-
tionsous-jaenteetserontrenommées-ACet-IGC
lorsqu'onnepourrapasfaireabstrationde.
2 Présentation d'IGC
Ilaétémontré[3℄qu'ilexiste desNCSPspourles-
quels lapartie -AC possèdeunnombred'intervalles
del'ordredunombredeottants(i.e.,jj)ontenus
dans le domaine initial. La borne de omplexité (.f.
propositionA.1enannexe)estdonatteintesystéma-
tiquementpourertainsproblèmes.
Exemple 2.1(Exemple-type)
Soit(f
1
;
2
g;fx;yg;B)leNCSP suivant:
B=D
x D
y
=[1;9℄[1;9℄
(
1 ): (
3
4
(x 5)) 2
=y
(
2
): x=y
Danslaguresuivante,les4vignettesreprésentent
l'évolution des domaines de x et y au l des proje-
tions.
étatinitial projetionsurx
projetionssury projetionssurxpuisy
Fig.1FiltrageACdel'exemple-type(vueréels)
2.1 Vue marosopique
L'ar-ohéreneappliquéetellequelle en domaine
d'intervalles servant àreprésenterle domainedes va-
riables, et e problème est lié à la présene de dis-
jontions.Pourdérirepluspréisémentlephénomène,
onsidéronsparexempledeuxvariablesxetyliéespar
uneontraintey=x 2
.Dufaitqueetteontrainteest
disjontive, un intervalle de y peut se projeter en 2
intervalles pour x,étiquetés parun + et un - sur
lagure2.
z1
z2 z3 zn
y
x − +
Fig.2Exempledefauxhemin
Considéronsmaintenantl'intervalle-parexemple.
Il va se projeter de variable en variable jusqu'à z
n ,
puisenny.Ilestpossiblealorsquedenouveaudeux
intervalles apparaissent pour x, et pourtant, on voit
bien quelapartie + deetteprojetionneontient
auunesolutionpuisquel'intervalleprojetéprovient
d'une partie-. C'este genrede faux hemins qui
est àl'origine de l'explosion (haqueprojetion de y
surx peutdoublerlenombred'intervalles).
Cette observation suggèreune vision plus maro-
sopique denotregruyère.Pluttquedelimiternotre
visionauxsupportsentrevaleurs,onpeutregarderglo-
balementsurquelsintervallesunintervallepossèdedes
supports.Onobtientalorsungraphetrèssimplié,qui
permetdedéteterqu'unintervalleentierestinonsis-
tant.Ladénition suivanteseplaediretementdans
laasternaire(maislesexemplesdeettesetionsont
dansleasbinaire):
Dénition 2.1(Support-intervalle) Soientx,yet
z,troisvariables reliéespar uneontrainte .
Soit I (resp. J, K) un intervalle du domaine de x
(resp. y,z).
OnditqueI,J etKsontompatibless'ilexistev
i 2I,
v
j
2J etv
k
2K tels que(v
i
;v
j
;v
k ).
Lagure3illustredans l'exemple-type?? ,l'évolu-
tiondugruyèredupointdevuemarosopique,'està
direungrapheoùlessommetsreprésententdesinter-
vallesetlesarêtesdessupports-intervalles.Pourmieux
voir ette évolution, nous avons ajouté une variable
supplémentaire z, et déomposé
2
(x = y) en deux
x
y
z
1.étatinitial 2.projetionsurx
3.projetionsurz 4.projetionsury
5.projetionsurx 6.intervalleinonsistant
Fig.3FiltrageAC(vueintervalles)
Lagure3.6représentelefaitquel'intervalleorres-
pondantaupoint noirine peutontenirde solution.
Ses supports, apparaissanten pointillés, montrenten
eetuneinompatibilité.
Notreidéeonsisteàéliminerlesintervallesprésen-
tantegenred'inompatibilité.Onintroduitpourela
lanotiondeI-lique.
Dénition 2.2 (I-lique) Soit P = (C ;V;G) un
NCSP-gruyère.
Une I-lique de P est un n-uplet onstitué d'un in-
tervalle du domaine de haque variable de P, telque
lesnintervallessoienttousompatiblestrois partrois
(oudeuxpardeuxpourlesontraintesbinaires).
Ainsi,danslagure3.6del'exemple-type,iln'estpas
possibledeformeruneI-liqueavel'intervallenoiri 1
.
Nous pouvons maintenant dénir la propriété que
nousherhonsàaluler.
2.2 IGC
Dénition 2.3 (IGC) Un NCSP-gruyère (C ;V;G)
estintervalglobal-ohérent(IGC)sitoutintervalle
du domaine de n'importe quelle variable appartient à
une I-liquede G.
Dénition 2.4 (PartieIGC)
SoitP unNCSP-boîte.
On appelle partie IGC de P le NCSP-gruyère formé
desintervallesIGC-ohérents de la partieACde P.
1
Une I-lique ne orrespond pas exatement à une lique
maximaledans le graphe qui sert habituellement à représen-
terunCSP.Eneet,ilfautajouterdessommetspourhaque
oupledevariables,elaétantduàlaprésene deontraintes
La notion de I-lique est plus faible que la notion
de boîte ar-ohérente. Ainsi, même dans un pro-
blème ar-ohérent, une I-lique n'est pas forément
uneboîtear-ohérente,etn'enontientpasforément
nonplus:
Exemple2.2 P = ((
1
;
2
;
3 );fx
1
;x
2
;yg;D
x1
D
x
2 D
y )
D
x1
=[ 2;2℄
D
x
2
=[ 2;2℄
D
y
=[ 2; 1℄[[1;2℄
1
:(y x
1 )
2
=[0;1℄
2
:(y x
2 )
2
=[0;1℄
3 :x
1
= x
2
P estbienar-ohérentetonpeutvoirparexemple
sur la gure 4 i-dessous que ([ 2;2℄;[ 2;2℄;[1;2℄)
est une I-lique. Cependant, si on suit les supports
de haque valeur, on s'aperçoit bien que la boîte
[ 2;2℄[ 2;2℄[1;2℄n'est pasar-ohérente.Dans
e as, elle ontient une sous-boîte ar-ohérente,en
l'ourrene[0;0℄[0;0℄[1;2℄.Maisilsut d'ajou-
terune ontrainte,par exemple,(x
1 x
2 )
2
=1 pour
qu'iln'y ait plusde sous-boîtear-ohérente (l'ajout
de ette ontrainte ne hange pas le fait que P soit
ar-ohérent,nilesI-liques).
0
−2 −1 1 2
0
x2 x1
y
Fig.4ExempledeI-liques
3 Algorithme
Nousdérivonsmaintenantnotreapprohepoural-
ulerlapartieIGCd'unNCSP.Notrequestiondevient
don : Comment isoler un intervalle n'appartenant
pasàuneI-lique?.
Nousdénissons pour ela unnouvelopérateur de
révision,quienplusdelaprojetionàproprementpar-
ler,vérielesompatibilités (au sensde ladénition
2.1)entrelesintervalles desdomaines.
3.1 Desriptioninformelle
L'algorithmeonsisteàassoieràhaqueintervalle
pagation.Quellequesoitlafontionimpliquéedansla
ontrainte(puissaneoudivision),uneprojetiondis-
jontivesur x réeforémentdeuxintervalles depart
et d'autrede lavaleur0.Ilsut dondesavoirsiun
intervalle prend support sur la partie négativex (e
qu'on note x ) ou sur la partie x +
, pour garder la
traedeetteprojetion.
Lorsqu'onintersete unintervalleétiquetéx ave
unintervalleétiquetéx +
,ils'agitdond'unfauxhe-
min,etlerésultatdeetteintersetionpeutêtreeaé
dudomaine.
Nousallonsdéroulerl'algorithmesurunexemple:
Exemple 3.1
D
x
=[ 4;4℄D
y
=[ 4;4℄D
z
=[ 8;8℄D
k
=[4;16℄
1 :x
2
=k
2 :y
2
=k
3
:z=x+y
4
:k=0:75z+10
Toutd'abord,laprojetionde
1
surxdonneradeux
intervalles, [ 4; 2℄ (étiqueté x ) et [2;4℄ (étiqueté
x +
). Même observation pour la projetionde
2 sur
y. La guresuivante montre le résultat de laproje-
tionde
3
surz etde
4 surk.
−4 −2 2 4 −4 −2 2 4
y+
y−
−2
(x− y+) (x+ y−) 2 (x− y+) (x+ y−)
11.5 8.5
4 (x+ y+)
8 (x+ y+)
16 13
z
−8 −4
(x− y−)
(x− y−)
4 7
k
x− x+
x y
Si àe stadeoneetuaituneprojetionlassiquede
1
surx,voiiequel'onobtiendrait:
−4 −3.6 −3.4 −2.9 −2.6 −2 2 2.6 2.9 3.4 3.6 4
4 7 8.5 11.5 13 16
k
x
La guresuivante montre quelaprojetionétiquetée
permetd'éliminer2intervalles.
−2.6 −2 3.6 4
(x+ y+) (x− y−)
−3.4 −2.9 2.9 3.4
(x+ y−) (x− y+)
k
4 7 8.5 11.5 13 16
(x− y+) (x+ y−) (x+ y+) (−x− y−)
−3.4 −2.9 −2.6 −2 2.9 3.4 3.6 4
k
x+
x x−
Les 4 intervalles restant ontiennent haun 1 so-
tient ette solution. Cet exemple montre également
qu'il ne sut pas de mémoriserune information par
variable (exemple : x ), mais bien toutes les ombi-
naisonspossibles(ommefx y +
;x +
y g),sansquoila
propriétéIGCn'estpasobtenu,etsurtout,l'explosion
observéeavel'ar-ohéreneseproduitdenouveau.
Nousallonsmaintenantommenerparexpliiterle
alul d'uneprojetiondansleasd'ungruyère.
3.2 Projetionsd'unionsd'intervalles
Tout d'abord, notons que le alul des projetions
seramèneàdesévaluations(ausensintervalles).Par
exemple, la projetion de la ontrainte y = exp(x)
sur y (resp. x) onsiste à évaluer exp(x) pour tout
x2D
x
(resp.ln(y)pourtouty2D
y
)donàaluler
Exp(D
x
)(resp.Ln(D
y
)),oùExpetLn désignentles
extensionsauxintervallesdesfontionsexpetln.Dans
le as d'une ontrainte non monotone, par exemple
y=x 2
,laprojetionsurxseramèneà2aluls,elui
de p
y etde p
y.
L'étude des projetionsse limite don à4 as. On
noteraD
y
=Y
1
[:::[Y
l
(resp.D
z
=Z
1
[:::[Z
m )
l'union disjointe représentant le domaine de y (resp.
z). Dans les 4 as, le alul sefait en deux étapes:
l'étapeeval,et l'étapeintersetion.
1. projetionsurx dex=f(y)
eval:onaluleU :=F(Y
1
)[:::[F(Y
l ).
intersetion: onaluleD
x
\U.
2. projetionsurx dey=x p
(ppair 2
)
eval : on alule U := ( p
Y
1
[:::[ p
Y
l )[
(+
p
Y
1
[:::[+ p
Y
l )
intersetion: onaluleD
x
\U
3. projetion sur x de x = y ./ z (ave ./2
f+; ;;=g,et062D
z
si./==)
eval: onalule l'union suivante des (lm) inter-
valles :
U := (Y
1 ./ Z
1
[:::[Y
1 ./ Z
m
)[:::[(Y
l ./
Z
1
[:::[Y
l ./Z
m )
intersetion: onaluleD
x
\U.
4. projetionsurx dex=y=z,ave02D
z
Elle est basée sur l'arithmétique d'intervalles
étendue.Supposons que pour un intervalle de z,
noté[;℄,onait <0<
3
.
eval:Onalulepour[;℄, deuxvaleursnotées
a et b. Si 0 2 D
y
alors a = b =0. Sinon, a est
le minimum des rapports fY= si Y < 0, Y=
sinong,lorsque Y déritfY
1
;:::;Y
l
g,et defaçon
symétrique,best leminimumdesrapportsfY=
2
Onsupposerap=2,pourallégerlesnotations.
3
C'estleasleplusompliqué,nous nedétaillerons pasii
L'étapeevalpourlesautresintervallesdez(qui
nepeuvent ontenir0) sealule ommedansle
as3,etproduitune unionU.
OnaluleennU 0
:=U [[ 1;a℄[[b;+1℄.
intersetion:onaluleD
x
\U 0
.
Nous allons assoier maintenant une étiquette à
haqueintervalletraité,maisàtitredetrae,'està
diresansimpaterlesdomaines.
3.3 Étiquettes:Dénitionset notations
Soient P = (C ;V;B) un NCSP, W = fw
1
;:::;w
n 0g
l'ensembledes variablesimpliquées dansune disjon-
tiondeP.
Quitte à réordonner les variables, on peut supposer
V =fw
1
;:::;w
n 0
;x
n 0
+1
;:::;x
n g.
On appelle boîte monotone un élément de
= f[ 1;0℄;[0;+1℄g n
0
f[ 1;+1℄g n n
0
et
on appelle étiquette un sous-ensemble de . Une
étiquettepeutdonprendre2 2
n 0
valeurspossibles.
Exemple:
Supposons V = fx;y;zg et W = fx;yg. Un
exempled'étiquetteestf([ 1;0℄,[0;+1℄,[ 1;+1℄),
([0;+1℄;[ 1;0℄,[ 1;+1℄)g,e qu'on noteradefa-
çon plus suinte : f(x ;y +
);(x +
;y )g. Ave ette
dernière notation, on pourra s'autoriser de per-
muter les variables (et d'érire don par exemple
f(y +
;x );(y ;x +
)g). L'important est de pouvoiras-
soier,sansambiguïté,àtouteboîtemonotonebonte-
nue dans une étiquette un domaine pour haque va-
riable.On noterad'ailleursb
x
le domaineassoié àx
dansb.Ainsi,avelemêmeexemple,sib=fx ;y +
g,
alorsb
x
=[ 1;0℄,b
y
=[0;+1℄et b
z
=[ 1;+1℄.
3.4 Calul
Si I est unintervalle,ondésignerapardIesonéti-
quette.Ahaquenouvelleétapedeprojetion,onal-
ule les étiquettes du domaine mis à jour grâe au
shémasuivant:
Base :
Audépart,haqueintervallepossèdepourétiquette
lui-même(i.e.l'ensemble desboîtesmonotones).
Indution :
Danslaphaseeval,desétiquettesintermédiairessont
déniesdelamanièresuivante (seréférerau3.2pour
lesnotations):
1. 8il;dF(Y
i
)e:=dY
i e
2. 8il;
d p
Y
i e:=dY
i
e\fx g Q
w2Ww6=x fw ;w
+
g
d+
p
Y
i e:=dY
i e\fx
+
g Q
w2Ww6=x fw ;w
+
g