Inteligencia Artificial Elizabeth Montero Ureta Departamento de Informática Universidad Técnica Federico Santa María Campus Santiago 1 1er Semestre 2009 1/18 2/18 Visiones: Tiene una solución? Encontrar una solución Encontrar todas las soluciones Encontrar el número de soluciones Este valor pertenece a una solución? Encontrar todos los valores posibles para una variable Encontrar una solución óptima Definición: Estructura en forma de árbol que permite contruir instanciaciones en un problema de búsqueda. Un árbol de búsqueda posee tantos niveles como variables tiene el problema + 1 Un árbol tiene tantos descendientes por nivel como valores tenga el dominio de cada variable 3/18 4/18
Estructura Backtracking Backtracking Cronológico Backtracking Guiado por el Grafo de Restricciones Backtracking Guiado por los Conflictos 5/18 6/18 Backtracking Cronológico Backtracking Guiado por el Grafo de Restricciones En cada nivel se busca un valor posible dentro del dominio de la variable que no genere conflictos con los valores de las variables ya instanciadas. En caso de error sobre una variable se regresa a la variable conectada por una restricción más recientemente instanciada. Método interesante para los grafos de restricciones sparse. 7/18 8/18
Backtracking Guiado por Conflictos Estructura Para cada variable guardar el conjunto de conflictos Conf (x i ) Para cada valor erróneo registrar en Conf (x i ) la variable más prematuramente instanciada y en conflicto con el intento actual de instanciación. Cuando no quedan valores a intentar, el conjunto entrega las causas del problema y el punto de regreso será la variable más reciente g en el conjunto de conflictos. Se actualiza el conjunto de conflictos. 9/18 10/18 Forward Checking Real Full Look-Ahead Forward Checking Real Full Look-Ahead 11/18 12/18
Tipos de Heurísticas Heurísticas de elección Vertical: Elección de los Valores Heurísticas de elección Vertical: Elección de los Valores Heurísticas de elección Vertical Heurísticas de elección Horizontal Búsqueda de UNA solución: Elección de los menos restringidos Heurística de Minimización de Conflictos Búsqueda de la solución óptima: Elección del mejor localmente según el criterio a optimizar. Búsqueda de todas las soluciones: Orden indiferente. 13/18 14/18 Heurísticas de elección Horizontal: Elección de las Variables Ejemplo: Elección de Variables Heurísticas de elección Horizontal: Elección de las Variables Orden Estático: Establecido antes de comenzar la búsqueda La variable asociada a la mayor cantidad de restricciones (Variable más conectada) La variable unida a las restricciones más difíciles Orden Dinámico: Cambia con el transcurso de la búsqueda Orden dinámico del dominio más pequeño Filtro por forward checking o look-ahead Problema: Variables: i, j y k Dominios: D i = {a, b} D j = {a, b} D k = {a, b, c} Restricciones: i = k j = k Considere los siguientes ordenes de instanciación: 1 i - j - k 2 k - j - i 15/18 16/18
Ejemplo I Ejemplo II Considere el siguiente grafo que representa el problema de coloreo de grafos con 3 colores modificado Construya el árbol de búsqueda que realiza BT Cambia en algo la búsqueda si decide comenzar con una variable con dominio más reducido?, Por qué? Construya la red arco-consistente equivalente. Cuál es el nuevo árbol de búsqueda? Qué hace FC?, Cuál es el árbol de búsqueda? Qué hace RFL?, Cuál es el árbol de búsqueda? Qué hace GBJ? Qué sucede con los cambios de orden en la instanciación? 17/18 18/18