Programación con Restricciones Constraint Programming

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

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

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

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

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

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

Razonamiento. con. Restricciones. Esquema Global. Tutorial IBERAMIA 2002. 1. Introducción - Definiciones - Ejemplos Esquema Global Razonamiento con Restricciones Tutorial IBERAMIA 2002 Javier Larrosa Dep. LSI, UPC, Barcelona Pedro Meseguer IIIA, CSIC, Bellaterra 1. Introducción - Definiciones - Ejemplos 2. Métodos de

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

Tema 5: Problemas de satisfacción de restricciones

Tema 5: Problemas de satisfacción de restricciones Tema 5: Problemas de satisfacción de restricciones José Luis uiz eina José Antonio Alonso Franciso J. Martín Mateos María José Hidalgo Departamento de Ciencias de la Computación e Inteligencia Artificial

Más detalles

El proyecto realizado consiste en un resolutor de sudokus mediante CSP.

El proyecto realizado consiste en un resolutor de sudokus mediante CSP. Introducción El proyecto realizado consiste en un resolutor de sudokus mediante CSP. El problema del sudoku fue inventado por Howard Garns en 1979 y se volvió muy popular en Japón en 1986. En España ha

Más detalles

Razonamiento. con. Restricciones. Esquema Global. Tutorial CAEPIA 2003. 1. Introducción - Definiciones - Ejemplos

Razonamiento. con. Restricciones. Esquema Global. Tutorial CAEPIA 2003. 1. Introducción - Definiciones - Ejemplos Esquema Global Razonamiento con Restricciones Tutorial CAEPIA 2003 Javier Larrosa Dep. LSI, UPC, Barcelona Pedro Meseguer IIIA, CSIC, Bellaterra 1. Introducción - Definiciones - Ejemplos 2. Métodos de

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

- 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

Inteligencia Artificial. Revista Iberoamericana de Inteligencia Artificial ISSN: 1137-3601 revista@aepia.org

Inteligencia Artificial. Revista Iberoamericana de Inteligencia Artificial ISSN: 1137-3601 revista@aepia.org Inteligencia Artificial. Revista Iberoamericana de Inteligencia Artificial ISSN: 1137-3601 revista@aepia.org Asociación Española para la Inteligencia Artificial España Barber, Federico; Salido, Miguel

Más detalles

Inteligencia Artificial. Visiones: Árboles de Búsqueda Técnicas Look-Back Técnicas Look-Ahead. Elizabeth Montero Ureta.

Inteligencia Artificial. Visiones: Árboles de Búsqueda Técnicas Look-Back Técnicas Look-Ahead. Elizabeth Montero Ureta. 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

Más detalles

Curso 2012-2013 15/10/12. Inteligencia Artificial (30223) Lección 5. Juegos. Índice. Juegos. Los juegos son una forma de entorno multiagente

Curso 2012-2013 15/10/12. Inteligencia Artificial (30223) Lección 5. Juegos. Índice. Juegos. Los juegos son una forma de entorno multiagente Inteligencia Artificial (30223) Lección 5. Juegos Curso 2012-2013 José Ángel Bañares 15/10/2013. Dpto. Informática e Ingeniería de Sistemas. Índice Juegos Decisiones optimas Poda α-β Juegos con información

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

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

Sistemas de producción y búsqueda de soluciones. Area de Computación e Inteligencia Artificial 1

Sistemas de producción y búsqueda de soluciones. Area de Computación e Inteligencia Artificial 1 Sistemas de producción y búsqueda de soluciones Area de Computación e Inteligencia Artificial 1 Técnicas de búsqueda Resolución de problemas en Inteligencia Artificial. En general, podemos afirmar que

Más detalles

Representación basada en Restricciones

Representación basada en Restricciones Representación basada en Restricciones Asunción Gómez-Pérez asun@fi.upm.es Departamento de Inteligencia Artificial Facultad de Informática Universidad Politécnica de Madrid Campus de Montegancedo sn, 28660

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

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

El programa que permite el manejo de la base de datos tiene la siguiente funcionalidad:

El programa que permite el manejo de la base de datos tiene la siguiente funcionalidad: El TAD Diccionario Cuando se usa un conjunto en el diseño de un algoritmo podría no ser necesario contar con operaciones de unión o intersección. A menudo lo que se necesita es simplemente manipular un

Más detalles

TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 1

TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 1 Técnicas de planificación y control de proyectos Andrés Ramos Universidad Pontificia Comillas http://www.iit.comillas.edu/aramos/ Andres.Ramos@comillas.edu TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS

Más detalles

III. BÚSQUEDA Y RESOLUCIÓN DE PROBLEMAS. III.3.

III. BÚSQUEDA Y RESOLUCIÓN DE PROBLEMAS. III.3. III. BÚSQUEDA Y RESOLUCIÓN DE PROBLEMAS. III.3. Búsquedas con retroceso. III.3.1. Búsquedas con retroceso a ciegas. III.3.1.1. Procedimientos con retroceso. La búsqueda con retroceso, o backtracking, es

Más detalles

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES El modelo relacional se basa en dos ramas de las matemáticas: la teoría de conjuntos y la lógica de predicados de primer orden. El hecho de que

Más detalles

Optimización de consultas Resumen del capítulo 14

Optimización de consultas Resumen del capítulo 14 Optimización de consultas Resumen del capítulo 14 Libro: Fundamentos de Bases de Datos Silberschatz et al. 5ed. Dr. Víctor J. Sosa Agenda 1. Visión general 2. Estimación de las estadísticas de los resultados

Más detalles

Programación Lineal Entera

Programación Lineal Entera Programación Lineal Entera P.M. Mateo y David Lahoz 2 de julio de 2009 En este tema se presenta un tipo de problemas formalmente similares a los problemas de programación lineal, ya que en su descripción

Más detalles

Algoritmos de planificación basados en restricciones para la sustitución de componentes defectuosos Irene Barba Rodríguez, 48861238S irenebr@us.

Algoritmos de planificación basados en restricciones para la sustitución de componentes defectuosos Irene Barba Rodríguez, 48861238S irenebr@us. Algoritmos de planificación basados en restricciones para la sustitución de componentes defectuosos Irene Barba Rodríguez, 48861238S irenebr@us.es Supervised by Prof. Dr. Carmelo del Valle Sevillano Thesis

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

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

ALGEBRA LINEAL. Héctor Jairo Martínez R. Ana María Sanabria R.

ALGEBRA LINEAL. Héctor Jairo Martínez R. Ana María Sanabria R. ALGEBRA LINEAL Héctor Jairo Martínez R. Ana María Sanabria R. SEGUNDO SEMESTRE 8 Índice general. SISTEMAS DE ECUACIONES LINEALES.. Introducción................................................ Conceptos

Más detalles

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA Resumen AUTORIA CARLOS CABALLERO GONZÁLEZ TEMATICA INFORMÁTICA ETAPA ESO-BACHILLERATO-CFGM(ESI,ASI,DSI) Se describe la revolución que supuso la incursión

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

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 7: VALIDACIÓN

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 7: VALIDACIÓN Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 7: VALIDACIÓN TÉCNICAS DE PRUEBA DEL SOFTWARE Introducción Aspectos psicológicos de las pruebas Flujo de información de la prueba

Más detalles

Temario III Algoritmos Combinatorios y Metaheurísticas

Temario III Algoritmos Combinatorios y Metaheurísticas Temario III Algoritmos Combinatorios y Metaheurísticas Verificación y Validación de Software UNCo 1 Contenidos Combinación de Datos de Test Algoritmos Combinatorios Metaheurísticas Búsqueda Tabú Algoritmos

Más detalles

Metodología de la Programación II. Recursividad

Metodología de la Programación II. Recursividad Metodología de la Programación II Recursividad Objetivos Entender el concepto de recursividad. Conocer los fundamentos del diseño de algoritmos recursivos. Comprender la ejecución de algoritmos recursivos.

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

Capítulo V Operaciones Booleanas

Capítulo V Operaciones Booleanas 85 Capítulo V Operaciones Booleanas 5.1 Introducción Es muy posible que en muchos casos sea necesario comparar dos objetos y determinar cuál es su parte común. Esto implica intersectar los dos objetos

Más detalles

Descripción inicial del sistema. Descripción final del sistema. Estado 1 Estado 2 Estado n

Descripción inicial del sistema. Descripción final del sistema. Estado 1 Estado 2 Estado n Búsqueda en Inteligencia Artificial Fernando Berzal, berzal@acm.org Búsqueda en I.A. Introducción Espacios de búsqueda Agentes de búsqueda Uso de información en el proceso de búsqueda Búsqueda sin información

Más detalles

Analisis de algoritmos

Analisis de algoritmos Analisis de algoritmos Eficiencia Es la capacidad de disponer de un recurso. En el caso de los algoritmos, la eficiencia se logra haciendo el mejor uso posible de los recursos del sistema. Recursos Qué

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

Jhon Jairo Padilla Aguilar, PhD.

Jhon Jairo Padilla Aguilar, PhD. Redes de Datos-Redes WAN Jhon Jairo Padilla Aguilar, PhD. UPB Bucaramanga Red WAN WAN: Wide Area Network Pueden cubrir un país entero Requieren de Nodos que recogen/distribuyen la información de los usuarios

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

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

Tema 2. Recursividad. Fundamentos de Programación II. Luís Rodríguez Baena (luis.rodriguez@upsam.net)

Tema 2. Recursividad. Fundamentos de Programación II. Luís Rodríguez Baena (luis.rodriguez@upsam.net) Fundamentos de Programación II Tema 2. Recursividad Luís Rodríguez Baena (luis.rodriguez@upsam.net) Universidad Pontificia de Salamanca (campus Madrid) Escuela Superior de Ingeniería y Arquitectura Naturaleza

Más detalles

Apuntes de Matemática Discreta 6. Relaciones

Apuntes de Matemática Discreta 6. Relaciones Apuntes de Matemática Discreta 6. Relaciones Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 6 Relaciones Contenido 6.1 Generalidades.....................................

Más detalles

Tema 2. Ingeniería del Software I feliu.trias@urjc.es

Tema 2. Ingeniería del Software I feliu.trias@urjc.es Tema 2 Ciclo de vida del software Ingeniería del Software I feliu.trias@urjc.es Índice Qué es el ciclo de vida del Software? El Estándar 12207 Modelos de proceso Qué es el Ciclo de Vida del SW? Definición

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

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

á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

Estructura de datos Tema 6: Tablas de dispersión (hashing)

Estructura de datos Tema 6: Tablas de dispersión (hashing) Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 6: Tablas de dispersión (hashing) Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Funciones hash

Más detalles

Universidad de Costa Rica Escuela de Matemática ALGEBRA LINEAL. x x1 n. θ y. 1 n x1 n ȳ1 n. Carlos Arce S. William Castillo E. Jorge González V.

Universidad de Costa Rica Escuela de Matemática ALGEBRA LINEAL. x x1 n. θ y. 1 n x1 n ȳ1 n. Carlos Arce S. William Castillo E. Jorge González V. Universidad de Costa Rica Escuela de Matemática ALGEBRA LINEAL x x x1 n θ y y ȳ1 n 1 n x1 n ȳ1 n Carlos Arce S. William Castillo E. Jorge González V. 2003 Algebra Lineal Carlos Arce S., William Castillo

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

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

Ejemplos: Sean los conjuntos: A = { aves} B = { peces } C = { anfibios }

Ejemplos: Sean los conjuntos: A = { aves} B = { peces } C = { anfibios } La Teoría de Conjuntos es una teoría matemática, que estudia básicamente a un cierto tipo de objetos llamados conjuntos y algunas veces, a otros objetos denominados no conjuntos, así como a los problemas

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

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

Resolución de Problemas

Resolución de Problemas Resolución de Problemas con algoritmos Colaboratorio de Computación Avanzada (CNCA) 2015 1 / 27 Contenidos 1 Introducción 2 Elementos de algoritmos Elementos Variables Estructuras de Control Condicionales

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

Un programa entero de dos variables. 15.053 Jueves, 4 de abril. La región factible. Por qué programación entera? Variables 0-1

Un programa entero de dos variables. 15.053 Jueves, 4 de abril. La región factible. Por qué programación entera? Variables 0-1 15.053 Jueves, 4 de abril Un programa entero de dos variables Introducción a la programación entera Modelos de programación entera Handouts: material de clase maximizar 3x + 4y sujeto a 5x + 8y 24 x, y

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

construcción de programas Prof. Eliana Guzmán U.

construcción de programas Prof. Eliana Guzmán U. Unidad II. Metodología para la construcción de programas Prof. Eliana Guzmán U. Semestre: A-2015 Introducción Resolver un problema con una computadora conduce a la escritura de un programa y a su ejecución.

Más detalles

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008 INTRODUCCIÓN Estructura de Datos Tipos Abstractos de Datos (TAD S) Para poder obtener un programa que resuelva un problema dado, son necesarios varios pasos : La formulación y especificación del problema

Más detalles

Sistema Incremental Generador de Oraciones y de Descodificación Lingüística. José Luciano Maldonado. luzmalvy@telcel.net.ve maldonaj@faces.ula.

Sistema Incremental Generador de Oraciones y de Descodificación Lingüística. José Luciano Maldonado. luzmalvy@telcel.net.ve maldonaj@faces.ula. Sistema Incremental Generador de Oraciones y de Descodificación Lingüística. José Luciano Maldonado. luzmalvy@telcel.net.ve maldonaj@faces.ula.ve Resumen: se describe la implementación experimental de

Más detalles

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades

Más detalles

Clase 11. Análisis dinámico, 2ª parte.

Clase 11. Análisis dinámico, 2ª parte. Clase 11. Análisis dinámico, 2ª parte. Continuamos con el mismo tema de la clase anterior, pero esta vez nos ocuparemos principalmente de la fase de prueba. Nos detendremos brevemente en algunas de las

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

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

1.3 Números racionales

1.3 Números racionales 1.3 1.3.1 El concepto de número racional Figura 1.2: Un reparto no equitativo: 12 5 =?. Figura 1.3: Un quinto de la unidad. Con los números naturales y enteros es imposible resolver cuestiones tan simples

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

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

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

Espacios Vectoriales

Espacios Vectoriales Espacios Vectoriales Departamento de Matemáticas, CCIR/ITESM 4 de enero de 2 Índice 3.. Objetivos................................................ 3.2. Motivación...............................................

Más detalles

ADECUACIÓN PARA FABRICACIÓN DE ESTRUCTURAS ÓPTIMAS BASADO EN ESQUELETONIZACIÓN

ADECUACIÓN PARA FABRICACIÓN DE ESTRUCTURAS ÓPTIMAS BASADO EN ESQUELETONIZACIÓN Congresso de Métodos Numéricos em Engenharia 2015 Lisboa, 29 de Junho a 2 de Julho, 2015 APMTAC, Portugal, 2015 ADECUACIÓN PARA FABRICACIÓN DE ESTRUCTURAS ÓPTIMAS BASADO EN ESQUELETONIZACIÓN Mendoza-San-Agustín,

Más detalles

Repaso de matrices, determinantes y sistemas de ecuaciones lineales

Repaso de matrices, determinantes y sistemas de ecuaciones lineales Tema 1 Repaso de matrices, determinantes y sistemas de ecuaciones lineales Comenzamos este primer tema con un problema de motivación. Problema: El aire puro está compuesto esencialmente por un 78 por ciento

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

Programación lógica basada en restricciones

Programación lógica basada en restricciones Programación lógica basada en restricciones Introducción. La programación lógica basada en restricciones [1][2] es un paradigma muy útil para formular y resolver problemas que se definen de forma natural

Más detalles

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006 ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los

Más detalles

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero Ingeniería Técnica en Informática Escuela Universitaria de Informática Universidad Politécnica de Madrid Asignatura: Administración de Bases de Datos Tema 5: Proceso de Transacciones Pedro P. Alarcón Cavero

Más detalles

WAN y Enrutamiento WAN

WAN y Enrutamiento WAN WAN y Enrutamiento WAN El asunto clave que separa a las tecnologías WAN de las LAN es la capacidad de crecimiento, no tanto la distancia entre computadoras Para crecer, la WAN consta de dispositivos electrónicos

Más detalles

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Introducción Este documento recopila las preguntas, opiniones y respuestas que se produjeron en un pequeño curso sobre las

Más detalles

3. Consideremos el puzzle-8 descrito en clase y sea el estado objetivo, como de costumbre,

3. Consideremos el puzzle-8 descrito en clase y sea el estado objetivo, como de costumbre, E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL. UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y Ciencias de la Computación RELACIÓN DE PROLEMAS. ÚSQUEDAS CON ÁROL.. Un móvil puede situarse en los nodos

Más detalles

Bits, Bytes y Datos y tipos de datos.

Bits, Bytes y Datos y tipos de datos. Bits, Bytes y Datos y tipos de datos. Cualquier computador, incluso el más complejo es en realidad sólo un gran volumen de bits bien organizados. Es difícil definir el término información, ya que tiene

Más detalles

Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos

Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos Santiago Zanella 2008 1 Introducción Para ciertas aplicaciones se requiere mantener n elementos distintos agrupándolos en una colección

Más detalles

Tarea 4 Soluciones. la parte literal es x3 y 4

Tarea 4 Soluciones. la parte literal es x3 y 4 Tarea 4 Soluciones Extracto del libro Baldor. Definición. Término.-es una expresión algebraica que consta de un solo símbolo o de varios símbolos no separados entre sí por el signo + o -. Así, a, 3b, 2xy,

Más detalles

Estructura de Bases de datos. Leonardo Víquez Acuña

Estructura de Bases de datos. Leonardo Víquez Acuña Estructura de Bases de datos Leonardo Víquez Acuña Lenguajes de Bases de Datos Un sistema de bases de datos proporciona Un lenguaje de definición de datos para especificar el esquema de la base de datos

Más detalles

Problemas fáciles, difíciles y muy difíciles

Problemas fáciles, difíciles y muy difíciles Problemas fáciles, difíciles y muy difíciles Santiago Figueira Universidad de Buenos Aires Facultad de Ciencias Exactas y Naturales Departamento de Computación Semana de la Computación 2006 Métodos efectivos

Más detalles

Temario. Índices simples Árboles B Hashing

Temario. Índices simples Árboles B Hashing Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases

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

Restricciones de Integridad

Restricciones de Integridad Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.

Más detalles

CURSO CERO. Departamento de Matemáticas. Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre

CURSO CERO. Departamento de Matemáticas. Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre CURSO CERO Departamento de Matemáticas Profesor: Raúl Martín Martín Sesiones 18 y 19 de Septiembre Capítulo 1 La demostración matemática Demostración por inducción El razonamiento por inducción es una

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

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 Fundamentos de Investigación de Operaciones Investigación de Operaciones de agosto de 200. Estandarización Cuando se plantea un modelo de LP pueden existir igualdades y desigualdades. De la misma forma

Más detalles

Proceso de testing. Ingeniería del Software I. Actividades del proceso de testing. Actividades del proceso de testing

Proceso de testing. Ingeniería del Software I. Actividades del proceso de testing. Actividades del proceso de testing Ingeniería del Software I Testing Martina Marré martina@dc.uba.ar Proceso de testing RECORDEMOS El testing no es sólo una etapa del proceso de desarrollo Tradicionalmente, empezaba al término de la implementación,

Más detalles

Lógica Binaria. Contenidos. Objetivos. Antes de empezar 1.Introducción... pág. 2. En esta quincena aprenderás a:

Lógica Binaria. Contenidos. Objetivos. Antes de empezar 1.Introducción... pág. 2. En esta quincena aprenderás a: Contenidos Objetivos En esta quincena aprenderás a: Distinguir entre una señal analógica y una digital. Realizar conversiones entre el sistema binario y el decimal. Obtener la tabla de la verdad de un

Más detalles

Tema 1 Introducción a los Sistemas Basados en el Conocimiento

Tema 1 Introducción a los Sistemas Basados en el Conocimiento Tema 1 Introducción a los Sistemas Basados en el Conocimiento Sistemas Basados en el Conocimiento Grado en Ingeniería Informática 1 Referencias Ingeniería del Conocimiento. A. Gómez, N. Juristo, C. Montes,

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

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