• Aucun résultat trouvé

Cohérence d'arc virtuelle pour les CSP pondérés

N/A
N/A
Protected

Academic year: 2021

Partager "Cohérence d'arc virtuelle pour les CSP pondérés"

Copied!
11
0
0

Texte intégral

(1)

HAL Id: inria-00292640

https://hal.inria.fr/inria-00292640

Submitted on 2 Jul 2008

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 virtuelle pour les CSP pondérés

Martin Cooper, Simon de Givry, Marti Sanchez, Thomas Schiex, Matthias Zytnicki

To cite this version:

Martin Cooper, Simon de Givry, Marti Sanchez, Thomas Schiex, Matthias Zytnicki. Cohérence d’arc virtuelle pour les CSP pondérés. JFPC 2008- Quatrièmes Journées Francophones de Programmation par Contraintes, LINA - Université de Nantes - Ecole des Mines de Nantes, Jun 2008, Nantes, France.

pp.237-246. �inria-00292640�

(2)

Actes JFPC 2008

Coh´ erence d’arc virtuelle pour les CSP pond´ er´ es

M. Cooper S. de Givry, M. Sanchez, T. Schiex, M. Zytnicki

IRIT, UPS INRA, UR 875

Toulouse Castanet Tolosan

cooper@irit.fr {degivry,tschiex}@toulouse.inra.fr

R´ esum´ e

L’optimisation d’une combinaison de fonctions de coˆ ut d´ efinies sur des variables discr` etes est un probl` eme central dans de nombreux formalismes tels que les r´ e- seaux probabilistes, le probl` eme de satisfiabilit´ e maxi- mum, les r´ eseaux de contraintes pond´ er´ es (WCSP) ou les graphes de facteurs. De r´ ecents r´ esultats ont mon- tr´ e que la maintenance d’une forme de coh´ erence locale dans un algorithme de s´ eparation-´ evaluation (Branch and Bound) fournit des minorants qui sont assez puis- sants pour r´ esoudre de nombreuses instances r´ eelles.

Nous pr´ esentons ici la coh´ erence d’arc virtuelle (Vir- tual Arc Consistency, VAC) qui planifie et applique it´ e- rativement des s´ equences d’op´ eration de propagation de coˆ uts fractionnaires qui garantissent de transformer un WCSP en un autre WCSP ´ equivalent incorporant un mi- norant accru. Bien que plus faible que l’arc coh´ erence optimale (OSAC) r´ ecemment propos´ ee, VAC est plus rapide et est capable de r´ esoudre le langage polyno- mial d´ efini par des fonctions de coˆ ut sous-modulaires. Le maintien de VAC pendant la recherche conduit ` a d’im- portantes am´ eliorations sur des probl` emes difficiles de grande taille et nous a permis de clore deux instances bien connues du probl` eme d’affectation de fr´ equence.

Abstract

Optimizing a combination of local cost functions on discrete variables is a central problem in many forma- lisms such as in probabilistic networks, maximum satis- fiability, weighted CSP or factor graphs. Recent results have shown that maintaining a form of local consistency in a Branch and Bound search provides bounds that are strong enough to solve many practical instances.

In this paper, we introduce Virtual Arc Consistency (VAC) which iteratively computes and applies sequences of cost propagation over rational costs that are guaran- teed to transform a WCSP in another WCSP with an improved constant cost. Although not as strong as Op- timal Soft Arc Consistency, VAC is faster and power- ful enough to solve submodular problems. Maintaining VAC inside branch and bound leads to important im-

provements in efficiency on large difficult problems and allowed us to close two famous frequency assignment problem instances.

1 Introduction

L’analyse des mod` eles graphiques est un probl` eme central en IA. L’optimisation du coˆ ut combin´ e de fonc- tions de coˆ ut locales, centrale dans le cadre des CSP valu´ es [16], capture des probl` emes tels que le pro- bl` eme de satisfiabilit´ e maximum (MaxSAT), la r´ eso- lution des CSP pond´ er´ es ou le probl` eme de recherche d’une explication de probabilit´ e maximum dans les r´ e- seaux probabilistes. Il a des applications en allocation de ressource, en ench` eres combinatoires, en bioinfor- matique. . .

Les approches de type “programmation dynamique”

bas´ ees sur l’´ elimination de variables ou par arbre de jonction ont ´ et´ e largement mobilis´ ees pour r´ esoudre de tels probl` emes mais elles sont intrins` equement li- mit´ ees par leur complexit´ e exponentielle en temps et en espace lors de leur application ` a des mod` eles gra- phiques de grande largeur d’arbre. Au contraire, les approches de type “s´ eparation-´ evaluation” permettent de conserver une complexit´ e spatiale raisonnable mais n´ ecessitent de bons minorants (forts et peu coˆ uteux) pour avoir une efficacit´ e correcte.

Durant ces derni` eres ann´ ees, des minorants de qua- lit´ e croissante, bas´ es sur l’´ etablissement de coh´ erence locale pour les CSP pond´ er´ es, ont ´ et´ e d´ efinis. Ces co- h´ erences locales sont ´ etablies via l’application r´ ep´ et´ ee de “transformations pr´ eservant l’´ equivalence” (Equi- valence Preserving Transformations ou EPT [6]) qui

´

etendent les op´ erations de coh´ erence locale utilis´ ees

dans les CSP classiques. Une tendance similaire a suivi

dans le cadre MaxSAT dans lequel des “r` egles d’inf´ e-

rence” pr´ eservant l’´ equivalence sont maintenant utili-

s´ ees dans les solveurs les plus r´ ecents [9]. Ces EPT d´ e-

(3)

placent des coˆ uts entiers entre des fonctions de coˆ ut de port´ ee diff´ erente et peuvent ´ eventuellement permettre d’augmenter la fonction de coˆ ut de port´ ee vide (une constante) jusqu’` a une valeur non triviale. Cette va- leur fournit un minorant ´ evident qui peut ˆ etre main- tenu durant une recherche arborescente.

Au niveau de la coh´ erence d’arc, l’application non restreinte chaotique d’EPT ne converge g´ en´ eralement pas vers un point fixe unique [15] et peut ne pas termi- ner. Diff´ erentes restrictions heuristiques qui terminent toujours ont donc ´ et´ e introduites, conduisant ` a dif- f´ erentes variantes de l’arc coh´ erence telles que AC*, DAC*, FDAC*, EDAC* [8]. . . La d´ efinition r´ ecente de l’arc coh´ erence optimale (Optimal Soft Arc Consis- tency ou OSAC [5]) ` a montr´ e qu’il ´ etait possible de pr´ e-calculer, en temps polynomial, un ensemble d’EPT d´ epla¸ cant des coˆ uts rationnels et maximisant la valeur du minorant d´ efini par la fonction de coˆ ut de port´ ee vide. Cet algorithme, bas´ e sur le programmation li- n´ eaire, fournit des minorants forts mais qui semblent trop coˆ uteux pour ˆ etre maintenus durant la recherche.

Dans cet article, nous pr´ esentons l’arc coh´ erence virtuelle (Virtual Arc Consistency, VAC) qui utilise un algorithme d’´ etablissement de la coh´ erence d’arc classique pour produire des s´ equences d’EPT ` a coˆ ut rationnel qui augmentent toujours le minorant. Bien que moins puissante qu’OSAC, VAC est rapide ` a ´ eta- blir et fournit des minorants assez forts pour r´ esoudre les fonctions de coˆ ut sous-modulaires (comme OSAC).

C’est l’un des ingr´ edients essentiels qui nous a permis de clore deux instances difficiles d’affectation de fr´ e- quence qui sont rest´ ees ouvertes pendant plus de 10 ann´ ees.

2 Pr´ eliminaires

Un CSP pond´ er´ e (Weighted CSP, WCSP) est un quadruplet (X, D, W, m). X et D sont des ensembles de n variables et domaines, comme dans les CSP clas- siques. Le domaine de la variable i est not´ e D i . ´ Etant donn´ e un sous-ensemble de variables S ⊆ X , on note

`(S) l’ensemble des n-uplets (tuples) d´ efinis sur S . W est un ensemble de fonctions de coˆ ut. Chaque fonction de coˆ ut (ou contrainte molle) w S de W est d´ efinie sur un ensemble de variables S appel´ e sa port´ ee et suppos´ e diff´ erent pour chaque fonction de coˆ ut. Une fonction de coˆ ut w S assigne un coˆ ut ` a chaque affectation des variables de S i.e. : w S : `(S) → [0, m]. L’ensemble des coˆ uts possibles est [0, m] o` u m ∈ {1, . . . , +∞} repr´ e- sente un coˆ ut intol´ erable. Les coˆ uts sont combin´ es par l’addition born´ ee ⊕, d´ efinie par a ⊕ b = min{m, a+ b}, et compar´ es entre eux via ≥. Notez que le coˆ ut into- l´ erable m peut ˆ etre fini ou infini et qu’un coˆ ut b peut ˆ etre soustrait d’un coˆ ut a plus large en utilisant l’op´ e-

ration o` u a b est ´ egal ` a (a − b) si a 6= m et ` a m sinon.

Pour les fonctions de coˆ ut binaires et unaires, nous utilisons des notations simplifi´ ees : une fonction de coˆ ut binaire entre les variables i et j est not´ ee w ij . Une fonction de coˆ ut unaire sur la variable i est not´ ee w i . Nous faisons l’hypoth` ese qu’il existe une fonction de coˆ ut unaire w i pour chaque variable ainsi qu’une fonction de coˆ ut d’arit´ e nulle (une constante) not´ ee w . Si m = 1, notez que le WCSP est ´ equivalent au probl` eme classique CSP (un coˆ ut de 1 ´ etant associ´ e aux combinaisons de valeurs interdites). Pour rendre

´

evident que dans ce cas les fonctions de coˆ uts ne re- pr´ esente que de simples contraintes, elles seront alors not´ ees c S au lieu de w S .

Le coˆ ut d’une affectation compl` ete t ∈ `(X) dans un probl` eme P = (X, D, W, m) est ´ egal ` a Val P (t) = L

w

S

∈W w S (t[S]) o` u t[S] repr´ esente la projection ha- bituelle d’un tuple sur l’ensemble de variables S. La minimisation de Val P (t) d´ efini un probl` eme d’optimi- sation avec un probl` eme de d´ ecision associ´ e qui est NP-complet.

L’´ etablissement d’une coh´ erence locale donn´ ee sur un probl` eme P consiste ` a transformer P = (X, D, W, m) en un probl` eme P 0 = (X, D, W 0 , m) qui est ´ equivalent ` a P (Val P = Val P

0

) et qui satisfait le propri´ et´ e de coh´ erence locale consid´ er´ ee. Ce proces- sus peut augmenter w et fournir ainsi un minorant am´ elior´ e du coˆ ut optimum. Il s’appuie sur l’application de transformations pr´ eservant l’´ equivalence (EPT) qui d´ eplace les coˆ uts entre des port´ ees diff´ erentes.

L’algorithme 1 d´ ecrit deux EPT ´ el´ ementaires. Pro- ject() s’applique dans la port´ ee d’une fonction de coˆ ut w S . Elle d´ eplace une quantit´ e de coˆ ut α de w S vers une fonction de coˆ ut unaire w i , i ∈ S, sur une valeur a ∈ D i . Si le coˆ ut α est n´ egatif, cela signifie que le coˆ ut est d´ eplac´ e de la fonction de coˆ ut unaire w i vers la fonc- tion de coˆ ut w S : on parle alors d’extension. Afin d’´ evi- ter l’apparition de coˆ uts n´ egatifs dans P 0 , il est n´ eces- saire que −w i (a) ≤ α ≤ min t∈`(S),t[{i}]=a {w S (t)}. De fa¸con similaire, UnaryProject() s’applique sur un sous- probl` eme d´ efini par une seule variable i ∈ X . Elle d´ eplace un coˆ ut α de la fonction de coˆ ut unaire w i vers le fonction d’arit´ e nulle w (avec −w ≤ α ≤ min a∈D

i

{w i (a)} de fa¸con ` a conserver des coˆ uts posi- tifs).

Un WCSP binaire est nœud-coh´ erent (NC) ssi ∀i ∈ X, ∃a ∈ D i , w i (a) = 0 ((i, a) est appel´ e un support unaire pour i). Il v´ erifie la coh´ erence d’arc (AC) s’il est NC et si ∀i ∈ X, ∀w ij ∈ W et ∀a ∈ D i , ∃b ∈ D j tel que w ij (a, b) = 0 ((j, b) est appel´ e un support de a sur w ij ).

Quand une valeur (i, a) n’a pas de support sur w ij , on

peut en cr´ eer un en appliquant la transformation Pro-

ject sur la fonction de coˆ ut w ij vers la valeur (i, a) avec

(4)

le coˆ ut le plus grand possible. Ceci est montr´ e dans la figure 1a. Ce CSP pond´ er´ e a deux variables avec deux valeurs a et b. Les sommets, repr´ esentant des valeurs, peuvent ˆ etre pond´ er´ es par les coˆ uts unaires. Une arˆ ete connectant deux valeurs repr´ esente un coˆ ut binaire de 1. Si deux valeurs ne sont pas connect´ ees, le coˆ ut as- soci´ e est implicitement nul. Notez que la valeur (1, b) n’a pas de support sur la variable 2. On peut appli- quer la transformation Project( w 12 , 1, b, 1 ) qui cr´ ee un coˆ ut unaire de 1 sur (1, b). L’application de la trans- formation UnaryProject( 1, 1 ) sur le r´ eseaux r´ esultant (fi- gure 1b) rend le probl` eme AC et augmente w de 1. Diff´ erents ordres d’application des transformations peuvent conduire ` a des points fixes (fermetures) diff´ e- rents : en consid´ erant d’abord l’absence de support de (2, a) sur w 12 et en appliquant Project( w 12 , 2, a, 1 ) , on aboutit au r´ eseau de la figure 1c. Il est AC, mais w vaut 0.

Fig. 1 – Un CSP pond´ er´ e et deux fermetures AC.

Les niveaux de coh´ erence locale existants (AC, DAC, FDAC, EDAC) peuvent ˆ etre vus comme des heuristiques efficaces cherchant ` a s’approcher d’une fermeture arc coh´ erente optimale (maximisant w ).

En utilisant des coˆ uts rationnels, il a ´ et´ e montr´ e qu’une telle fermeture arc coh´ erente peut ˆ etre atteinte via l’´ etablissement de la coh´ erence d’arc optimale (OSAC, [5]). Ceci n´ ecessite la r´ esolution d’un probl` eme lin´ eaire de grande taille et son utilisation a donc ´ et´ e limit´ ee au pr´ etraitement. Nous proposons dans la section sui- vante un m´ ecanisme alternatif plus efficace bas´ e sur un algorithme de coh´ erence d’arc classique et qui peut ˆ

etre maintenu durant la recherche.

Algorithme 1 : Les transformations ´ el´ ementaires Proc´ edure Project( w S , i, a, α )

w i (a) ← w i (a) ⊕ α;

pour tous les (t ∈ `(S ) tel que t[{i}] = a) faire w S (t) ← w S (t) α;

Proc´ edure UnaryProject( i, α ) w ← w ⊕ α;

pour tous les (a ∈ D i ) faire w i (a) ← w i (a) α;

3 Coh´ erence d’arc virtuelle

Etant donn´ ´ e un WCSP P = (X, D, W, m), on d´ efinit Bool(P ) comme le CSP classique (X, D, W ) o` u c S ∈ W si et seulement si ∃w S ∈ W et S 6= ∅ tel que

∀t ∈ `(S) (t ∈ c S ⇔ w S (t) = 0). Bool(P )est un CSP classique dont les solutions (si il y en a) ont un coˆ ut

´

egal ` a w dans P .

D´ efinition 1 Un WCSP satisfait la coh´ erence d’arc virtuelle (VAC) si la fermeture arc coh´ erente classique de Bool(P) n’est pas vide.

Si un WCSP P ne satisfait pas la propri´ et´ e VAC, alors Bool(P ) est incoh´ erent et on sait que les solu- tions de P ont un coˆ ut strictement plus grand que w . De fa¸ con plus int´ eressante, on va voir qu’en simulant le filtrage par coh´ erence d’arc classique de Bool(P), il est possible de construire une s´ equence de transfor- mations pr´ eservant l’´ equivalence (EPT) et qui m` ene prouv´ ement ` a une augmentation de w . Consid´ erons par exemple le probl` eme de la figure 2(a). Ce probl` eme est une WCSP bool´ een binaire que l’on peut interpr´ e- ter comme un probl` eme de type Max-SAT d´ efini par les clauses ¯ x; x ∨ y; ¯ x ∨ z; y ∨ z. Il satisfait la propri´ ¯ et´ e EDAC. Notez que Bool(P ) est repr´ esent´ e par la mˆ eme figure d` es lors que l’on fait l’hypoth` ese que m = 1 (un coˆ ut de 1 repr´ esente une combinaison interdite).

Dans une premi` ere phase, on filtre le probl` eme Bool(P ) par coh´ erence d’arc classique. La fermeture arc coh´ erente obtenue est d´ ecrite dans la figure 2(b) : comme la valeur (x, t) est interdite, les valeurs (y, t) et (z, f) n’ont pas de support sur x et peuvent ˆ etre effac´ ees (marqu´ ees avec un coˆ ut de 1). Pour chaque effacement, nous m´ emorisons la source de l’effacement par une fl` eche grise pointant vers la variable n’offrant pas de support. La valeur (z, t) peut ˆ etre effac´ ee du fait de l’effacement de (y, t) et le domaine de z se re- trouve r´ eduit ` a l’ensemble vide (wipe-out). Du fait que le WCSP d’origine a des coˆ uts tous entiers, on pourrait d´ eduire un minorant de 1 pour le probl` eme original P , mais sans disposer d’une version transform´ ee ´ equiva- lente de P .

On met donc en oeuvre une seconde phase qui re- trace les ´ etapes de la premi` ere phase en partant de la variable dont le domaine a ´ et´ e ´ epuis´ e. Faisons l’hypo- th` ese qu’une quantit´ e inconnue de coˆ ut λ va pouvoir ˆ

etre d´ eplac´ ee vers w ` a partir de la variable z dont

le domaine est vide. Pour ce faire, des coˆ uts de au

moins λ doivent ˆ etre disponibles ` a chacune des valeurs

de la variable z afin de les projeter sur w . En sui-

vant les causes d’effacement, nous savons que ces coˆ uts

peuvent ˆ etre obtenus par projection ` a partir des fonc-

tions de coˆ ut w yz et w xz respectivement. Les coˆ uts

w yz (f, t) et w xz (f, f ) ´ etant non nuls dans P , il sera

(5)

Fig. 2 – Un WCSP o` u VAC est plus puissant qu’EDAC.

possible de d´ eplacer les coˆ uts ` a partir de l` a, et il est donc inutile de remonter plus loin. Les autres coˆ uts n´ ecessaires doivent ˆ etre extrait des fonctions de coˆ ut w y et w x par extension. Une quantit´ e de coˆ ut de λ doit ˆ etre obtenue r´ ecursivement via w xy vers w x . Le proces- sus s’arrˆ ete quand tous les coˆ uts requis sont non-nuls dans le WCSP original P . Nous sommes alors capables de d´ enombrer le nombre de demandes d’une quantit´ e de coˆ ut λ sur chacun des coˆ uts non nuls identifi´ es. Ces comptes sont montr´ es en italique sur la figure 2(c). Ici, le nombre maximum de demandes de coˆ ut est atteinte sur w x (t) avec 2 demandes. ´ Etant donn´ e que w x (t) = 1 dans P, la quantit´ e maximum de coˆ ut que l’on peut affecter ` a λ est donc 1 2 .

Dans une troisi` eme phase, on applique directement toutes les transformations identifi´ ees dans la phase 2, dans leur ordre inverse et en utilisant la valeur maxi- mum de λ = 1 2 identifi´ ee. Le processus est illustr´ e dans les figures 2(d) ` a 2(g) dans lesquelles les extensions et projections de coˆ ut r´ ealis´ ees sont montr´ ees en gras. Le WCSP final obtenu est ´ equivalent ` a notre probl` eme d’origine mais poss` ede un minorant w = 1 2 . ´ Etant

´ equivalent au probl` eme original, le processus (ou tout autre traitement) peut ˆ etre ` a nouveau appliqu´ e. Ici, la fermeture arc coh´ erente de du nouveau Bool(P ) n’est pas vide et le probl` eme obtenu satisfait donc la pro- pri´ et´ e de coh´ erence d’arc virtuelle (VAC). Le probl` eme original ´ etant ` a coˆ uts entiers, on dispose en fait d’un minorant de 1 sur le coˆ ut d’une solution optimale.

Le th´ eor` eme qui suit montre que si le filtrage par co- h´ erence d’arc de Bool(P) produit une fermeture vide, il est alors possible d’augmenter w par une s´ equence de transformations pr´ eservant l’´ equivalence au niveau arc (et r´ eciproquement).

Th´ eor` eme 1 Soit P un WCSP. Il existe une s´ e- quence de transformations pr´ eservant l’´ equivalence au niveau arc qui, une fois appliqu´ ees ` a P produisent un WCSP avec une augmentation de la fonction de coˆ ut w si et seulement si la fermeture arc coh´ erente de Bool(P) est vide.

Preuve : ⇒ : Soit O 1 , . . . , O t une s´ equence d’EPT au niveau arc dans P qui produisent un WCSP ´ equivalent avec un w accru. Soit O 0 1 , . . . , O 0 t les EPT correspon-

dantes avec un coˆ ut projet´ e ou ´ etendu fix´ e ` a 1. L’ap- plication de cette s´ equence d’op´ erations ` a Bool(P ) (vu comme un WCSP avec m = 1) effectue un filtrage par coh´ erence d’arc de Bool(P ) qui conduit in´ evitablement

`

a un domaine vide.

⇐ : Soit O 1 , . . . , O t une s´ equence d’EPT dans Bool(P ) qui m` ene ` a un probl` eme ayant un domaine vide. Sans perte de g´ en´ eralit´ e, on peut faire l’hypo- th` ese qu’aucune paire d’op´ erations O i , O j n’est stric- tement identique car les mˆ emes EPT n’ont jamais be- soin d’ˆ etre appliqu´ ees deux fois dans un CSP classique (idempotence de ⊕). Chaque op´ eration O i correspond soit ` a une op´ eration de type Project soit ` a une op´ e- ration de type UnaryProject dans Bool(P ) vu comme un WCSP avec m = 1. Soit O 0 i l’EPT correspondante dans P appliqu´ ee avec un coˆ ut de δ/e i , o` u δ est le coˆ ut non nul le plus petit qui apparaˆıt dans P. On divise le coˆ ut par e = |W | ` a chaque op´ eration car un coˆ ut peut, dans le pire des cas, ˆ etre divis´ e en quantit´ es plus petites qui doivent ˆ etre ´ etendues vers toutes les fonc- tions de coˆ ut impliquant la variable (ou projet´ e vers toutes les variables dans la port´ ee d’une mˆ eme fonc- tion de coˆ ut). Mˆ eme dans le cas d’une division maxi- male, le coˆ ut δ/e i peut toujours ˆ etre d´ eplac´ e lors de l’application de l’op´ eration O i 0 . Apr` es l’application de O 0 1 , . . . , O 0 t ` a P , on obtient n´ ecessairement par projec- tion sur w une augmentation de w plus grande que

δ/e t > 0. 2

Il est facile de montrer que VAC est plus fort que la coh´ erence d’arc existentielle (EAC) et elle peut mˆ eme r´ esoudre les probl` emes sous-modulaires, un langage polynomial non trivial des CSP pond´ er´ es [4]. Si l’on fait l’hypoth` ese que chaque domaine est ordonn´ e, une fonction de coˆ ut w S est sous-modulaire si et seule- ment si ∀t, t 0 ∈ `(S ), w(max(t, t 0 )) + w(min(t, t 0 )) ≤ w(t) + w(t 0 ) o` u max et min repr´ esentent l’application point ` a point de max (resp. min) sur les valeurs de t, t 0 . Cette classe inclut des fonctions de coˆ ut telles que p x 2 + y 2 ou (x ≥ y?(x − y) r : m) avec (r ≥ 1), utile en bioinformatique [20] et permettant de capturer une forme de CSP temporel simple avec des pr´ ef´ erences lin´ eaires [11].

Th´ eor` eme 2 Soit P un WCSP dont les fonctions de

(6)

coˆ ut sont toutes sous-modulaires et qui satisfait la pro- pri´ et´ e de coh´ erence d’arc virtuelle. Alors, une solution optimale de P peut ˆ etre trouv´ ee en un temps polyno- mial et son coˆ ut est ´ egal ` a w .

Sch´ ema de preuve : dans Bool(P), la d´ efinition de la sous-modularit´ e se r´ e´ ecrit c(t)∧ c(t 0 ) ⇒ c(max(t, t 0 )) ∧ c(min(t, t 0 )) indiquant que les relations de Bool(P ) sont ` a la fois ferm´ ees pour max (max-closed) et pour min. ´ Etant donn´ e que le WCSP satisfait VAC, la fer- meture arc coh´ erente de Bool(P ) n’est pas vide. On sait d’autre part que le filtrage par coh´ erence d’arc r´ esout les probl` emes ferm´ es pour max [10]. Une so- lution de Bool(P) peut donc ˆ etre produite en temps polynomial (en consid´ erant les valeurs maximum des domaines filtr´ es). Son coˆ ut dans le WCSP original est, par d´ efinition de Bool(P), ´ egal ` a w et donc optimal.

2

Les transformations Project et UnaryProject pr´ eser- vant la sous-modularit´ e [7], l’´ etablissement de VAC sur un probl` eme sous-modulaire permet donc de r´ e- soudre le probl` eme. L’ordre utilis´ e sur les domaines n’apparaissant pas dans le fonctionnement de VAC, VAC peut d´ eterminer le coˆ ut optimal de probl` emes sous-modulaires permut´ es [17] sans n´ ecessiter de r´ eor- donner les domaines.

4 Etablissement de la coh´ ´ erence d’arc vir- tuelle

Dans cette section, nous nous restreignons par souci de simplicit´ e ` a des WCSP binaires, mais VAC peut ˆ etre appliqu´ e ` a des probl` emes d’arit´ e arbitraire en s’ap- puyant sur la coh´ erence d’arc g´ en´ eralis´ ee (GAC) au lieu d’AC (la structure de donn´ ee tueur utilis´ ee dans la suite devient alors une port´ ee de fonction de coˆ ut).

Comme on l’a vu dans l’exemple pr´ ec´ edent, le proces- sus d’´ etablissement de VAC se d´ eroule en trois phases.

La premi` ere phase consiste ` a appliquer un algorithme instrument´ e de filtrage par AC sur Bool(P ). Cet algo- rithme, repr´ esent´ e par la fonction Instrumented-AC n’est pas d´ ecrit ici du fait de sa simplicit´ e. Si aucun do- maine vide n’apparaˆıt ` a la fin du filtrage, le probl` eme est d´ ej` a VAC et 0 est retourn´ e. Sinon, le num´ ero de la variable dont le domaine s’est ´ epuis´ e est retourn´ e.

L’instrumentation doit collecter deux types d’informa- tion : pour toute valeur (i, a) effac´ ee du fait de l’ab- sence de support sur une contrainte c ij , la structure de donn´ ee tueur(i, a) doit contenir la variable j. De plus, la valeur (i, a) elle-mˆ eme doit ˆ etre pouss´ ee dans une pile P. Ces deux structures de donn´ ees ont une complexit´ e spatiale en O(ed) et O(nd) respectivement et elles ne changent pas les complexit´ es temporelles et spatiales des algorithmes de filtrage par arc coh´ erence

optimaux.

La seconde phase est d´ ecrite par l’algorithme 2. Il exploite la pile P et la structure tueur pour parcou- rir l’historique des propagations r´ ealis´ ees et construire ainsi un sous-ensemble minimal pour l’inclusion des valeurs effac´ ees suffisant pour expliquer l’´ epuisement du domaine observ´ e. Pour cela, un bool´ een M (i, a) est fix´ e ` a la valeur vraie si l’effacement de (i, a) est n´ e- cessaire pour expliquer le wipe-out. Cette phase cal- cule ´ egalement la quantit´ e de coˆ ut λ qu’il sera fina- lement possible d’ajouter ` a w . En s’appuyant sur le structure tueur, il est toujours possible de remonter les causes d’effacement jusqu’` a ce qu’un coˆ ut non nul soit atteint : ce coˆ ut sera la source dont pourra ˆ etre extrait la quantit´ e λ. Cependant, dans les CSP clas- siques, un effacement donn´ e peut ˆ etre la cause directe de plusieurs autres effacements. Pour calculer la valeur de λ, il faut donc calculer combien de fois une source de coˆ ut identifi´ ee a ´ et´ e sollicit´ ee dans le WCSP origi- nal, que ce soit au niveau unaire ou binaire. Pour un tuple (une paire ou une valeur) t S de port´ ee S, tel que w S (t S ) 6= 0, nous utilisons un entier k(t S ) pour stocker le nombre de demandes de coˆ ut de λ sur w S (t S ).

L’utilisation de la pile P garantit que les valeurs ef- fac´ ees sont explor´ ees dans un ordre anti-causal : une valeur effac´ ee est toujours explor´ ee avant les efface- ments qui ont pu mener ` a sa suppression. Ainsi, quand le nombre de demandes de coˆ ut pour un tuple donn´ e est calcul´ e, ce calcul est bas´ e sur des coˆ uts d´ ej` a ´ etablis, et inductivement corrects. In fine, il sera possible de calculer λ comme le minimum de w k(t

S

(t

S

)

S

) sur tous les t S tels que k(t S ) 6= 0.

Initialement, tous les k sont initialis´ es ` a 0 except´ e

`

a la variable i 0 dont le domaine a ´ et´ e ´ epuis´ e et pour laquelle une demande de coˆ ut est associ´ ee ` a chaque valeur afin de pouvoir augmenter w (ligne 1). Une valeur (i, a) extraite de P (ligne 2) a ´ et´ e effac´ ee par manque de support sur la variable tueur(i, a) = j. Si cet effacement est n´ ecessaire pour expliquer le wipe- out (ligne 3), le manque de support peut ˆ etre dˆ u au fait que :

1. la paire (a, b) est interdite par c ij dans Bool(P) ce qui veut dire que w ij (a, b) 6= 0 (ligne 5). Le parcours arri` ere des effacements peut s’arrˆ eter, le nombre de demande de coˆ ut faites sur la paire (a, b) (ligne 6) et λ (ligne 7) sont alors mis ` a jour.

2. sinon, la valeur (j, b) a ´ et´ e effac´ ee et k((i, a)) de-

mandes de coˆ ut lui sont transmises. Notez que si

diff´ erentes valeurs de la variable i effectuent des

demandes de coˆ ut sur la valeur (j, b), il suffira

de r´ epondre ` a la demande maximum car une ex-

tension de coˆ ut vers w ij fournit des coˆ uts ` a tous

les w ij (a, b). Pour maintenir ce maximum, nous

utilisons une autre structure de donn´ ees, not´ ee

(7)

k i ((j, b)), pour stocker le nombre de demandes maximum de coˆ ut effectu´ ee par i sur (j, b). On a donc k((i, a)) = P k j ((i, a)). Ici, si le nombre de demandes est sup´ erieur au maximum d´ ej` a en- registr´ e (ligne 8), k i ((j, b)) (ligne 9) et k((j, b)) (ligne 10) doivent ˆ etre mis ` a jour. Si aucun coˆ ut unaire w j (b) n’explique l’effacement de (j, b), cela signifie que (j, b) a ´ et´ e effac´ e par le filtrage par AC et il est n´ ecessaire de poursuivre le parcours de la raison de l’effacement de (j, b) r´ ecursivement (ligne 11). Sinon, ce parcours peut s’arrˆ eter ` a (j, b) et λ est mis ` a jour (ligne 12).

La derni` ere phase est d´ ecrite dans l’algorithme 3.

Elle modifie directement le WCSP original en appli- quant les transformations identifi´ ees dans la phase pr´ e- c´ edente, dans l’ordre inverse, via la pile R. Comme le th´ eor` eme 1 le montre, le nouveau WCSP aura un w augment´ e de λ.

Algorithme 2 : VAC - Phase 2 : Calcul de λ Initialiser tous les k, k j ` a 0, λ ← m ;

i 0 ← Instrumented-AC() ; si (i 0 = 0) alors retourner ; pour tous les a ∈ D i

0

faire

k((i, a)) ← 1, M(i, a) ← vrai;

1

si (w i (a) 6= 0) alors

M (i, a) ← faux λ ← min(λ, w i (a)) ; tant que (P 6= ∅ ) faire

(i, a) ← P.P op() ;

2

si (M (i, a)) alors

3

j ← tueur(i, a) ; R.P ush(i, a) ; pour tous les b ∈ D j faire

4

si (w ij (a, b) 6= 0) alors

5

k((i, a), (j, b)) ← k((i, a), (j, b)) + k((i, a)) ;

6

λ ← min(λ, k((i,a),(j,b)) w

ij

(a,b) ) ;

7

sinon si (k((i, a)) > k i ((j, b))) alors

8

k i ((j, b)) ← k((i, a)) ;

9

k((j, b)) ← k((j, b)) + k((i, a)) − k i ((j, b)) ;

10

si (w j (b) = 0) alors M (j, b) ← vrai ;

11

sinon λ ← min(λ, k((j,b)) w

j

(b) ) ;

12

Du fait de la structure de donn´ ees k((i, a), (j, b)), l’algorithme a une complexit´ e spatiale en O(ed 2 ). Il est possible de se d´ ebarasser de ces compteurs binaires en observant que les demandes de coˆ ut sur w ij (a, b) ne peuvent provenir que de la variable i ou j. k((i, a)) demandes sont faites par i si tueur(i, a) = j et M (i, a) est vrai, et de mˆ eme de fa¸ con sym´ etrique pour (j, b).

Ainsi, k((i, a), (j, b)) peut ˆ etre calcul´ e ` a la vol´ ee en temps constant ` a partir de tueur, de M et des comp- teurs unaires k. On obtient ainsi une complexit´ e spa-

Algorithme 3 : VAC - Phase 3 : Application des EPT tant que (R 6= ∅ ) faire

(j, b) ← R.P op() ; i ← tueur(j, b) ;

pour tous les a ∈ D i t.q. k j ((i, a)) 6= 0 faire Project( w ij , i, a, −λ × k j ((i, a)) ) ;

k j ((i, a)) ← 0 ;

Project( w ij , j, b, λ × k((j, b)) ) ; UnaryProject( i 0 , λ ) ;

tiale en O(ed).

Une it´ eration de l’algorithme s’effectue en O(ed 2 ).

Ceci est vrai pour la premi` ere passe d` es lors qu’un algo- rithme de filtrage par AC optimal est utilis´ e (l’instru- mentation elle-mˆ eme ´ etant en O(nd)). La 2nd phase est en O(nd 2 ) car il y a au plus nd valeurs dans P et la boucle de la ligne 4 est en O(d). En s’appuyant sur l’astuce r´ eduisant la complexit´ e spatiale ` a O(ed) ci-dessus, la mˆ eme complexit´ e en O(nd 2 ) s’applique

`

a la derni` ere phase. Comme λ peut devenir de plus en plus petit apr` es chaque it´ eration, le nombre d’it´ e- rations de VAC n’a pu ˆ etre born´ e. Pour impl´ ementer VAC, nous avons utilis´ e un seuil ε. Si un nombre fix´ e d’it´ erations ne m` ene jamais ` a une augmentation de w sup´ erieure ` a ε, alors l’´ etablissement de VAC est arrˆ et´ e de fa¸ con pr´ ematur´ e. On parle d’´ etablissement de VAC ε . Le nombre d’it´ erations est alors en O( m ε ).

Quand une it´ eration n’augmente pas le minorant par plus de ε, un goulot d’´ etranglement (un coˆ ut qui a d´ e- termin´ e la valeur de λ) est identifi´ e et les coˆ uts unaires et binaires associ´ es ` a une variable impliqu´ ee dans ce goulot sont ignor´ es dans Bool(P ) dans les it´ erations suivantes.

De fa¸con ` a rapidement collecter des contributions importantes, on remplace Bool(P ) par une version re- lax´ ee mais de plus en plus stricte not´ ee Bool θ (P ). Un tuple t est interdit dans Bool θ (P ) si et seulement si son coˆ ut dans P est plus grand que θ. Apr` es avoir tri´ e la liste des coˆ uts binaires non nuls w ij (a, b) dans un nombre h de sacs (buckets), la s´ equence d´ ecroissante des coˆ uts minimum de chaque sac d´ efinit une s´ equence de seuils (θ 1 , . . . , θ h ). A partir de θ 1 , des it´ erations de VAC sont effectu´ ees ` a un seuil fixe jusqu’` a absence de wipe-out. On passe alors ` a la valeur θ i+1 suivante.

Quand θ h est atteint, un sch´ ema g´ eom´ etrique d´ efinit par θ i+1 = θ 2

i

est utilis´ e et s’arrˆ ete quand θ i ≤ ε.

5 R´ esultats exp´ erimentaux

Dans cette section, nous pr´ esentons le r´ esultat d’ex-

p´ erimentations de VAC ε r´ ealis´ ees sur des probl` emes

(8)

r´ eels et g´ en´ er´ es al´ eatoirement en utilisant toulbar2 1 . Notre impl´ ementation s’appuie sur une repr´ esentation des coˆ uts en virgule fixe. Pour cela, tous les coˆ uts ini- tiaux du probl` eme sont multipli´ es par 1 ε , suppos´ e en- tier. Afin d’exploiter le fait que le probl` eme original r´ esolu est ` a coˆ ut entier, l’algorithme de s´ eparation-

´

evaluation ´ elague d` es lors que dw

ε ×εe ≥ ub o` u ub = m est le majorant global courant (coˆ ut de la meilleure solution connue).

Les tests sont effectu´ es sur un Intel Xeon 3 GHz avec 16 GB de m´ emoire. Notre solveur inclut ´ egalement une m´ ethode de choix de variable dirig´ e par le dernier conflit, effectue de l’´ elimination de variable ` a la vol´ ee et un branchement dichotomique. Lorsque VAC ε est uti- lis´ ee, nous avons fix´ e par d´ efaut ε = 10000 1 . Cette valeur est constante dans tous les tests qui suivent (et semble robuste). Il est possible de maintenir VAC ε pendant la recherche. Chaque it´ eration de VAC ε n´ ecessite une reconstruction de Bool θ (P ), et est donc assez lourde.

De ce fait, la convergence de VAC ε est arrˆ et´ e de fa¸ con pr´ ematur´ ee pendant la recherche en utilisant un seuil θ plus grand que durant le pr´ etraitement. Ceci permet de n’´ etablir VAC que lorsqu’il est capable de fournir des augmentations du minorant cons´ equentes. Pour les probl` emes al´ eatoires, le majorant initial utilis´ e est ´ egal

` a 0.

Instances g´ en´ er´ ees al´ eatoirement Le premier jeu d’instances est form´ e de Max-CSP al´ eatoires. Nous avons utilis´ e les probl` emes de [5]. Ce sont les jeux

“Sparse Tight”, “Dense Tight” et “Complete Tight”

(ST, DT, CT, 32 variables, 10 valeurs, 50 instances par classe) sur lesquelles le filtrage par VAC ε et OSAC fournit des minorants non triviaux. La table ci-dessous donne le temps n´ ecessaire et la qualit´ e moyenne du mi- norant (lb) obtenu apr` es filtrage par EDAC, VAC ε et OSAC :

ST DT CT

lb temps lb temps lb temps

EDAC 16 <.01s 18 <.01s 40 <.01s

VAC

ε

25 .06s 28 .09s 49 .25s

p r´et ra it em en t

OSAC 27 10.5s 32 2.1s 74 631s Comme on l’attendait, OSAC fournit toujours les minorants les plus forts. VAC ε fournit un minorant qui est 8% (ST) ` a 33% (CT) plus faible que celui d’OSAC en ´ etant plus rapide d’un ou deux ordres de grandeur.

Pour ´ evaluer l’efficacit´ e de VAC ε sur des probl` emes sous-modulaires binaires, nous avons g´ en´ er´ e des pro- bl` emes al´ eatoires sous-modulaires permut´ es. Au ni- veau unaire, chaque valeur re¸ coit un coˆ ut de 0/1 avec la mˆ eme probabilit´ e. Les fonctions de coˆ ut sous- modulaires binaires peuvent ˆ etre d´ ecompos´ ees en une

1

http ://carlit.toulouse.inra.fr/cgi-bin/awki.cgi/ToolBarIntro.

somme de generalized interval functions [3]. Ces fonc- tions sont d´ efinies par un coˆ ut fixe (nous avons uti- lis´ e 1) et une valeur a (resp. b) dans chacune des va- riables impliqu´ ees. Nous avons additionn´ e ensemble d fonctions de ce type en utilisant des valeurs al´ eatoires pour a et b ´ echantillonn´ ees de fa¸con uniforme dans les domaines pour g´ en´ erer chaque fonction de coˆ ut sous- modulaire binaire. les domaines des variables sont en- suite permut´ es pour cacher la sous-modularit´ e.

La table ci-dessous montre que le maintien de VAC ε permet de rapidement surpassser EDAC sur ces ins- tances. Les probl` emes consid´ er´ es ont de 100 ` a 150 variables, 20 valeurs par variable, et de 900 ` a 1450 fonctions de coˆ ut. 10 instances sont consid´ er´ ees par classe. Le temps CPU donn´ e pour la r´ esolution des probl` emes inclut la preuve d’optimalit´ e (un tiret in- dique un temps de plus de > 10 4 secondes) :

n vars 100 110 120 130 140 150

EDAC 17 85 135 433 1363 -

VAC ε 0.31 0.34 0.37 0.36 0.77 1.17

Affectation de fr´ equences Le probl` eme d’affectation de fr´ equence (RLFAP) [2] consiste ` a affecter des fr´ e- quences ` a un ensemble de liens de communication ra- dio de fa¸ con ` a ce que les diff´ erents liens puissent op´ e- rer simultan´ ement sans interf´ erence notable. Certaines instances de ce probl` eme peuvent se mod´ eliser simple- ment sous forme de CSP pond´ er´ e binaire.

Nous avons d’abord compar´ e VAC ε ` a OSAC et EDAC en pr´ etraitement seulement. Les instances de RLFAP du C ´ ELAR (que nous remercions ici) sont dis- tribu´ ees dans leur formulation originale ou pr´ etrait´ ees par une combinaison d’analyse de dominance et de sin- gleton AC pond´ er´ ee. Un indice r dans le nom de l’ins- tance identifie les instances r´ eduites pr´ etrait´ ees (avec le mˆ eme coˆ ut optimal que les instances originales).

La table ci-dessous montre que VAC ε est plus rapide qu’OSAC d’un ` a deux ordres de grandeur et fournit un minorant proche de celui d’OSAC sur les instances ouvertes graph11 r et graph13 r .

scen07

r

scen08

r

graph11

r

graph13

r

EDAC 10000 6 2710 8722

VAC

ε

29498 35 2955 9798 lb OSAC 31454 48 2957 9798 VAC

ε

211s 86s 3.5s 29s p r´et ra it em en t c p u

OSAC 3530s 6718s 492s 6254s

Nous avons tent´ e de r´ esoudre ces instances en main-

tenant simultan´ ement EDAC (utile pour guider les

heuristiques car cr´ eant des coˆ ut unaires et VAC ε . Du-

rant la recherche, VAC ε a ´ et´ e arrˆ et´ e ` a θ = 10/ε pour

toutes les instances. Le choix de cette valeur a une

influence sensible sur les temps de calcul et m´ erite

sans doute d’ˆ etre ajust´ ee selon les probl` emes. La table

(9)

ci-dessous donne les r´ esultats sur l’instance scen06 et sur les instances ouvertes graph11 et graph13 (voir fap.zib.de/problems/CALMA) pour lesquelles une preuve d’optimalit´ e est fournie pour la premi` ere fois, aussi bien dans leur forme r´ eduite qu’originale. Le ma- jorant initial fourni est le coˆ ut de la meilleure solution connue. Dans les deux cas, ce majorant ´ etait effecti- vement un optimum. La table donne pour chaque ins- tance le nombre de variables, le nombre total de va- leurs, de fonctions de coˆ ut, le temps CPU pour EDAC seul, le nombre de nœuds d´ evelopp´ es avec VAC, le temps CPU avec VAC et le nombre total d’it´ erations VAC (nb. iter). Nous avons observ´ e que le nombre de demandes de coˆ ut k lors d’une it´ eration VAC peut ˆ etre

´ elev´ e, avec une valeur moyenne de 16 dans certaines r´ esolutions des instances graph.

nb. nb. nb. EDAC VAC VAC nb.

var. val f.c. cpu nœuds cpu iter gr11

r

232 5747 792 - 1536 18.2s 973 gr11 340 12820 1425 - 2 · 10

5

217min. 2.6 · 10

5

gr13

r

454 13153 2314 - 32 62s 1893 gr13 458 17588 4815 - 114 254s 9486 sc06 82 3274 327 39min. 2 · 10

6

155min. 3 · 10

6

Affectation d’entrepˆ ots Nous avons test´ e le pr´ e- traitement par VAC ε sur des instances de probl` eme d’affectation d’entrepˆ ots (uncapacited warehouse location problem ou UWLP, d´ ecrit et mod´ elis´ e comme CSP pond´ er´ e dans [12] et [8] respectivement). Les temps de r´ esolution sur les instances capmq1-5 (600 variables, 300 valeurs max. par variable et 90000 fonc- tions de coˆ uts), capa, capb et capc (1100 variables, environ 90 valeurs par variable et 101100 fonctions de coˆ ut) sont donn´ es dans la table ci-dessous :

mq1 mq2 mq3 mq4 mq5 a b c EDAC 2508 3050 2953 7052 7323 6179 - - VAC

ε

2279 3312 2883 4024 8124 3243 4343 2751 CPLEX

ε

622 1022 415 1266 2357 3 4.5 13

Ces instances ont ´ egalement ´ et´ e r´ esolues en utilisant le moteur de programmation lin´ eaire en nombres entiers CPLEX 11.0 sur une formulation directe du probl` eme.

Il faut noter que, du fait du large intervalle de varia- tion des coˆ uts dans ces instances, repr´ esent´ es par des nombres flottants dans CPLEX, la preuve d’optimalit´ e de CPLEX n’est pas v´ eritablement garantie, contraire- ment ` a VAC, utilisant une repr´ esentation exacte. Les r´ esultats d’OSAC ne sont pas donn´ es car la g´ en´ eration du programme lin´ eaire d´ epasse la capacit´ e machine sur ces instances.

6 Travaux connexes

Comme OSAC [5], VAC cherche ` a atteindre une re- formulation d’un probl` eme via des transformations au niveau arc maximisant la valeur de la fonction de coˆ ut constante. OSAC identifie un ensemble de transforma- tion au niveau arc qui appliqu´ ees simultan´ ement four- nissent une reformulation optimale. VAC tente seule- ment de construire des s´ equences de transformations qui appliqu´ ees s´ equentiellement augmente la valeur de la fonction de coˆ ut constante.

L’exploitation de coh´ erences locales classiques pour fournir des minorants de CSP pond´ er´ es ou d’ins- tances Max-SAT n’est pas nouvelle. Dans les Max- CSP, [14] utilise des sous-probl` emes arc-incoh´ erents ind´ ependants pour fournir un minorant. De fa¸ con simi- laire, [13] s’appuie sur des ensemble de clauses disjoints d´ etect´ es comme incoh´ erents par propagation unitaire (UP) pour fournir un minorant. Ces approches ne transforment pas les probl` emes trait´ es et exploitent le fait que les probl` emes incoh´ erents d´ etect´ es sont in- d´ ependants, permettant de simplement additionner les coˆ uts correspondants. Elles n’ont pas le caract` ere in- cr´ emental des coh´ erences locales.

Pour les probl` emes Max-SAT, [9] exploite ´ egalement les incoh´ erences d´ etect´ ees par UP pour construire des s´ equences de transformations enti` eres mais possible- ment au del` a du niveau arc ce qui implique la g´ en´ e- ration de clauses pond´ er´ ees (fonctions de coˆ ut) d’arit´ e plus large que 2. Notre approche reste au niveau arc en autorisant des mouvements de coˆ ut dans Q . Elle peut ˆ

etre vue comme une g´ en´ eralisation non triviale (ca- pable de traiter les cas non bool´ eens et non binaires) de l’algorithme de construction du “roof-dual” bas´ e sur un algorithme de flot maximum utilis´ e en optimisation pseudo-bool´ eenne quadratique [1]. Elle est tr` es proche de l’algorithme “Augmenting DAG” propos´ e ind´ epen- demment par [18] pour le traitement de grammaires bi-dimensionnelles, et r´ ecemment traduit dans [19].

7 Conclusion

Cet article montre comment la coh´ erence d’arc clas- sique peut ˆ etre utilis´ ee pour identifier des s´ equences de transformations au niveau arc permettant d’aug- menter la fonction de coˆ ut constante. En autorisant la manipulation de coˆ uts rationnels, VAC est capable de fournir des minorants renforc´ es en se limitant aux op´ erations de niveau arc, permettant d’obtenir une in- cr´ ementalit´ e importante dans une recherche arbores- cente.

Notre algorithme pour ´ etablir VAC reste tr` es pr´ eli-

minaire. Une part du travail r´ ealis´ e ` a chaque it´ eration

reste inutile et pourrait ˆ etre r´ eexploit´ e aux it´ erations

(10)

suivantes (certains effacements hors du sous-ensemble minimal identifi´ e). La derni` ere phase de l’algorithme effectuant implicitement une relaxation de Bool(P ) ` a chaque it´ eration, l’utilisation d’algorithmes d’AC dy- namiques pourrait ˆ etre judicieuse. L’utilisation d’heu- ristiques dans l’algorithme instrument´ e de filtrage par AC m´ erite aussi d’ˆ etre ´ etudi´ e car l’augmentation de coˆ ut obtenue ` a chaque it´ eration d´ epend de la preuve d’incoh´ erence de Bool(P) construite. Bien que fonda- mentalement diff´ erent d’un algorithme de flot maxi- mum, VAC pourrait sans doute tirer parti des am´ e- liorations propos´ ees dans les algorithmes de flot maxi- mum r´ ecents. Enfin, l’algorithme pr´ esent´ e a ´ et´ e im- pl´ ement´ e sur des fonctions de coˆ ut binaires mais il s’´ etend aux fonctions de coˆ ut non binaires et ` a d’autres structures de valuations, qui devrait permettre de trai- ter les probl` emes Max-SAT ou de recherche d’explica- tion de probabilit´ e maximum dans les r´ eseaux proba- bilistes (bay´ esiens ou markoviens). L’instrumentation de contraintes globales dures pour ´ etablir VAC consti- tue une autre direction de recherche int´ eressante.

Remerciements Nous voudrions remercier Tomas Werner pour les discussions autour de l’algorithme

“Augmenting DAG”. Ce travail a ´ et´ e en partie financ´ e par l’Agence Nationale de la Recherche (projet STAL- DECOPT).

R´ ef´ erences

[1] E. Boros and P. Hammer. Pseudo-Boolean Op- timization. Discrete Appl. Math., 123 :155–225, 2002.

[2] B. Cabon, S. de Givry, L. Lobjois, T. Schiex, and J.P. Warners. Radio link frequency assignment.

Constraints, 4 :79–89, 1999.

[3] DA. Cohen, MC. Cooper, PG. Jeavons, and AA. Krokhin. A Maximal Tractable Class of Soft Constraints. Journal of Artificial Intelligence Re- search, 22 :1–22, 2004.

[4] DA. Cohen, MC. Cooper, PG. Jeavons, and AA.

Krokhin. The complexity of soft constraint sa- tisfaction. Artificial Intelligence, 170(11) :983 – 1016, August 2006.

[5] MC. Cooper, S. de Givry, and T. Schiex. Optimal soft arc consistency. In Proc. of IJCAI-07, pages 68–73, Hyderabad, India, January 2007.

[6] MC. Cooper and T. Schiex. Arc consistency for soft constraints. Artificial Intelligence, 154 :199–

227, 2004.

[7] MC. Cooper. Minimization of locally-defined sub- modular functions by Optimal Soft Arc Consis- tency. Constraints, 13(4), 2008.

[8] S. de Givry, M. Zytnicki, F. Heras, and J. Lar- rosa. Existential arc consistency : Getting closer to full arc consistency in weighted csps. In Proc.

of IJCAI-05, pages 84–89, Edinburgh, Scotland, 2005.

[9] F. Heras, J. Larrosa, and A. Oliveras. MiniMax- Sat : A New Weighted Max-SAT Solver. In Proc.

of SAT’2007, number 4501 in LNCS, pages 41–55, Lisbon, Portugal, May 2007.

[10] PG. Jeavons and MC. Cooper. Tractable constraints on ordered domains. Artificial Intel- ligence, 79(2) :327–339, December 1995.

[11] L. Khatib, P. Morris, R. Morris, and F. Rossi.

Temporal constraint reasoning with preferences.

In Proc. of the 17 th IJCAI, pages 322–327, Seat- tle, WA, 2001.

[12] J. Kratica, D. Tosic, V. Filipovic, and I. Ljubic.

Solving the Simple Plant Location Problems by Genetic Algorithm. RAIRO Operations Research, 35 :127–142, 2001.

[13] CM. Li, F. Many` a, and J. Planes. Exploiting Unit Propagation to Compute Lower Bounds in Branch and Bound Max-SAT Solvers. In Proc of CP-05, number 3709 in LNCS, pages 403–414, Sitges, Spain, 2005.

[14] JC. R´ egin, T. Petit, C. Bessi` ere, and JF. Puget.

New Lower Bounds of Constraint Violations for Over-Constrained Problems. In Proc. of CP-01, number 2239 in LNCS, pages 332–345, Paphos, Cyprus, December 2001.

[15] T. Schiex. Arc consistency for soft constraints.

In Proc. of CP-00, volume 1894 of LNCS, pages 411–424, Singapore, 2000.

[16] T. Schiex, H. Fargier, and G. Verfaillie. Valued constraint satisfaction problems : hard and easy problems. In Proc. of IJCAI-95, pages 631–637, Montr´ eal, Canada, August 1995.

[17] D. Schlesinger. Exact Solution of Permuted Sub- modular MinSum Problems. In Energy Minimi- zation Methods in Computer Vision and Pattern Recognition, number 4679/2007 in LNCS, pages 28–38, August 2007.

[18] MI. Schlesinger. Sintaksicheskiy analiz dvu- mernykh zritelnikh signalovv usloviyakh pomekh (Syntactic analysis of two-dimensional visual si- gnals in noisy conditions). Kibernetika, 4 :113–

130, 1976.

[19] T. Werner. A Linear Programming Approach to Max-sum Problem : A Review. IEEE Trans.

on Pattern Recognition and Machine Intelligence,

29(7) :1165–1179, July 2007.

(11)

[20] M. Zytnicki, C. Gaspin, and T. Schiex. A new local consistency for weighted CSP dedicated to long domains. In Proceedings of the 2006 ACM Symposium on Applied Computing, pages 394–

398, Dijon, France, April 2006.

Références

Documents relatifs

Langue et terminolgie économique.

Seconde solution : on voit qu’il existe deux 3-Sylow S et T tels que I := S ∩ T est non trivial, i.e. Alors on est exactement dans la situation de la seconde solution de la question

-Enfants de 6 à 8 ans : (14 jours)Trésor des Dunes : Partir à la recherche du trésor et rechercher les énigmes avec 1 séance de voile sur Optimist

On consid`ere une barre homog`ene de masse n´egligeable et de lon- gueur l, susceptible de tourner sans frottement autour de l’axe ho- rizontal Ox et soumise en O ` a l’action

— Le langage naturel (sorte mixe entre le fran¸cais et un langage de programmation) ; mais aucune cr´ eature ne peut le comprendre, donc nous ne l’utiliserons qu’au d´ ebut pour

Pour une valeur se trouvant à l'adresse (de mémoire vive) désignée par le ontenu d'uno. registre (de seize bits, puisque 'est la taille du déplaement), on indique le nom de

Pour les deux autres, vous devez dans un premier temps d´ erouler les algorithmes ` a la main puis, dans un deuxi` eme temps, v´ erifier si vous trouvez la mˆ eme solution avec

La p~che thonière s'Intéresse traditionnellement à 3 espèces (albacore, listao, patudol qui sont exploitées, d'une part, par une flottille basée à Dakar constituée de 19