Análisis de algoritmos
|
|
- Aurora Roldán Ramírez
- hace 6 años
- Vistas:
Transcripción
1 Tema 10: Algoritmos ávidos M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom 1
2 Contenido Introducción Algoritmos ávidos Forma general de un algoritmo ávido Planteamiento de un algoritmo ávido Ejemplo Mínimo número de monedas 2
3 Introducción Los algoritmos ávidos o voraces (Greedy Algorithms) son algoritmos que toman decisiones de corto alcance, basadas en información inmediatamente disponible, sin importar consecuencias futuras. Suelen ser bastante simples y se emplean sobre todo para resolver problemas de optimización, como por ejemplo, encontrar la secuencia óptima para procesar un conjunto de tareas por un computador, hallar el camino mínimo de un grafo, etc. 3
4 Los algoritmos voraces también se caracterizan por la rapidez en que encuentran una solución (cuando la encuentran), la cual casi siempre no es la mejor. Normalmente son utilizados para resolver problemas en los que la velocidad de respuesta debe ser muy alta o en la que el árbol de decisiones de búsqueda es muy grande, no siendo posible analizar la totalidad de posibilidades. 4
5 La estrategia general de este tipo de algoritmos se basa en la construcción de una solución, la cual comienza sin elementos y cada vez que debe tomar algún tipo de decisión, lo hace con la información que tiene a primera mano, la cual de alguna manera le permita adicionar elementos y así avanzar hacia la solución total. Cada elemento o paso de la solución se adiciona al conjunto solución y así hasta llegar a la solución final o a un punto en el cual no puede seguir avanzando, lo cual indica que no encontró una solución al problema. 5
6 Habitualmente, los elementos que intervienen son: Un conjunto o lista de candidatos (tareas a procesar, vértices del grafo, etc.) Un conjunto de decisiones ya tomadas (candidatos ya escogidos). Una función que determina si un conjunto de candidatos es una solución al problema (aunque no tiene por qué ser la óptima). Para resolver el problema de optimización hay que encontrar un conjunto de candidatos que optimiza la función objetivo. Los algoritmos voraces proceden por pasos. 6
7 Algoritmos ávidos Un algoritmo voraz (también conocido como ávido, devorador o goloso) es aquel que, para resolver un determinado problema, sigue una heurística consistente en elegir la opción óptima en cada paso local con la esperanza de llegar a una solución general óptima. Este esquema algorítmico es el que menos dificultades plantea a la hora de diseñar y comprobar su funcionamiento. Normalmente se aplica a los problemas de optimización. 7
8 Dado un conjunto finito de entradas C, un algoritmo voraz devuelve un conjunto S (seleccionados) tal que S C y que además cumple con las restricciones del problema inicial. Cada conjunto S que satisfaga las restricciones se le suele denominar prometedor, y si este además logra que la función objetivo se minimice o maximice (según corresponda) diremos que S es una solución óptima. 8
9 Elementos de los que consta la técnica El conjunto C de candidatos, entradas del problema. Función solución, esta comprueba, en cada paso, si el subconjunto actual de candidatos elegidos forma una solución (no importa si es óptima o no lo es). Función de selección, informa de cuál es el elemento más prometedor para completar la solución. Éste no puede haber sido escogido con anterioridad. Cada elemento es considerado una sola vez. Luego, puede ser rechazado o aceptado y pertenecerá a C \ S. Función de factibilidad, informa si a partir de un conjunto se puede llegar a una solución. Lo aplicaremos al conjunto de seleccionados unido con el elemento más prometedor. Función objetivo, es aquella que queremos maximizar o minimizar, el núcleo del problema. 9
10 Forma general de un algoritmo ávido Función Ávido(C:conjunto):conjunto //C conjunto de candidatos S <= vacio //S conjunto en el que se construye la solución mientras solución(s) y C <> vacío hacer x <= el elemento de C que maximiza seleccionar(x) C <= C \ {x} si prometedor(s U {x}) entonces S <= S U {x} si solución(s) entonces devolver S si no devolver no hay solución Fin Ávido 10
11 Forma general de un algoritmo ávido Para identificar si un problema es susceptible de ser resuelto por un algoritmo ávido se definen una serie de elementos que han de estar presentes en el problema: Un conjunto de candidatos, que corresponden a las n entradas del problema. Una función de selección que en cada momento determine el candidato idóneo para formar la solución de entre los que aún no han sido seleccionados ni rechazados. 11
12 Una función que compruebe si un cierto subconjunto de candidatos es prometedor. Entendemos por prometedor que sea posible seguir añadiendo candidatos y encontrar una solución. Una función objetivo que determine el valor de la solución hallada. Es la función que queremos maximizar o minimizar. Una función que compruebe si un subconjunto de estas entradas es solución al problema, sea óptima o no. 12
13 Planteamiento de un algoritmo ávido Para resolver el problema, un algoritmo ávido tratará de encontrar un subconjunto de candidatos tales que, cumpliendo las restricciones del problema, constituya la solución óptima. Para ello trabajará por etapas, tomando en cada una de ellas la decisión que le parece la mejor, sin considerar las consecuencias futuras, y por tanto escogerá de entre todos los candidatos el que produce un óptimo local para esa etapa, suponiendo que será a su vez óptimo global para el problema. Antes de añadir un candidato a la solución que está construyendo comprobará si es prometedora al añadirlo. En caso afirmativo lo incluirá en ella y en caso contrario descartará este candidato para siempre y no volverá a considerarlo. Cada vez que se incluye un candidato comprobará si el conjunto obtenido es solución. 13
14 Ejemplo: Mínimo número de monedas Se pide crear un algoritmo que permita a una máquina expendedora devolver el cambio mediante el menor número de monedas posible. 1. Considerando que el número de monedas es ilimitado. 2. Considerando que el número de monedas es limitado, es decir, se tiene un número concreto de monedas de cada tipo. 14
15 Candidato: conjunto finito de monedas de, por ejemplo, 1, 5, 10 y 25 unidades, con un número de monedas ilimitado o limitado. Solución: conjunto de monedas cuya suma es la cantidad a pagar. Prometedor: la suma de las monedas escogidas en un momento dado no supera la cantidad a pagar. Función de selección: la moneda de mayor valor en el conjunto de candidatos aún no considerados. Función objetivo: número de monedas utilizadas en la solución. 15
16 La estrategia a seguir consiste en escoger sucesivamente las monedas de valor mayor que no superen la cantidad de cambio a devolver. El buen funcionamiento del algoritmo depende de los tipos de monedas presentes en la entrada. Así, por ejemplo, si no hay monedas de valor menor que diez, no se podrá devolver un cambio menor que diez. Además, la limitación del número de monedas también influye en la optimalidad del algoritmo, el cual devuelve buenas soluciones bajo determinados conjuntos de datos, pero no siempre. Denominación de Monedas Si hay que devolver la cantidad 110, se tomaría primero una moneda de 50, quedando una cantidad restante de 60. Como 50 es aún menor que 60, se tomaría otra moneda de 50. Ahora la cantidad restante es 10, por tanto ya tenemos que devolver una moneda de 5, ya que 50 y 25 son mayores que 10, y por tanto se desechan. La cantidad a devolver ahora es 5. Se tomaría otra moneda de 5, terminando así el problema de forma correcta. Solución: Devolver dos monedas de 50 y dos de 5. 16
17 Algoritmo ávido: Monedas ilimitadas fun cambio (monedas_valor[1..n] de nat, importe: nat) dev cambio[1..n] de nat m := 1; mientras (importe > 0) and (m <= n) hacer si (monedas_valor[m] <= importe) entonces monedas[m] := monedas[m] 1; cambio[m] := cambio[m] + 1; importe := importe monedas_valor[m]; si no m := m + 1; fsi fmientras si importe > 0 entonces devolver Error ; fsi ffun 17
18 Si consideramos además un numero de monedas de cada denominación no ilimitado deberemos ahora de considerar que sea posible tomar monedas de cada denominación para formar la solución Denominación de Monedas Monedas disponibles Si hay que devolver la cantidad 110 siguiendo el método del algoritmo voraz, se tomaría primero una moneda de 50, quedando una cantidad restante de 60. Como 50 es aún menor que 60, se tomaría otra moneda de 50. Ahora la cantidad restante es 10, por tanto ya tenemos que devolver una moneda de 5, ya que 50 y 25 son mayores que 10, y por tanto se desechan. La cantidad a devolver ahora es 5. Se tomaría otra moneda de 5, pero puesto que ya no nos queda ninguna, deberán devolverse 5 de valor 1, terminando así el problema de forma correcta. Solución: Devolver dos monedas de 50, una de 5 y cinco de 1. 18
19 Algoritmo ávido: Monedas limitadas fun cambio (monedas_valor[1..n] de nat, monedas[1..n] de nat, importe: nat) dev cambio[1..n] de nat m := 1; mientras (importe > 0) and (m <= n) hacer si (monedas_valor[m] <= importe) and (monedas[m] > 0) entonces monedas[m] := monedas[m] 1; cambio[m] := cambio[m] + 1; importe := importe monedas_valor[m]; si no m := m + 1; fsi fmientras si importe > 0 entonces devolver Error ; fsi ffun 19
20 Ejemplo: Algoritmos Greedy sobre grafos Árboles generadores minimales Problema Dado un grafo conexo G = (V, A) no dirigido y ponderado con pesos positivos, calcular un subgrafo conexo T G que conecte todos los vértices del grafo G y que la suma de los pesos de las aristas seleccionadas sea mínima. Solución Este subgrafo es necesariamente un árbol: árbol generador minimal o árbol de recubrimiento mínimo ( minimum spanning tree [MST]). 20
21 Aplicaciones Diseño de redes: redes telefónicas, eléctricas, hidráulicas, de ordenadores, de carreteras Construcción de redes de mínimo coste Refuerzo de líneas criticas Identificación de cuellos de botella Enrutamiento (evitar ciclos) Soluciones aproximadas para problemas NP. Algoritmos de agrupamiento (análisis de clúster) Algoritmos Greedy para resolver el problema: Algoritmo de Kruskal: Comenzando con T=, considerar las aristas en orden creciente de coste y añadir las aristas a T salvo que hacerlo suponga la creación de un ciclo. Algoritmo de Prim: Comenzando con un nodo raíz arbitrario s, hacer crecer el árbol T desde s hacia afuera. En cada paso, se añade al árbol T el nodo que tenga una arista de menor coste que lo conecte a otros nodos de T. Algoritmo de borrado inverso: Comenzando con T=A, considerar las aristas en orden decreciente de coste y eliminar las aristas de T salvo que eso desconectase T. 21
22 Ejemplo: Caminos mínimos Caminos mínimos Problema Dado un grafo G ponderado con pesos positivos, calcular el camino de menor peso existente entre un vértice s y otro vértice t. 22
23 Algoritmo de Dijkstra (1959) El algoritmo de Djikstra es un algoritmo muy único. Inicialmente, se utiliza un enfoque voraz para conseguir distancias iniciales a los nodos vecinos. Luego, en el siguiente paso, se comprueba si el valor calculado es el óptimo global a ese nodo o no. Si no, se comprueba todos los otros caminos y calcula la distancia óptima a ese nodo. Luego, basándose en los valores ya calculados de los nodos anteriores, se calcula el camino más corto para el nodo final. Por lo tanto, esto es una especie de un enfoque de programación dinámica. Así, Djikstra utiliza ambos enfoques y, por tanto, no puede ser completamente clasificada como "Greedy" o "DP". Es una mezcla de ambos y por lo tanto, es único. Siempre ha sido un tema debatido. Tal es la belleza del algoritmo. Dado un grafo G=(V,A) y un vértice s, encontrar el camino de costo mínimo para llegar desde s al resto de los vértices en el grafo. IDEA: Mantener el conjunto de nodos ya explorados para los cuales ya hemos determinado el camino más corto desde s 23
Estrategias de Diseño de Algoritmos
Estrategias de Diseño de Algoritmos Introducción A través de los años, los científicos de la computación han identificado diversas técnicas generales que a menudo producen algorit mos eficientes para la
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 detallesGrafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.
Grafos Los grafos son estructuras que constan de vértices o nodos y de aristas o arcos que conectan los vértices entre sí. Un grafo G consiste en dos cosas: 1. Un conjunto V de elementos llamados nodos
Más detallesPrograma de teoría. Algoritmos y Estructuras de Datos II. 3. Algoritmos voraces. 1. Análisis de algoritmos 2. Divide y vencerás
Programa de teoría Algoritmos y Estructuras de Datos II 1. Análisis de algoritmos 2. Divide y vencerás 3. Algoritmos voraces 4. Programación dinámica 5. Backtracking 6. Ramificación y poda A.E.D. II 1
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 detallesCentro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Lógica y Estructuras Discretas Tutor: Antonio Rivero Cuesta Tema 5 Teoría de Grafos Conceptos Básicos Un grafo consta de: Grafo Un conjunto de nodos, Un conjunto de aristas
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 detallesLAS CIENCIAS DE LA PLANIFICACIÓN
LAS CIENCIAS DE LA PLANIFICACIÓN 5. EL PROBLEMA DEL VIAJANTE (PV) (The Traveling Salesman Problem TSP) Un problema como el de las vacaciones, pero vital para las empresas, es el problema del viajante (PV):
Más detallesI. Complejidad de Problemas
I. Complejidad de Problemas 1. Complejidad de Problemas Tópicos Clasificación de Problemas Clasificación por su Naturaleza Clasificación por su Tratabilidad Clasificación por el tipo de Respuesta 1.1 Clasificación
Más detallesGrafos. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Grafos 1 / 30
Grafos AMD Grado en Ingeniería Informática AMD Grado en Ingeniería Informática (UM) Grafos / 0 Objetivos Al finalizar este tema tendréis que: Conocer la terminología básica de la teoría de grafos. Pasar
Más detallesOPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 4 Optimización no Lineal
OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA Tema 4 Optimización no Lineal ORGANIZACIÓN DEL TEMA Sesiones: El caso sin restricciones: formulación, ejemplos Condiciones de optimalidad, métodos Caso con restricciones:
Más detallesUNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR
UNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR INTEGRANTES: Caricari Cala Aquilardo Villarroel Fernandez Fructuoso DOCENTE: Lic. Garcia
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 detallesRELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA
RELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA SIMPLEX Y LINEAL ENTERA a Resuelve el siguiente problema con variables continuas positivas utilizando el método simple a partir del vértice
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 detallesLaboratorio 02: Ejercicios de programación en C
olicitado: Ejercicios 02: Soluciones estructuradas en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo
Más detallesUnidad V. 5.1 Recta tangente y recta normal a una curva en un punto. Curvas ortogonales.
Unidad V Aplicaciones de la derivada 5.1 Recta tangente y recta normal a una curva en un punto. Curvas ortogonales. Una tangente a una curva es una recta que toca la curva en un solo punto y tiene la misma
Más detallesUNIVERSIDAD NACIONAL DE INGENIERÍA Sede UNI-NORTE
UNIVERSIDAD NACIONAL DE INGENIERÍA Sede UNI-NORTE Teoría de redes Problema de la Ruta más corta Problema del Árbol de expansión mínima Problema del Flujo máximo Problema de Flujo de costo mínimo Maestro
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 detallesComplejidad computacional (Análisis de Algoritmos)
Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución
Más detallesAlgoritmos 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 detallesInteligencia Artificial. Integrantes Equipo # 1:
INSTITUTO TECNOLÓGICO De Nuevo Laredo Especialidad: Ingeniería en Sistemas Computacionales Catedrático: Ing. Bruno López Takeyas. Asignatura: Inteligencia Artificial. Integrantes Equipo # 1: Javier Alonso
Más detallesALGORITMO MINIMAX. o Nodo: Representa una situación del juego. o Sucesores de un nodo: Situaciones del juego a las que se
ALGORITMO MINIMAX Algoritmo de decisión para minimizar la pérdida máxima aplicada en juegos de adversarios Información completa (cada jugador conoce el estado del otro) Elección del mejor movimiento para
Más detallesAlgoritmos para determinar Caminos Mínimos en Grafos
Problemas de camino mínimo Algoritmos para determinar Caminos Mínimos en Grafos Algoritmos y Estructuras de Datos III DC, FCEN, UBA, C 202 Problemas de camino mínimo Dado un grafo orientado G = (V, E)
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 detallesTema 3: El Método Simplex. Algoritmo de las Dos Fases.
Tema 3: El Método Simplex Algoritmo de las Dos Fases 31 Motivación Gráfica del método Simplex 32 El método Simplex 33 El método Simplex en Formato Tabla 34 Casos especiales en la aplicación del algoritmo
Más detallesÁrboles abarcadores mínimos: algoritmo de Prim y algoritmo de Kruskal.
Árboles abarcadores mínimos: algoritmo de Prim y algoritmo de Kruskal. Jose Aguilar 1 Grafo de carreteras entre ciudades Mcbo Coro Pto. Cabello Valera Bqto Valencia Maracay Caracas Acarigua Barinas San
Más detallesEstado 3.2 (coste = 9)
Búsqueda heurística Fernando Berzal, berzal@acm.org Búsqueda heurística Búsqueda primero el mejor p.ej. búsqueda de coste uniforme [UCS] Heurísticas Búsqueda greedy El algoritmo A* Heurísticas admisibles
Más detallesTema: Los Grafos y su importancia para la optimización de redes.
Tema: Los Grafos y su importancia para la optimización de redes. Qué son los Grafos? Un grafo es una dupla G= {X,U}, donde X es un conjunto finito y no vacio de elementos llamados vértices y U es el conjunto
Más detallesPROBLEMA 1. Considere el siguiente problema de programación lineal:
PROBLEMA 1 Considere el siguiente problema de programación lineal: Sean h1 y h2 las variables de holgura correspondientes a la primera y segunda restricción, respectivamente, de manera que al aplicar el
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 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 detallesLAS CIENCIAS DE LA PLANIFICACIÓN
LAS CIENCIAS DE LA PLANIFICACIÓN 1. MODELIZACIÓN CON GRAFOS El objetivo de las ciencias de la planificación es encontrar el mejor método para resolver un problema, y si es posible encontrar la solución
Más detallesCaminos y Flujos optimales. Introducción a la Investigación de Operaciones 2007
Caminos y Flujos optimales Introducción a la Investigación de Operaciones 2007 Contenido Definiciones básicas. Conexidad. Clausura transitiva. Esqueletos y caminos optimales. Redes. Flujos. Algoritmo de
Más detallesObjetivos formativos de Matemática Discreta. Tema 1: Conjuntos, aplicaciones y relaciones
Objetivos formativos de Matemática Discreta Para cada uno de los temas el alumno debe ser capaz de hacer lo que se indica en cada bloque. Además de los objetivos que se señalan en cada tema, se considera
Más detallesUNIVERSIDAD NACIONAL DE INGENIERÍA Sede UNI-NORTE
UNIVERSIDAD NACIONAL DE INGENIERÍA Sede UNI-NORTE Teoría de redes Problema de la Ruta más corta Problema del Árbol de expansión mínima Problema del Flujo máximo Problema de Flujo de costo mínimo Introducción
Más detallesAutómatas Deterministas. Ivan Olmos Pineda
Autómatas Deterministas Ivan Olmos Pineda Introducción Los autómatas son una representación formal muy útil, que permite modelar el comportamiento de diferentes dispositivos, máquinas, programas, etc.
Más detallesEn la fig. 1 se representa el grafo, G=(V,A) donde: V = {1, 2, 3, 4, 5, 6} A = { {1,2}, {1,3}, {1,5}, {3}, {3,4}, {4,5}, {5,6} }
Unidad 1 Parte 1 - Teoría de Grafos Introducción En este capítulo veremos la noción matemática de grafo y propiedades de los mismos. En capítulos subsiguientes veremos las estructuras de datos utilizadas
Más detallesIntroducción a la Teoría de Grafos
Introducción a la Teoría de Grafos Flavia Bonomo fbonomo@dc.uba.ar do. Cuatrimestre 009 Árboles Un árbol es un grafo conexo y acíclico (sin ciclos). Un bosque es un grafo acíclico, o sea, una unión disjunta
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 detallesTema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
Más detallesConvertir un AFND a un AFD
Convertir un AFND a un AFD Existe una equivalencia entre los AFD y AFN, de forma que un autómata M es equivalente a un autómata M' si L(M) ) L(M'). Ejemplo: Los autómatas de la siguiente figura son equivalentes.
Más detallesProgramación NO Lineal (PNL) Optimización sin restricciones
Programación NO Lineal (PNL) Optimización sin restricciones Ejemplos de los problemas que se aplica la programación NO Lineal: Problema de transporte con descuentos por cantidad : El precio unitario de
Más detallesC a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e]
Análisis y Diseño de Algoritmos Introducción Análisis y Diseño de Algoritmos Concepto de algoritmo Resolución de problemas Clasificación de problemas Algorítmica Análisis de la eficiencia de los algoritmos
Más detallesTema 11: Integral definida. Aplicaciones al cálculo de áreas
Tema 11: Integral definida. Aplicaciones al cálculo de áreas 1. Introducción Las integrales nos van a permitir calcular áreas de figuras no geométricas. En nuestro caso, nos limitaremos a calcular el área
Más detallesPROGRAMACIÓN LINEAL PROGRAMACIÓN LINEAL.
PROGRAMACIÓN LINEAL. La programación lineal es una técnica de modelado (construcción de modelos). La programación lineal (PL) es una técnica matemática de optimización, es decir, un método que trata de
Más detallesIntroducción a las RdP. Optimización basada en redes de Petri. Redes de Petri. Son objeto de estudio: RdP. Ejemplos:
Seminario sobre toma de decisiones en logística y cadenas de suministro Introducción a las RdP Optimización basada en redes de Petri https://belenus.unirioja.es/~emjimene/optimizacion/transparencias.pdf
Más detallesGrafos y Redes. 3. Resolución: Dibujar el camino sin levantar el lápiz y pasando sólo una vez por cada arco o arista.
Grafos y Redes. Nodos: vértices, 2, 3 2. Arcos: aristas, conexión entre nodos. 2, 54, etc. 3. Resolución: Dibujar el camino sin levantar el lápiz y pasando sólo una vez por cada arco o arista. 4. Grado
Más detallesBreve introducción a la Investigación de Operaciones
Breve introducción a la Investigación de Operaciones Un poco de Historia Se inicia desde la revolución industrial, usualmente se dice que fue a partir de la segunda Guerra Mundial. La investigación de
Más detallesAlgoritmos de Ruteo - Introducción
Algoritmos de Ruteo - Introducción La función principal de la capa de red es el ruteo. Mecanismo: Algoritmo de ruteo Clasificaciones Donde toman las decisiones Estrategias de ruteo Origen de la información
Más detallesFormulación del problema de la ruta más corta en programación lineal
Formulación del problema de la ruta más corta en programación lineal En esta sección se describen dos formulaciones de programación lineal para el problema de la ruta más corta. Las formulaciones son generales,
Más detallesCAPÍTULO 4 TÉCNICA PERT
54 CAPÍTULO 4 TÉCNICA PERT Como ya se mencionó en capítulos anteriores, la técnica CPM considera las duraciones de las actividades como determinísticas, esto es, hay el supuesto de que se realizarán con
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 detallesAnálisis de algoritmos
Tema 09: Programación dinámica Solicitado: Ejercicios 06: Programación dinámica de Fibonacci y Coeficientes Binomiales M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom
Más detallesCapítulo 4 Método Algebraico
Capítulo 4 Método Algebraico Introducción En la necesidad de desarrollar un método para resolver problemas de programación lineal de más de dos variables, los matemáticos implementaron el método algebraico,
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 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 detallesPrueba de optimalidad con. Métodos de Transporte. Autor : Ing. Germán D. Mendoza R.
Prueba de optimalidad con algoritmo STEPPING-STONE en Métodos de Transporte Autor : Ing. Germán D. Mendoza R. PROBLEMAS DE TRANSPORTE FASE 1: Algoritmos de solución básica Inicial: Método de la esquina
Más detallesContenido: Solución algebraica a los problemas de programación lineal con el método simplex.
Tema II: Programación Lineal Contenido: Solución algebraica a los problemas de programación lineal con el método simplex. Introducción El método simplex resuelve cualquier problema de PL con un conjunto
Más detallesSistemas de ecuaciones lineales
Sistemas de ecuaciones lineales TIPOS DE SISTEMAS. DISCUSIÓN DE SISTEMAS. Podemos clasificar los sistemas según el número de soluciones: Incompatible. No tiene solución Compatible. Tiene solución. Compatible
Más detallesColoración. Unos cuantos problemas. Asignación de frecuencias de radio. Gregorio Hernández Peñalver. Unos cuantos problemas. Unos cuantos problemas
Unos cuantos problemas Coloración Gregorio Hernández Peñalver Matemática Discreta Asignación de frecuencias de radio G=(V, A) V={emisoras}, dos emisoras son adyacentes si sus emisiones se solapan elementos
Más detallesPROGRAMACIÓN LINEAL MÉTODO GRÁFICO
1 PROGRAMACIÓN LINEAL MÉTODO GRÁFICO Dado un problema de programación lineal se debe: 1. Graficar cada una de las restricciones. 2. Encontrar el Polígono de factibilidad, que es la intersección de los
Más detallesGrafos. Algoritmos y Estructuras de Datos III
Grafos Algoritmos y Estructuras de Datos III Grafos Un grafo G = (V, X ) es un par de conjuntos, donde V es un conjunto de puntos o nodos o vértices y X es un subconjunto del conjunto de pares no ordenados
Más detalles(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es
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 detalles1. Progresiones aritméticas
1 PROGRESIONES ARITMÉTICAS 1 1. Progresiones aritméticas Una progresión aritmética es una sucesión en la que cada término es igual al anterior más un número constante llamado diferencia de la progresión.
Más detallesPROGRAMACIÓN LINEAL. Su empleo es frecuente en aplicaciones de la industria, la economía, la estrategia militar, etc.
PROGRAMACIÓN LINEAL La programación lineal da respuesta a situaciones en las que se exige maximizar o minimizar funciones que se encuentran sujetas a determinadas limitaciones, que llamaremos restricciones.
Más detallesOptimización energética en hornos de fusión de hierro INDUCTOTHERM - URBINA
Optimización energética en hornos de fusión de hierro INDUCTOTHERM - URBINA 30 de Mayo de 2012 1. Objetivo 2. Modo de trabajo actual 3. Optimización propuesta 4. Otras posibilidades 1 Objetivo Objeto del
Más detallesCAPITULO III. Determinación de Rutas de Entregas
CAPITULO III Determinación de Rutas de Entregas Un importante aspecto en la logística de la cadena de abastecimiento (supply chain), es el movimiento eficiente de sus productos desde un lugar a otro. El
Más detallesTema 14: Sistemas Secuenciales
Tema 14: Sistemas Secuenciales Objetivos: (CONTADORES) Introducción. Características de los contadores. Contadores Asíncronos. Contadores Síncronos. 1 INTRODUCCIÓN Los contadores son sistemas secuenciales
Más detallesAlgebra lineal y conjuntos convexos
Apéndice A Algebra lineal y conjuntos convexos El método simplex que se describirá en el Tema 2 es de naturaleza algebraica y consiste en calcular soluciones de sistemas de ecuaciones lineales y determinar
Más detallesCon miras a conocer la metodología que se aplica en el Método SIMPLEX, tenemos a continiacion un ejemplo:
Método Simplex. Este método fue creado en el año 1947 por el estadounidense George Bernard Dantzig y el ruso Leonid Vitalievich Kantorovich, con el objetivo de crear un algoritmo capaz de crear soluciones
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 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 detallesUniversidad de Managua Curso de Programación Lineal
Universidad de Managua Curso de Programación Lineal Profesor: MSc. Julio Rito Vargas Avilés. Objetivos y Temáticas del Curso Estudiantes: Facultad de CE y A Año académico: III Cuatrimestre 2014 ORIENTACIONES
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 detallesRetículos y Álgebras de Boole
Retículos y Álgebras de Boole Laboratorio de Matemática Discreta Jesús Martínez Mateo jmartinez@fi.upm.es Práctica 1. Ordenación topológica A. Herramientas necesarias Para la práctica que vamos a realizar
Más detallesOPTIMIZACIÓN VECTORIAL
OPTIMIZACIÓN VECTORIAL Métodos de Búsqueda Directa Utilizan sólo valores de la función Métodos del Gradiente Métodos de Segundo Orden Requieren valores aproimados de la primera derivada de f) Además de
Más detallesAlgoritmos y Estructuras de Datos Curso 06/07. Ejercicios
9..En un problema de backtracking estamos interesados en almacenar de forma explícita el árbol recorrido por el algoritmo. De cada nodo del árbol sólo necesitamos saber un número, que indica el orden en
Más detallesTEMA 2: PROGRAMACIÓN LINEAL.
TEMA : PROGRAMACIÓN LINEAL.. 1. INTRODUCCIÓN. La Programación Lineal (PL) puede considerarse como uno de los grandes avances científicos habidos durante la primera mitad del siglo XX y sin duda es una
Más detallesProgramación II. Mario Aldea Rivas Programación II 05/04/11 1. Tema 5. Algoritmos voraces, heurísticos y aproximados
Programación II Bloque temático 1. Lenguajes de programación Bloque temático 2. Metodología de programación Bloque temático 3. Esquemas algorítmicos Tema. Introducción a los Algoritmos Tema 6. Divide y
Más detallesComprobar experimentalmente la ley de Ohm y las reglas de Kirchhoff. Determinar el valor de resistencias.
38 6. LEY DE OHM. REGLAS DE KIRCHHOFF Objetivo Comprobar experimentalmente la ley de Ohm y las reglas de Kirchhoff. Determinar el valor de resistencias. Material Tablero de conexiones, fuente de tensión
Más detallesX = a 0 + a 1 m + a 2 m a r m r,
EL NÚMERO NATURAL En este captulo vamos a introducir el concepto de número natural a partir de la Teoría de Conjuntos. Piaget demostró que el procedimiento que vamos a seguir para alcanzar el concepto
Más detallesUn grafo G = (V, E) se dice finito si V es un conjunto finito.
1 Grafos: Primeras definiciones Definición 1.1 Un grafo G se define como un par (V, E), donde V es un conjunto cuyos elementos son denominados vértices o nodos y E es un subconjunto de pares no ordenados
Más detalles(b) Cuál es la desventaja principal de una heurística con aprendizaje? es más informada que otra función heurística optimista h 2 *?
UNIVERIDD REY JUN CRLO CURO 0-0 INTELIGENCI RTIFICIL Hoja de Problemas Tema Ejercicio : Conteste a las siguientes preguntas: (a) Cómo funciona una heurística con aprendizaje? olución: Una heurística con
Más detallesIntroducción a la Teoría de Grafos
Introducción a la Teoría de Grafos Flavia Bonomo fbonomo@dc.uba.ar do. Cuatrimestre 009 Programa Introducción a la teoría de grafos Problemas de camino mínimo Problemas de flujo máximo Programación lineal
Más detallesRESOLUCIÓN INTERACTIVA DEL SIMPLEX
RESOLUCIÓN INTERACTIVA DEL SIMPLEX Estos materiales interactivos presentan la resolución interactiva de ejemplos concretos de un problema de P.L. mediante el método Simplex. Se presentan tres situaciones:
Más detallesProyecto 2: recorridos sobre grafos y componentes conexas
Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información CI-2693. Laboratorio de Algoritmos y Estructuras III Trimestre Abril-Julio 2015 1. Introducción Proyecto 2: recorridos
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 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 detallesÍNDICE INTRODUCCIÓN...13
ÍNDICE INTRODUCCIÓN...13 CAPÍTULO 1. LENGUAJE ALGORÍTMICO...15 1.1 DEFINICIÓN DE ALGORITMO...16 1.2 LA ROTACIÓN DE UNA LISTA DE NÚMEROS NATURALES...20 1.3 CUESTIONES...23 1.3.1 Dos comerciales en el restaurante...23
Más detallesProblemas de la Ruta más m s corta
Modelos de Redes: Problemas de la Ruta más m s corta M. En C. Eduardo Bustos Farías as Problemas de la Ruta más m s corta Problemas de la Ruta más m s corta Se trata de encontrar la ruta de menor distancia,
Más detallesEstructuras de control
Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando
Más detalles3. Métodos clásicos de optimización lineal
3. Métodos clásicos de optimización lineal Uso del método Simplex El problema que pretende resolverse es un problema de optimización lineal sujeto a restricciones. Para el modelo construido para el problema
Más detallesDiseño Gráficos de Control
Diseño Gráficos de Control Resumen Este procedimiento esta diseñado para ayudar a determinar el tamaño de muestra apropiado y los parámetros comunes para los gráficos de control. El diseño esta basado
Más detalles2007 Carmen Moreno Valencia
Tema VIII. Grafos Grafos 1 2007 Carmen Moreno Valencia 1. Grafos, digrafos y multigrafos 2. Grafos eulerianos 3. Matrices de adyacencia e incidencia 4. Exploración de grafos pesados 1. Grafos, digrafos
Más detallesModelos de Redes: Problema del flujo máximom. M. En C. Eduardo Bustos Farías
Modelos de Redes: Problema del flujo máimom M. En C. Eduardo Bustos Farías as Problema del flujo máimom Problema del flujo máimom Este modelo se utiliza para reducir los embotellamientos entre ciertos
Más detallesBúsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución.
BÚSQUEDA HEURÍSTICA estudio de los métodos y reglas del descubrimiento y la invención. Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución. Situaciones
Más detallesUna Interfaz Grafo-Matriz
Una Interfaz Grafo-Matriz R. Carballo, C. Escribano, M.A. Asunción Sastre Dept. Matemática Aplicada F.Informática. U.P.M. Boadilla del Monte Madrid, 28660-Madrid e-mail: cescribano@fi.uib.es Resumen. El
Más detallesUniversidad de Santiago de Chile Facultad de Ciencia Departamento de Matemática y Ciencias de la Computación
Universidad de Santiago de Chile Facultad de Ciencia Departamento de Matemática y Ciencias de la Computación EJERCICIOS RESUELTOS DE ECUACIONES NO LINEALES Profesor: Jaime Álvarez Maldonado Ayudante: Rodrigo
Más detalles4ta. Práctica. Búsqueda en árbol con contrincante: MiniMax con poda Alfa-Beta. Inteligencia Artificial Prácticas 2004/2005
4ta. Práctica Búsqueda en árbol con contrincante: MiniMax con poda Alfa-Beta Inteligencia Artificial Prácticas 2004/2005 Decisiones Perfectas en Juegos de DOS Participantes Definición de Juego Estado Inicial:
Más detalles