• Aucun résultat trouvé

3.5 La Consistance d’arc ("arc consistency", AC)

3.5.3 Maintien Arc Consistency (MAC)

Le filtrage par consistance d’arc correspond à une étape préalable à la recherche de solution. L’espace de recherche est élagué, puis la recherche est lancée. Cette idée est étendue en entrelaçant le filtrage et l’exploration. À chaque étape de la recherche, une nouvelle phase de filtrage est relancée. La propriété de consistance d’arc n’est plus obtenue une seule fois préalablement à la recherche, mais est en quelque sorte maintenue tout au long de cette recherche.

Le principe de l’algorithme MAC [SF94] est comme suit. L’instanciation d’une variable par une valeur de son domaine est considérée comme la réduction de ce do- maine à la valeur choisie. Cette réduction est donc propagée pour obtenir la consis- tance d’arc. Ce processus est répété lors de chaque instanciation. Cette technique permet d’élaguer considérablement l’espace de recherche, et semble (en l’état actuel des connaissances) présenter le meilleur compromis entre surcoût occasionné par le filtrage et réduction de l’espace de recherche.

Les parties de satisfaction de contrainte de l’algorithme MAC diffèrent de celui de l’algorithme BT. Au lieu de vérifier les contraintes entre la variable actuelle et toutes les variables passées, dans MAC, les contraintes sont vérifiées entre la variable actuelle et toutes les variables futures. Quand une variable va être instantiée,

22 I.4 Méthodes de recherches heuristiques l’algorithme MAC garantit que n’importe quelle valeur restant dans son domaine est compatible avec toute l’instantiation fait jusqu’ici, aucun contrôle de consistance en arrière n’est exigé. Cependant, une étape de restauration doit être exécutée pour regagner l’état précédent quand une instantiation échoue. Une instantiation échoue si le domaine d’une variable future devient vide suite à la propagation de contrainte.

4

Méthodes de recherches heuristiques

Plusieurs études dans CSP s ont montré que l’ordre d’instantiation a un effet potentiellement profond sur l’efficacité d’algorithmes de résolution [BMFL02]. L’ob- jectif d’une heuristique de choix de variable est de limiter la taille du sous-arbre exploré. Diverse heuristiques pour le choix de bon ordre ont été proposées et elles peuvent être divisées en deux catégories :

- L’ordre Statique (SO), dans lequel l’ordre de variables est indiqué avant de commencer la recherche et les agents sont toujours choisis dans cet ordre. Parmi ces heuristiques on cite l’heuristique lexico où les variables sont ordonnées lexicographi- quement, l’heuristique Deg [DM89,DM94] où les variables sont ordonnées selon leur degré, de sorte que la variable avec le degré le plus haut est choisie en premier et l’heuristique W idth où les variables sont ordonnées de façon à minimiser la largeur du graphe de contraintes [F82].

- L’ordre Dynamique (DO), dans lequel le choix de la variable suivante à prendre en compte à n’importe quel point dépend des informations qui sont disponible pen- dant le processus de recherche. L’heuristique dynamique la plus connue est basée sur la taille de domaine (MinDom) [HE80], qui choisit la variable ayant la plus petite taille de domaine. Cette heuristique est basée sur le principe de fail-first qui consiste sur le choix de la variable restreignant le plus possible les domaines des autres va- riables, "To succeed, try first where you are most likely to fail". L’heuristique ddeg, le degré dynamique, réordonne les variables selon le nombre des variables qui sont im- pliquées dans les contraintes avec variables non instanciées. wdeg est une heuristique qui apprend des échecs précédents pour gérer le choix des variables futures. Lors- qu’une contrainte conduit à un dead-end, son poids est incrémenté par un. Chaque variable a un degré pondéré, qui est la somme des poids de toutes les contraintes portant sur cette variable. Cette heuristique peut simplement sélectionner la variable avec le plus grand degré pondéré [BHLS04a].

D’autres méthodes hybrides de sélection ont aussi été suggérées telle que dom+deg [FD95] utilisant la méthode dom pour la sélection prioritaire et deg pour briser les

23 I.5 Problèmes de satisfaction de contraintes dynamiques égalités. Une autre heuristique est le dom+ddeg [FD95] qui brise les égalités en sé- lectionnant la variable ayant le plus grand degré futur. Alternativement, in [BR96], les autres combinent dom avec deg dans une nouvelle heuristique appelé dom/deg. Le dom/deg ne donne pas la priorité à la taille du domaine ou le degré de variables, mais il sélectionne la variable qui minimise le rapport de la taille du domaine actuel au degré statique.

Finalement, d’autres heuristiques de type DVO peuvent être utilisées. Ce sont des heuristiques sélectionnant les variables selon la dureté des contraintes associées à celles-ci. Il faudra, dans ce cas précis, vérifier à quel point une contrainte restreint le problème. Cependant, comme mentionné par [BCS01], le défaut de ces heuristiques est la nécessité de vérifier la dureté des contraintes, ce qui est très gourmand en tests de contraintes

5

Problèmes de satisfaction de contraintes dyna-

miques

Récemment, Beaucoup d’efforts ont été dépensés pour augmenter l’efficacité des algorithmes de satisfaction de contraintes : le filtrage, l’amélioration de retours en ar- rière, l’utilisation d’heuristiques efficaces. Cet Effort a abouti à la conception d’outils de raisonnement contraintes qui ont été utilisées pour résoudre de nombreux pro- blèmes réels. Cependant, toutes ces techniques supposent que l’ensemble de variables et de contraintes, qui composent le CSP, est complètement connu et fixé. Ceci est une limitation forte face à des situations réelles où le CSP considéré peut évoluer en raison de :

— l’environnement : l’évolution de l’ensemble des tâches à accomplir et / ou de leurs conditions d’exécution dans les applications de planification ;

— l’utilisateur : l’évolution des besoins des utilisateurs dans le cadre d’une conception interactive ;

La notion de dynamique CSP (DCSP) [DD88] a été introduit pour représen- ter ce genre de situations. Un DCSP peut être vu comme une séquence de CSPs, où chaque séquence diffère de la précédente par l’ajout ou la suppression de cer- taines contraintes. Il est en effet facile de voir que tous les changements possibles à un CSP (contraintes ou modifications de domaine, ajouts ou suppressions de va- riables) peuvent être exprimés en termes d’ajout, de suppression ou modification de contraintes.

24 I.5 Problèmes de satisfaction de contraintes dynamiques

Definition 5.1 Un problème de satisfaction de contraintes dynamique est défini

par une séquence P0,..., Pk de réseaux de contraintes. Chaque réseau Pi+1 est le résultat de l’application d’une modification élémentaire au problème Pi. Cette modi- fication peut être une restriction ou une relaxation.

Dans le présent document se concentre sur les scénarios où, après une DCSP a été résolu, certaines contraintes ont été ajoutés ou modifiés et que l’ancienne solution doit être réparé à l’aide des résultats de raisonnement précédentes.

Un DCSP doit faire face à un ensemble de changements. Ces changements peuvent être :

— Restriction : de nouvelles contraintes sont imposées sur une paire de variables. — Relaxation : contraintes qui étaient présents dans le CSP sont retirés parce qu’ils ne sont plus intéressant ou parce que le CSP actuelle n’a pas de solution. La suppression d’une contrainte préserve les solutions mais remet en cause toutes les déductions et en particulier tout filtrage ayant pu avoir lieu. L’ajout d’une contrainte préserve les déductions et donc les effets du filtrage mais remet en cause les solutions.

Pour résoudre une telle séquence de CSP, il est toujours possible de résoudre chacun à partir de zéro, comme cela a été fait pour le premier. Mais cette méthode naïve, qui n’a aucun souvenir du raisonnement précédent, présente deux inconvé- nients importants :

— L’inefficacité, ce qui peut être inacceptable dans le cadre d’applications en temps réel (planification, ordonnancement, etc.), où le temps accordé pour la replanification est limité ;

— L’instabilité des solutions successives, qui peuvent être désagréable dans le cadre d’une conception interactive ou une activité de planification, si un cer- tain travail a été commencé sur la base de la solution précédente.

Documents relatifs