Algoritmos en Árbol y Grafo Computación Pipeline
|
|
- Alfonso Rey Prado
- hace 5 años
- Vistas:
Transcripción
1 Metodología de la Programación Paralela Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Algoritmos en Árbol y Grafo Computación Pipeline Domingo Giménez (Universidad de Murcia) Curso / 22
2 Sesión 3 Descomposición del trabajo: Paralelismo de datos. Particionado de datos. Algoritmos relajados. De paralelismo basado en dependencias de datos: Paralelismo síncrono. Dependencias en árbol o grafo. Pipeline. De paralelización de esquemas secuenciales: Divide y Vencerás. Programación Dinámica. Recorridos de árboles: Backtracking y Branch and Bound. De múltiples tareas o trabajadores: Bolsa de tareas. Granja de procesos. Maestro-Esclavo. Domingo Giménez (Universidad de Murcia) Curso / 22
3 Contenido 1 Grafos de dependencia 2 Paralelismo en Árbol o Grafo 3 Computación Pipeline 4 Otros ejemplos y trabajo adicional Domingo Giménez (Universidad de Murcia) Curso / 22
4 Ideas generales Un Grafo de Dependencias es un grafo dirigido acíclico, donde los nodos representan tareas, y una arista de un origen a un destino representa que para poder realizarse la tarea destino tiene que haberse ejecutado la origen. Los nodos pueden etiquetarse con un valor que representa el coste de la tarea. Las aristas pueden etiquetarse con valor que representa el coste de la comunicación. Domingo Giménez (Universidad de Murcia) Curso / 22
5 Asignación de tareas Hay que asignar las tareas a los elementos de proceso. Distintas asignaciones pueden originar tiempos distintos. El problema de la asignación óptima es NP. Domingo Giménez (Universidad de Murcia) Curso / 22
6 Problemas de la asignación de tareas Dentro de un elemento de proceso hay que elegir el orden de ejecución de las tareas. Desbalanceo de la carga: balancear cálculo y comunicaciones. Tiempos de espera: por dependencias entre tareas. Si granularidad fina muchas tareas, lo que posibilita el balanceo pero genera más comunicaciones. Si granularidad gruesa menos comunicaciones pero más difícil el balanceo. Domingo Giménez (Universidad de Murcia) Curso / 22
7 Medidas de concurrencia Máximo grado de concurrencia: mayor número de tareas que se pueden ejecutar al mismo tiempo. Camino crítico: camino más largo desde un nodo de comienzo hasta un nodo final. Donde la longitud es la suma los costes de los nodos del camino. Grado medio de concurrencia: número medio de tareas que se podrían ejecutar en paralelo considerando todas las fases del algoritmo: n i=1 GMC = coste(nodo i) longitud camino critico En el grafo precedente: MGC = 4, LCC = 13, GMC = 2. Domingo Giménez (Universidad de Murcia) Curso / 22
8 Contenido 1 Grafos de dependencia 2 Paralelismo en Árbol o Grafo 3 Computación Pipeline 4 Otros ejemplos y trabajo adicional Domingo Giménez (Universidad de Murcia) Curso / 22
9 Ejemplos en árbol Suma de n números: Suma prefija. Dada secuencia{x 0, x 1,...,x n 1 } calcular secuencia {s 0, s 1,...,s n 1 } con s i = i j=0 x j. Alguno de los vistos? Domingo Giménez (Universidad de Murcia) Curso / 22
10 Ejemplo - suma prefija Con Paso de Mensajes. Para cada Pi, i=0,1,...,n-1 desp=1; for(j=0;j<log n;j++) { if(i<n-desp) enviar x a Pi+desp; if(i>=desp) { recibir en y de Pi-desp; x+=y; } desp*=2; } Cómo generalizar a n números y p elementos de proceso? Cómo sería en Memoria Compartida? Domingo Giménez (Universidad de Murcia) Curso / 22
11 Ejemplos de suma - centralizada / distribuida Cuál produciría menos tiempo de ejecución? Y con la ordenación por mezcla? Cómo sería la ordenación quicksort? Domingo Giménez (Universidad de Murcia) Curso / 22
12 Grafos con tareas de tipos distintos Por ejemplo la suma de n datos en p procesadores. Suma de todos los elementos de una matriz y obtención del máximo: Dada matriz A almacenar en vector x sumando los elementos de la fila, formar la matriz B ordenando las columnas de A y obtener la multiplicación Bx. Tenemos bloques de computación de los vistos antes (suma, ordenación, multiplicación...), cuál es una forma adecuada de llevarlas a cabo? Domingo Giménez (Universidad de Murcia) Curso / 22
13 Ejemplo - clases de equivalencia En una representación de conjuntos por medio de árboles: se trata de encontrar el representante de la clase a la que pertenece cada nodo. Los arcos indican comunicaciones si están en distinto procesador. De cada nodo sale como mucho un arco y el patrón de comunicaciones es fijo. Funcionamiento: Para cada nodo se lee el valor del padre, si el valor leído es igual al que hay en el nodo ese nodo se envía un mensaje de fin al nodo con el que se comunica y acaba. Domingo Giménez (Universidad de Murcia) Curso / 22
14 Contenido 1 Grafos de dependencia 2 Paralelismo en Árbol o Grafo 3 Computación Pipeline 4 Otros ejemplos y trabajo adicional Domingo Giménez (Universidad de Murcia) Curso / 22
15 Ideas generales Resolver un problema descomponiéndolo en una serie de tareas sucesivas: los datos fluyen por la estructura de los procesadores o hilos. El coste es mayor que el de la tarea más costosa. Interés cuando: no hay un único conjunto de datos a tratar, sino una serie de conjuntos de datos. no se necesite que una tarea esté completamente finalizada para empezar la siguiente. Cada tarea puede tener un peso diferente y ser preferible dedicar distinto número de procesadores a cada tarea: Domingo Giménez (Universidad de Murcia) Curso / 22
16 Ejemplo - divisibilidad Dada una lista de números primos p 0, p 1,...,p m 1 y una secuencia de enteros a 0, a 1,..., se quiere obtener los enteros que son múltiplo de todos los primos. Para cada Pi, i=0,...,m-1: repeat if(i==0) leer(a); else recibir a de P(i-1); if(a<0) //condicion de fin fin=true; if(fin or (a mod pi==0)) { if(i!=m-1) enviar a a P(i+1); else salida de a; until fin; Domingo Giménez (Universidad de Murcia) Curso / 22
17 Ejemplo - sistema triangular de ecuaciones Sistema triangular inferior de ecuaciones lineales: a 00 x 0 = b 0 a 10 x 0 + a 11 x 1 = b 1... a n 1,0 x 0 + a n 1,1 x a n 1,n 1 x n 1 = b n 1 Sustitución progresiva. Considerando un procesador por fila, p i calcula x i x i = b i i 1 j=0 a ijx j a jj Domingo Giménez (Universidad de Murcia) Curso / 22
18 Ejemplo - sistema triangular de ecuaciones, Memoria Compartida #pragma omp parallel for private(i) for(i=0;i<n;i++) resolver(a,b,x,n,i) resolver(a,b,x,n,i): suma=0; for(j=0;j<i;j++) { P(valor[j]); V(valor[j]); suma+=a[i,j]*x[j]; } x[i]=(b[i]-suma)/a[i,i]; V(valor[i]); valor es un vector de semáforos inicializados a cero. En OpenMP se puede hacer con llaves. Domingo Giménez (Universidad de Murcia) Curso / 22
19 Ejemplo - sistema triangular de ecuaciones, Paso de Mensajes En cada Pi, i=0,1,...,n-1 if(i==0) { x=b/a[0]; //cada uno tiene un vector con su fila enviar x a P1; } else if(i!=n-1) { for(j=0;j<i;j++) { recibir x de P(i-1); enviar x a P(i+1); suma+=a[j]*x; } x=(b-suma)/a[i]; } else { for{j=0;j<n-1;j++) { recibir x de P(n-2); suma+=a[j]*x; } x=(b-suma)/a[n-1]; } Se han sustituido las llaves por comunicaciones. Domingo Giménez (Universidad de Murcia) Curso / 22
20 Ejemplo - sistema triangular de ecuaciones, costes Coste secuencial: n 1 i=0 (2+2i) = n2 + n Coste paralelo, aproximadamente 5n Speed-up: n/5 Eficiencia 20% Y en paso de mensajes hay que añadir coste de comunicaciones. Causa de las bajas prestaciones? Cómo generalizar a tamaño de problema y de sistema independientes? Domingo Giménez (Universidad de Murcia) Curso / 22
21 Contenido 1 Grafos de dependencia 2 Paralelismo en Árbol o Grafo 3 Computación Pipeline 4 Otros ejemplos y trabajo adicional Domingo Giménez (Universidad de Murcia) Curso / 22
22 Se pueden consultar las secciones correspondientes y sus ejemplos del capítulo 6 del libro de Introducción a la Programación Paralela y en el Concurso de Programación Paralela. Detalles del problema de encontrar las clases de equivalencia (libro IPP). En el CPP hay pocos ejemplos: Los que llevan ordenaciones se podrían considerar en árbol, pero también de Divide y Vencerás, que veremos la próxima sesión. Los A de 2013 y 2015 se pueden pensar como pipeline. Y pensar cómo podrían implementarse los ejemplos vistos en esta sesión. En la sesión de prácticas se propondrán uno o dos problemas para abordarlos con los paradigmas presentados. Domingo Giménez (Universidad de Murcia) Curso / 22
Paralelismo Relajado Paralelismo Síncrono
Metodología de la Programación Paralela Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Paralelismo Relajado Paralelismo Síncrono Domingo Giménez (Universidad de Murcia) 1
Más detallesDivide y Vencerás Programación Dinámica
Metodología de la Programación Paralela Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Divide y Vencerás Programación Dinámica Domingo Giménez (Universidad de Murcia) 1 /
Más detallesEsquemas algorítmicos paralelos - Particionado y Paralelismo de Datos
Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos Domingo Giménez (Universidad de Murcia)
Más detallesParalelización de problemas de recorrido de árboles Trabajadores replicados y esquema maestro esclavo
Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Paralelización de problemas de recorrido de árboles Trabajadores replicados
Más detallesEsquemas algorítmicos paralelos - Particionado y Paralelismo de Datos
Metodología de la Programación Paralela Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos Domingo Giménez (Universidad de Murcia) 1 / 31
Más detallesALGORITMOS Y PROGRAMACIÓN PARALELA. Esquemas de programación paralela
ALGORITMOS Y PROGRAMACIÓN PARALELA Esquemas de programación paralela REFERENCIAS Almeida, Giménez, Mantas, Vidal: Introducción a la. Cap 5 y 6 Wilkinson, Allen Quinn Esquemas de 1 Esquemas de algoritmos
Más detallesDiseño de algoritmos paralelos
Diseño de algoritmos paralelos Curso 2011-2012 Esquema del capítulo Visión general de algunos algoritmos serie. Algoritmo paralelo vs. Formulación paralela Elementos de un Algoritmo paralelo Métodos de
Más detallesUNIDAD II Metodología de programación paralela. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM
UNIDAD II Metodología de programación paralela UNIDAD II: Metodología de programación paralela Metodología de programación paralela Algunos conceptos que nos ayudarán a entender mejor el tema. Modelos
Más detallesMultiplicación de matrices dispersas
Multiplicación de matrices dispersas Alumno: Irene Sánchez Linares Índice Descripción del problema Representación Algoritmo secuencial Esquemas algorítmicos Elección del esquema OpenMP MPI Estudio experimental
Más detallesParalelismo en la ordenación por mezcla
Paralelismo en la ordenación por mezcla Índice MergeSort secuencial. MergeSort paralelo : descomposición en tareas. Descomposición funcional. Descomposición recursiva. Descomposición de dominio. Grafo
Más detallesProcesamiento Paralelo
Procesamiento Paralelo Principios de diseño de algoritmos paralelos Javier Iparraguirre Universidad Tecnológica Nacional, Facultad Regional Bahía Blanca 11 de Abril 461, Bahía Blanca, Argentina jiparraguirre@frbb.utn.edu.ar
Más detallesModelado y autooptimización en esquemas paralelos de backtracking
Modelado y autooptimización en esquemas paralelos de backtracking Manuel Quesada y Domingo Giménez Universidad de Murcia XX Jornadas de Paralelismo A Coruña, 18 Sept 2009 Índice 1 Introducción 2 Técnica
Más detallesGranularidad y latencia
Niveles de paralelismo y latencias de comunicación Niveles de paralelismo. Granularidad o tamaño de grano. Latencia de comunicación. Particionado de los programas. Empaquetado de granos. Planificación
Más detallesProblema de las N Reinas. Resolución paralela
Problema de las N Reinas Resolución paralela Indice Introducción al problema Representación y Soluciones Resolución secuencial Resolución paralela Conclusiones Bibliografía 2 3 Introducción Introducción
Más detallesDiseño de Algoritmos Paralelos Prof. Gilberto Díaz
Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Diseño de Algoritmos Paralelos Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería
Más detallesAlgoritmos paralelos para la Multiplicación de Matrices
Introducción Paralelizar onclusiones Trabajo ibliografía lgoritmos paralelos para la Multiplicación de Matrices Universidad de Murcia - UM 18 de diciembre de 2008 Introducción Paralelizar onclusiones Trabajo
Más detallesRelación de Ejercicios. Programación Paralela 4º de Grado en Ingeniería Informática.
1. Por qué el modelo de programación que se sigue al programar con MPI es independiente de la asignación? 2. Describir gráficamente una solución eficiente para realizar una operación de reducción global
Más detallesW_ILU_GMRES. UNA ESTRATEGIA PARA SISTEMAS DE ECUACIONES LINEALES DENSOS
W_ILU_GMRES. UNA ESTRATEGIA PARA SISTEMAS DE ECUACIONES LINEALES DENSOS Angela León, Marta Lourdes Baguer, Yisleidy Linares, Universidad de La Habana Lilian Villarín, Universidad de Heidelberg, Alemania
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 detallesParalelismo. MPI Paso de mensajes. Francisco García Sánchez Departamento de Informática y Sistemas
Paralelismo MPI Paso de mensajes Francisco García Sánchez Departamento de Informática y Sistemas Contenido Introducción 1) Uso de MPI 2) Multiplicación de matrices 3) Ordenación por mezcla 4) Programación
Más detalles3. DISEÑO DE ALGORITMOS PARALELOS Y DISTRIBUIDOS
3. DISEÑO DE ALGORITMOS PARALELOS Y DISTRIBUIDOS Uno de los ingredientes más importantes para el procesamiento paralelo son sin duda los algoritmos paralelos que tienen un considerable interés en su desarrollo.
Más detallesConceptos básicos de paralelismo
Capítulo 2 Conceptos básicos de paralelismo 2.1. Introducción En este capítulo introduciremos algunos conceptos del paralelismo que se requeriran en la posterior discusión. Particularmente relevantes para
Más detallesTema 2, 3 y 4 GRUPO 82 - INGENIERÍA INFORMÁTICA. Bernardo D Auria. 3 Diciembre Departamento de Estadística. Universidad Carlos III de Madrid
Bernardo D Auria Departamento de Estadística Universidad Carlos III de Madrid GRUPO 82 - INGENIERÍA INFORMÁTICA Diciembre 2008 Ejercicio T2-JN12 Comprueba que el problema lineal min x x 1 + x 2 2x x +
Más detallesPROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela
PROGRAMACIÓN PARALELA Modelos de programación paralela Paradigmas de programación paralela Tipos de paralelismo Paso de mensajes Paralelismo de datos Memoria compartida Paradigmas de programación paralela
Más detallesParalelismo _Arquitectura de Computadoras IS603
Paralelismo _Arquitectura de Computadoras IS603 INTRODUCCION El objetivo de esta investigación, es conceptualizar las diferentes tipos de paralelismo referente al área de Arquitectura de Computadoras,
Más detallesTeoría de redes y optimización en redes
Teoría de redes y optimización en redes Pedro Sánchez Martín Contenidos Definiciones básicas Árbol generador mínimo de expansión Camino mínimo Algoritmo Dkstra Algoritmo Bellman-Ford Fluo máximo Fluo de
Más detallesGrupo de Computación Científica y Programación Paralela
Grupo de Computación Científica y Programación Paralela Universidad de Murcia domingo@um.es http://dis.um.es/~domingo Reunión de proyecto de investigación, Valencia, 12-13 noviembre 2009 Contents 1 El
Más detallesCOMPARACIÓN DE MODELOS DE SINCRONIZACIÓN EN PROGRAMACIÓN PARALELA SOBRE CLUSTER DE MULTICORES
COMPARACIÓN DE MODELOS DE SINCRONIZACIÓN EN PROGRAMACIÓN PARALELA SOBRE CLUSTER DE MULTICORES Autor: A.P.U. Enzo Rucci Director: Ing. Armando E. De Giusti Co-Director: Lic. Franco Chichizola Tesina de
Más detalles1. PRINCIPIOS BÁSICOS DE PROGRAMACIÓN
1. PRINCIPIOS BÁSICOS DE PROGRAMACIÓN Las estructuras de datos bien definidas no son adecuadamente utilizadas si no se realiza una buena programación. La programación estructurada tiene la finalidad de
Más detallesAntonio Carrillo Ledesma Ismael Herrera Revilla
Universidad Nacional Autónoma de México Instituto de Geofísica Aplicación del Cómputo Paralelo a la Modelación de Sistemas Continuos en Ciencias e Ingeniería Mediante el Método FETI Dual-Primal Presentan:
Más detallesMETODOLOGÍA DE LA PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela
METODOLOGÍA DE LA PROGRAMACIÓN PARALELA Modelos de programación paralela Paradigmas de programación paralela Tipos de paralelismo Paso de mensajes Paralelismo de datos Memoria compartida Tipos de paralelismo
Más detallesPARTE II: ALGORÍTMICA
Programa de teoría Parte I. Estructuras de Datos.. Abstracciones y especificaciones.. Conjuntos y diccionarios.. Representación de conjuntos mediante árboles. 4. Grafos. Parte II. Algorítmica.. Análisis
Más detallesComputación de Altas Prestaciones Sistemas computacionales
Computación de Altas Prestaciones Sistemas computacionales Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo Universidad de Murcia 1 Motivación Problemas
Más detallesAnálisis y Diseño de Algoritmos (AyDA) Isabel Besembel Carrera
Análisis y Diseño de Algoritmos (AyDA) Isabel Besembel Carrera Algoritmos probabilistas Ene. 2010 Postgrado en Computación. Análisis y Diseño de Algoritmos (AyDA). Isabel Besembel. 2 Algoritmos multihilos
Más detallesPARADIGMA y LENGUAJES DE PROGRAMACIÓN
CATEDRA CARRERA: PARADIGMA y LENGUAJES DE PROGRAMACIÓN LICENCIATURA EN SISTEMAS DE INFORMACION FACULTAD DE CIENCIAS EXACTAS QUIMICAS Y NATURALES UNIVERSIDAD NACIONAL DE MISIONES Año 2017 2do Cuatrimestre
Más detallesUniversidad Nacional Autónoma de México Instituto de Geofísica
Universidad Nacional Autónoma de México Instituto de Geofísica Aplicación del Cómputo Paralelo a la Modelación de Sistemas Continuos en Ciencias e Ingeniería Presentan: Antonio Carrillo Ledesma Ismael
Más detallesMultiplicación de Matrices en Sistemas cc-numa Multicore. Autor: Jesús Cámara Moreno Director: Domingo Giménez Cánovas
Multiplicación de Matrices en Sistemas cc-numa Multicore Autor: Jesús Cámara Moreno Director: Domingo Giménez Cánovas Índice de Contenido 1. Introducción 2. Línea de Investigación 3. Sistemas Empleados
Más detallesCómputo paralelo con openmp y C
Cómputo paralelo con openmp y C Sergio Ivvan Valdez Peña Guanajuato, México. 13 de Marzo de 2012 Sergio Ivvan Valdez Peña Cómputo Guanajuato, paralelo conméxico. openmp y () C 13 de Marzo de 2012 1 / 27
Más detallesSistemas Operativos Distribuidos
Contenidos del Tema Gestión de procesos Modelos de sistema Asignación de procesadores Estrategias dinámicas Estrategias estáticas Ejecución remota de procesos Modelos de sistema Organización de los procesadores
Más detallesDepto. Sistemas I.O. y Computación. informáticos y Computación Univ. La Laguna
Sobre el papel de la programación paralela en los nuevos planes de estudios de informática Francisco Almeida Domingo Giménez José M. Mantas Antonio M. Vidal Depto. Estadística, Depto. Informática y Depto.
Más detallesJosé Matías Cutillas Lozano PROGRAMACIÓN PARALELA Y COMPUTACIÓN DE ALTAS PRESTACIONES
José Matías Cutillas Lozano PROGRAMACIÓN PARALELA Y COMPUTACIÓN DE ALTAS PRESTACIONES MÁSTER EN NUEVAS TECNOLOGÍAS EN INFORMÁTICA Diciembre 2010 Introducción Por qué utilizar Matlab paralelo? MATLAB es
Más detalles1 Primitivas básicas de OpenMP
1 Primitivas básicas de OpenMP Consultar la página oficial de la plataforma OpenMP http://www.openmp.org/drupal/ Pragmas Es una directiva para el compilador que permite la definición de nuevas directivas
Más detallesPROGRAMA DE ESTUDIO Área de Formación : Fecha de elaboración: 28 de mayo de 2010 Fecha de última actualización:
PROGRAMA DE ESTUDIO Programa Educativo: Área de Formación : Licenciatura en Sistemas Computacionales Integral profesional Horas teóricas: 2 Horas prácticas: 2 Total de Horas: 4 Cómputo paralelo Total de
Más detallesBENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACION
BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD CIENCIAS DE LA COMPUTACION PROGRAMA DE LA MATERIA CORRESPONDIENTE A LA LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN. Coordinación: NOMBRE DE LA MATERIA:
Más detallesAnálisis de algoritmos
Tema 03: Análisis temporal M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Caso de entrada Ejemplo 1 (Búsqueda lineal) Operación
Más detallesPRUEBAS DE CAJA BLANCA
PRUEBAS DE CAJA BLANCA PARTE. DESCRIPCIÓN DE TÉCNICAS Se examinan los caminos lógicos del sistema haciendo diversos recorridos. Sus objetivos son: Ejecutar por lo menos una vez todos los caminos independientes
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 detallesCasos especiales de la P. L.
Casos especiales de la P. L. Las redes: Las redes están presentes en diferentes lugares en la vida real: redes de transporte, flujo eléctrico y comunicaciones, por ejemplo. Las redes: También son ampliamente
Más detallesTEMA 11: INTRODUCCIÓN A LA PROGRAMACIÓN MATEMÁTICA CON VARIABLES DISCRETAS
TEMA 11: INTRODUCCIÓN A LA PROGRAMACIÓN MATEMÁTICA CON VARIABLES DISCRETAS 1.- ECUACIONES LINEALES (MILP) 1.1.- Formulación 1.2.- Algoritmos para resolver MILPs 2.- VISIÓN GENERAL DE LOS ALGORITMOS DE
Más detallesHerramientas para el estudio de prestaciones en clusters de computación científica, aplicación en el Laboratorio de Computación Paralela
Introducción Herramientas Estudio Conclusiones Herramientas para el estudio de prestaciones en clusters de computación científica, aplicación en el Laboratorio de Computación Paralela Ingeniería en Informática
Más detallesConceptos. Generales ALGORITMOS
Conceptos 1 Generales ALGORITMOS Que es un Algoritmo? 2 Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos
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 detallesAplicaciones Web para prácticas de esquemas algorítmicos
Aplicaciones Web para prácticas de esquemas algorítmicos Francisco Bermúdez Murilo Boratto Domingo Giménez José Víctor Jiménez Andrés Palazón Universidad de Murcia http://www.um.es/pcgum/pfcs_y_tms/index.html
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 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 detallesSesión 7. Cálculo Paralelo en Elmer
Sesión 7. Cálculo Paralelo en Elmer M. Meis y F. Varas Departamento de Matemática Aplicada II Universidad de Vigo Introducción a Elmer, sofware libre de simulación numérica multifísica A Coruña, 27 de
Más detallesBacktracking: Esquema General
Backtracking Idea: Técnica para recorrer sistemáticamente todas las posibles configuraciones de un espacio asociado a soluciones candidatos de un problema computacional. Se puede pensar este espacio tiene
Más detallesESCUELA SUPERIOR POLITÉCNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN SYLLABUS DEL CURSO Análisis de Algoritmos
1. CÓDIGO Y NÚMERO DE CRÉDITOS ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN SYLLABUS DEL CURSO Análisis de Algoritmos CÓDIGO FIEC04366 NÚMERO DE CRÉDITOS:
Más detallesProgramación: Sistemas unitriangulares inferiores
Programación: Sistemas unitriangulares inferiores Objetivos. Programar en el lenguaje de MATLAB el método de la sustitución hacia adelante para resolver sistemas de ecuaciones lineales con matrices unitriangulares
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 detallesCapítulo 6: EVALUACIÓN Y COMPARACIÓN DE MÉTODOS
Capítulo 6: EVALUACIÓN Y COMPARACIÓN DE MÉTODOS En este capítulo, se realiza la evaluación y comparación de los métodos de paralelización de recurrencias descritos y propuestos en este trabajo. Los resultados
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 detallesAlgoritmos mas complejos. Algoritmos y Estructuras de Datos II (Programación I) Mgter. Vallejos, Oscar A.
Algoritmos mas complejos Divide y Vencerás Técnica empleada en cosas dispares. También en el diseño de algoritmos. (ordenación: Quicksort; Mergesort). Consiste básicamente en dividir un problema original
Más detallesIntroducción a la Algorítmica Transparencias correspondientes a las clases impartidas por los profesores: Lourdes Miró Amarante Ignacio García Vargas
Dpto. de ATC - Página 1 de 16 CONCEPTO DE ALGORITMO (1) Fundamentos de Informática E.U.P. Universidad de Sevilla Introducción a la Algorítmica Transparencias correspondientes a las clases impartidas por
Más detallesLa Máquina de Acceso Aleatorio (Random Access Machine)
La Máquina de Acceso Aleatorio (Random Access Machine) Nuestro modelo de cómputo secuencial es la máquina de acceso aleatorio (RAM, Random Access Machine) mostrada en la Figura 2.1, y que consiste 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 detallesAnálisis de Algoritmos CB-102
Análisis de Algoritmos CB-102 Algoritmos en Paralelo Centro de Manufactura / Centro de Sistema Inteligentes ITESM Algoritmos en Paralelo TC-4001 - p. 1/22 Hasta este punto, nuestro modelo de computación
Más detalles4. Procedimiento de solución
4. Procedimiento de solución Para probar la validez del modelo desarrollado, se va a implementar su programación en la herramienta de optimización del programa Matlab R2008a. 4.1. Sub-rutina en Matlab
Más detallesPrimero se triangulariza la matriz: Multiplicando la primera fila por (-1/3) y sumando a la segunda fila: ( ) ( )=( ) ( ) ( )
MAT 115 B EJERCICIOS RESUELTOS Resolver el siguiente sistema de ecuaciones: a) Por el método de eliminación de Gauss La matriz aumentada del sistema es: 3 2 6 1 5 Primero se triangulariza la matriz: Multiplicando
Más detallesInformática Nivel superior Prueba 1
Informática Nivel superior Prueba 1 Viernes 4 de noviembre de 2016 (tarde) 2 horas 10 minutos Instrucciones para los alumnos yno abra esta prueba hasta que se lo autoricen. ysección A: conteste a todas
Más detallesProgramación II. Mario Aldea Rivas Programación II 04/04/11 1. Mario Aldea Rivas Programación II 04/04/11 2
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 5. Algoritmos voraces, heurísticos y aproximados
Más detallesAnálisis de algoritmos paralelos
METODOLOGÍA DE LA PROGRAMACIÓN PARALELA Análisis de algoritmos paralelos REFERENCIAS La mayoría de los libros de la bibliografía, en particular: Foster, cap 3 Kumar, Grama, Gupta, Karypis, cap 4 Wilkinson,
Más detallesOCW-V.Muto Eliminación Gaussiana y sustitución hacia atrás Cap. XIV CAPITULO XIV. ELIMINACION GAUSSIANA Y SUSTITUCION HACIA ATRAS
CAPITULO XIV ELIMINACION GAUSSIANA Y SUSTITUCION HACIA ATRAS 1 INTRODUCCION Y METODO El procedimiento general de eliminación Gaussiana aplicado al sistema E 1 : a 11 x 1 + a 1 x + + a 1n x n = b 1 E :
Más detallesTema 2. Fundamentos Teóricos de la. programación dinámica Teorema de Optimalidad de Mitten
Tema 2 Fundamentos Teóricos de la Programación Dinámica 2.1. Teorema de Optimalidad de Mitten El objetivo básico en la programación dinámica consiste en descomponer un problema de optimización en k variables
Más detallesCapitulo 3: EVALUACIÓN DEL PARALELISMO Y LONGITUD VECTORIAL
Capitulo 3: EVALUACIÓN DEL PARALELISMO Y LONGITUD VECTORIAL En este capítulo se presenta la evaluación del paralelismo y longitud vectorial lv para las sentencias a partir del grafo de dependencias del
Más detallesa) Para calcular los órdenes sólo es necesario contar el número de veces que se pasa por el bucle más interno. El coste sería n
EXAMEN DE ALGORÍTMICA. Segundo Ingeniería Técnica en Informática de Gestión y de Sistemas. Diciembre 2003 1) (3 puntos) El siguiente programa obtiene la subcadena más larga de números iguales dentro de
Más detallesTEMA 2: PROGRAMACIÓN PARALELA (I)
Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas ARQUITECTURA DE COMPUTADORES II AUTORES: David Expósito Singh Florin Isaila Daniel Higuero Alonso-Mardones Javier García Blas Borja Bergua
Más detallescuevogenet Paralelización en CUDA de la Dinámica Evolutiva de Redes Génicas Dirigido por: Fernando Díaz del Río José Luis Guisado Lizar
cuevogenet Paralelización en CUDA de la Dinámica Evolutiva de Redes Génicas Realizado por: Raúl García Calvo Dirigido por: Fernando Díaz del Río José Luis Guisado Lizar Objetivos Implementar un algoritmo
Más detallesNociones básicas de computación paralela
Nociones básicas de computación paralela Javier Cuenca 1, Domingo Giménez 2 1 Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia 2 Departamento de Informática y Sistemas Universidad
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 detallesCasos especiales de la P. L.
Casos especiales de la P. L. Las redes: Las redes están presentes en diferentes lugares en la vida real: redes de transporte, flujo eléctrico y comunicaciones, por ejemplo. Las redes: También son ampliamente
Más detallesCasos especiales de la P. L.
Casos especiales de la P. L. Problemas de flujo mínimo Planteamiento del problema Son problemas de programación lineal con ciertas estructuras especiales Permiten ser trabajados con algoritmos especiales
Más detallesCOMPUTACIÓN DE ALTA PERFORMANCE 2013
COMPUTACIÓN DE ALTA PERFORMANCE Curso 2013 Sergio Nesmachnow (sergion@fing.edu.uy) Santiago Iturriaga (siturria@fing.edu.uy) Grupo de Procesamiento Paralelo Aplicado Centro de Cálculo TEMA 3 PROGRAMACIÓN
Más detallesFrancisco J. Hernández López
Francisco J. Hernández López fcoj23@cimat.mx Estructura de datos no lineales donde cada componente o nodo puede tener uno o más predecesores (a diferencia de los árboles) y sucesores Un grafo esta formado
Más detallesSesión 6. Cálculo Paralelo en Elmer
Sesión 6. Cálculo Paralelo en Elmer M. Meis 1,2 y F. Varas 1,3 1 Universidad de Vigo, 2 Vicus Desarrollos Tecnológicos, S.A., 3 Universidad Politécnica de Madrid Introducción a la Simulación Numérica Multifísica
Más detallesModelos de Redes: Árbol. M. En C. Eduardo Bustos Farías
Modelos de Redes: Árbol de expansión n mínimam M. En C. Eduardo Bustos Farías as Objetivos Conceptos y definiciones de redes. Importancia de los modelos de redes Modelos de programación n lineal, representación
Más detallesCapítulo 4: GRAPH TRAVERSE SCHEDULING, Paralelización de Recurrencias
Capítulo 4: GRAPH TRAVERSE SCHEDULING, Paralelización de Recurrencias En este capítulo se presentan un conjunto de técnicas que permiten obtener el máximo paralelismo del bucle en presencia o no de recurrencias.
Más detallesParte de Algoritmos de la asignatura de Programación Master de Bioinformática. Búsqueda exhaustiva
Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Búsqueda exhaustiva Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias preparadas
Más detallesTema: Programación Dinámica.
Programación IV. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Programación Dinámica. Objetivos Específicos Definir el concepto de programación dinámica. Interpretar
Más detallesProgramación en Memoria Compartida: OpenMP
Programación en Memoria Compartida: OpenMP Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo Universidad de Murcia 1 Nociones básicas Modelo de programación
Más detallesModelos de computadores paralelos
Modelos de computadores paralelos Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo Universidad de Murcia 1 Contenido Programación paralela Modelos
Más detallesAlgoritmos sobre Listas
TEMA 6 Algoritmos sobre Listas V1.1 Manuel Pereira González Agenda Introducción Algoritmos de Búsqueda Búsqueda Secuencial Búsqueda Binaria Análisis de Eficiencia Algoritmos de Inserción Algoritmos de
Más detallesAuxiliar N 5 07 de Noviembre de 2007
Universidad de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Industrial IN34A Optimización Auxiliar N 5 07 de Noviembre de 2007 Profesores: Francisco Cisternas Richard Weber
Más detallesTEMA 1. INTRODUCCIÓN A LA PROGR. DISTRIBUIDA Y PARALELA
Relación de Ejercicios Programación Distribuida y Paralela. 4 o de Ingeniería Superior en Informática. Departamento de Lenguajes y Sistemas Informáticos TEMA 1. INTRODUCCIÓN A LA PROGR. DISTRIBUIDA Y PARALELA
Más detallesFormulando con modelos lineales enteros
Universidad de Chile 19 de marzo de 2012 Contenidos 1 Forma de un problema Lineal Entero 2 Modelando con variables binarias 3 Tipos de Problemas Forma General de un MILP Problema de optimización lineal
Más detallesEntornos de programación paralela basados en modelos/paradigmas
Program. paralela/distribuida Entornos de programación paralela basados en modelos/paradigmas Sobre la programación paralela 1 Índice Reflexiones sobre la programación paralela MapReduce Propuesta original
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 detalles