340 likes | 666 Views
Problemas de Satisfacción de Restricciones (CSP). Contenidos: Definición del problema de satisfacción de restricciones (CSP). Áreas de aplicación. Especificación de un problema CSP: variables, dominios y restricciones.
E N D
Problemas de Satisfacción de Restricciones (CSP) Contenidos: • Definición del problema de satisfacción de restricciones (CSP). Áreas de aplicación. • Especificación de un problema CSP: variables, dominios y restricciones. • Tipología de restricciones (discretas y continuas, fuertes y débiles, restricciones lineales, disyuntivas, etc.).
CSP “Constraint Satisfaction is a simple but powerful idea” Rina Dechter, In 'Constraint Processing' Morgan Kaufmann Pub. (2003)
EJEMPLOS 1 • Variables: s,e,n,d,m,o,r,y • Dominios: s,e,n,d,m,o,r,y{0,…,9} • Restricciones • 103(s+m)+102(e+o)+10(n+r)+d+e=104m+103o+102n+y Objetivos s e n d + m o r e m o n e y • Consistencia • Soluciones • Coloreado de Mapas • Variables: x,y,z,w • Dominios: x,y,z,w:{r,v,a} • Restricciones: binarias • x y, yz, z w, ... x y w z El Problema de las 8 Reinas…
EJEMPLOS 2 Juan, Pepe y Paco nacieron y viven en ciudades diferentes (Málaga, Madrid y Valencia). Además, ninguno vive en la ciudad donde nació. Juan es más alto que el que vive en Madrid. Paco es cuñado del que vive en Valencia. El que vive en Madrid y el que nació en Málaga tienen nombres que comienzan por distinta letra. El que nació en Málaga y el que vive ahora en Valencia tienen nombres que comienzan por la misma letra. Donde nació y vive cada uno?
EJEMPLOS 3 • "Juan va de su casa al trabajo en coche (30-40 minutos) o en tren (al menos una hora). Luis va en coche (20-30 minutos) o en metro (40-50 minutos). • Hoy Juan parte de casa entre las 8:10 y las 8:20 y Luis llega al trabajo entre las 9:00 y las 9:10. Además, sabemos que Juan llegó al trabajo entre 10 y 20 minutos después de que Luis saliera de casa“ • Cuestiones: • ¿Esta información es consistente? • ¿Es posible que Juan haya usado el tren y Luis haya usado el Metro? • ¿Cuales son los posibles tiempos en los que Luis pudo haber salido de casa?, etc.
EJEMPLOS 4 • Variables: altura de viga, longitud de viga, canto de forjado • Dominios continuos: altura, longitud : [0, 10] • Restricciones: vibraciones, refuerzos, conexiones, etc. • Consistencia • Intervalos de tolerancia • Soluciones • etc Objetivos
CSP Problemas de Satisfacción de Restricciones CSP Metodología de Resolución de problemas INTELIGENCIA ARTIFICIAL
Definición de CSP • Un Problema de Satisfacción de Restricciones(CSP) • se puede representar como: • Un Conjunto de Variables: X={x1, x2, ..., xn} • Dominios de Interpretación (D = <D1,…,Dn> )para las variables: xiÎDi • Un Conjuntode Restricciones entre las variables: • C ={c1, c2, ..., cm}
Modelización CSP MODELACIÓN CSP Variables Dominios Restricciones (EXPRESIVIDAD) 1) Técnicas Resolución CSP (EFICICIENCIA) RESOLUCIÓN CSP 2)
Modelización 1 • Variables: s,e,n,d,m,o,r,y • Dominios: s,e,n,d,m,o,r,y:{0,…,9} • Restricciones s e n d + m o r e m o n e y Especificación CSP • Variables: s, e, n, d, m, o, r, y • Dominios: s, e, n, d, m, o, r ,y : {0,…,9} • Restricciones: • Todas Diferentes, • 103(s+m) + 102(e+o) + 10(n+r) + d + e= 104m + 103o + 102n + 10e+y
Modelización 2 s e n d + m o r e m o n e y • Variables: s, e, n, d, m, o, r, y • Dominios: s, e, n, d, m, o, r ,y : {0,…,9} • Restricciones: • se, sn, sd, sm, so, sr, sy, en, ed, em,….. • d+e = y+10c1 • c1+n+r = e+10c2 • c2+e+o = n+10c3 • c3+s+m = 10m+o
Resolución s e n d + m o r e m o n e y MODELACIÓN CSP RESOLUCIÓN CSP
Objetivos • Consistenciadel problema (existe solución). • Obtener una o todas las soluciones del problema. • Obtener los dominios mínimos. • La solución que optimiza una función objetivo o multi-objetivo. CSP es NP-completo, NP-duro
Objetivos • Objetivo de un CSP: • Tiene solución? ÞConsistencia. • Obtener una solución. Obtener todas las soluciones. • Obtener una solución óptima, o al menos una buena solución, medida por alguna función objetivo (función de evaluación). • Algoritmos para CSP: • Técnicas de Búsqueda (Algoritmos CSP): Obtienen una solución, guiados por heurísticas. • Técnicas Inferenciales (Algoritmos de propagación): Obtienen las consecuencias de las restricciones explícitamente conocidas del problema.
Conceptos básicos • Dado un CSP (X, Di, C), • Una instanciación (o asignación) de las variables Xes una asignación de valores a las variables en sus dominios: • x1=v1, x2=v2, ..., xn=vn/ viÎD • Una solución del CSP es una instanciación consistente de las variables, de forma que se satisfacen todas las restricciones del problema. • Un valor v es un valor consistente (o posible) para xi si existe una solución del CSP en la cual participa la asignación xi=v. • Un CSP es consistente sii tiene al menos una solución.
Conceptos básicosVariables • Un CSP discreto es aquel en el que todas las variables son • discretas, es decir, toman valores en dominios discretos. • Un CSP continuo es un CSP en el que todas las variables son continuas, es decir, tienen dominios continuos. • Un CSP mixto consta de variables continuas y discretas. • Un CSP binario es aquel en el que todas las restricciones tienen a los sumo dos variables respectivamente. • Un CSP no binario o n-ario es aquel en el que las restricciones • tienen más de dos variables.
Conceptos básicosRestricciones • Discretas: las variables participantes están acotadas en dominios discretos. • Continuas: las variables participantes están acotadas en dominios continuos. • Binarias: son restricciones en las que sólo participan dos variables. • N-arias: son restricciones en las que participan N variables (N>2). • Fuertes (hard): son restricciones cuya satisfabilidad es imprescindible. • Débiles (soft): son restricciones cuya satisfabilidad no es imprescindible. • Difusas (fuzzy): son restricciones definidas sobre niveles de preferencia. • Disyuntivas: son restricciones compuestas por un conjunto disjunto de restricciones.
N-reinas Definición: posicionar n reinas en un tablero de ajedrez n xn, de forma que no se ataquen. Formulación: 1 reina por fila • variables: reinas, Xireina en la fila i-ésima • dominios: columnas posibles {1, 2, . . . , n} • restricciones: no colocar dos reinas en – la misma columna – la misma diagonal Características: • CSP binario, discreto y finito
Coloreado de Grafos Definición: Dado un grafo, • n nodos • m colores, asignar un color a cada nodo de forma que no haya dos nodos adyacentes con el mismo color. Formulación: • variables: nodos • dominios: colores posibles • restricciones: nodos adyacentes Características: • CSP binario, discreto y finito
Crucigrama Definición: Dada una rejilla y un diccionario, construir un crucigrama compatible. Formulación: • variables: grupo de casillas para una palabra (slots) • dominios: palabras del diccionario con la longitud adecuada • restricciones: misma letra en la intersección de dos palabras Características: • CSP binario, discreto y finito (dominios grandes)
Restricciones Temporales Definición: dado un conjunto de sucesos que ocurren en intervalos temporales con ciertas relaciones, encontrar una asignación temporal consistente. Formulación: • variables: sucesos • dominios: intervalo temporal para cada suceso • restricciones: distancia temporal permitida entre sucesos; relaciones temporales antes, después, solapado, etc. Características: • CSP binario, continuo, con restricciones disyuntivas "Juan va de su casa al trabajo en coche (30-40 minutos) o en tren (al menos una hora). Luis va en coche (20-30 minutos) o en metro (40-50 minutos). Hoy Juan parte de casa entre las 8:10 y las 8:20 y Luis llega al trabajo entre las 9:00 y las 9:10. Además, sabemos que Juan llegó al trabajo entre 10 y 20 minutos después de que Luis saliera de casa"
Problema de diseño Definición: el problema consiste en llevar a cabo el diseño de un puente que debe constar de pocos arcos siendo preferible que los pilares no toquen el agua y los pilares sean lo más bajos posibles. Formulación: • variables: partes y elementos del diseño • dominios: valores permitidos para cada parte y elemento • restricciones: propiedades que las partes deben satisfacer. Características: • CSP no binario, mixto, con restricciones hard, soft y difusas.
CSPs binarios & n-ariosBinario • Un CSP binario se suele representar mediante un grafo, • donde: • Nodos: Variables • Arcos: Relaciones binarias entre las variables. X4 X2 X1 R12 x2 x3 R35 x5 x1 R15 x5 x4 R42 x2 x4 R45 x5 x2 R25 x5 X1 X5 X3
CSPs binarios & n-ariosNo Binario X1 X2 X3 X4 X5 X6 X7 Un CSP no binario no se suele representar mediante un grafo, sino como un hiper-grafo perdiendo toda la funcionalidad existente sobre la teoría de grafos. donde: Nodos: Variables Arcos: Relaciones binarias entre las variables. C123 C24567
Consistencia: Niveles1-consistencia Consistencia de nodo (1-consistencia) Un nodo (xi) es consistente si al menos un valor en su dominio es consistente con la restricción unaria del nodo: 10xi 15, D(Xi):{0, 10} Un grafo red es nodo-consistente sii todos sus nodos son consistentes: "xiÎCSP, $viÎD / (xi ci0) se cumple para xi=vi (ie: DÇci0¹{Æ})
Consistencia: Niveles2-consistencia Consistencia de arco (2-consistencia): Un arco (xi {cij} xj) es consistente si y solo si para cada asignación de xi en su dominio, existe una asignación para xi, tal que la restricción {cij} se satisface. Por ejemplo el arco: Cij xi xj £ [3,6] [8,10] es consistente, pero no lo sería si cij en vez de £ fuese ³ Un grafo es arco-consistente si todos sus arcos son consistentes. "cij ÍCSP, "viÎdi$vjÎdj / (xi cij xj) se cumple para xi=vi, xj=vj