Resolución de Restricciones1 Problemas de Resolución de Restricciones Capítulo 5 Secciones 1 – 3.

Slides:



Advertisements
Presentaciones similares
Problemas de Satisfacción de Restricciones
Advertisements

Problemas de Satisfacción de Restricciones (CSP)
SATISFACCION DE RESTRICCIONES Sección 1-3
Relajación y Procesamiento híbrido de restricciones Diferentes técnicas de relajación Algunas técnicas híbridas populares.
Clase 2, Parte 2: Métodos Tradicionales de Optimización y Búesqueda
Inteligencia Artificial Problemas de satisfacción de restricciones
Optimización Combinatoria usando Algoritmos Evolucionistas Problemas de Optimización. Idea: Encontrar una solución "factible" y "óptima" de acuerdo a algún.
Capítulo 4 BUSQUEDA INFORMADA.
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Inteligencia Artificial
Programación Matemática
PROBLEMAS DE SATISFACCIÓN DE RESTRICCIONES
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Análisis de los algoritmos Unidad 7. Análisis La resolución práctica de un problema – algoritmo o método de resolución – y por otra un programa o codificación.
Javier Benavides Pañeda
Redes Bayesianas Capítulo 14. Contenido Sintaxis (forma de la red) Semántica Como todo lenguaje...
Algoritmos para búsqueda “informada” Capítulo 4. Contenido Búsqueda primero el mejor Búsqueda primero el mejor “agresiva” (greedy) A * Heuristicas Algoritmos.
Un grafo consta de un conjunto de vértices y un conjunto de aristas. Cada arista de un grafo se especifica mediante un par de vértices. Denotemos al conjunto.
8-Puzle consiste en un tablero cuadrado (3x3) en el que hay situados 8 bloques cuadrados numerados (con lo cual se deja un hueco del tamaño de un bloque).
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA DE SISTEMAS Docente: Poemape Rojas Gloria Integrantes: BARRANTES NAUCA KELY EAST POMA GROBY INFANTE QUISPE.
BÚSQUEDA DE SOLUCIONES Soluciones no Informadas (cont.) Dra. Myriam Hernández A.
Ingreso , proceso y salida de datos
Vibraciones en sistemas físicos
U-6. Cap. III Introducción a la solución por series.
Convenciones de nomenclatura y diseño
Repaso Programacion en C
Universidad Autónoma del Estado de México
PLANIFICACIÓN DE LAS RUTAS DE DISTRIBUCIÓN
Guía de Ejercicios 3: D&AA Universidad Viña del Mar 30/9/2002
Licenciatura en Contaduría Tema:
TAD’s ARBOLES GENERALIZADOS
ADMINISTRACIÓN DE OPERACIONES II ING. MBA ELAR ZAPATA ORTIZ.
Unidad 6. Capítulo IV. Puntos ordinarios y puntos singulares.
Unidad 6. Capítulo I. Introducción.
MATEMÁTICA DISCRETA Y LÓGICA 1
Tipos de Datos abstractos
LA REGLA DE LA ESQUINA NOROESTE
LÓGICA DE PROGRAMACIÓN
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
METODO DE TRANSPORTE APROXIMACION DE VOGEL
Análisis de redes Por: Alexander Miss.
Introducción a las estructuras de datos
Funciones Prof. M. Alonso
Tema 4 Introducción a la Programación Lineal
Análisis de redes. 3.4 Problema de flujo máximo.
Grafos dirigidos: Sea G un grafo, si cada arista en G tiene una dirección entonces G se llama grafo dirigido o dígrafo y sus aristas se llaman arcos.
Redes de Petri Coloreadas: Análisis
Introducción a las ciencias de la computación Antonio López Jaimes
Manejo de restricciones especiales Las restricciones aparecen con frecuencia en problemas reales y pueden manejarse utilizando algoritmos de propósito.
Agentes que planifican. 1. Introduccion En la actualidad todas la mayoría de actividades en un empresa o compañía, como en el hogar o el medio ambiente.
Inteligencia Artificial
5. Optimización de redes. Integrantes: * Christian Cota * Cesar Rojo
MÉTODO DE MÍNIMO COSTO DANIELA NARANJO LAURA RUBIO RENGIFO
Curso de Programación Estructurada
TEMAS *Arboles Binarios *listas Abiertas y Cerradas - Inserción - Recorrido - Eliminación *Pilas - Concepto - Inserción - Recorrido -
ANGULO YOMAIRA QUINTERO MARIA PAEZ MARIAM
Programación Dinámica.
CAPITULO 11: ESTRATEGIA Y EXCELENCIA EN EL DESEMPEÑO Brayam Daniel Olvera Salazar Maleny Judith Coronado González
Costos, Presupuestos y Programación de Obras Tema : Método PERT-CPM.
NATURALEZA DE LOS DATOS Valores Numéricos Son los valores que se pueden hacer cálculos aritméticosritméticos Tipos de valores Entero Real Cadena ( “ h”
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
Implementación de algoritmo para juegos. Algoritmo Minimax  El algoritmo de minimax en simples palabras consiste en la elección del mejor movimiento.
ALGEBRA RELACIONAL UNIDAD 3 ALGEBRA RELACIONAL. INTRODUCCIÓN Se forma a partir de la matemática formal Creada por Edgar Frank Codd en 1972 Concede comportamineto.
Fundamentos Algorítmicos 1
Fundamentos Algorítmicos 1
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERU FACULTAD DE INGENIERIA DE MINAS HUANCAYO I MODELO DE REDES Ing. Eli Teobaldo Caro Meza CURSO: INVESTIGACION.
INVESTIGACION DE OPERACIONES I UNIDAD I. HISTORIA La primera actividad de Investigación de Operaciones se dio durante la Segunda Guerra Mundial en Gran.
Espacio de estados: un problema se divide en un conjunto de pasos de resolución desde el inicio hasta el objetivo. Los estados y su relación de accesibilidad.
UNIDAD II Generalidades sobre Algoritmos
Transcripción de la presentación:

Resolución de Restricciones1 Problemas de Resolución de Restricciones Capítulo 5 Secciones 1 – 3

Resolución de Restricciones2 Contenido Problemas de Satisfacer Restricciones (PSR, PRR o CSP en inglés) Backtracking search – Salto Atrás - CSPs Búsqueda Local - CSP

Resolución de Restricciones3 Problemas de satisfacción de restricciones Problema de búsqueda standard: El Estado: es una “caja negra”, así como toda las estructuras específicas: funcion sucesor, función heurística y test de meta. CSP: El Estado se define a partir de variables X i que toman valores de un dominio D i el test de meta es un conjunto de restricciones definiendo las combinaciones permitidas valores para subjconjuntos de variables Normalmente CSP es el ejemplo más simple de un languaje formal de representación Permite usar algoritmos de propósito general con mayor poder que los algoritmos estándares de búsqueda.

Resolución de Restricciones4 Ejemplo: Coloreado de un mapa Variables WA, NT, Q, NSW, V, SA, T Dominio D i = {red,green,blue} Restricciones: adjacent regions must have different colors e.g., WA ≠ NT, or (WA,NT) in {(red,green),(red,blue),(green,red), (green,blue),(blue,red),(blue,green)}

Resolución de Restricciones5 Ejemplo: Coloreado de un mapa Las soluciones son asignaciones completas y consistentes, e.g., WA = red, NT = green,Q = red,NSW = green,V = red,SA = blue,T = green

Resolución de Restricciones6 Grafos de restricciones CSP Binario: cada restricciones cubre dos variables Grafo de restricciones: Los nodos son variables, los arcos son (representan) las restricciones

Resolución de Restricciones7 Formas de CSP Variables Discretas dominios finitos: n variables, tamaño del domino d  O(d n ) para asignar completamente e.g., CSPs Booleanas, incl.~”Boolean satisfiability” (NP-complete) dominios infinitos: enteros, cadenas, etc. e.g., job scheduling, las variables son las fechas de inicio/terminación de cada tarea. requiere un lenguaje de restricciones, e.g., StartJob ≤ StartJob 3 Variables Continuas e.g., hora de inicio/terminación de las observaciones en el telescopio Hubble Space restricciones lineales son resolubles en tiempo polinomial con programación lineal.

Resolución de Restricciones8 Variedad de restricciones Unarias restricciones con una sola variable e.g., SA ≠ green Binarias restricciones con pares de variables, e.g., SA ≠ WA Restricciones de orden superior involucran 3 o más variables e.g., criptaritmética

Resolución de Restricciones9 Ejemplo: Criptaritmética Variables: F T U W R O X 1 X 2 X 3 Dominio para todas: {0,1,2,3,4,5,6,7,8,9} Restricciones: Alldiff (F,T,U,W,R,O) O + O = R + 10 · X 1 X 1 + W + W = U + 10 · X 2 X 2 + T + T = O + 10 · X 3 X 3 = F, T ≠ 0, F ≠ 0

Resolución de Restricciones10 CSP en el mundo real Problemas de asignación e.g., quien da cual clase? Problemas de horario e.g., cual clase de dicta cuando y donde? Planificación del transporte Programación de fábrica Tenga presente que muchos problemas reales requieren variable con valores reales.

Resolución de Restricciones11 Formulación de la búsqueda standard (incremental) Comencemos con la solución ingenua y luego la corregimos. Los estados se definen con los valores asignados hasta el momento: Estado inicial: La asignacion vacía { } La función Sucesor : Asigne un valor a un variable no asignada siempre que no contradiga las asignaciones previas:  falle si no hay una asignación “legal” Test de meta: La asignación actual está completa Es lo mismo para todo CSP Toda solución aparece a profundidad n con n variables  use búsqueda primero en profundidad El camino es irrelevante, así que puede usar una formulación con todo el estado b = (n - l )d a profundidad 1, por tanto tendremos n! · d n hojas

Resolución de Restricciones12 Búsqueda con salto atrás Las asignaciones de Variables son conmutativas, i.e., [ WA = red then NT = green ] es igual a [ NT = green then WA = red ] Sólo tiene que considerar las asignaciones a una sóla variable en cada nodo.  b = d y hay d n hojas. Búsqueda primero en profundidad para un CSP con asignaciones a una sóla variables es llamada búsqueda con salto atrás (backtracking search). Backtracking search es el algoritmo básico de búsqueda sin información para los CSPs Puede resolver n-reinas para n ≈ 25

Resolución de Restricciones13 Búsqueda con salto atrás

Resolución de Restricciones14 Ejemplo con salto atrás

Resolución de Restricciones15 Ejemplo con salto atrás

Resolución de Restricciones16 Ejemplo con salto atrás

Resolución de Restricciones17 Ejemplo con salto atrás

Resolución de Restricciones18 Mejorando la eficiencia del salto atrás Los métodos de propósito general pueden lograr enormes ganancias en velocidad: Cuál variable debo asignar a continuación? En cuál orden debo probar los valores? Podemos anticipar fallas finales con tiempo?

Resolución de Restricciones19 La variable mas restringida La variables más restringida: Seleccione la variable que tiene la menor cantidad de valores legales se le conoce como heurística del mínimo de valores restantes minimum remaining values (MRV)

Resolución de Restricciones20 La variable mas restringida Hace falta un resolvedor de empates entre las variables más restringidas La variable más “restrictiva”: Escoja la variable con más restricciones sobre las demás variables

Resolución de Restricciones21 El valor menos restrictivo Dada una variable, elija el valor menos restrictivo: Aquel que excluye la menor cantidad de valores en las variables restantes Al combinar estas heurísticas 1000-reinas se vuelve factible

Resolución de Restricciones22 Chequeo adelantado Idea: Lleve un registro de los valores legales restantes para las variables no asignadas. Termine la búsqueda cuando alguna de la variables no tiene de esos valores legales.

Resolución de Restricciones23 Chequeo adelantado Idea: Lleve un registro de los valores legales restantes para las variables no asignadas. Termine la búsqueda cuando alguna de la variables no tiene de esos valores legales.

Resolución de Restricciones24 Chequeo adelantado Idea: Lleve un registro de los valores legales restantes para las variables no asignadas. Termine la búsqueda cuando alguna de la variables no tiene de esos valores legales.

Resolución de Restricciones25 Chequeo adelantado Idea: Lleve un registro de los valores legales restantes para las variables no asignadas. Termine la búsqueda cuando alguna de la variables no tiene de esos valores legales.

Resolución de Restricciones26 Propagación de restricciones El chequeo adelantado propaga información de variables asignadas a la no asignadas, pero no ofrece detección temprana de todas las fallas: NT y SA no puede ambas ser azules Propagation de restricciones obliga repetidamente las restricciones localmente

Resolución de Restricciones27 Consistencia en el arco La forma más simple de propagación hace que cada arco sea consistente X  Y es consistente ssi Para cada valor x de X existe algún y permitido para Y

Resolución de Restricciones28 Consistencia en el arco La forma más simple de propagación hace que cada arco sea consistente X  Y es consistente ssi Para cada valor x de X existe algún y permitido para Y

Resolución de Restricciones29 Consistencia en el arco La forma más simple de propagación hace que cada arco sea consistente X  Y es consistente ssi Para cada valor x de X existe algún y permitido para Y Si X pierde un valor, sus vecinos deben ser rechequeados.

Resolución de Restricciones30 Consistencia en el arco La forma más simple de propagación hace que cada arco sea consistente X  Y es consistente ssi Para cada valor x de X existe algún y permitido para Y Si X pierde un valor, sus vecinos deben ser rechequeados. La consistencia de arcos detectas las fallas antes de chequeo anticipado Puede ser ejecutada en un preproceso o luego de cada asignación.

Resolución de Restricciones31 Algoritmo para Consistencia de arcos AC-3 Complejidad de tiempo: O(n 2 d 3 )

Resolución de Restricciones32 Búsqueda Local para CSPs Tanto Hill-climbing como simulated annealing suelen servir con estados “completos” es decir, todas las variables asignadas. Para aplicarlos a un CSP: Permita estados con restricciones no satisfechas. Los operadores reasignan los valores de las variables. Selección de Variable: Escoja al Azar entre variables en conflicto Selecciones los valores con la heurística min-conflicto Elija el valor que viola la menor cantidad de restricciones. i.e., hill-climb con h(n) = número total de restricciones violadas

Resolución de Restricciones33 Ejemplo: 4-Reinas Estados: 4 reinas en 4 columnas (4 4 = 256 estados) Acciones: mover una reina en una columna Test de Meta: no se atacan Evaluación: h(n) = número de ataques Dando un estado inicial al azar, puede resolver n-reinas en casi tiempo constante para un n arbitrario con alta probabilidad (e.g., n = 10,000,000)

Resolución de Restricciones34 Resumen CSPs son un tipo especial de problemas: Los estados están definidos por los valores de un conjunto fijo de variables. Los test de meta se definen con restricciones sobre los valores de la variables. Salto Atrás = Búsqueda Primero en Profundidad con una variable asignada por nodo. Las heurísticas para el ordenamiento de la variables y la selección de los valores ayudan muchísimo. Chequeo por adelantado evita asignaciones condenadas a fallar más adelante. Propagación de restricciones (como la de consistencia de arcos) ayuda también a restringir valores y detectar inconsistencias. Las heurística min-conflicto aplicada iterativamente suele ser efectiva en la práctica