Consistencia de arcos
Idea esencial
Un valor de una variable debe tener al menos un valor compatible en la variable situada al otro extremo de la restricción. Ese valor compatible se llama soporte.
Prerrequisito mínimo
En un CSP binario, los nodos representan variables, sus dominios contienen valores posibles y cada arista representa una restricción entre dos variables.
De una arista a dos arcos
Una restricción binaria entre y se examina en dos direcciones:
El arco dirigido es consistente si cada tiene al menos un soporte que satisface la restricción:
La cuantificación explica la asimetría: se revisan todos los valores del dominio situado en la cola del arco, buscando algún soporte en la cabeza. Por eso puede ser consistente aunque no lo sea.
Ejemplo mínimo
Sean
Al revisar :
- tiene soporte , pues ;
- no tiene soporte, porque es falso;
- tampoco tiene soporte.
Se eliminan y de , de modo que . Al revisar el arco inverso , el valor sí tiene como soporte para la relación equivalente .
Operación REVISAR
La consistencia de un arco se logra eliminando del dominio de su variable de origen —la cola del arco— los valores sin soporte:
REVISAR(Xi, Xj):
cambió ← falso
para cada x en D(Xi):
si no existe y en D(Xj) que satisfaga Cij(x, y):
eliminar x de D(Xi)
cambió ← verdadero
devolver cambióEsta operación no inventa asignaciones ni elimina soluciones: un valor sin soporte no puede aparecer en ninguna solución que respete esa restricción.
Visualización: primero el soporte
Empieza con y pregunta para cada valor de : «¿encuentro al menos un soporte en ?». Después observa el arco inverso. Solo al final presta atención a la cola, que pertenece al algoritmo AC-3.
Qué garantiza y qué no
- Si un dominio queda vacío, el CSP no tiene solución bajo la asignación parcial actual.
- Si todos los dominios quedan unitarios, se ha determinado una asignación completa; todavía debe verificarse que las restricciones representadas sean las correctas.
- Si todos los arcos son consistentes y quedan dominios con varios valores, normalmente todavía hace falta búsqueda.
- Consistencia local no implica consistencia global.
Contraejemplo: triángulo con dos colores
Tres variables forman un triángulo, cada una con dominio , y cada arista exige colores diferentes. Cada valor tiene soporte en cada vecino, por lo que todos los arcos son consistentes. Sin embargo, el triángulo no puede colorearse con solo dos colores. La consistencia de arcos no detecta esta incompatibilidad global.
De lo local a lo más fuerte
La consistencia de arcos corresponde a 2-consistencia. La consistencia de caminos examina ternas de variables y equivale a una forma de 3-consistencia en redes binarias. Las nociones más fuertes pueden podar más, pero requieren más tiempo y memoria.
Relaciones
- Forward checking establece consistencia únicamente desde la variable recién asignada hacia sus vecinas futuras.
- AC-3 aplica
REVISARrepetidamente hasta que todos los arcos sean consistentes o aparezca un dominio vacío. - La reducción de dominios alimenta a MRV.
- Es una forma de poda segura.
Referencias
- Russell y Norvig, Artificial Intelligence: A Modern Approach, 4.ª ed., sección 5.2.2, pp. 170–171.
- UC Berkeley CS 188, «Filtering», sección 2.3.
- Alan K. Mackworth, «Consistency in Networks of Relations», Artificial Intelligence, 8(1), 1977, pp. 99–118.
- Diapositivas: problemas de satisfacción de restricciones.