Análisis y Diseño de Algoritmos
|
|
- Sandra Bustos Medina
- hace 6 años
- Vistas:
Transcripción
1 Análisis y Diseño de Algoritmos Algoritmos Voraces DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE
2 Introducción Siempre toman la mejor opción en cada momento (punto de decisión del algoritmo) Una opción óptima local Pensando que esta opción llevará a una solución óptima global No siempre llevan a soluciones óptimas Aunque sí para muchos problemas 2
3 Elementos de una Estrategia Voráz Subestructura óptima Propiedad de elección-voraz (greedy-choice) 3
4 Propiedad de Elección-voraz A cada paso se toma una decisión óptima local La solución óptima global no depende de la solución de sus subproblemas En principio se puede llegar a una solución óptima global tomando decisiones óptimas locales (aunque no siempre) Es necesario probar esto Diferente de programación dinámica Resuelve problemas en modo Top-Down 4
5 Probando que un Algoritmo Voraz es Óptimo 5 Hay que probar que tomando una solución óptima en cada paso nos llevará a una solución global óptima Se parte de una solución global óptima Se muestra que se puede modificar la solución intercambiando el primer paso por una elección voraz y que esta elección reduce el problema a uno similar pero más pequeño Utiliza inducción para mostrar que se puede hacer una elección voraz a cada paso del algoritmo Existe subestructura óptima
6 Subestructura Óptima Un problema tiene subestructura óptima sí una solución óptima contiene soluciones óptimas a sus subproblemas Como en programación dinámica 6
7 Problema de la Mochila Fraccional Un ladrón encuentra n artículos en una tienda El i-ésimo artículo cuesta v i pesos y pesa w i kilos Quiere tomar lo más valioso que pueda en una carga Puede cargar a lo más W kilos en su mochila para algún W Puede tomar fracciones de artículos siempre y cuando no se exceda el peso límite W 7
8 Problema de la Mochila Fraccional Qué cantidad y de qué artículos debe tomar el ladrón para maximizar el valor del botín? 8 Algoritmo voraz Tomar tanto del artículo con el valor más alto por kilo (v i /w i ) como se pueda. Si se acaba un artículo, tomar del siguiente artículo con valor (v i /w i ) más alto Continuar hasta que se llene la mochila
9 Problema de la Mochila Fraccional Prueba: Propiedad de Elección Voraz Si tenemos una solución óptima al problema de la mochila O = {o 1, o 1,, o j } con j elementos. 9 Supongamos que existe una solución voraz G = {g 1, g 1,, g k } con k elementos ordenados de acuerdo a la elección voraz Prueba adaptada de: por Nathan Sprague
10 Problema de la Mochila Fraccional Prueba: Propiedad de Elección Voraz Queremos mostrar que existe una solución óptima O que incluye la elección voraz g 1. CASO 1: g 1 no es fraccional 10 Si g 1 esta en O, no hay nada que probar Si g 1 no esta en O, arbitrariamente quitamos w g1 en artículos de O y lo reemplazamos con g 1 para producir O O es una solución y es tan buena como O CASO 2: g 1 es fraccional (K = f*w g1 donde f es la fracción de g 1 elegida y K es el límite de peso) Si O incluye f*w g1 unidades de g 1, no hay nada que probar Si O incluye menos de f de g 1, quitamos f*w g1 peso de O arbitrariamente y lo reemplazamos con f*w g1 unidades de g 1 para construir O O es una solución válida y al menos tan buena como O. Prueba adaptada de: por Nathan Sprague
11 Problema de la Mochila Fraccional Prueba: Subestructura Óptima 11 Se demostró que hay una solución óptima O que contiene a g 1 Después de elegir g 1 el límite de peso es K = K w g1 y el conjunto de artículos se convierte en I = I {g 1 } Sea P el problema de la mochila con límite de peso K y lista de artículos I. Debemos probar que O = O {g 1 } es una solución óptima de P Probamos por contradicción: Asumimos que O no es una solución de P. Sea Q una solución óptima con más valor que O. Sea R = Q {g 1 }. El valor de O es igual al valor de O + g 1 El valor de R es mayor que el valor de O = O + g 1 Como O era una solución óptima, esta es una contradicción. Prueba adaptada de: por Nathan Sprague
12 Problema de Selección de Actividades (Activity Selection Scheduling Problem) Dado un conjunto de n actividades a realizar S = {1, 2,, n} Todas las actividades requieren el mismo recurso (p.e. el mismo salón de clases) y lo utilizan uno a la vez Cada actividad i tiene un tiempo de inicio s i y de fin f i, s i f i, [s i, f i ) Dos actividades i y j son compatibles si no se traslapan: s i f j ó s j f i Problema: Elegir el conjunto más grande de actividades compatibles. Asumir que la entrada esta ordenada por f 1 f 2 f n (O(nlgn)). 12
13 Problema de Selección de Actividades Algoritmo Voraz 13
14 Problema de Selección de Actividades Ejemplo 14
15 Problema de Selección de Actividades Análisis El índice i tiene al último elemento (con mayor f i ) que cualquier otra actividad en A Greedy-Activity-Selector toma un tiempo de Θ(n) Es un algoritmo greedy porque: 15 Siempre elige la actividad compatible con el tiempo de terminación más temprano, dejando tanto tiempo libre como sea posible
16 Es óptimo? Sí Prueba Problema de Selección de Actividades Análisis 16 Si ordenamos por f i, la actividad 1 termina antes que las demás Mostrar que existe una solución óptima que empieza con una selección voraz (actividad 1) Sea A S una solución óptima Si la primera actividad en A es k 1 (no es voraz), entonces existe otra solución óptima B que inicia con 1 B = A {k} {1} Como f 1 f k, la actividad 1 todavía es compatible con A B = A, entonces B es óptima. Entonces existe una solución óptima que inicia con una elección voraz
17 Problema de Selección de Actividades Análisis También probamos su subestructura óptima 17 Después de hacer la primera elección voraz tenemos el problema S = { i S : s i f 1 }, solo contamos con actividades que inicien después de f 1 con solución óptima A = A {1} Esta solución debe ser óptima Si B soluciona S con más actividades que A, si agregamos la actividad 1 a B lo hace más grande que A Esto es una contradicción porque A ya era una solución óptima Por tanto, la elección voraz nos lleva a una solución óptima
18 Problema de Selección de Actividades Programación Dinámica Ya probamos que tiene subestructura óptima Análisis del problema S ij = {a k S : f i s k < f k s j } A ij tal que Definición de c[i,j] como el tamaño de A ij. Tenemos la recurrencia: Todavía considera muchos subproblemas Aún con los subproblemas repetidos Es mejor la versión voraz, la cual también es óptima 18 Aij = max{ Aik { ak} Akj a Sij k } c[ i, j] max { c[ i, k] + c[ k, ] + 1}. = i< k< j j
19 Problema de la Mochila 0-1 Un ladrón encuentra n artículos en una tienda 19 El i-ésimo artículo cuesta v i pesos y pesa w i kilos, v i y w i son enteros Quiere tomar lo más valioso que pueda en una carga Puede cargar a lo más W kilos en su mochila para algún W entero NO puede tomar fracciones de artículos, es un problema binario 0-1, o lo toma o lo deja Ambos problemas de la mochila, el fraccional y el binario tienen subestructura óptima El problema de la mochila binario no se resuelve con un algoritmo voraz Sí con Programación Dinámica
20 Problema de la Mochila
21 Códigos de Huffman Los códigos de Huffman se utilizan para compresión de datos Algoritmo Voraz Determina códigos óptimos de longitud variable a caracteres Dado un archivo de 100,000 caracteres, con 6 caracteres diferentes: a, b, c, d, e, f 21 Códigos de longitud fija: 300,000 bits Códigos de longitud variable: 224,000 bits Códigos cortos a caracteres más frecuentes Códigos largos a caracteres menos frecuentes
22 Códigos Prefijo En un código prefijo, ningún código es prefijo de otro código Simple codificar y decodificar abc Utilizamos un árbol para decodificar aabe Si una cadena hace un match con un código, se da como salida, no hay ambigüedad
23 Códigos Prefijo Un código óptimo para un archivo siempre se representa por un árbol binario completo Cada nodo no-hoja tiene dos hijos El código de longitud fija del ejemplo no es óptimo El árbol binario no esta completo Si C es el alfabeto de caracteres El árbol para un código prefijo óptimo tiene exactamente C hojas Una por cada letra del alfabeto Exactamente C - 1 nodos internos Sea f(c) la frecuencia del carácter c en el archivo Sea d T (c) la profundidad de la hoja de c en el árbol Número de bits requeridos para codificar el archivo es: B(T) es el costo del árbol T 23 B ( T ) = f ( c) d ( c) T c C
24 Construcción del Código Huffman 24 Huffman inventó un algoritmo voraz para construir códigos prefijo óptimos llamado Huffman Code Construye el árbol T del código óptimo de forma bottom-up Inicia con un conjunto de C hojas y hace una secuencia de C - 1 operaciones merge para crear el árbol final Une las dos hojas con menor frecuencia (hoja o interno) hasta que todas las hojas se han considerado Usa un priority queue Q para mantener los nodos ordenados por frecuencia
25 Construcción del Código Huffman 25
26 Construcción del Código Huffman Ejemplo 26
27 Análisis del Algoritmo HuffmanCode Q se implementa como un heap binario 27 Inicialización de Q para el conjunto C de n caracteres toma O(n) (línea 2) con Build-Heap Ciclo de líneas 3-8 se ejecutan n -1 veces Cada operación del Heap requiere O(lgn) El ciclo contribuye O(nlgn) Tiempo total: O(nlgn)
28 El Algoritmo de Huffman es Correcto Para probar que es correcto, determinar un código prefijo óptimo debe tener las propiedades de Elección voraz Subestructura óptima 28
29 Lema 17.2 El procedimiento Huffman tiene la propiedad de elección voraz Prueba 29
30 Lema 17.2 Asumimos que x y y tienen las frecuencias más bajas Si x y y tienen las frecuencias más bajas, entonces existe un código óptimo en el que x y y estén a la profundidad máxima La elección voraz Supongamos ahora que tenemos una solución óptima en la que b y c son caracteres hermanos en hojas de máxima profundidad en la solución T f[b] f[c] y f[x] f[y] f[x] y f[y] son las frecuencias más bajas y f[b] y f[c] son frecuencias arbitrarias f[x] f[b] y f[y] f[c] Intercambiamos posiciones en T de b y x para producir T Intercambiamos posiciones en T de c y y para producir T Hay una diferencia en costos 30
31 Lema Entonces, si llevamos a x a la mayor profundidad (similar para y), obtenemos un mejor árbol en el que x y y son nodos hoja hermanos en la profundidad máxima Implica que se puede empezar con la elección voraz Juntar los dos caracteres con la menor frecuencia
32 Lema 17.3 El procedimiento Huffman tiene la propiedad de subestructura óptima Consideremos el árbol T para los caracteres C 32 Sean x y y dos caracteres hermanos, hojas en T y z su padre (x y y son los de menor frecuencia) Consideremos el árbol óptimo T para C = C {x,y} {z} f(z) = f(x) + f(y) Si hubiera un mejor árbol para C, llamado T, entonces podríamos usar T para construir un mejor árbol original añadiendo x y y bajo z Pero el árbol original T es óptimo, entonces esta es una contradicción Entonces T es el árbol óptimo para C Huffman tiene la propiedad de subestructura óptima
33 Teorema El procedimiento Huffman produce un código prefijo óptimo Inmediato de los lemas 17.2 y 17.3
Algoritmos glotones. mat-151
Algoritmos glotones (greedy) mat-151 Alonso Ramirez Manzanares Computación y Algoritmos 04.06.2009 Algoritmos glotones Algoritmos utilizados en problemas de optimización. Estos algoritmos siguen típicamente
Más detallesAnálisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Recurrencias DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Introducción 2 Cuando un algoritmo se llama a sí mismo Su tiempo de ejecución se puede describir
Más detallesRuta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE
Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) 1 DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Problema de Encontrar la Ruta más Corta 2 Se requiere llegar de
Más detallesAnálisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Ordenamiento en Tiempo Lineal DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Ordenamiento por Comparación (Comparison Sorts) Tiempo de ejecución HeapSort y
Más detallesAlgoritmos genéticos
Algoritmos genéticos Introducción 2 Esquema básico 3 El problema de la mochila 7 Asignación de recursos 0 El problema del viajante 3 Variantes del esquema básico 5 Por qué funciona? 9 Observaciones finales
Más detallesCompresión de Datos. Método de Huffman. Dpto. Informática
Compresión de Datos Método de Huffman Manipulación y Preservación de Datos Dpto. Informática Ing. Mariano D'Agostino Introducción La compresión de datos es el proceso de convertir una cadena de datos de
Más detallesEs claro que es una relación de equivalencia. Para ver que tener la misma cardinalidad y la cardinalidad están bien definidas queremos ver que
Capítulo II Cardinalidad Finita II.1. Cardinalidad Definimos I n para n N como I n = {k N : 1 k n}. En particular I 0 =, puesto que 0 < 1. Esto es equivalente a la definición recursiva { si n = 0 I n =
Más detalles1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila 0/1 para los siguientes casos:
PROGRAMACIÓN DINÁMICA RELACIÓN DE EJERCICIOS Y PROBLEMAS 1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila /1 para los siguientes casos: a. Mochila de capacidad W=15:
Más detallesAnálisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez
Análisis y Complejidad de Algoritmos Arboles Binarios Arturo Díaz Pérez Arboles Definiciones Recorridos Arboles Binarios Profundidad y Número de Nodos Arboles-1 Arbol Un árbol es una colección de elementos,
Más detalles259. El número de combinaciones de m objetos entre un conjunto de n, denotado por n, para n 1 y 0 m n, se puede definir recursivamente por: m
258. Aplicar el algoritmo de programación dinámica para el problema del cambio de monedas sobre el siguiente ejemplo: n = 3, P = 9, c = (1, 3, 4). Qué ocurre si multiplicamos P y c por un valor constante,
Más detallesJueves, 30 de abril. Ejemplo de recursión. Ejemplo de PD. Ejemplo de programación dinámica. Programación dinámica
.0 Jueves, 0 de abril Programación dinámica. Recursión. Principio de optimalidad. Entregas: material de clase. Programación dinámica Transforma un problema de optimización complejo en una secuencia problemas
Más detallesEjemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013
Técnicas de diseño de algoritmos Algoritmos y Estructuras de Datos III Segundo cuatrimestre 2013 Técnicas de diseño de algoritmos Algoritmos golosos Backtracking (búsqueda con retroceso) Divide and conquer
Más detallesGrafos. Amalia Duch Brown Octubre de 2007
Grafos Amalia Duch Brown Octubre de 2007 Índice 1. Definiciones Básicas Intuitivamente un grafo es un conjunto de vértices unidos por un conjunto de líneas o flechas dependiendo de si el grafo es dirigido
Más detallesPráctica N 6 Modelos de Programación Lineal Entera
Práctica N 6 Modelos de Programación Lineal Entera 6.1 Una empresa textil fabrica 3 tipos de ropa: camisas, pantalones y shorts. Las máquinas necesarias para la confección deben ser alquiladas a los siguientes
Más detallesAlgoritmos de Ordenamiento
Algoritmos de Ordenamiento mat-151 Alonso Ramírez Manzanares Computación y Algoritmos 12.04 Algoritmos de ordenamiento Entrada: secuencia de números. Salida: permutación
Más detallesPROGRAMACION ENTERA: METODO DE BIFURCACIÓN Y ACOTAMIENTO
PROGRAMACION ENTERA: METODO DE BIFURCACIÓN Y ACOTAMIENTO La mayor parte de los PE se resuelven en la práctica mediante la técnica de ramificación y acotamiento. En este método se encuentra la solución
Más detallesBinary Decision Diagrams
Rodríguez Blanco 2006-05-18 Introduccion Equivalencia Tablas de verdad eficientes Construcción de Equivalencia Tablas de verdad eficientes Equivalencia de dos fórmulas A 1 y A 2. Construir su tabla de
Más detallesgreedy (adj): avaricioso, voraz, ávido, codicioso, glotón
Algoritmos Greedy Análisis y Diseño de Algoritmos Algoritmos Greedy Características generales Elementos de un algoritmo greedy Esquema de un algoritmo greedy s Almacenamiento óptimo en cintas Problema
Más detallesAlgebra Matricial y Teoría de Grafos
Algebra Matricial y Teoría de Grafos Unidad 3: Nociones de teoría de grafos Luis M. Torres Escuela Politécnica del Litoral Quito, Enero 2008 Maestría en Control de Operaciones y Gestión Logística p.1 Contenido
Más detallesCAPÍTULO 4 PROGRAMACIÓN LINEAL ENTERA
CAPÍTULO 4 PROGRAMACIÓN LINEAL ENTERA Programación Lineal Entera Es una técnica que permite modelar y resolver problemas cuya característica principal es que el conjunto de soluciones factibles es discreto.
Más detallesALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006
ALGORITMOS DIGITALES II Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 OBJETIVOS Conocer los principios básicos de los algoritmos. Establecer paralelos entre los algoritmos, los programas y las
Más detallesRepresentación de números enteros: el convenio exceso Z
Representación de números enteros: el convenio exceso Z Apellidos, nombre Martí Campoy, Antonio (amarti@disca.upv.es) Departamento Centro Informàtica de Sistemes i Computadors Escola Tècnica Superior d
Más detalles4.2. El número de combinaciones de m objetos entre un conjunto de n, denotado por n, para n 1 y 0 m n, se puede definir recursivamente por: m
4.1. Aplicar el algoritmo de programación dinámica para el problema del cambio de monedas sobre el siguiente ejemplo: n = 3, P = 9, c = (1, 3, 4). Qué ocurre si multiplicamos P y c por un valor constante,
Más detallesAnálisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Introducción: El Rol de los Algoritmos en Computación DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Temario 2 1. Introducción 2. Notación Asintótica 3. Recurrencias
Más detallesTeoría de grafos y optimización en redes
Teoría de grafos y optimización en redes José María Ferrer Caja Universidad Pontificia Comillas Definiciones básicas Grafo: Conjunto de nodos (o vértices) unidos por aristas G = (V,E) Ejemplo V = {,,,,
Más detallesProyecto 6. Árboles de decisión: Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la inteligencia artificial.
Árboles de decisión: Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la inteligencia artificial. Funcionamiento: Se realiza un test en cada nodo interno del árbol, a medida que
Más detallesCOMPLEMENTO DEL TEÓRICO
ÁLGEBRA I PRIMER CUATRIMESTRE - AÑO 2016 COMPLEMENTO DEL TEÓRICO El material de estas notas fue dictado en las clases teóricas pero no se encuentra en el texto que seguimos en las mismas ( Álgebra I -
Más detallesIntroducción a la biología computacional. El plan: Algoritmos de reconocimiento de patrones:
El plan: Introducción a la biología computacional Algoritmos de reconocimiento de patrones: Knuth-Morris-Pratt Boyer-Moore Árboles de sufijos Primeras aplicaciones de los árboles de sufijos Técnicas Avanzadas
Más detalles(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados
Universidad Rey Juan Carlos Curso 2014 2015 Hoja de Problemas Tema 5 1. Cuáles de las siguientes afirmaciones acerca del algoritmo Minimax son ciertas (a) El algoritmo Minimax realiza una exploración primero
Más detallesProceso Selectivo para la XXII IMC, Bulgaria
Proceso Selectivo para la XXII IMC, Bulgaria Facultad de Ciencias UNAM Instituto de Matemáticas UNAM SUMEM Indicaciones Espera la indicación para voltear esta hoja. Mientras tanto, lee estas instrucciones
Más detallesÁrboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap)
Práctico 4 Árboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap) Clasificación de ejercicios: (I) Imprescindibles (R) Recomendados (C) Complementarios Árboles balanceados (AVL)
Más detallesPráctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut
Práctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut 8.1 Para cada uno de los siguientes conjuntos, encontrar una desigualdad válida que agregada a la formulación
Más detallesAritmética de Enteros
Aritmética de Enteros La aritmética de los computadores difiere de la aritmética usada por nosotros. La diferencia más importante es que los computadores realizan operaciones con números cuya precisión
Más detallesTema 2. Divide y vencerás.
Programa de teoría Parte I. Estructuras de Datos. 1. Abstracciones especificaciones. 2. Conjuntos diccionarios. 3. Representación de conjuntos mediante árboles. 4. Grafos. Parte II. Algorítmica. 1. Análisis
Más detallesI.E.S Santo Domingo. Departamento Informática. Tema 1 Los Sistemas de Numeración. José Luis Mollinedo Jiménez
I.E.S Santo Domingo Departamento Informática Tema 1 Los Sistemas de Numeración José Luis Mollinedo Jiménez El Ejido - 6 de mayo de 2012 Página:2 Índice 1. Denición 2 2. Ejemplos 2 3. Clasicación 2 3.1.
Más detallesProf. Pérez Rivas Lisbeth Carolina
Ingeniería de Sistemas Investigación de Operaciones Prof. Pérez Rivas Lisbeth Carolina Investigación de Operaciones Es una rama de las Matemáticas consistente en el uso de modelos matemáticos, estadística
Más detallesTEMA 1: Algoritmos y programas
TEMA 1: Algoritmos y programas 1.1.-Introducción La razón principal para utilizar un ordenador es para resolver problemas (en el sentido más general de la palabra), o en otras palabras, procesar información
Más detallesFlujos de redes (Network Flows NF)
Fluos de redes (Network Flows NF). Terminología. Árbol generador mínimo. Camino mínimo 4. Fluo máximo 5. Fluo de coste mínimo TEORÍA DE GRAFOS. OPTIMIZACIÓN EN REDES Terminología Red o grafo (G) Nodos
Más detallesAlgoritmo de Euclides
Algoritmo de Euclides Melanie Sclar Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires AED III Melanie Sclar (UBA) Algoritmo de Euclides AED III 1 / 21 Ejercicio 2.8 de la práctica Ejercicio
Más detallesRelaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad
Estructuras Discretas Relaciones Definición: relación Relaciones Claudio Lobos, Jocelyn Simmonds clobos,jsimmond@inf.utfsm.cl Universidad Técnica Federico Santa María Estructuras Discretas INF 152 Sean
Más detallesGenética de polinomios sobre cuerpos locales
Genética de polinomios sobre cuerpos locales Hayden Stainsby Universitat Autònoma de Barcelona STNB 30 de enero de 2014 Resumen 1 Tipos 2 Tipos sobre (K, v) (K, v) cuerpo valorado discreto, O anillo de
Más detallesÁrboles Filogenéticos. BT7412, CC5702 Bioinformática Diego Arroyuelo. 2 de noviembre de 2010
Unidad 6: Árboles Filogenéticos BT7412, CC5702 Bioinformática Diego Arroyuelo 2 de noviembre de 2010 Temario (Introduction to Computational Molecular Biology Setubal y Meidanis Capítulo 6) 1. Introducción
Más detallesEstructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010
Estructura de Datos Árboles Binarios de Búsqueda ABB Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 20 1 Arboles de Búsqueda Binaria El árbol binario de búsqueda (ABB) toma su nombre del
Más detallesDimensionamiento y Planificación de Redes
Dimensionamiento y Planificación de Redes Tema 2. Algoritmos Sobre Grafos Calvo Departamento de Ingeniería de Comunicaciones Este tema se publica bajo Licencia: Crea:ve Commons BY- NC- SA 4.0 Búsqueda
Más detallesTema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I
Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.
Más detalles4. NÚMEROS PSEUDOALEATORIOS.
4. NÚMEROS PSEUDOALEATORIOS. En los experimentos de simulación es necesario generar valores para las variables aleatorias representadas estas por medio de distribuciones de probabilidad. Para poder generar
Más detallesEl nivel Interno. Índice Tema 3
El nivel Interno Índice Tema 3 iel nivel Interno...1 Introducción...2 Etapas de acceso a la base de datos...2 Gestor de Disco...3 Gestor de Ficheros...3 Agrupamiento...4 Interactivos...4 Entrearchivos...4
Más detallesInteligencia Artificial II Unidad Plan 2010-Ingeniería en Sistemas Computacionales
Inteligencia Artificial II Unidad Plan 2010-Ingeniería en Sistemas Computacionales Rafael Vázquez Pérez Unidad II:Técnicas de Búsqueda. 2.1. Solución de problemas con búsqueda. 2.2. Espacios de estados.
Más detallesEl TAD Grafo. El TAD Grafo
! Esta representación resulta útil cuando el número de vértices se conoce previamente y permanecerá fijo durante la resolución del problema, pero resulta ineficiente si necesitamos añadir o eliminar vértices
Más detallesA B MIN C D E F MAX x E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO
E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y Ciencias de la Computación RELACIÓN DE PROBLEMAS. TEMA IV. PROBLEMAS DE JUEGOS.
Más detallesAutómatas Finitos Deterministicos (DFA)
Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica Fa.M.A.F., Universidad Nacional de Córdoba 22//4 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes y computación.
Más detallesMétodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo
TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para
Más detallesMODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.
MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.
Más detallesAutómatas Finitos Deterministicos (DFA)
Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica y la Computación Fa.M.A.F., Universidad Nacional de Córdoba 26/0/6 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes
Más detallesExpresiones regulares, gramáticas regulares
Expresiones regulares, gramáticas regulares Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes, donde
Más detalles3er Concurso Unversitario de Matemáticas Galois-Noether 2013 Segunda Etapa
3er Concurso Unversitario de Matemáticas Galois-Noether 013 Segunda Etapa Sábado 17 de agosto 013 Bienvenido a la Segunda Etapa del Concurso Universitario de Matemáticas Galois-Noether Responde a las preguntas
Más detallesA l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -
Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En
Más detallesDefinición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos.
Matemática Discreta y Lógica 2 1. Árboles Árboles Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos. Como un lazo es un ciclo de longitud 1, un árbol
Más detallesCapítulo II. Pruebas en Matemáticas
Capítulo II Pruebas en Matemáticas Ahora nos concentramos en afirmaciones matemáticas y sus pruebas. Se encuentra que tratar de escribir pruebas justificando cada paso se vuelve rápidamente inmanejable,
Más detallesProgramación Lineal Entera. Programación Entera
Programación Lineal Entera PE Programación Entera Modelo matemático, es el problema de programación lineal Restricción adicional de variables con valores enteros. Programación entera mita Algunas variables
Más detallesFunciones de Variable Real
Tema 1 Funciones de Variable Real 1.1. La Recta Real Los números reales se pueden ordenar como los puntos de una recta. Los enteros positivos {1, 2, 3, 4,...} que surgen al contar, se llaman números naturales
Más detallesConjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.
Conjuntos Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por se entiende que a pertenece a R. a R Normalmente, podremos definir a un conjunto de dos maneras: Por
Más detallesLenguajes Regulares. Antonio Falcó. - p. 1
Lenguajes Regulares Antonio Falcó - p. 1 Cadenas o palabras I Una cadena o palabra es una sucesión finita de símbolos. cadena {c, a, d, e, n}. 10001 {0, 1} El conjunto de símbolos que empleamos para construir
Más detallesCAPÍTULO 6 PROGRAMACIÓN DINÁMICA. Programación Dinámica
CAPÍTULO 6 PROGRAMACIÓN DINÁMICA Programación Dinámica Programación Dinámica En muchos casos las decisiones del pasado afectan los escenarios del futuro. En estos casos se pueden tomar 2 opciones: asumir
Más detallesProblemas propuestos. Simplificar las siguientes expresiones lógicas
Razonar en base a los postulados y teoremas del álgebra de Boole si es posible o no definir un álgebra de Boole para tres elementos B = {0, a, 1} Demostrar los teoremas T1, T2, T7 y T9 mediante los postulados
Más detallesAnálisis y Diseño de Algoritmos Tablas de Hash
Análisis y Diseño de Algoritmos Tablas de Hash Guillermo Morales-Luna Arturo Díaz Pérez CONTENIDO 1. Dispersión 2. Funciones de dispersión (a) Método de división (b) Método de multiplicación 3. Direccionamiento
Más detallesMatemáticas Discretas
Coordinación de Ciencias Computacionales - INAOE Matemáticas Discretas Cursos Propedéuticos 2011 Ciencias Computacionales INAOE Dr. Enrique Muñoz de Cote jemc@inaoep.mx http://ccc.inaoep.mx/~jemc Oficina
Más detallesIntroducción Supongamos un subconjunto de n elementos X = {e 1,,e n de un conjunto referencial Y, X Y. Dentro de Y se define una relación de orden tot
Algoritmos de ordenación Análisis y Diseño de Algoritmos Algoritmos de ordenación Algoritmos básicos: Θ(n 2 ) Ordenación por inserción Ordenación por selección Ordenación por intercambio directo (burbuja)
Más detallesTema: Algoritmos para la ruta más corta en un Grafo.
Programación IV. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Algoritmos para la ruta más corta en un Grafo. Objetivos Específicos Definir el concepto de camino
Más detallesAlgoritmos: Diseño de algoritmos por inducción
Algoritmos: Diseño de algoritmos por inducción Alberto Valderruten LFCIA - Departamento de Computación Facultad de Informática Universidad de A Coruña, España www.lfcia.org/alg www.fi.udc.es Contenido
Más detallesTEMA IV TEORÍA DE GRAFOS
TEMA IV TEORÍA DE GRAFOS Poli Abascal Fuentes TEMA IV Teoría de grafos p. 1/? TEMA IV 4. TEORÍA DE GRAFOS 4.1 GRAFOS 4.1.1 Introducción 4.1.2 Definiciones básicas 4.1.3 Caminos y recorridos 4.1.4 Subgrafos,
Más detallesGRAMATICAS LIBRES DEL CONTEXTO
GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.
Más detallesIngeniería en Sistemas Computacionales. Inteligencia Artificial. Ing. Bruno López Takeyas. Algoritmo Hill Climbing
Ingeniería en Sistemas Computacionales Inteligencia Artificial Ing. Bruno López Takeyas Algoritmo Hill Climbing Alumnos Ylliana Samantha Anderson Benavides 01100161 Pablo Saúl Hernández Ribota 01100230
Más detallesTema 7: Problemas clásicos de Programación Lineal
Tema 7: Problemas clásicos de Programación Lineal 1.- Características generales de un problema de transporte y asignación Surgen con frecuencia en diferentes contextos de la vida real. Requieren un número
Más detallesPropiedades de lenguajes independientes del contexto
Capítulo 12. Propiedades de lenguajes independientes del contexto 12.1. Identificación de lenguajes independientes del contexto Lema de bombeo. 12.2. Propiedades Cierre, Complemento de lenguajes, Sustitución,
Más detallesEl número real MATEMÁTICAS I 1 APROXIMACIÓN DECIMAL DE UN NÚMERO REAL
El número real MATEMÁTICAS I 1 1. APROXIMACIONES APROXIMACIÓN DECIMAL DE UN NÚMERO REAL Al expresar un número real con muchas o infinitas cifras decimales, utilizamos expresiones decimales aproximadas,
Más detallesÁrboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.
ÁRBOLES Árboles Un grafo conectado que no contiene circuitos simples. Utilizados desde 1857, por el matemático Ingles Arthur Cayley para contar ciertos tipos de componentes químicos. Un árbol es un grafo
Más detallesEl problema del agente viajero
CO- (F0) //00 El problema del agente viajero Un vendedor tiene que visitar n + ciudades, cada una exactamente una vez. La distancia entre cada par de ciudades viene dada por d ij (en general d ij d ji
Más detallesUniversidad Autónoma del Estado de México Facultad de Medicina
Universidad Autónoma del Estado de México Facultad de Medicina Licenciatura en Bioingeniería Médica Unidad de Aprendizaje: Algoritmos y programación básica Unidad 3: Estructuras de control de flujo en
Más detallesNP-Completeness: Universidad Autónoma de Nuevo León Facultad de Ingeniería Mecánica y Eléctrica División de Posgrado en Ingeniería de Sistemas
Universidad Autónoma de Nuevo León Facultad de Ingeniería Mecánica y Eléctrica División de Posgrado en Ingeniería de Sistemas Complejidad del problema de la Mochila NP-Completeness: (Knapsack problem)
Más detallesSISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos
TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus
Más detallesPrincipios básicos de la segmentación
Principios básicos de la segmentación Curso 2011-2012 Qué es la Segmentación? Qué ocurre si una U.F. no es lo suficientemente rápida? Solución tecnológica: Acelerarla con componentes más rápidos. Limitada.
Más detallesCálculo Diferencial: Enero 2016
Cálculo Diferencial: Enero 2016 Selim Gómez Ávila División de Ciencias e Ingenierías Universidad de Guanajuato 9 de febrero de 2016 / Conjuntos y espacios 1 / 21 Conjuntos, espacios y sistemas numéricos
Más detallesPROGRAMACIÓN LINEAL ENTERA
PROGRAMACIÓN LINEAL ENTERA Programación lineal: hipótesis de perfecta divisibilidad Así pues decimos que un problema es de programación lineal entera, cuando prescindiendo de las condiciones de integridad,
Más detallesEl Juego como Problema de Búsqueda
El Juego como Problema de Búsqueda En este algoritmo identificamos dos jugadores: max y min. El objetivo es encontrar la mejor movida para max. Supondremos que max mueve inicialmente y que luego se turnan
Más detallesESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES I. TEMA 4 Algebra booleana y puertas lógicas
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES I TEMA 4 Algebra booleana y puertas lógicas TEMA 4. Algebra booleana y puertas lógicas 4.1 Definición de álgebra de Boole 4.2 Teoremas del álgebra de Boole 4.3
Más detallesESTIMACIÓN DE TIEMPO Y COSTO DE PRODUCTOS SOFTWARE
Análisis y costo de algoritmos Algoritmos Un algoritmo es un conjunto de pasos claramente definidos que a partir de un cierta entrada (input) produce una determinada salida (output) Algoritmos y programas
Más detallesEstructuras Secuénciales
Estructuras Secuénciales Los algoritmos más sencillos de realizar son los que no toman decisiones, tan solo se dedican a realizar o ejecutar instrucción tras instrucción en el orden determinado. Estos
Más detallesProgramación dinámica p. 1
Técnicas de diseño de algoritmos Programación dinámica Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Programación dinámica p. 1 Programación dinámica En programación dinámica, uno
Más detallesFundamentos de Investigación de Operaciones Modelos de Grafos
Fundamentos de Investigación de Operaciones de junio de 00 Muchos problemas de optimización puedes ser analizados y resueltos a través de representaciones gráficas. Tal es el caso de los problemas de planificación
Más detallesInducción Matemática Conjuntos Funciones. Matemática Discreta. Agustín G. Bonifacio UNSL. Repaso de Inducción, Conjuntos y Funciones
UNSL Repaso de Inducción, y Inducción Matemática (Sección 1.7 del libro) Supongamos que queremos demostrar enunciados del siguiente tipo: P(n) : La suma de los primeros n números naturales es n(n+1)
Más detallesCOMUNICACIÓN DE DATOS
DEPARTAMENTO DE CIENCIA Y TECNOLOGÍA UNIVERSIDAD NACIONAL DE QUILMES Roque Sáenz Peña 352 (B1876BXD) Bernal Buenos Aires Argentina COMUNICACIÓN DE DATOS CODIFICACIÓN DE FUENTE Un problema de interés dentro
Más detallesTRANSPORTE Y TRANSBORDO
TRANSPORTE Y TRANSBORDO En ésta semana estudiaremos un modelo particular de problema de programación lineal, uno en el cual su resolución a través del método simplex es dispendioso, pero que debido a sus
Más detallesIntroducción a la Programación Dinámica. El Problema de la Mochila
Tema 1 Introducción a la Programación Dinámica. El Problema de la Mochila La programación dinámica no es un algoritmo. Es más bien un principio general aplicable a diversos problemas de optimización que
Más detallesOptimización. Búsqueda en una Dimensión ITESM. Búsqueda en una Dimensión Profr. E. Uresti - p. 1/19. Dr. E Uresti
Optimización Búsqueda en una Dimensión Dr. E Uresti ITESM Búsqueda en una Dimensión Profr. E. Uresti - p. 1/19 Algunos de los métodos numéricos de búsqueda de óptimos de una función en varias variables
Más detallescomo les va con las practicas?
como les va con las practicas? Problemas NP-completos y Estructuras de datos básicas (representación de datos) mat-151 1 Una maquina de Turing Aceptation state Una maquina de Turing Maquina de Turing Determinística,
Más detallesESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I CAPÍTULO III ARITMÉTICA Y CODIFICACIÓN
ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I CAPÍTULO III ARITMÉTICA Y CODIFICACIÓN TEMA 3. Aritmética y codificación 3.1 Aritmética binaria 3.2 Formatos de los números y su representación 3.3 Definiciones
Más detallesMay 4, 2012 CAPÍTULO 5: OPTIMIZACIÓN
May 4, 2012 1. Optimización Sin Restricciones En toda esta sección D denota un subconjunto abierto de R n. 1.1. Condiciones Necesarias de Primer Orden. Proposición 1.1. Sea f : D R diferenciable. Si p
Más detallesAlgoritmos 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 detallesEl Teorema de Recurrencia de Poincaré
El Teorema de Recurrencia de Poincaré Pablo Lessa 9 de octubre de 204. Recurrencia de Poincaré.. Fracciones Continuas Supongamos que queremos expresar la relación que existe entre los números 27 y 0. Una
Más detalles