Algorithmes de filtrage arc consistant et 3

publicité
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.
Téléchargement