Si la 2B garantit que l'instanciation d'une variable dans son domaine vérifie localement
toutes les contraintes, la 3B le garantit pour l'instanciation de 2 variables.
Ce principe se généralise à la B-consisitance, pour l'instanciation de variables.
Plus est proche du nombre de variables et plus on se rapproche de la consistance globale.
Cependant ces méthodes, pour sont très peu utilisées car elles sont gourmandes en temps
de calcul.
La 3B-consistance pallie au problème de la décomposition des points lorsqu'on
travaille en dimension 2.
En effet, cela signifie que l'instanciation d'un couple de coordonnées
quelconques vérifie localement toutes les contraintes, donc y compris l'instanciation
de deux coordonnées d'un même point. En dimension 3, il faudrait utiliser la 4B-consistance
pour assurer cette propriété.
Définition 2.5 (3B-consistance d'un domaine)
Soit
un
et une variable de
dont le domaine
est . Soient
et
et soient les sous-problèmes suivants :
le
dérivé de en substituant dans
par .
le
dérivé de en substituant dans
par .
On dit que est 3B-consistant ssi
et
.
Définition 2.6 (3B-consistance d'un
)
Un
est 3B-consistant ssi tous ses domaines sont 3B-consistants.
Le principe de la 3B est de vérifier si une borne d'un domaine vérifie localement
chque contrainte du
.
De manière plus concrète, la 3B applique la 2B sur des sous-problèmes dans lesquels une variable
est instanciée par l'une des bornes de son domaine.
L'idée est de réfuter par dichotomie les bornes des domaines des variables.
Ainsi, si est une variable d'un
et
est son domaine,
la 3B va commencer par chercher la borne inférieure de dans l'intervalle :
Si le
équivalent à dans lequel on a remplacé toutes les occurrences de par
est 2B-consistant alors la borne inférieure est dans l'intervalle
.
Si le
équivalent à dans lequel on a remplacé toutes les occurrences de par
n'est pas 2B-consistant alors la borne inférieure est dans l'intervalle
.
Enfin si
alors la borne inférieure est .
Ensuite elle fait de même symétriquement pour la borne supérieure :
Si le
équivalent à dans lequel on a remplacé toutes les occurrences de par
est 2B-consistant alors la borne supérieure est dans l'intervalle
.
Si le
équivalent à dans lequel on a remplacé toutes les occurrences de par
n'est pas 2B-consistant alors la borne supérieure est dans l'intervalle
.
Enfin si
alors la borne supérieure est .
Les divisions par 2 posent des problèmes d'approximations.
Pour garantir qu'aucune solution réelle n'est perdue en cours de route, il faut
arrondir à l'entier supérieur pour les bornes supérieures et à l'entier inférieur pour les bornes inférieures, et ce à chaque division par 2.
est un paramètre de l'algorithme qui permet d'approcher les bornes des domaines des variables avec
une précision donnée.
La 3B-consistance est donc une méthode basée sur la 2B-consistance, permettant d'avoir une
consistance locale plus forte que la 2B, mais qui hérite de ses difficultés, notemment en ce qui
concerne la propagation de l'erreur et la convergence asymptotique. La localité est donc réduite,
mais néanmoins toujours présente, et enfin le problème de la décomposition des points n'est que
partiellement réglé. Dans ce domaine, il serait intéressant de chercher une méthode de filtrage
inspirée par la 3B, mais garantissant la consistance locale non plus pour tout couples de variables
mais uniquement pour tout couples de coordonnées d'un même point. Ceci pourra faire l'objet
d'études complémentaires.
suivant:Complexité monter:Méthodes de filtrage local précédent:La 2B-consistanceTable des matières
Heikel Batnini
2002-10-22