Articulo de referencia

Algoritmo de intercambiabilidad

En informática , un algoritmo de intercambiabilidad es una técnica que se utiliza para resolver de forma más eficiente los problemas de satisfacción de restricciones (CSP). Un C...

En informática , un algoritmo de intercambiabilidad es una técnica que se utiliza para resolver de forma más eficiente los problemas de satisfacción de restricciones (CSP). Un CSP es un problema matemático en el que los objetos, representados por variables, están sujetos a restricciones sobre los valores de dichas variables; el objetivo en un CSP es asignar valores a las variables que sean consistentes con las restricciones. Si dos variables A y B en un CSP pueden intercambiarse entre sí (es decir, A se reemplaza por B y B por A ) sin cambiar la naturaleza del problema ni sus soluciones, entonces A y B son variables intercambiables . Las variables intercambiables representan una simetría del CSP y, al explotar dicha simetría, se puede reducir el espacio de búsqueda de soluciones para un problema CSP. Por ejemplo, si se han probado soluciones con A = 1 y B = 2, entonces, por la simetría de intercambio, no es necesario investigar soluciones con B = 1 y A = 2.

El concepto de intercambiabilidad y el algoritmo de intercambiabilidad en problemas de satisfacción de restricciones fueron introducidos por primera vez por Eugene Freuder en 1991. [ 1 ] [ 2 ] El algoritmo de intercambiabilidad reduce el espacio de búsqueda de los algoritmos de búsqueda de retroceso , mejorando así la eficiencia de los problemas CSP NP-completos . [ 3 ]

Definiciones

Totalmente intercambiable
Un valor a para la variable v es completamente intercambiable con un valor b si y solo si toda solución en la que v = a sigue siendo una solución cuando se sustituye a por b y viceversa. [ 2 ]
Intercambiable de vecindario
Un valor a para la variable v es intercambiable en vecindad con el valor b si y solo si para cada restricción sobre v , los valores compatibles con v = a son exactamente aquellos compatibles con v = b. [ 2 ]
Totalmente sustituible
Un valor a para la variable v es completamente sustituible por el valor b si y solo si toda solución en la que v = a sigue siendo una solución cuando b se sustituye por a (pero no necesariamente a la inversa). [ 2 ]
Intercambiables dinámicamente
Un valor a para la variable v es dinámicamente intercambiable para b con respecto a un conjunto A de asignaciones de variables si y solo si son completamente intercambiables en el subproblema inducido por A. [ 2 ]

Pseudocódigo

Algoritmo de intercambiabilidad de vecindario

Encuentra valores intercambiables del vecindario en un CSP. Repetir para cada variable:

Construye un árbol de discriminación mediante:
Repita esto para cada valor, v:
Repita el procedimiento para cada variable vecina W:
Repita el procedimiento para cada valor w que sea consistente con v:
Muévase a si está presente, construya si no, un nodo del árbol de discriminación correspondiente a w|W [ 2 ]

Algoritmo de intercambiabilidad K

El algoritmo puede utilizarse para encontrar explícitamente soluciones a un problema de satisfacción de restricciones. También puede ejecutarse durante k pasos como preprocesador para simplificar la búsqueda de retroceso posterior.

Encuentra k valores intercambiables en un CSP. Repite el proceso para cada variable:

Construye un árbol de discriminación mediante:
Repita esto para cada valor, v:
Repita esto para cada ( k − 1)-tupla de variables.
Repita esto para cada ( k − 1)-tupla de valores w , que junto con v constituyen una solución al subproblema inducido por W :
Muévase a si está presente, construya si no, un nodo del árbol de discriminación correspondiente a w|W [ 2 ]

Análisis de complejidad

En el caso del algoritmo de vecindario intercambiable, si asignamos el límite del peor caso a cada bucle. Entonces, para n variables, que tienen como máximo d valores para una variable, entonces tenemos un límite de  : O(norted(nortel)d)=O(norte2d2){\displaystyle O(nd(nl)*d)=O(n^{2}d^{2})}.

De manera similar, el análisis de complejidad del algoritmo de k -intercambiabilidad para el peor casoO(nortek1){\displaystyle O(n^{k-1})}, con(k1){\displaystyle (k-1)}-tuplas de variables ydk1{\displaystyle d^{k-1}}, para(k1){\displaystyle (k-1)}-tuplas de valores, entonces el límite es  :O(nortednortekldk1)=O(nortekdk){\displaystyle O(ndn^{kl}d^{k-1})=O(n^{k}d^{k})}.

Ejemplo

Ejemplo de un algoritmo de intercambiabilidad

La figura muestra un ejemplo sencillo de coloración de grafos con colores que representan los vértices, de manera que no haya dos vértices unidos por una arista del mismo color. Se muestran los colores disponibles para cada vértice. Los colores amarillo, verde, marrón, rojo, azul y rosa representan el vértice Y y, por definición, son totalmente intercambiables. Por ejemplo, sustituir el verde por el granate en la solución naranja|X (naranja por X), verde|Y dará como resultado otra solución.

Aplicaciones

En Ciencias de la Computación, el algoritmo de intercambiabilidad se ha utilizado ampliamente en los campos de la inteligencia artificial , problemas de coloración de grafos , marcos de abstracción y adaptación de soluciones. [ 2 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ]

Referencias

  1. ^ Belaid Benhamou y Mohamed Reda Saidi "Razonamiento por dominancia en redes de restricciones binarias no iguales" , Laboratoire des Sciences de l'Information et des Systèmes (LSIS), Centre de Mathématiques et d'Informatique, Francia.
  2. 1 2 3 4 5 6 7 8 Freuder, EC: Eliminación de valores intercambiables en problemas de satisfacción de restricciones . En: Actas de AAAI-91, Anaheim, CA (1991) 227–233
  3. Assef Chmeiss y Lakhdar Sais "Sobre la sustituibilidad del vecindario en CSP" , Universidad de Artrois, Francia Mientras tanto, usted ce.
  4. Haselbock, A.: Aprovechamiento de la intercambiabilidad en problemas de satisfacción de restricciones. En Actas del 13.º IJCAI (1993) 282–287
  5. Weigel, R., Faltings, B.: Compilación de problemas de satisfacción de restricciones. Inteligencia Artificial 115 (1999) 257–289
  6. Choueiry, BY: Métodos de abstracción para la asignación de recursos. Tesis doctoral, EPFL, tesis doctoral n.º 1292 (1994)
  7. Weigel, R., Faltings, B.: Intercambiabilidad para la adaptación de casos en problemas de configuración. En Actas del Simposio de Primavera AAAI98 sobre Razonamiento Multimodal, Stanford, CA, TR SS-98-04. (1998)
  8. Neagu, N., Faltings, B.: Aprovechamiento de la intercambiabilidad para la adaptación de casos. En Actas del 4.º ICCBR01 (2001)
  9. Sustituibilidad dinámica completa mediante codificación SAT por Steven Prestwich, Cork Constraint Computation Centre, Departamento de Informática, University College, Cork, Irlanda