Programación con Restricciones Constraint Programming

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Programación con Restricciones Constraint Programming"

Transcripción

1 Programación con Restricciones Constraint Programming Introducción basada en Roman Barták: Guide to Constraint Programming Constraint Programming 1

2 Contenidos Introducción Satisfacción de restricciones Algoritmos de búsqueda sistemática Técnicas de consistencia Propagación de restricciones Ordenación de variables y valores Constraint Programming 2

3 Introducción I La programación con restricciones es una tecnología utilizada para la resolución de efectiva de problemas grandes, usualmente combinatorios, y especialmente en áreas como planificación y programación Multidisciplinar: inteligencia artificial, lenguajes de programación, lógica computacional y simbólica,... Inicios en la década de los 70 dentro de la IA junto con las redes de restricciones. Constraint Programming 3

4 Introducción II Programación con restricciones = generación de restricciones + solución Dominios Gráficos: coherencia geométrica Lenguaje natural: reconocedores eficientes Bases de datos: asegurar/restaurar consistencia Biología molecular: secuenciamiento DNA Aplicaciones de negocios: elección de mercados Ingeniería eléctrica: localización de averías Diseño de circuitos: especificación de esquemas Constraint Programming 4

5 Constraint Programming 5

6 Constraint Programming 6

7 Constraint Programming 7

8 Definiciones Programación con restricciones: 1. Especificar restricciones entre las variables del problema 2. Encontrar soluciones que satisfagan todas las restricciones Restricción: relación entre varios elementos desconocidos Ej. A+B=C, X<Y, N=LENGTH(S) Constraint Programming 8

9 Definiciones II Restricción = relación lógica entre variables desconocidas, cada una tomando un valor determinado de su dominio particular Una restricción limita los valores que puede tomar una variable Ejemplos El círculo C está dentro del rectángulo R La longitud de la palabra W es de 10 caracteres X es menor que Y La suma de los ángulos del triángulo es 180 Juan puede venir a clase el miércoles después de las 12:00 Propiedades Pueden especificar información parcial (no es necesario que precisen unívocamente el valor de sus variables) Son no direccionales Son declarativas Son aditivas Raramente son independientes Constraint Programming 9

10 Constraint Programing Es el estudio de sistemas computacionales basados en restricciones. La idea es la de resolver problemas mediante la especificación de restricciones (condiciones y propiedades) que debe satisfacer la solución Sub-áreas Satisfacción de restricciones Resolución de restricciones Constraint Programming 10

11 Satisfacción de restricciones Surge de los subcampos de IA de problemas combinacionales y búsqueda, y de el de gráficos por computador En un problema de satisfacción de restricciones (CSP) dados Un conjunto finito de variables Una función que asigna a cada variable un dominio finito Un conjunto finito de restricciones Cada restricción limita las combinaciones de valores que puede tomar simultáneamente un conjunto de variables. Una solución es una asignación a cada variable de un valor de su dominio que satisfaga todas las restricciones La tarea puede consistir en conseguir una o todas las soluciones Se resuelven con métodos de búsqueda. Constraint Programming 11

12 Resolución de restricciones Difiere de la satisfacción de restricciones en la utilización de variables con dominios infinitos Las restricciones individuales son también más complejas (pe. inecuaciones no lineales) Utilizan métodos algebraicos y numéricos en lugar combinaciones y búsqueda. Es posible discretizar dominios infinitos y aplicar entonces técnicas de satisfacción de restricciones. Constraint Programming 12

13 Satisfacción de restricciones Un Constraint Satisfaction Problem (CSP) se compone de Un conjunto de variables X={x 1,..., x n } Para cada variable x i, un conjunto finito de valores posibles D i (su dominio) Y un conjunto de restricciones limitando los valores que pueden tomar simultáneamente las variables de cada restricción Una solución de un CSP consiste en la asignación de un valor a cada variable de sus correspondientes dominios, de forma que se satisfagan todas las restricciones Podemos querer encontrar Sólo una solución, si preferir cual Todas las soluciones Una óptima o, al menos, una buena solución, dada una función objetivo definida en término de algunas o todas las variables Constraint Programming 13

14 Satisfacción de restricciones II Las soluciones se encuentran probando sistemáticamente todas las asignaciones posibles. Existen distintas familias de métodos de búsqueda: Explorar el espacio de asignaciones parciales Explorar el espacio de asignaciones completas (a todas las variables) estocásticamente. porqué no utilizar métodos como los de investigación operativa? La representación de un CSP es mucho más cercana al problema original En ocasiones los métodos de CS son más rápidos que los de programación entera Constraint Programming 14

15 Satisfacción de restricciones III qué veremos? Algoritmos de búsqueda sistemática Técnicas de consistencia Propagación de restricciones Ordenación de variables y valores Constraint Programming 15

16 Algoritmos de búsqueda sistemáticos La mayoría de los algoritmos utilizados para resolver CSP buscan sistemáticamente entre las asignaciones posibles de valores a variables. Garantizan encontrar una solución (si es que existe) Desventaja: ineficiencia Representativos Generar y Testear GT Vuelta atrás (cronológica) BT Constraint Programming 16

17 Generar y Testear GT Primero prueba una combinación y después comprueba si es correcta El número de combinaciones posibles es el producto cartesiano de todos los dominios de las variables Desventaja No es eficiente: genera muchas asignaciones erróneas Se puede mejorar fácilmente Backtracking Constraint Programming 17

18 Vuelta atrás BT Es el más usual de los que realizan busca sistemática Intenta extender una solución parcial incrementalmente con la asignación a una variable que sea consistente con la solución parcial obtenida hasta ese momento Si una solución parcial viola alguna restricción, se realiza la vuelta atrás con la variable que recibió su valor más recientemente y tiene valores alternativos BT es capaz de eliminar un subespacio del producto cartesiano de todos los dominios de las variables Aunque mejor que GT su complejidad computacional es exponencial Constraint Programming 18

19 Vuelta atrás. Desventajas Thrashing (vapulear, golpear?) Falla reiteradamente debido a la misma causa Ej. A, B, C, D, E: A>E Intenta todas las asignaciones para B,C,D antes de encontrar que A <> 1 Se produce porque no detecta la causa real del conflicto Se puede evitar con Vuelta atrás inteligente (Backjumping) La vuelta atrás se produce al punto que genera el problema Trabajo redundante Aunque se identifiquen las variables conflictivas, no se almacenan para volver a detectar la misma situación posteriormente Ej. A, B, C, D, E: B+8<D C=5*E En las asignaciones a C,E comprueba reiteradamente los valores 1..9 para D Métodos de vuelta atrás dirigidos por dependencias eliminan estos dos inconvenientes (backmarking, backchecking recuerda las asignaciones fallidas) Detecta conflictos demasiado tarde No es capaz de detectar el conflicto hasta que ocurre Ej. A, B, C, D, E: A= 3*E El hecho de que A>2 se detecta al asignar E Se evita aplicando técnicas para comprobar por anticipado los posibles conflictos (forward checking) Constraint Programming 19

20 Técnicas de consistencia Aparecen en los primeros programas de reconocimiento de imágenes Consiste en descartar combinaciones que no conducen a soluciones antes de la búsqueda Reduce el espacio de búsqueda Se podrían utilizar sin búsqueda (aunque no es lo usual) Los algoritmos que fuerzan la consistencia en CSP binarios persiguen que una solución parcial que define una pequeña red (de restricciones) se pueda extender a una red adyacente Ejemplo: A:[3..7]; B:[1..5] con A<B resulta en A[3..4]; B[4..5] Tipos Nodo Arco Camino Constraint Programming 20

21 Consistencia de nodos Es la más simple de conseguir El nodo V es consistente a nivel de nodo si cada valor x de su dominio actual satisface todas las restricciones unarias sobre V Todos aquellos valores que violen alguna restricción unaria se eliminan del dominio Algoritmo NodeConsistency procedure NC for each V in nodes(g) for each X in the domain D of V if any unary constraint on V is inconsistent with X then delete X from D; endif endfor endfor end NC Constraint Programming 21

22 Consistencia de Arcos Persigue asegurar la consistencia de restricciones binarias (en CSP binarios) El arco (Vi,Vj) es consistente a nivel de arcos si para cada valor x en el dominio actual de Vi existe algún valor y en el dominio de Vj de forma que Vi=x y Vj=y es una combinación permitida por las restricciones binarias entre Vi y Vj NO es simétrica: Si (Vi,Vj) es consistente, no significa que (Vj,Vi) también lo sea. Sólo hay que eliminar aquellos valores de Vi para los que no existe algún valor en Vj que verifique las restricciones binarias entre Vi y Vj Constraint Programming 22

23 Consistencia de Arcos: REVISE procedure REVISE(Vi,Vj) DELETE <- false; for each X in Di do if there is no such Y in Dj such that (X,Y) is consistent, then delete X from Di; DELETE <- true; endif; endfor; return DELETE; End REVISE Para conseguir la consistencia en un grafo de restricciones no es suficiente con ejecutar este procedimiento una sola vez Cada vez que REVISE reduce el dominio de alguna variable Vi, algunos arcos (Vj,Vi) ya analizados, deben ser revisados nuevamente algoritmo AC-1 Constraint Programming 23

24 Consistencia de Arcos: AC-1 procedure AC-1 Q <- {(Vi,Vj) in arcs(g),i#j}; repeat CHANGE <- false; for each (Vi,Vj) in Q do CHANGE <- REVISE(Vi,Vj) or CHANGE; Endfor until not(change) end AC-1 Principal limitación Ineficiencia: cada modificación de un dominio fuerza la re-evaluación de todos los arcos AC-3 Constraint Programming 24

25 Consistencia de Arcos: AC-3 Es suficiente una cola de arcos para revisitar Sólo se incluyen en la cola los arcos afectados por la reducción del dominio. No se incluye el arco inverso al que provocó la reducción del dominio procedure AC-3 Q <- {(Vi,Vj) in arcs(g),i#j}; while not Q empty select and delete any arc (Vk,Vm) from Q; if REVISE(Vk,Vm) then Q <- Q union {(Vi,Vk) such that (Vi,Vk) in arcs(g),i#k,i#m} Endif Endwhile End AC- Constraint Programming 25

26 Conjuntos de apoyo Se comprueban muchos pares de valores en cada revisión del arco Dichos test se repiten cada vez que se revisa el arco Realmente los valores a,b,c no necesitan ser re-evaluados porque todavía tienen apoyos en V 2 distintos de a no podríamos computar los conjuntos de apoyo una vez y usarlos durante la revisión? Constraint Programming 26

27 Consistencia de Arcos: AC-4 procedure INITIALIZE Q <- {}; S <- {}; % initialize each element of structure S for each (Vi,Vj) in arcs(g) do % (Vi,Vj) and (Vj,Vi) are same elements for each a in Di do total <- 0; for each b in Dj do if (a,b) is consistent according to the constraint (Vi,Vj) then total <- total+1; Sj,b <- Sj,b union {<i,a>}; Endif endfor; counter[(i,j),a] <- total; if counter[(i,j),a]=0 then delete a from Di; Q <- Q union {<i,a>}; endif; endfor; endfor; return Q; end INITIALIZE procedure AC-4 Q <- INITIALIZE; while not Q empty select and delete any pair <j,b> from Q; for each <i,a> from Sj,b do counter[(i,j),a] <- counter[(i,j),a] - 1; if counter[(i,j),a]=0 & a is still in Di then delete a from Di; Q <- Q union {<i,a>}; Endif Endfor Endwhile end AC-4 Constraint Programming 27

28 Cálculo de los apoyos y su utilización Después de procesar el arco (i,j) de INITIALIZE Utilizando los conjuntos de apoyo 1. Sea b3 eliminado del domino de j (por algún motivo) 2. Examinando Sj,b3 encontramos los valores a los que b3 apoya 3. Decrementamos el contador para estos valores (indicarles que han perdido uno de los apoyos) 4. Si algún contador es cero (a3) eliminar el valor y repetir el procedimiento con el valor respectivo (ir a 1) Constraint Programming 28

29 Consistencia de Arcos AC-3 y AC-4 son los más utilizados AC-4 consigue el óptimo para el peor caso Su eficiencia media no es buena... y además consume gran cantidad de memoria También existen evoluciones como AC-5, AC-6, AC-7,... No está clara su eficacia (compromiso entre carga computacional, velocidad, y almacenamiento) Si después de aplicar consistencia de arcos el dominio de cada variable es uno, el CSP tendrá solución única En cualquier otro caso la respuesta no es general. Ejemplo: red de restricciones consistente en arcos, dominios no vacíos, y sin solución que satisfaga todas las restricciones... Constraint Programming 29

30 Consistencia de caminos Consistencia-k Consiste en aplicar un mayor grado de consistencia para salvar la ineficacia de la consistencia de arcos Un grafo es k-consistente cuando Seleccionamos k-1 variables que satisfagan todas las restricciones entre estas variables y tomar una k-ésima variable cualquiera, y existe un valor para la variable k-ésima que satisfaga todas las restricciones entre las k variables Un grafo es fuertemente k-consistente si es j-consistente para todo j<=k Consistencia de nodos es 1-consistente Consistencia de arcos es 2-consistente Consistencia de caminos >= 3-consistente Aunque existen algoritmos no se suelen utilizar por motivos de eficiencia: mayor consumo de memoria, baja relación potencia/eficiencia, amplia la red de restricciones y tampoco garantiza encontrar una solución Constraint Programming 30

31 Pensar globalmente CSP: los problemas se describen localmente Las restricciones afectan a pequeños conjuntos de variables La reducción de los dominios es pobre Analizar restricciones globales Aplicables sobre subproblemas concretos Utilizar información semántica para mejorar la eficiencia Ejemplo La consistencia local no detecta poda, aunque es posible eliminar algunos valores Constraint Programming 31

32 Propagación de restricciones Combina técnicas de backtracking con técnicas de consistencia. Backtracking-> construye una solución parcial y la va extendiendo con nuevas variables Consistencia-> se aplica después de cada nueva asignación Obtendremos distintos algoritmos de satisfacción de restricciones dependiendo de la técnica de consistencia aplicada Backtracking Forward checking Look ahead Constraint Programming 32

33 Backtracking Se puede ver como una combinación de GT y una fracción de consistencia de arcos Comprueba consistencia de arcos entre las variables instanciadas de la solución parcial y la nueva extensión que se pretende hacer Como los dominios de las variables de la solución parcial sólo contienen un valor, si se viola una restricción alguno de estos dominios se reducirán y se producirá el backtracking Podemos redefinir el algoritmo BT como sigue: Constraint Programming 33

34 Algoritmo AC-3 para backtracking procedure AC3-BT(cv) Q <- {(Vi,Vcv) in arcs(g),i<cv}; consistent <- true; while not Q empty & consistent select and delete any arc (Vk,Vm) from Q; consistent <- not REVISE(Vk,Vm) Endwhile return consistent end AC3-BT Donde Vcv es la siguiente variable a asignar Constraint Programming 34

35 Algoritmo AC-3 para backtracking ejemplo Constraint Programming 35

36 Forward checking Es una técnica que intenta prevenir posibles conflictos futuros Persigue consistencia de arcos sobre variables que todavía no han sido instanciadas. Consistencia de arcos restrictiva: sólo comprueba consistencia de arco entre la variable actual y las futuras Se eliminan de los dominios de las variables futuras aquellos valores que entran en conflicto con la asignación que se pretende realizar Se produce un backtracking cuando un dominio futuro se vacía Es casi siempre mejor opción que la vuelta atrás cronológica Detecta inconsistencias antes permitiendo podar el árbol de búsqueda mucho más que con backtracking simple Constraint Programming 36

37 Algoritmo AC-3 para Forward checking procedure AC3-FC(cv) Q <- {(Vi,Vcv) in arcs(g),i>cv}; consistent <- true; while not Q empty & consistent select and delete any arc (Vk,Vm) from Q; if REVISE(Vk,Vm) then consistent <- not Dk empty endif endwhile return consistent end AC3-FC Constraint Programming 37

38 Algoritmo AC-3 para Forward checking: ejemplo Constraint Programming 38

39 Look Ahead Persigue consistencia de arcos entre la variable actual y las futuras (full) look ahead o MAC (maintaining arc consistency) Detecta conflictos entre variables futuras Poda más ramas del árbol de búsqueda El coste computacional cada vez que se realiza un asignación también es mayor que con forward checking Constraint Programming 39

40 Algoritmo AC-3 para Look Ahead procedure AC3-LA(cv) Q <- {(Vi,Vcv) in arcs(g),i>cv}; consistent <- true; while not Q empty & consistent select and delete any arc (Vk,Vm) from Q; if REVISE(Vk,Vm) then Q <- Q union {(Vi,Vk) such that (Vi,Vk) in arcs(g),i#k,i#m,i>cv} consistent <- not Dk empty Endif Endwhile return consistent end AC3-LA Constraint Programming 40

41 Comparación de técnicas de propagación Cuanta más propagación de restricciones más poda en el árbol de búsqueda El costo computacional total será mayor Obtener n-consistencia para el problema original podría eliminar completamente la necesidad de búsqueda Suele ser más costoso que el backtracking simple Para algunos problemas look-ahead puede ser más costoso que forward checking Constraint Programming 41

42 Ordenación de variables y valores Los algoritmos de búsqueda requieren especificar el orden en el que se instancian las variables y el orden en el que se les asignan valores. La elección del orden adecuado (de variables y valores) incide significativamente en la eficiencia de la satisfacción de restricciones Constraint Programming 42

43 Ordenación de variables Estático: se especifica antes de que comience la búsqueda Dinámico: la elección de la siguiente variable depende en cada momento del estado actual de la búsqueda. No es viable para todos los algoritmos de búsqueda (ej. Backtracking simple) Heurísticas Intentar primero donde sea más probable que falle (ej. primero la variable con menos alternativas) Intentar primero la variable que participe en más restricciones Elegir la variable con el mayor número de restricciones con las variables pasadas Constraint Programming 43

44 Ordenación de valores Es indiferente si se buscan todas las soluciones o no existe solución La ordenación ideal permitiría encontrar la primera solución sin backtracking Se suele aplicar el principio de las correctas primero Valores que maximizan el número de opciones disponibles Usar el count del AC-4 Valores que conducen a una solución más fácil Existen métodos para evaluar la dificultad de resolución de un CSP Usar conocimiento del dominio Constraint Programming 44

45 Por qué utilizar Constraint Programming? Cercano a los problemas reales (combinatorios) Todos utilizan restricciones para especificar las propiedades de los problemas Las restricciones de la vida real pueden ser descritas con naturalidad utilizando restricciones Carácter declarativo Se concentra en la descripción del problema más que en resolverlo Resolución de problemas cooperativa Estructura unificada para integrar varias técnicas de resolución Búsqueda simple y técnicas sofisticadas de propagación Semánticamente puro Lenguajes de programación claros y elegantes Bases en programación lógica Aplicaciones Existen múltiples aplicaciones reales Constraint Programming 45

46 Notas finales Restricciones Relaciones arbitrarias sobre variables del problema Expresan información local parcial de forma declarativa Tecnología Búsqueda combinada con propagación de restricciones Búsqueda local Es fácil especificar problemas combinatorios en términos de CSP.. Pero es más difícil diseñar modelos resolubles Constraint Programming 46

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

Restricciones. Inteligencia Artificial. Ingeniería Superior en Informática, 4º Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani Restricciones Ingeniería Superior en Informática, 4º Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani 1 Tema 2: Agentes basados en Búsqueda Resumen: 2. Agentes basados en búsqueda

Más detalles

Algoritmos para CSP 1

Algoritmos para CSP 1 Algoritmos para CSP 1 1. Técnicas de Consistencia, o Inferenciales I. Inferencia, o consistencia completa Proceso que permite la síntesis de todas las restricciones de un problema en una única restricción

Más detalles

Problemas de satisfacción de restricciones.

Problemas de satisfacción de restricciones. Problemas de satisfacción de restricciones. In whitch we see how treating states as more than just little black boxes leads to the invention of a range of powerful new search methods and a deeper understanding

Más detalles

Satisfacción de Restricciones

Satisfacción de Restricciones Satisfacción de Restricciones Introducción Componentes del estado: Variables Dominios (valores posibles para las variables) Restricciones binarias entre las variables Objetivo: Encontrar un estado que

Más detalles

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

Hoja de Problemas Tema 6 Búsqueda con estados estructurados: Restricciones Ejercicio 1: 1.1. Si se resuelve un problema de satisfacción de restricciones mediante búsqueda con asignaciones parciales, entonces (a) (b) (c) (d) (e) Un estado siempre asigna un valor a todas las variables

Más detalles

Tema 3: Problemas de Satisfacción de Restricciones

Tema 3: Problemas de Satisfacción de Restricciones Tema 3: Problemas de Satisfacción de Restricciones Universidad de Granada Tema 3: Satisfacción de Restricciones Contenido Problemas de satisfacción de restricciones Métodos de búsqueda Búsqueda local para

Más detalles

Ingeniería en Informática

Ingeniería en Informática Departamento de Informática Universidad Carlos III de Madrid Ingeniería en Informática Aprendizaje Automático Junio 2007 Normas generales del examen El tiempo para realizar el examen es de 3 horas No se

Más detalles

Ecuaciones de primer grado con dos incógnitas

Ecuaciones de primer grado con dos incógnitas Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad

Más detalles

Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE

Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE Técnicas de prueba El desarrollo de Sistemas de software implica la realización de una serie de actividades predispuestas a incorporar errores (en la etapa de definición de requerimientos, de diseño, de

Más detalles

Resolución de Problemas

Resolución de Problemas Introducción Resolución de Problemas La resolución de problemas es una capacidad que consideramos inteligente Somos capaces de resolver problemas muy diferentes Encontrar el camino en un laberinto Resolver

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

GRAFOS. Prof. Ing. M.Sc. Fulbia Torres

GRAFOS. Prof. Ing. M.Sc. Fulbia Torres ESTRUCTURAS DE DATOS 2006 Prof. DEFINICIÓN Un grafo consta de un conjunto de nodos(o vértices) y un conjunto de arcos (o aristas). Cada arco de un grafo se especifica mediante un par de nodos. Denotemos

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

Activos Intangibles Costos de Sitios Web

Activos Intangibles Costos de Sitios Web SIC-32 Documentos publicados para acompañar a la Interpretación SIC-32 Activos Intangibles Costos de Sitios Web Esta versión incluye las modificaciones resultantes de las NIIF emitidas hasta el 31 de diciembre

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

Problemas de satisfacción de restricciones. Javier Ramírez Rodríguez Departamento de Sistemas Universidad Autónoma Metropolitana

Problemas de satisfacción de restricciones. Javier Ramírez Rodríguez Departamento de Sistemas Universidad Autónoma Metropolitana Problemas de satisfacción de restricciones Javier Ramírez Rodríguez Departamento de Sistemas Universidad Autónoma Metropolitana La programación con restricciones (PR) ha generado gran expectación entre

Más detalles

Universidad de Buenos Aires Facultad De Ingeniería. Operaciones Lógicas. [75.40] Algoritmos y Programación I. 2do Cuatrimestre 2010

Universidad de Buenos Aires Facultad De Ingeniería. Operaciones Lógicas. [75.40] Algoritmos y Programación I. 2do Cuatrimestre 2010 Universidad de Buenos Aires Facultad De Ingeniería Operaciones Lógicas [75.40] Algoritmos y Programación I 2do Cuatrimestre 2010 Cátedra: Ing. Pablo Guarna Autor: Bernardo Ortega Moncada Índice 1. Introducción

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

Módulo 9 Sistema matemático y operaciones binarias

Módulo 9 Sistema matemático y operaciones binarias Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional

Más detalles

Nota 2. Luis Sierra. Marzo del 2010

Nota 2. Luis Sierra. Marzo del 2010 Nota 2 Luis Sierra Marzo del 2010 Cada mecanismo de definición de conjuntos que hemos comentado sugiere mecanismos para definir funciones y probar propiedades. Recordemos brevemente qué son las funciones

Más detalles

Árboles AVL. Laboratorio de Programación II

Árboles AVL. Laboratorio de Programación II Árboles AVL Laboratorio de Programación II Definición Un árbol AVL es un árbol binario de búsqueda que cumple con la condición de que la diferencia entre las alturas de los subárboles de cada uno de sus

Más detalles

Lectura: MANTENER LA DISTANCIA. CIRCULANDO POR EUROPA

Lectura: MANTENER LA DISTANCIA. CIRCULANDO POR EUROPA Lectura: MANTENER LA DISTANCIA. CIRCULANDO POR EUROPA 1 2 Presentación del trabajo propuesto El planteamiento general de esta propuesta de evaluación consiste en analizar hasta tres situaciones diferentes

Más detalles

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0

Más detalles

CLASE # 5 TÉCNICAS DE CAJA BLANCA

CLASE # 5 TÉCNICAS DE CAJA BLANCA CLASE # 5 TÉCNICAS DE CAJA BLANCA 750105M - TÉCNICAS DE PRUEBAS DE SOFTWARE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DEL VALLE SEMESTRE 2013A - DOCENTE BEATRIZ FLORIAN GAVIRIA Basado Parcialmente

Más detalles

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en

Más detalles

Es de aplicación a todas aquellas situaciones en las que se necesita desplegar un objetivo para obtener una visión clara de cómo debe ser alcanzado.

Es de aplicación a todas aquellas situaciones en las que se necesita desplegar un objetivo para obtener una visión clara de cómo debe ser alcanzado. DIAGRAMA DE AÁRBOL 1.- INTRODUCCIÓN Este documento describe el proceso de construcción de un Diagrama de Árbol, mediante el cual se dispone de una metodología simple y sistemática para la identificación

Más detalles

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases. BASES Y DIMENSIÓN Definición: Base. Se llama base de un espacio (o subespacio) vectorial a un sistema generador de dicho espacio o subespacio, que sea a la vez linealmente independiente. β Propiedades

Más detalles

circuitos digitales Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007

circuitos digitales Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Oliverio J. Santana Jaria Sistemas Digitales 8. Análisis lógico l de los circuitos digitales Ingeniería Técnica en Informática de Sistemas Los Curso 26 27 El conjunto circuitos de puertas digitales lógicas

Más detalles

Capítulo IV. INTERBLOQUEO E INANICIÓN

Capítulo IV. INTERBLOQUEO E INANICIÓN Capítulo IV. INTERBLOQUEO E INANICIÓN Interbloqueo: [MAEKAMA] Se define como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros.

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

SISTEMAS Y MANUALES DE LA CALIDAD

SISTEMAS Y MANUALES DE LA CALIDAD SISTEMAS Y MANUALES DE LA CALIDAD NORMATIVAS SOBRE SISTEMAS DE CALIDAD Introducción La experiencia de algunos sectores industriales que por las características particulares de sus productos tenían necesidad

Más detalles

Cómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1

Cómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1 . ESPACIOS VECTORIALES Consideremos el siguiente subconjunto de R 4 : S = {(x, x 2, x 3, x 4 )/x x 4 = 0 x 2 x 4 = x 3 a. Comprobar que S es subespacio vectorial de R 4. Para demostrar que S es un subespacio

Más detalles

SÍNTESIS Y PERSPECTIVAS

SÍNTESIS Y PERSPECTIVAS SÍNTESIS Y PERSPECTIVAS Los invitamos a observar, a identificar problemas, pero al mismo tiempo a buscar oportunidades de mejoras en sus empresas. REVISIÓN DE CONCEPTOS. Esta es la última clase del curso.

Más detalles

7. Conclusiones. 7.1 Resultados

7. Conclusiones. 7.1 Resultados 7. Conclusiones Una de las preguntas iniciales de este proyecto fue : Cuál es la importancia de resolver problemas NP-Completos?. Puede concluirse que el PAV como problema NP- Completo permite comprobar

Más detalles

Operaciones Booleanas y Compuertas Básicas

Operaciones Booleanas y Compuertas Básicas Álgebra de Boole El álgebra booleana es la teoría matemática que se aplica en la lógica combinatoria. Las variables booleanas son símbolos utilizados para representar magnitudes lógicas y pueden tener

Más detalles

árbol como un conjunto de nodos y líneas

árbol como un conjunto de nodos y líneas ÁRBOLES CAPÍTULO 6 ÁRBOLES Desde el punto de vista conceptual, un árbol es un objeto que comienza con una raíz (root) y se extiende en varias ramificaciones o líneas (edges), cada una de las cuales puede

Más detalles

SIC 32 Activos Intangibles Costos de Sitios Web

SIC 32 Activos Intangibles Costos de Sitios Web SIC 32 Activos Intangibles Costos de Sitios Web La Interpretación SIC-32 Activos Intangibles Costos de Sitios Web se encuentra en los párrafos 7 a 10. La SIC-32 viene acompañada de Fundamentos de las Conclusiones

Más detalles

ANEXO 26-A COMITÉ PERMANENTE DE INTERPRETACIÓN SIC N 32 ACTIVOS INTANGIBLES COSTOS DE SITIOS WEB. (Modificada en 2008) (IV Difusión)

ANEXO 26-A COMITÉ PERMANENTE DE INTERPRETACIÓN SIC N 32 ACTIVOS INTANGIBLES COSTOS DE SITIOS WEB. (Modificada en 2008) (IV Difusión) ANEXO 26-A COMITÉ PERMANENTE DE INTERPRETACIÓN SIC N 32 ACTIVOS INTANGIBLES COSTOS DE SITIOS WEB (Modificada en 2008) (IV Difusión) Interpretación SIC-32 Activos Intangibles - Costos de Sitios Web Referencias

Más detalles

1. Descripción y objetivos

1. Descripción y objetivos Pruebas 1 1. Descripción y objetivos Las pruebas son prácticas a realizar en diversos momentos de la vida del sistema de información para verificar: El correcto funcionamiento de los componentes del sistema.

Más detalles

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014 Tecnologías en la Educación Matemática jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR 1 Datos Los algoritmos combinan datos con acciones. Los datos de entrada

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen

Más detalles

Tema 3. Espacios vectoriales

Tema 3. Espacios vectoriales Tema 3. Espacios vectoriales Estructura del tema. Definición y propiedades. Ejemplos. Dependencia e independencia lineal. Conceptos de base y dimensión. Coordenadas Subespacios vectoriales. 0.1. Definición

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

Más detalles

DEPARTAMENTO DE INGENIERÍA EN SISTEMAS Y COMPUTACIÓN OPCIÓN I

DEPARTAMENTO DE INGENIERÍA EN SISTEMAS Y COMPUTACIÓN OPCIÓN I 1INSTITUTO TECNOLÓGICO DE CIUDAD MADERO DEPARTAMENTO DE INGENIERÍA EN SISTEMAS Y COMPUTACIÓN OPCIÓN I TESIS: Desarrollo de Algoritmos de Retroceso Aplicados a la solución del Problema del Diseño de la

Más detalles

Resumen de técnicas para resolver problemas de programación entera. 15.053 Martes, 9 de abril. Enumeración. Un árbol de enumeración

Resumen de técnicas para resolver problemas de programación entera. 15.053 Martes, 9 de abril. Enumeración. Un árbol de enumeración 5053 Martes, 9 de abril Ramificación y acotamiento () Entregas: material de clase Resumen de técnicas para resolver problemas de programación entera Técnicas de enumeración Enumeración completa hace una

Más detalles

El modelo relacional

El modelo relacional El modelo relacional El modelo relacional constituye una alternativa para la organización y representación de la información que se pretende almacenar en una base de datos. Se trata de un modelo teórico

Más detalles

Capítulo 4 Procesos con estructuras de repetición

Capítulo 4 Procesos con estructuras de repetición Estructura de contador Capítulo 4 Procesos con estructuras de repetición Esta es una operación que incrementa en una unidad el valor almacenado en la variable c, cada vez que el flujo del diagrama pasa

Más detalles

Capitulo V Administración de memoria

Capitulo V Administración de memoria Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal

Más detalles

NÚMEROS NATURALES Y NÚMEROS ENTEROS

NÚMEROS NATURALES Y NÚMEROS ENTEROS NÚMEROS NATURALES Y NÚMEROS ENTEROS Los números naturales surgen como respuesta a la necesidad de nuestros antepasados de contar los elementos de un conjunto (por ejemplo los animales de un rebaño) y de

Más detalles

Programación Genética

Programación Genética Programación Genética Programación Genética consiste en la evolución automática de programas usando ideas basadas en la selección natural (Darwin). No sólo se ha utilizado para generar programas, sino

Más detalles

Árboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores

Árboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores Árboles Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores Contenido de la sección Introducción Árbol genérico Definición y representación Árboles binarios Definición, implementación,

Más detalles

Matrices. Definiciones básicas de matrices. www.math.com.mx. José de Jesús Angel Angel. jjaa@math.com.mx

Matrices. Definiciones básicas de matrices. www.math.com.mx. José de Jesús Angel Angel. jjaa@math.com.mx Matrices Definiciones básicas de matrices wwwmathcommx José de Jesús Angel Angel jjaa@mathcommx MathCon c 2007-2008 Contenido 1 Matrices 2 11 Matrices cuadradas 3 12 Matriz transpuesta 4 13 Matriz identidad

Más detalles

Métodos Heurísticos en Inteligencia Artificial

Métodos Heurísticos en Inteligencia Artificial Métodos Heurísticos en Inteligencia Artificial Javier Ramírez rez-rodríguez Ana Lilia Laureano-Cruces Universidad Autónoma Metropolitana Métodos Heurísticos en Inteligencia Artificial Los problemas de

Más detalles

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3.

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3. GANTT, PERT y CPM Características Conseguir una buena programación es un reto, no obstante es razonable y alcanzable. Ella debe tener el compromiso del equipo al completo, para lo cual se recomienda que

Más detalles

Unidad II: Análisis de Redes

Unidad II: Análisis de Redes Unidad II: Análisis de Redes 2.1 Conceptos Básicos Un problema de redes es aquel que puede representarse por: LA IMPORTANCIA DE LOS MODELOS DE REDES: Muchos problemas comerciales pueden ser resueltos a

Más detalles

Sistemas de ayuda a la decisión Tema 5. Análisis de Sensibilidad Análisis Cualitivo y Análisis Paramétrico

Sistemas de ayuda a la decisión Tema 5. Análisis de Sensibilidad Análisis Cualitivo y Análisis Paramétrico Tema 5. Análisis de Sensibilidad Análisis Cualitivo y Análisis Paramétrico Indice 1) Motivavión, Identifición y Estructuración del problema 2) Análisis Paramétrico: Medidas basadas en distancias de umbral

Más detalles

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de CAPITULO 4 JUSTIFICACION DEL ESTUDIO En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de estudios previos y los alcances que justifican el presente estudio. 4.1. Justificación.

Más detalles

Gestión de la Configuración

Gestión de la Configuración Gestión de la ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ESTUDIO DE VIABILIDAD DEL SISTEMA... 2 ACTIVIDAD EVS-GC 1: DEFINICIÓN DE LOS REQUISITOS DE GESTIÓN DE CONFIGURACIÓN... 2 Tarea EVS-GC 1.1: Definición de

Más detalles

Ciclo de vida del Software

Ciclo de vida del Software Tema 2: Ciclo de vida del Software Marcos López Sanz Índice Qué es el ciclo de vida del Software? La norma 12207-2008 Modelos de desarrollo Qué es el Ciclo de Vida del SW? Es una sucesión de etapas por

Más detalles

Plan de estudios ISTQB: Nivel Fundamentos

Plan de estudios ISTQB: Nivel Fundamentos Plan de estudios ISTQB: Nivel Fundamentos Temario 1. INTRODUCCIÓN 2. FUNDAMENTOS DE PRUEBAS 3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL 4. TÉCNICAS ESTÁTICAS 5. TÉCNICAS DE DISEÑO DE PRUEBAS 6. GESTIÓN DE

Más detalles

Gestión de Configuración del Software

Gestión de Configuración del Software Gestión de Configuración del Software Facultad de Informática, ciencias de la Comunicación y Técnicas Especiales Herramientas y Procesos de Software Gestión de Configuración de SW Cuando se construye software

Más detalles

SISTEMAS NUMERICOS. Ing. Rudy Alberto Bravo

SISTEMAS NUMERICOS. Ing. Rudy Alberto Bravo SISTEMAS NUMERICOS SISTEMAS NUMERICOS Si bien el sistema de numeración binario es el más importante de los sistemas digitales, hay otros que también lo son. El sistema decimal es importante porque se usa

Más detalles

Sistemas de numeración

Sistemas de numeración Sistemas de numeración Sistema binario 0,1 Sistema octal 0, 1, 2, 3, 4, 5, 6, 7 Sistema decimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Sistema hexadecimal 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Una señal

Más detalles

Fundamentos de Investigación de Operaciones Asignación y Vendedor Viajero

Fundamentos de Investigación de Operaciones Asignación y Vendedor Viajero Fundamentos de Investigación de Operaciones y Vendedor Viajero 23 de mayo de 2004 Si bien la resolución del problema de transporte mediante tableau parece ser muy expedita, existen ciertos tipos de problemas

Más detalles

TEMA 8.- DISEÑO TEORICO DE BASES DE DATOS RELACIONALES. 1. TEORÍA DE LAS DEPENDENCIAS FUNCIONALES

TEMA 8.- DISEÑO TEORICO DE BASES DE DATOS RELACIONALES. 1. TEORÍA DE LAS DEPENDENCIAS FUNCIONALES TEMA 8.- DISEÑO TEORICO DE BASES DE DATOS RELACIONALES. Teoría de las Dependencias Funcionales. Teoría de la Normalización. Formas Normales. Conclusiones. 1. TEORÍA DE LAS DEPENDENCIAS FUNCIONALES Las

Más detalles

TEMA 2: Representación de la Información en las computadoras

TEMA 2: Representación de la Información en las computadoras TEMA 2: Representación de la Información en las computadoras Introducción Una computadora es una máquina que procesa información y ejecuta programas. Para que la computadora ejecute un programa, es necesario

Más detalles

Problemas de Satisfacción de Restricciones

Problemas de Satisfacción de Restricciones Problemas de Satisfacción de estricciones José Luis uiz eina José Antonio Alonso Jiménez Franciso J. Martín Mateos María José Hidalgo Doblado Dpto. Ciencias de la Computación e Inteligencia Artificial

Más detalles

CAPÍTULO 2 DEFINICIÓN DEL PROBLEMA

CAPÍTULO 2 DEFINICIÓN DEL PROBLEMA CAPÍTULO 2 DEFINICIÓN DEL PROBLEMA En el capítulo anterior se describió la situación inicial en la que se encontraba la Coordinación de Cómputo Académico (CCA) del Departamento de Ingenierías (DI) de la

Más detalles

TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS

TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS 1 1 BASES DE DATOS DISTRIBUIDAS TEMA 3 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ 2 3. PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS 3.1 Metodología del procesamiento de consultas distribuidas 3.2 Estrategias de

Más detalles

PRÁCTICA N 2 SISTEMAS DE NUMERACIÓN

PRÁCTICA N 2 SISTEMAS DE NUMERACIÓN PRÁCTICA N 2 SISTEMAS DE NUMERACIÓN Ejercicio 1. Diseñar una planilla EXCEL que tome como dato de entrada un número entero y devuelva la representación en base 2. Testearla con los números 23, 245, 673,

Más detalles

LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS

LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS Los clientes compran un servicio basandose en el valor que reciben en comparacion con el coste en el que incurren. Por, lo tanto, el objetivo a largo plazo

Más detalles

Estructura de Datos y de la Información. Pilas y expresiones aritméticas

Estructura de Datos y de la Información. Pilas y expresiones aritméticas Estructura de Datos y de la Información Pilas y expresiones aritméticas LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

Más detalles

un programa concurrente

un programa concurrente Introducción un programa concurrente asumimos que tengamos un programa concurrente que quiere realizar acciones con recursos: si los recursos de los diferentes procesos son diferentes no hay problema,

Más detalles

Problemas indecidibles

Problemas indecidibles Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas

Más detalles

Matrices Invertibles y Elementos de Álgebra Matricial

Matrices Invertibles y Elementos de Álgebra Matricial Matrices Invertibles y Elementos de Álgebra Matricial Departamento de Matemáticas, CCIR/ITESM 12 de enero de 2011 Índice 91 Introducción 1 92 Transpuesta 1 93 Propiedades de la transpuesta 2 94 Matrices

Más detalles

Activos Intangibles Costos de Sitios Web

Activos Intangibles Costos de Sitios Web SIC-32 Interpretación SIC-32 Activos Intangibles Costos de Sitios Web Esta versión incluye las modificaciones procedentes de las NIIF nuevas y modificadas emitidas hasta el 31 de diciembre de 2006. La

Más detalles

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta Operaciones en el Modelo Relacional Bases de Datos Ingeniería a Técnica T en Informática de Sistemas El interés de los usuarios de las bases de datos se suele centrar en realizar consultas (contestar a

Más detalles

ESTRATEGIA DE DINAMARCA: INFORME SOBRE EL FUTURO DEL ENTORNO LABORAL

ESTRATEGIA DE DINAMARCA: INFORME SOBRE EL FUTURO DEL ENTORNO LABORAL ESTRATEGIA DE DINAMARCA: INFORME SOBRE EL FUTURO DEL ENTORNO LABORAL NUEVAS PRIORIDADES PARA EL ENTORNO LABORAL ESTRATEGIA DE DINAMARCA: INFORME SOBRE EL FUTURO DEL ENTORNO LABORAL Página 1 ÍNDICE INTRODUCCIÓN

Más detalles

Algoritmos sobre Grafos

Algoritmos sobre Grafos Sexta Sesión 27 de febrero de 2010 Contenido Deniciones 1 Deniciones 2 3 4 Deniciones sobre Grafos Par de una lista de nodos y una lista de enlaces, denidos a su vez como pares del conjunto de nodos.

Más detalles

Búsqueda heurística Prof. Constantino Malagón

Búsqueda heurística Prof. Constantino Malagón Búsqueda heurística Prof. Constantino Malagón Area de Computación e Inteligencia Artificial 1 Búsqueda heurística Los métodos de búsqueda heurística disponen de alguna información sobre la proximidad de

Más detalles

ANÁLISIS SEMÁNTICO. Especificación formal: Semántica Operacional, semántica denotacional, semántica Axiomática, Gramáticas con Atributos.

ANÁLISIS SEMÁNTICO. Especificación formal: Semántica Operacional, semántica denotacional, semántica Axiomática, Gramáticas con Atributos. ANÁLISIS SEMÁNTICO El análisis semántico dota de un significado coherente a lo que hemos hecho en el análisis sintáctico. El chequeo semántico se encarga de que los tipos que intervienen en las expresiones

Más detalles

Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción. www.fundibeq.org

Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción. www.fundibeq.org DIAGRAMA MATRICIAL 1.- INTRODUCCIÓN Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción. Muestra su potencial, como herramienta indispensable para la planificación

Más detalles

Tema 2. Espacios Vectoriales. 2.1. Introducción

Tema 2. Espacios Vectoriales. 2.1. Introducción Tema 2 Espacios Vectoriales 2.1. Introducción Estamos habituados en diferentes cursos a trabajar con el concepto de vector. Concretamente sabemos que un vector es un segmento orientado caracterizado por

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

Aplicación de la inteligencia artificial a la resolución del problema de asignación de estudiantes del departamento de PDI

Aplicación de la inteligencia artificial a la resolución del problema de asignación de estudiantes del departamento de PDI Aplicación de la inteligencia artificial a la resolución del problema de asignación de estudiantes del departamento de PDI Ricardo Köller Jemio Departamento de Ciencias Exactas e Ingeniería, Universidad

Más detalles

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

Relaciones binarias. ( a, b) = ( c, d) si y solamente si a = c y b = d Relaciones binarias En esta sección estudiaremos formalmente las parejas de objetos que comparten algunas características o propiedades en común. La estructura matemática para agrupar estas parejas en

Más detalles

Espacios generados, dependencia lineal y bases

Espacios generados, dependencia lineal y bases Espacios generados dependencia lineal y bases Departamento de Matemáticas CCIR/ITESM 14 de enero de 2011 Índice 14.1. Introducción............................................... 1 14.2. Espacio Generado............................................

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A.

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A. Cátedra : Sistemas de Información Administrativa S.I.A. Escuela de Contadores Auditores Tema: Ingeniería del Software Estrategias de Pruebas Relator: Sr. Eduardo Leyton G Pruebas del Software (Basado en

Más detalles

forma de entrenar a la nuerona en su aprendizaje.

forma de entrenar a la nuerona en su aprendizaje. Sistemas expertos e Inteligencia Artificial,Guía5 1 Facultad : Ingeniería Escuela : Computación Asignatura: Sistemas expertos e Inteligencia Artificial Tema: SISTEMAS BASADOS EN CONOCIMIENTO. Objetivo

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

2.2. LA COMPRA. TOMA DE DECISIONES DEL CLIENTE.

2.2. LA COMPRA. TOMA DE DECISIONES DEL CLIENTE. 2.2. LA COMPRA. TOMA DE DECISIONES DEL CLIENTE. En este epígrafe abordaremos el estudio del comportamiento de compra del consumidor, para ello tendremos que estudiar tanto las distintas situaciones de

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Introducción. Definición de los presupuestos

Introducción. Definición de los presupuestos P o r q u é e l p r e s u p u e s t o d e b e s e r e l c a m i n o a s e g u i r p a r a g a r a n t i z a r e l é x i t o d e s u e m p r e s a? Luis Muñiz Economista Introducción El aumento de la incertidumbre

Más detalles

Programación de Sistemas

Programación de Sistemas Programación de Sistemas Algoritmos de Ordenación Índice Por qué es importante la ordenación? Un par de ejemplos InsertionSort QuickSort Para cada uno veremos: En qué consisten, Casos extremos Eficiencia

Más detalles

16.36: Ingeniería de sistemas de comunicación. Clase 15: ProtocolosARQ. Eytan Modiano

16.36: Ingeniería de sistemas de comunicación. Clase 15: ProtocolosARQ. Eytan Modiano 16.36: Ingeniería de sistemas de comunicación Clase 15: ProtocolosARQ Eytan Modiano Solicitud de repetición automática (ARQ) Divide archivos de gran tamaño en paquetes ARCHIVO PKT H PKT H PKT H Comprueba

Más detalles