Actes JNPC’03 Algorithmes de filtrage arc consistant et 3-inverse consistant pour l’allocation de fréquences avec niveaux de relaxations Alvernhe Eric Centre LGI2P, Ecole des Mines d’Alès Site EERIE, Nı̂mes email: [email protected] 1 Michel Vasquez Centre LGI2P Ecole des Mines d’Alès Site EERIE, Nı̂mes email: [email protected] Introduction Cette étude présente des algorithmes de filtrage dédiés au problème de l’allocation de fréquences avec relaxations. Tenant compte de la sémantique des contraintes, des procédures spécifiques sont utilisées pour calculer les consistances locales. Le premier filtrage implémenté est l’AC. Nous étudions ensuite la 3-consistance inverse sur certains types de contraintes. Nous avons comparé dans une étude expérimentale les temps de l’algorithme AC3 et ceux de notre algorithme qui tient compte des spécificités des contraintes. 2 Conventions et quelques références sur les réseaux de contraintes Les fondements des réseaux de contraintes sont définies dans [U.M74]. Le filtrage associé à la consistance d’arc AC [Wal75] est le plus utilisé. Les n variables xi (i ∈ [1, n]) du réseaux de contraintes ont pour domaine Di et pour éléments les vi . Dans la suite, une contrainte entre xi et xj est notée Cij . Notre algorithme de fermeture par arc consistance est constitué classiquement de : – la procédure révise(xi , xj ) : déterminer les valeurs des variables xi et xj qui vérifient la consistance d’arc pour une contrainte Cij , – la procédure de propagation(xk , xj ) : mettre à jour le domaine xk par suppression des valeurs devenues inconsistantes suite à la suppression d’une valeur dans Dj . L’algorithme réalisant la fermeture par arc consistance AC3 a été proposé par Mackworth [Mac77]. D’autres algorithmes ont été développés pour calculer l’arc consistance[BR]. La 341 342 k-consistance inverse est proposée par Freuder et Elfe [FE96]. La k-inverse consistance pour k = 3 est aussi appelé ”Path Inverse Consistency” (P IC). 3 Contraintes du problème d’allocation de fréquences La sémantique des contraintes que nous avons eu à traiter sont : – Les contraintes impératives (CI) : |fi − fj | = εij et |fi − fj | = εij , – écart minimal entre les fréquences (CEM ) : |fi − fj | ≥ εij . Pour contrôler le niveau de dégradation des contraintes CEM il a été introduit un niveau de relaxation r. Plus précisément, soient CEMr les contraintes pour lesquelles une relaxation progressive est autorisée : |fi − fj | ≥ ε0ij ≥ ε1ij ≥ ... ≥ εrij ≥ ... ≥ ε10 . ij Une solution réalisable au niveau r est l’assignation d’une fréquence à chaque trajet qui satisfait toutes les CI et toutes les CEMr . Un tel problème est appelé r–réalisable. On peut ainsi considérer ce problème comme 11 CSP et donc utiliser un filtrage pour chacun d’eux. 4 Un algorithme d’AC pour le FAP avec niveaux de relaxation Le domaine arc consistant de Di est noté Direv . Dans les structures de données, les valeurs des domaines sont indexées et triées par l’ordre naturel. min(D) et max(D) renvoient les valeurs des extremums de D en O(1). L’opération de translation notée D +x translate l’ensemble des valeurs d’un domaine d’un vecteur x en O(1). majorant(v, D) et minorant(v, D) renvoient respectivement le plus petit élément (resp le plus grand) supérieur ou égal (resp inférieur ou égal) à une valeur v dans un ensemble D en log(d). La suppression d’un élément v à un ensemble D est noté D − {v} et sa complexité est O(log(d)). Enfin D ∪ D et D ∩ D sont en O(d). 4.1 Procédures pour la contrainte d’inégalité d’écart |vi − vj | = εij – si Dj = {vj } alors Direv = Di − {vj − εij ,vj + εij }, – si Dj = {vj , vj + 2 ∗ εij } alors Direv = Di − {vj + εij }. – sinon toute valeur de Di est consistante (Direv = Di ), révise n’utilise que l’opération suppression, sa complexité est donc O(log(d)). Propagation : On propage la suppression d’une valeur (xi , vi ) sur les contraintes de différences d’écart Cik si |Direv | ≤ 2. 4.2 Procédures pour la contrainte d’égalité d’écart : |vi − vj | = εij Direv = ((Dj + εij ) ∩ Di ) ∪ ((Dj − εij ) ∩ Di ). La fonction révise a donc une complexité en O(d). Propagation : Une valeur (xi , vi ) supporte les valeurs vi +εik et vi −εik du domaine Dk de xk pour la contrainte |fi − fk | = εik . Si vi est supprimée, on supprime (xk , vi +εik ) (resp (xk , vi − εik )) de Dk si vi + 2 ∗ εik (resp si vi − 2 ∗ εik ) n’appartient pas à Di . 343 4.3 Procédures pour la contrainte d’écart minimal : |vi − vj | ≥ εij Calcul de la fonction révise : Direv = Di ∩ (] − ∞, max(Dj ) − εij ] ∪ [min(Dj ) + εij , +∞[) La fonction révise a la complexité de l’opération intersection et union : O(d). Propagation : On propage la suppression des valeurs sur les CEM Cik si les extremums de Di sont supprimés. 5 3-consistance inverse (PIC) pour les contraintes du FAP L’étude porte sur les triplets de variables reliées par trois contraintes (ces sous-réseaux sont appelés 3-clique) ne comportant que des CEM . Dans la suite, un ordonnancement p = (xj , xi , xk ) signifie que les affectations des variables xi , xj , xk vérifient vj ≤ vi ≤ vk . 5.1 PIC sur les 3-cliques de CEM Alain Hertz, David Schindl et Nicolas Zufferey, [HSZ] proposent un algorithme pour faire un filtrage sur les 3-cliques CEM . C’est une recherche de support suivant les 6 façons d’ordonner les variables. Le principe est présenté pour x1 , le traitement des deux autres variables étant symétriques. Pour les 6 ordonnancements p possibles, on calcule deux valeurs v2p et v3p . Une valeur v1 vérifie la 3-consistante inverse par un de ces ordonnancements si et seulement si une des 6 affectations ((x1 , v1 ), (x2 , v2p ), (x3 , v3p )) est compatible avec les 3 CEM . L’algorithme d’Alain Hertz et al [HSZ] fait ce test pour chaque élément (x1 , v1 ). Or chaque ordonnancement donne en fait un intervalle [minp , maxp ] de valeurs possibles pour x1 , les valeurs v1p et v3p sont définies comme pour le premier algorithme. Le domaine consistant de x1 est l’intersection de Di avec l’union des 6 intervalles obtenus. 5.2 P IC sur les 3-Cliques avec 2 CEM et une contrainte d’égalité d’écart P IC n’est vérifiée sur ce type de 3-clique que si l’écart ε13 de la contrainte d’égalité est inférieur à la somme des écarts des CEM soit ε13 < ε12 + ε23 (C13 est la contrainte d’égalité et C12 , C23 les CEM ). Dans ce cas, les ordonnancements x1 < x2 < x3 et x3 < x2 < x1 ne peuvent pas définir des valeurs compatibles avec v1 . Nous ne calculons que les quatre paires (v1 , v1 + ε13 ) et (v1 , v1 − ε13 ) placées le plus à droite et le plus à gauche que permettent D1 et D3 . Une valeur v2 est consistante si et seulement si elle est compatible avec au moins une de ces paires. Une valeur v1 est consistante si elle peut être étendue à v1 + ε13 ou v1 − ε13 pour x3 et un extremum pour x2 . Le calcul du domaine consistant de x3 est similaire à celui de x1 . Le calcul de la consistance est linéaire. 5.3 Calcul incrémental de consistance pour les niveaux de relâchement Entre deux niveaux r consécutifs, le calcul de la fermeture par arc consistance n’est réitéré que sur les CEM où la valeur d’écart a augmenté. On procède ainsi incrémentalement. 344 6 Résultat des filtrages Par manque de place, on ne peut publier le tableau comparatif des temps obtenus entre AC3 générique et notre algorithme. Les expérimentations sont faites sur le benchmark du FAPP du challenge ROADEF’01. Le nombre de valeurs supprimées par les filtrages est compris entre 90% et 99% pour 14 instances, et entre 35% et 84% pour les autres. Pour 17 instances, de meilleurs résultats sont obtenus par P IC. P IC améliore encore les résultats pour 14 instances. Enfin les temps obtenus sont les résultats les plus importants. Aucune exécution de nos algorithme ne prend plus de 21 secondes même pour des instances de 3000 variables. L’éxecution de notre algorithme est en moyenne 16 fois plus rapide que celle d’AC3. 7 Conclusion Dans cet article, nous avons proposé une implémentation du filtrage AC3 pour le réseau de contraintes du FAP avec niveaux de relaxations. Le fait que l’on connaisse la sémantique particulière des contraintes permet de concevoir des traitements spécifiques. C’est ainsi que nous avons diminué les temps de calcul de façon très significatives. Nous proposons ensuite un filtrage apportant une amélioration qualitative. Ce filtrage est associé à la propriété de 3-consistance inverse. Ce deuxième traitement s’est avéré pertinent du point de vue de la réduction de l’espace de recherche. Références [BR] C. Bessière and J.C Regin. Using bidirectionnality to speed-up arc-consitency processing. M.Meyer, Constraint Processing volume 923 of lecture Notes in Computer Science, page 157. [FE96] E. Freuder and C.D Elfe. Neighborood inverse consistency preprocessing. Proceedings of AAAI-96, pages 202–208, 1996. [HSZ] A. Hertz, D. Schindl, and N. Zufferey. A tabu search algorithm for the frequency problem with polarisation. [Mac77] A.K. Mackworth. Consistency in networks of relations. Artificial Intelligence, (8) :99–118, 1977. [U.M74] U.Montanari. Networks of constraints : Fundamental properties and applications to picture processing. Information Science, (7(2)) :95–132, 1974. [Wal75] D.L. Waltz. Understanding line drawing of scenes with shadows. Psychology of Computer Vision McGraw Hill, pages 19–91, 1975.