Programación por restricciones clase 10

Documentos relacionados
PRODUCTO CARTESIANO RELACIONES BINARIAS

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Conjuntos y relaciones

Álgebra Lineal Ma1010

Semántica de Primer Orden. Semántica de Primer Orden

Funciones de Varias Variables

Álgebra Relacional. Unidad 5

Combinación Lineal. Departamento de Matemáticas, CCIR/ITESM. 10 de enero de 2011

Problemas de satisfacción de restricciones.

ESTRUCTURAS ALGEBRAICAS

Derivadas parciales Derivadas direccionales Derivadas parciales de orden superior. Derivadas parciales y direccionales

Tema IX: TOPOLOGÍA. Tema IX: TOPOLOGÍA

1. Funciones de varias variables

Representación basada en Restricciones

Conjuntos, relaciones y funciones

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 3: Relaciones, Funciones, y Notación Asintótica

INTEGRAL LAPSO / 6

Matemáticas Discretas TC1003

ECUACIONES DIFERENCIALES PARCIALES CUASILINEALES PRIMER ORDEN, NOCIONES BÁSICAS

Funciones de varias variables reales

1. Breve resumen de optimización sin restricciones en varias variables.

2.3 Ecuaciones diferenciales lineales

Programación con Restricciones Constraint Programming

Temario. Índices simples Árboles B Hashing

b) Sea una relación de equivalencia en A y una operación en A. Decimos que y son compatibles si a b a c b c y c a c b para todo a, b, c A

UNIVERSIDAD CARLOS III DE MADRID MATEMÁTICAS PARA LA ECONOMÍA II PROBLEMAS (SOLUCIONES )

Algebra Lineal: Aplicaciones a la Física

Programación por restricciones clase 7

OPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007

SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES

Funciones de dos variables. Gráficas y superficies.

Multiplicación de Polinomios. Ejercicios de multiplicación de polinomios. José de Jesús Angel Angel.

Restricciones. Inteligencia Artificial. Ingeniería Superior en Informática, 4º Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani

March 25, 2010 CAPÍTULO 2: LÍMITES Y CONTINUIDAD DE FUNCIONES EN EL ESPACIO EUCLÍDEO

Elementos de Cálculo en Varias Variables

Números reales Conceptos básicos Algunas propiedades

Algebra lineal y conjuntos convexos

1. Definición y representaciones gráficas

Dep. Multivaluadas y Cuarta F.N.

RELACIONES Y FUNCIONES

1.1 El caso particular de las curvas planas.

que corresponde al dominio definido por el paralelogramo de vértices (0, 2), (2, 1), (1, 6) y (3, 5).

Números Reales y Fundamentos de Álgebra

Apoyo a la toma de Decisiones. Carlos A. Olarte Bases de Datos II

Para manipular relaciones completas, el álgebra relacional proporciona una serie de operadores que podemos clasificar en:

CÁLCULO PARA LA INGENIERÍA 1

MATEMÁTICAS BÁSICAS. Autoras: Margarita Ospina Pulido Jeanneth Galeano Peñaloza Edición: Rafael Ballestas Rojano

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales

Estructuras algebraicas

APLICACIONES DE LA MATEMATICA INTRODUCCION AL CALCULO AXIOMATICA DE LOS NUMEROS REALES

OBJETIVOS CONTENIDOS PROCEDIMIENTOS

Matrices 1 (Problemas). c

MER MR Bases de Datos

Razonamiento. con. Restricciones. Esquema Global. Tutorial IBERAMIA Introducción - Definiciones - Ejemplos

Hoja de Problemas Tema 6 Búsqueda con estados estructurados: Restricciones

RECTAS Y PLANOS EN EL ESPACIO

IIC2213. IIC2213 Teorías 1 / 42

Polinomios y Fracciones Algebraicas

MÉTODOS MATEMÁTICOS DE LA ECONOMÍA

Capítulo 3 Soluciones de ejercicios seleccionados

Algoritmos para CSP 1

Tema 2.- Formas Cuadráticas.

ƒ : {(1, 4), (2, 5), (3, 6), (4, 7)}.

Tema 3. El modelo Relacional

EJERCICIOS DE CÁLCULO DIFERENCIAL EN VARIAS VARIABLES

GEOMETRIA DEL TEOREMA DE LA FUNCIÓN IMPLÍCITA

ESTRUCTURAS ALGEBRAICAS

TEMA II: ÁLGEBRA DE CONMUTACIÓN

Operatoria algebraica

Apuntes de Matemática Discreta 9. Funciones

BLOQUE 1. LOS NÚMEROS

1 FUNCIONES DE R N EN R.

Dr. Mauro Gutierrez Martinez Dr. Christiam Gonzales Chávez

El ente básico de la parte de la matemática conocida como ANÁLISIS, lo constituye el llamado sistema de los número reales.

GUIA DE EJERCICIOS MATEMATICA 5to LINEA RECTA - CIRCUNFERENCIA

Funciones de varias variables: problemas resueltos

(a) El triángulo dado se descompone en tres segmentos de recta que parametrizamos de la siguiente forma: (0 t 1); y = 0. { x = 1 t y = t. (0 t 1).

Integrales dobles. Integrales dobles

NOCIONES PRELIMINARES (*) 1

Esta expresión polinómica puede expresarse como una expresión matricial de la forma; a 11 a 12 a 1n x 1 x 2 q(x 1, x 2,, x n ) = (x 1, x 2,, x n )

GUÍAS DE ESTUDIO. Programa de alfabetización, educación básica y media para jóvenes y adultos

EL TEOREMA DE CANTOR-BERNSTEIN Y LA COMPARABILIDAD PARA LOS CONJUNTOS BIEN ORDENADOS

Continuidad. 5.1 Continuidad en un punto

Matemáticas Básicas para Computación

Funciones de varias variables

EL GRADO Y LOS ELEMENTOS QUE FORMAN UN POLINOMIO

MATEMÁTICAS BÁSICAS. Autora: Jeanneth Galeano Peñaloza Edición: Oscar Guillermo Riaño

Álgebra y Trigonometría Clase 7 Sistemas de ecuaciones, Matrices y Determinantes

Tema 3: Problemas de Satisfacción de Restricciones

1 SISTEMAS DE ECUACIONES LINEALES Y MATRICES

Relaciones binarias. ( a, b) = ( c, d) si y solamente si a = c y b = d

Lógica de Predicados de Primer Orden

Haydee Jiménez Tafur Grupo de Algebra. Universidad Pedagógica Nacional Estudiante de maestría en Matemáticas. Universidad Nacional de Colombia.

Sistemas de Bases de Datos I. Modelo Lógico Modelo Relacional

{} representa al conjunto vacío, es decir, aquel que no contiene elementos. También se representa por.

Algebra Lineal XIII: Operaciones con Transformaciones Lineales.

1 Función real de dos variables reales

UNIVERSIDAD ESTATAL A DISTANCIA VICERRECTORÍA ACADÉMICA DIRECCIÓN DE EXTENSIÓN TÉCNICO UNIVERSITARIO GUÍA DE ESTUDIO MATEMÁTICA PARA INFORMÁTICA I

Clase 8 Sistemas de ecuaciones lineales

Factorización. Ejercicios de factorización. José de Jesús Angel Angel.

Transcripción:

Programación por restricciones clase 10 Camilo Rueda Universidad Javeriana-Cali Programación por restriccionesclase 10-- p.1/23

Consistencia local Nodo consistencia Arco consistencia hiper-arco consistencia arco consistencia direccional Camino consistencia Camino consistencia direccional k-consistencia k-consistencia fuerte consistencia relacional Programación por restriccionesclase 10-- p.2/23

Nodo consistencia Un CSP es nodo consistente si para toda variable x, toda restricción unaria sobre x coincide con su dominio Ejemplos: Suponga que C no contiene restricciones unarias: < C, x 1 0,..., x n 0; x 1 N,..., x n N > es nodo consistente < C, x 1 0,..., x n 0; x 1 N,..., x n 1 N, x n Z > NO es nodo consistente NODO_CONS : < C; x D > < C; x C D > Programación por restriccionesclase 10-- p.3/23

Arco consistencia Una restricción C sobre x, y, con dominios X, Y (o sea, C X Y ) es arco consistente si a X b Y. (a, b) C b Y a X. (a, b) C un CSP es arco consistente si todas sus restricciones binarias lo son Ejemplos: < x < y; x [2.,6], y [3.,7] > es arco consistente < x < y; x [2.,7], y [3.,7] > no es arco consistente Programación por restriccionesclase 10-- p.4/23

Consideraciones Arco consistencia no implica consistencia Ejemplo: x = y, x y; x {a, b}, y {a, b} > Consistencia no implica arco consistencia Ejemplo: < x = y; x {a, b}, y {a} > Para algunos CSP s, arco consistencia SI implica consistencia Programación por restriccionesclase 10-- p.5/23

Reglas de prueba de AC AC1 : < C; x D x, y D y > < C; x D x, y D y > donde D x = {a D x b D y. (a, b) C} AC2 : < C; x D x, y D y > < C; x D x, y D y > donde D y = {b D y a D x. (a, b) C} NOTA: Un CSP es arco consistente ssi es cerrado bajo aplicación de AC1 y AC2 Programación por restriccionesclase 10-- p.6/23

Hiper-arco consistencia Una restricción C sobre x 1,..., x n, con dominios D 1,..., D n es hiper-arco consistente si i [1..n] a D i d C. a = d[x i ] un CSP es hiper-arco consistente si todas sus restricciones lo son Ejemplos: < x y = z; x = 1], y {0, 1}, z {0, 1} > es hiper-arco consistente < x y = z; x {0, 1}, y {0, 1}, z = 1 > no es hiper-arco consistente Programación por restriccionesclase 10-- p.7/23

Reglas de prueba de HAC HAC : < C; x 1 D 1,..., x n D n > < C;..., x i D i,... > donde C es restricción sobre x 1,..., x n y, para i [1..n], D i = {a D i d C. a = d[x i ]} NOTA: Un CSP es hiper-arco consistente ssi es cerrado bajo aplicación de HAC Programación por restriccionesclase 10-- p.8/23

Arco consistencia direccional Asumir un ordenamiento sobre las variables Una restricción C sobre x, y con dominios D x, D y es direccionalmente arco consistente c.ra. si a D x. b D y. (a, b) C, cuando x y b D y. a D x. (a, b) C, cuando y x Un CSP es arco consistente direccional si todas sus restricciones lo son. Ejemplo: < x < y; x [2.,7], y [3.,7] > es: NO arco consistente, direccionalmente arco consistente c.r.a. y x NO direccionalmente arco consistente c.r.a. x y Programación por restriccionesclase 10-- p.9/23

AC direccional (2) Definición: P es el problema P con las variables ordenadas de acuerdo a Ejemplo: Sea P el poblema x < y, y = z; x [2.,10], y [3.,7], z [3.,6] >, con y x z, entonces: P es: < y > x, y = z; y [3.,7], x [2.,10], z [3.,6] > NOTA: Un CSP P es direccionalmente arco consistente ssi el CSP P es cerrado bajo aplicación de la regla AC1 Programación por restriccionesclase 10-- p.10/23

Limitaciones de AC El problema: < x < y, y < z, z < x; x, y, z 1.,100000 > es inconsistente. Cuando se aplica AC1, se obtiene: < x < y, y < z, z < x; x 1.,99999, y, z 1.,100000 >, etc. Desventajas: Demasiados pasos El número de pasos depende del tamaño de los dominios Puede resolverse directamente: Usar transitividad de <. Camino consistencia generaliza este razonamiento a relaciones binarias arbitrarias. Programación por restriccionesclase 10-- p.11/23

CSP s normalizados Un CSP está normalizado si existe a lo sumo una restricción C x,y sobre x, y, para cada par de variables x, y. Para dos relaciones binarias R, S, recuerde que: R 1 = {(b, a) (a, b) R} (transposición) R; S = {(a, b) c. ((a, c) R (c, b) S} (composición) Programación por restriccionesclase 10-- p.12/23

Camino consistencia Un CSP normalizado es camino consistente si para cada subconjunto {x, y, z} de sus variables, se tiene que, C x,z C x,y ; C y,z De manera equivalente, un CSP normalizado es camino consistente ssi para cada subsecuencia x, y, z de sus variables: C x,y C x,z ; C 1 y,z C x,z C x,y ; C y,z C y,z C 1 x,y; C x,z Programación por restriccionesclase 10-- p.13/23

Camino consistencia: Ej < x < y, y < z, x < z; x [0.,4], y [1.,5], z [6.,10] > es camino consistente: C x,y = {(a, b) a < b, a [0.,4], b [1.,5]} C x,z = {(a, c) a < c, a [0.,4], c [6.,10]} C y,z = {(b, c) b < c, c [6.,10], b [1.,5]} Programación por restriccionesclase 10-- p.14/23

Camino consistencia: Ej2 < x < y, y < z, x < z; x [0.,4], y [1.,5], z [5.,10] > NO es camino consistente: C x,z = {(a, c) a < c, a [0.,4], c [5.,10]} y para 4 [0.,4] y 5 [5.,10], no hay b [1.,5] tal que 4 < b b < 5 Programación por restriccionesclase 10-- p.15/23

CC, Reglas CC1 : C x,y, C x,z, C y,z C x,y, C x,z, C y,z Donde C x,y = C x,y C x,z ; C 1 y,z CC2 : C x,y, C x,z, C y,z C x,y, C x,z, C y,z Donde C x,z = C x,z C x,y ; C y,z CC3 : C x,y, C x,z, C y,z C x,y, C x,z, C y,z Donde C y,z = C y,z C 1 x,y; C x,z Programación por restriccionesclase 10-- p.16/23

CC direccional Un CSP normalizado es direccionalmente camino consistente si para cada subconjunto {x, y, z} de sus variables, se tiene que, C x,z C x,y ; C y,z cuando x, z y De manera equivalente, un CSP normalizado es direccionalmente camino consistente ssi para cada subsecuencia x, y, z de sus variables: C x,y C x,z ; C 1 y,z cuando x, y z C x,z C x,y ; C y,z cuando x, z y C y,z C 1 x,y; C x,z cuando y, z x Programación por restriccionesclase 10-- p.17/23

CCD: Ej < x < y, y < z, x < z; x [0.,4], y [1.,5], z [5.,10] > Entonces, C x,y = {(a, b) a < b, a [0.,4], b [1.,5]} C x,z = {(a, c) a < c, a [0.,4], c [5.,10]} C y,z = {(b, c) b < c, c [5.,10], b [1.,5]} Es direccionalmente CC con respecto al orden en que x, y z Es direccionalmente CC con respecto al orden en que y, z x Un CSP es direccionalmente CC c.r.a ssi P es cerrado bajo aplicación de la regla CC1 Programación por restriccionesclase 10-- p.18/23

Instanciación Instanciación: Función que asigna un valor de su dominio a cada variable de un subconjunto de las variables de P Notación: {(x 1, d 1 ),..., (x k, d k )} La instanciación I = {(x 1, d 1 ),..., (x k, d k )} satisface C (sobre variables x 1,..., x k ) si (d 1,..., d k ) C Denotamos I Y, con Y dom(i), la restricción de I a Y I con dominio X es consistente si para toda restricción C (sobre variables Y, con Y X) de P, se tiene que I Y satisface C. Una I consistente, con k variables, se dice k-consistente. I es solución a P si es consistente y dom(i) = V ars(p) Programación por restriccionesclase 10-- p.19/23

Ejemplo Considere: P =< x < y, y < z, x < z; x [0.,4], y [1.,5], z [5.,10] > y sea I = {(x, 0), (y, 5), (z, 6)} I {x, y} = {(x, 0), (y, 5)} satisface x < y I {x, z} = {(x, 0), (z, 6)} satisface x < z I {y, z} = {(y, 5), (z, 6)} satisface y < z O sea que I es 3-consistente y solución a P Programación por restriccionesclase 10-- p.20/23

k consistencia Un CSP es 1-consistente si es nodo consistente Un CSP es k-consistente (para k > 1) si cada instanciación (k 1)-consistente puede extenderse a una instanciación k consistente, sin importar cuál nueva variable se escoja. Observar que: Un CSP nodo consistente es arco consistente si es 2-consistente Un CSP binario, normalizado y nodo consistente, es camino consistente si es 3-consistente Programación por restriccionesclase 10-- p.21/23

k consistencia (2) Existe un CSP que es (k 1)-consistente, pero no k-consistente < x y, x z, y z; x [0.,1], y [0.,1], z [0.,1] >, para k = 3 Existe un CSP que no es (k 1)-consistente, pero es k-consistente < x 1 x 2, x 1 x 3 ; x 1 {a, b}, x 2 = a, x 3 = a,...x k = a >, La instanciación (k 2)-consistente {(x 1, a), (x 4, a), (x 5, a),..., (x k, a) no puede extenderse, pero toda instanciación (k 1)-consistente es extendible. Programación por restriccionesclase 10-- p.22/23

Tarea implemente nodo, arco y camino consistencia. Pruebe los efectos de los anterior en SEND+MORE=MONEY Programación por restriccionesclase 10-- p.23/23