• Aucun résultat trouvé

6 Compression de l’encodage de Dist

A partir d’une large collection de jeux de données, il a été déterminé que la SLC qui semble la plus effi- cace (compromis temps de calcul/précision du mino- rant) empiriquement est EDAC (Existential Directional Arc Consistency) [14,29]. EDAC a une complexité en

O(eda.max(nd, k)) pour e fonctions de coût d’arité

a∈ {2, 3} ; ce qui prouve que, contrairement à ce qui

se passe avec AC sur les fonction booléennes (CSP), chaque table de fonction de coût peut être parcourue plusieurs fois, même à la racine. Pour une approche ité- rative qui nécessite de résoudre M problèmes, optimiser l’encodage devient d’autant plus intéressant.

Dans cette section, nous montrons que l’encodage d’une contrainte Dist en une séquence de n + 1 contraintes ternaires décrites par des tables de taille (δ + 1)2.(n + 1)2.dpeut être réduit de plusieurs façons.

Pour Dist, on sait que les états sd

i ne peuvent être at-

teints qu’après exactement i transitions et sont propres à la variable Qi: les domaines des variables Qi,0 < i <

npeuvent être réduits aux δ + 1 états sd

i. De plus, nos

semi-métriques sont définies par une somme croissante d’éléments positifs de D, donc chaque état sd

i peut at-

teindre l’état acceptant sδ

nssi la dissimilarité maximale

(notée mdi) qui peut être atteinte à partir de la variable

i jusqu’à la variables n est supérieure à δ − d. Toutes

ces dissimilarités maximales peuvent être calculées en amont en un parcours des variables de X, puisque

md1= 0; mdi = mdi−1+maxr,s∈Di×Di+1D(r, s). Dans

le cas de la distance de Hamming, la distance ne peut augmenter que de 1 à chaque variables, et cette valeur est simplement n−i. Un raisonnement symétrique peut être appliqué à partir de l’état initial s0

0. Ces simplifica-

tions réduisent la taille des tables des fonctions de coût

à O((δ + 1)2.d). Même si de tels états non atteignables

seraient systématiquement éliminés par AC dans le cas booléen, un grand nombre d’EPT pourraient être appliquées dans le cas CFN.

6.1 Représentations duale et cachée pour Dist

Pour une matrice de dissimilarité D donnée, on note #D le nombre de valeurs distinctes qui apparaissent dans D. Si les variables ont des domaines de taille inférieure à d, et si on ignore le cas trivial de la matrice nulle, on sait que 2 ≤ #D ≤ 1 +d(d−1)

2 . Cependant,

les matrices de distances sont souvent plus structurées. Pour Hamming H, on a #H = 2. Cela signifie qu’un état sd

i ne peut qu’atteindre les états sdi+1ou sdi+1+1. Pour

exploiter la parcimonie de la matrice de transition, il faut la rendre visible. Pour cela, on peut utiliser les représentations duale ou cachée introduites dans les réseaux de contraintes [4].

En satisfaction de contraintes, la représentation duale d’un réseau de contraintes (un CFN (X, W) avec k = 1) est un nouveau réseau (X0,W0) composé d’une va-

riables XS pour chaque fonction wS ∈ W avec un

domaine défini par tous les n-uplets t ∈ DS tels que

wS(t) 6= k. De plus, pour chaque paire de fonctions

wS, wS0 ∈ W telle que S∩S06= ∅, il existe une fonction

de portée XS et XS0 qui attribue un coût à toutes les

paires de n-uplets des domaines de XSet XS0 de 0 si t[S ∩ S0] = t0[S ∩ S0] et de k sinon.

La représentation cachée de (X, W) est un CFN (X00,W00) qui contient les variables de X et les va-

riables XSdu réseau dual. Pour tout variable XS, et

toute variable Xi ∈ S, W00 contient une fonction de

portée Xi et XSqui attribue un coût de 0 à la paire

(a, t) si t[{Xi}] = a et de k sinon. Dans les CSP [4] ainsi

que dans les CFN [21], il a été montré que ces transfor- mations préservaient l’ensemble des solutions et leur coût. Au lieu d’appliquer ces transformations à toutes les fonctions du CFN, l’idée est de ne les appliquer qu’aux fonctions de décomposition wA

Qi,Xi,Qi+1. La variable duale de wA

Qi,Xi,Qi+1est une variable X

A i

qui contient toutes les paires (s, s0) de Q

i× Qi+1 telles

qu’il existe une transition de s vers s0 dans l’automate.

Dans le cas Hamming, cette variable a au plus 2δ + 1 valeurs. Elle est connectée à la variable Xi par une

fonction binaire qui attribut un coût de 0 à la paire ((s, s0), a) des domaines de XA

i et Xi respectivement

ssi il y a une transition de s vers s0 étiquetée par a et

un coût k sinon. Elle ne contient que O(d.δ) paires. Dans la représentation duale, pour toute paire de variables duales XA

i−1 et XiA, on ajoute une fonction

entre ces deux variables qui attribue un coût de 0 à toute paire ((si−1, s0i−1), (si, s0i)) si s0i−1= siet k sinon.

O(δ2) dans le cas Hamming. Seulement n variables

supplémentaires sont nécessaires.

Dans la représentation cachée, les variables Qi sont

conservées et on crée deux fonctions binaires qui lient chaque Qi avec XiAet XiA−1 respectivement. Elles at-

tribuent un coût 0 aux paires (s00,(s, s0)) ssi s00 = s

pour la fonction liant Qià XiA(respectivement s00= s0

pour la fonction liant Qi à XiA−1). Ces fonctions sont

de taille O(#D.δ2) et O(δ2) dans le cas Hamming.

Les représentations duale et cachée nécessitent la des- cription de O(δ.d+#D2δ2) and O(δ.d+#Dδ2) n-uplets

respectivement (O(δ.d + δ2) dans le cas Hamming) au

lieu des O(d.δ2) n-uplets de wA

Qi,Xi,Qi+1.

7 DiverseSeq glouton

Pour résoudre le problème DiverseSeq(N, D, M, δ), on peut utiliser l’approche gloutonne suivante : nous résolvons le CFN N via un Branch and Bound. Si une solution t est trouvée, elle est ajoutée à la sé- quence de solutions en cours Z. Si M solutions ont été produites, nous nous arrêtons. Sinon, une contrainte Dist(X, t, D, δ) est ajoutée au problème précédent. Nous effectuons une boucle et le résolvons à nouveau. Si aucune solution n’existe, la séquence Z ne peut pas être étendue à la longueur M et le problème n’a pas de solution (mais une séquence plus courte a été produite). Ce schéma peut être amélioré de trois manières qui peuvent chacune offrir des gains exponentiels en temps.

1) les problèmes étant de plus en plus contraints, le filtrage appliqué à l’itération i − 1 reste valide pour les itérations suivantes. Au lieu de redémarrer à partir d’un problème N = (X, W ∪1≤j<i { Dist(X, Z[j], D, δ}),

nous réutilisons le problème résolu à l’itération i − 1 après filtrage pour ajouter la contrainte Dist(X, Z[i − 1], D, δ) et filtrer de nouveau. De plus, les paramètres des heuristiques de choix de variables appris à l’itéra- tion i − 1 sont réutilisés à l’itération i.

2) les problèmes étant de plus en plus contraints, le coût optimal oci obtenu à l’itération i ne peut avoir

un coût inférieur au coût oci−1. Lorsque de grands pla-

teaux sont présents, cela permet d’arrêter la recherche dès qu’une solution de coût oci−1 est atteinte, évitant

ainsi une preuve d’optimalité.

3) même s’il n’y a pas de plateau dans le paysage énergétique, il peut y avoir de grandes régions avec des variations d’énergie similaires. Dans ce cas, la diffé- rence d’énergie entre oci−1 et oci restera similaire pour

plusieurs itérations. Soit ∆h

i = maxmax(2,ih)≤j<i(ocj

ocj−1), la variation maximale dans les dernières h itéra-

tions (h = 5 semble raisonnable). A l’itération i, nous résolvons le problème avec un majorant temporaire

k0 = min(k, oc

i−1+ 2, ∆hi). Si k0 < k, cela entraînera

un déterminisme accru et un élagage éventuellement

plus efficace. Si aucune solution n’est trouvée, le pro- blème est résolu à nouveau avec un majorant initial égal à k. Le majorant est donc prédit.

8 Expérimentations

Nous avons implémenté l’approche itérative décrite ci-dessus au moyen d’une décomposition directe (ter- naire) ainsi que ses versions cachée et duale pour Divmin décomposée en une conjonction de fonctions

Dist au-dessus du solveur de CFN C++ open source toulbar2 [18]. Toulbar2 implémente divers algorithmes de pré-traitement dédiés à l’optimisation exacte. Nous avons dû désactiver au niveau du nœud racine tous les algorithmes de pré-traitement ne préservant pas les solutions sous-optimales : élimination des variables, substituabilité et fusion de variables. Nous avons choisi d’appliquer la cohérence d’arc virtuelle au premier pro- blème résolu. Le coût de calcul de VAC, en O(ed2k

 ),

où  est la plus petite énergie représentable en déci- mal dans la résolution utilisée, est important. Mais il est amorti sur les M résolutions. Lors de la recherche arborescente, la cohérence locale EDAC usuelle a été utilisée. Le code a été exécuté sur un cœur d’un pro- cesseur Xeon E5-2680 à 2,50 GHz avec  = 10−6.

Nous avons utilisé des réseaux Bayésiens issus dehttp://www.bnlearn.com/bnrepositoryde taille

medium, large, very large et massive. Nous avons utilisé

tous les réseaux complets, en l’état. La table1indique le nombre de variables n, la taille de domaine maxi- mum d et le nombre de solutions 4-diverses trouvées en moins de 5 minutes par instance, pour chaque dé- composition. Bien que ce ne soit pas notre objectif principal, dans le cas dual (le plus rapide), nous avons également calculé le nombre de solutions 4-diverses qui sont des 3-modes [11]. Vérifier si une assignation

t est un δ-mode du CFN (X, W) peut être effectué

efficacement en résolvant (X, W ∪ {Dist(X, t, D, −δ)} (Voir Th.2). Pour comparer avec [11], nous donnons également le temps total de calcul pour trouver 4 de ces 3 modes. Ce temps inclut le temps nécessaire pour rechercher tous les modes 4 divers et vérifier s’il s’agit de 3-modes. Ce temps est dominé par le temps de calcul des solutions 4-diverses (la vérification que ce sont des 3-modess a pris moins de 6 minutes au total). Pour les deux problèmes (child et alarm) résolus dans [11], nous obtenons des temps similaires. Le paysage énergétique de chaque problème influe sur la fraction de solutions (δ + 1)-diverses qui sont des δ-modes : sur link et pigs, qui présentent un large plateau, notre approche est très rapide. L’instance hepar2 montre quant à elle un large bassin autour de l’optimum avec de nombreuses solutions 4-diverses mais un seul minimum local.

Nous avons également comparé notre approche glou-

Qualité et diversité garanties dans les réseaux de fonctions de coût par M. Ruffini, J. Vucinic, S. de Givry, G. Katsirelos, S. Barbe, T. Schiex

dual hid 3ary name n d 4-d 3-m cpu 4-d 4-d alarm 37 4 147 28 0.38 128 141 andes 223 2 102 8 4.96 87 110 barley 48 67 126 92 2,74 125 113 child 20 6 172 8 1.65 153 154 diabete 413 21 0 0 TO 0 0 hailfi 56 11 109 24 0.65 92 102 hepar2 70 4 96 1 TO 87 93 insuran 27 5 186 30 0.40 164 153 link 724 4 117 117 6.69 113 93 mildew 35 100 107 25 7.71 100 97 munin 1041 21 16 2 TO 16 14 pathfi 109 63 118 15 2.46 90 124 pigs 441 3 162 162 6.28 134 138 water 32 4 183 17 0.48 161 174 win95 76 2 132 21 0.93 115 119 Table 1 – Pour chaque réseau, nous donnons son nom, nombre de variables et taille de domaine. Pour l’encodage dual, nous donnons le nombre de solutions 4-diverses trouvées en 5 minutes, le nombre de 3-modes et le temps nécessaire pour produire quatre 3-modes, comme dans [11]. Nous donnons ensuite le nombre de solutions 4-diverses produites dans le même temps par l’encodage caché et ternaire.

tonne DiverseSeq à une approche globale optimale permettant de résoudre le problème DiverseSet. Comme décrit dans la section 2, nous avons créé

M = 4 copies du réseau bayésien child (catégorie

medium). Nous avons décomposé chaque contrainte Dist(Xi,Xj, H, δ) sur les ensembles de variables co-

Outline

Documents relatifs