Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra 1 Introducción 2 Transformación de CSPs N-arios a CSPs Binarios 3 Problema de las N reinas Elizabeth Montero Ureta 4 El Buscaminas Departamento de Informática Universidad Técnica Federico Santa Marı́a Campus Santiago 5 Sudoku 6 Coloreo de Grafos 7 El problema de la Cebra Inteligencia Artificial Problemas de Satisfacción de Restricciones 1er Semestre 2009 1/16 Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra 2/16 Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra Problemas de Satisfacción de Restricciones Definición formal de un CSP Un conjunto de Variables: CSP: Constraint Satisfaction Problem X = {X1 , . . . , Xn } Los problemas de satisfacción de restricciones forman parte de los problemas de Inteligencia Artificial y de Investigación de Operaciones. Un conjunto de Dominios: D = {D1 , . . . , Dn }, Una restricción x · y + z = y pone en relación a las variables x, y y z limitando los valores que ellas pueden tomar simultáneamente. donde Di es el conjunto finito de los valores posibles de Xi Un conjunto de Restricciones: La resolución de un CSP trata de encontrar los valores de los dominios de x, y y z que respetan la ecuación, es decir, la restricción. C = {C1 , . . . , Cm }, donde Ci está definida sobre un conjunto de variables {Xil , . . . , Xik } Un conjunto de Relaciones: Cuando se pasa a dominios discretos se agrega complejidad al problema. Pasar de PL a PLE corresponde a pasar de problemas polinomiales a una clase de problemas, que se sabe por ahora, se resuelven en tiempo exponencial: El problema de decisión se convierte en NP-completo. R = {R1 , . . . , Rn }, donde Ri es el conjunto de las combinacionees de valores que satisfacen Ci 3/16 4/16 Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra Representación de un problema Método de la Variable Encapsuladora Para un problema binario, las variables y la restricciones forman un grafo Para un problema n-ario, las variables y las restricciones forman un hiper-grafo 5/16 Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra 6/16 Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra Formulación Representaciones vs Tamaño del espacio de Bũsqueda Problema: Localizar N reinas sobre un tablero de ajedrez de NxN, de tal forma que ninguna este atrapada. Una variable para cada reina Una variable para cada casilla Una variable para cada columna 7/16 8/16 Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra Posible solución Formulación Problema: Identificar las casillas que contienen una bomba a partir de la información desplegada por sus casillas adyacentes. 9/16 Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra 10/16 Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra Formulación Formulación Problema: El objetivo es rellenar una cuadrı́cula de nxn celdas dividida en subcuadrı́culas de n/3xn/3 con las cifras del 1 al 9 partiendo de algunos números ya dispuestos en algunas de las celdas. No se debe repetir ninguna cifra en una misma fila, columna o subcuadrı́cula. Un sudoku está bien planteado si la solución es única. El objetivo de este problema consiste en asignar distintos colores a los vértices de un grafo, de manera que ningún par de vértices adyacentes compartan el mismo color. 11/16 12/16 Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra El problema Análisis Hay cinco casas de diferentes colores, en las cuales viven personas de diferentes nacionalidades, con diferentes mascotas, que gustan de diferentes bebidas y practican diferentes deportes. Además se consideran las siguientes restricciones: 1 El Inglés vive en la casa Roja 2 El Español tiene un Perro 3 El hombre de la casa Verde bebe Café 4 El Irlandés bebe Té 5 La casa Verde está a la derecha de la casa Marfil 6 El jugador de Go es dueño de Caracoles 7 El hombre de la casa Amarilla juega Cricket 8 El hombre de la casa del medio bebe Leche 9 El Nigeriano vive en la primera casa 10 El jugador de Judo vive cerca del hombre que tiene un Lobo 11 El jugador de cricket vive cerca del dueño del caballo 12 El jugador de Poker bebe Jugo de naranja 13 El Japonés práctica Polo 14 El Nigeriano vive cerca de la casa Azul Conjunto de atributos: Nacionalidades = { Inglés, Español, Irlandés, Nigeriano, Japonés} N1 N2 N3 N4 N5 Inglés Español Irlandés Nigeriano Japonés Colores = { Roja, Verde, Marfil, Amarilla, Azul} C1 C2 C3 C4 C5 Roja Verde Marfil Amarilla Azul Deportes = { Go, Cricket, Judo, Poker, Polo} D1 D2 D3 D4 D5 Go Cricket Judo Poker Polo Bebidas = { Café, Té, Leche, Jugo de Naranja, Cervezas} B1 B2 B3 B4 B5 Café Té Leche Jugo de Naranja Cervezas Mascotas = { Perro, Caracoles, Lobo, Caballo, Cebra} M1 M2 M3 M4 M5 Perro Caracoles Lobo Caballo Cebra La pregunta es: ¿Quién es el dueño de la Cebra? y ¿Quién bebe Cervezas? 13/16 Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra 14/16 Introducción Transformación de CSPs N-arios a CSPs Binarios Problema de las N reinas El Buscaminas Sudoku Coloreo de Grafos El problema de la Cebra Planteo I Planteo II La casa Verde está a la derecha de la casa Marfil Es decir, la persona de la casa Verde (C2 ) debe ser mayor que la persona de la casa Marfil (C3 ) C2 > C3 Considere: El hombre de la casa del medio bebe Leche Es decir, la persona que bebe Leche (B3 ) es 3 La persona que vive en la primera casa es 1 ... B3 = 3 La persona que vive en la última casa es 5 El jugador de Judo vive cerca del hombre que tiene un Lobo Importante: ¿Qué es vivir cerca? → Vivir cerca significa que viven a lo más una casa de distancia Ejemplo de planteo de restricciones: El Inglés vive en la casa Roja Es decir, la persona de nacionalidad inglesa (N1 ) es la misma que vive en la casa roja (C1 ) N1 = C1 |D3 − M3 | = 1 15/16 16/16