Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE104911.

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

Búsqueda en un espacio de Estado
Diseño y análisis de algoritmos
TÉCNICA DE DISEÑO BACKTRACKING
Introducción a los Algoritmos
Inteligencia Artificial Búsqueda informada y exploración
Representación De La Información. Solo para principiantes.
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Unidad académica: Ingenierías
Basado en una idea de Miguel de Guzmán
Prof. Ramón Garduño Juárez Modelado Molecular Diseño de Fármacos
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Inteligencia Artificial Búsqueda informada y exploración
Curso de Programación I Parte III
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. Sesión 8.
Objetivos Específicos de la Unidad
C lase 10 COMPUTACION /17/2014Computacion - Fac. Ingeniería2  Ademas de los ya vistos (tipos simples), puede usarse como parámetros variables.
Funciones en lenguaje C
La función BUSCAR devuelve un valor de un rango de una fila o una columna o de una matriz. Forma matricial: Buscar el valor especificado en la primera.
Álgebra Lineal – Escuela Superior de Ingeniería de Bilbao – UPV/EHU
Programación de Computadores
Universidad de los Andes-CODENSA
Arrays (introducción)
Programación en Matlab
Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se.
Programación Modular (Pseudocódigo)
ARREGLOS BIDIMENSIONALES
Optimización, Búsqueda Heurística
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE
Diseño y análisis de algoritmos
COMPUTACION 2009 Clase 6 Clase 7.
Programación II 3-4 de marzo de 2009
DEFINICIONES Sea (P) el siguiente problema de programación lineal:
(Organización y Manejo de Archivos)
Parte II. Algorítmica. 3. Algoritmos voraces.
Aplicación de estructuras de datos
Clase 03 ELEMENTOS DE COMPUTACIÓN Contenidos Objeto Clase Atributo Método Instancia Herencia Polimorfismo UML.
Algoritmos de Búsqueda “Backtracking y Branch and Bound”
OpenMP C and C++ Application Program Interface. Version October 1998.
Backtracking 1. Método general. 2. Análisis de tiempos de ejecución.
Sincronización de Procesos
Parte II. Algorítmica. 5. Backtracking. 1. Análisis de algoritmos.
14 de diciembre de 2005 Universidad de Murcia1 Programación en Memoria Compartida: OpenMP Domingo Giménez Departamento de Informática y Sistemas Universidad.
PROBLEMAS DE SATISFACCIÓN DE RESTRICCIONES
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Facultad de Ingeniería Introducción a CUDA C Laboratorio de Intel para la Academia y Cómputo de alto desempeño.
AJEDREZ Carlos A. Alsina.
Términos algoritmo diseñar algoritmo implementar algoritmo
ALGORITMO QUE ES ??.
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
Fundamentos de Programación
Se pueden incluir comentarios en cualquier parte de un programa pero deben delimitarse con llaves o con paréntesis y asterisco:
DISEÑAR Y ELABORAR ALGORITMOS Nombre: anayeli hernandez peralta Grado y grupo: 1 “3” Materia: Informática y computación Maestro: Ángel Buendía Turno: Vespertino.
DISEÑAR Y ELABORAR ALGORITMOS NOMBRE: LAURA PAEZ GARCIA GRADO Y GRUPO: 1 “3” MATERIA: INFORMÁTICA Y COMPUTACIÓN MAESTRO: ÁNGEL BUENDÍA TURNO: VESPERTINO.
Computación I. CI-2125 Tema VII
Inteligencia Artificial
ARREGLOS BIDIMENSIONALES MATRICES Son un espacio de almacenamiento continuo, que contiene una serie de elementos del mismo tipo de datos. Desde el punto.
Resolución de problemas
Programación Java y Desarrollo de Aplicaciones Modulo 1 Arquitectura de ordenadores Tema 3 Programas.
Búsqueda de ascensión de colinas (BLv)
Non-guillotine 2D bin packing problem Eduardo Pérez Mederos Miguel Monterrey Varela Jaime González Valdés Óscar Mateos López.
Prof. Manuel B. Sánchez.  El origen del término polimorfismo es simple: proviene de las palabras griegas poly (muchos) y morphos (forma) multiforme.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 7 – Funciones y Procedimientos.
Ing. Barros Rodriguez D. Ronald Introducción a la Programacón.
Ciclos condicionales y exactos Estructura de control de ciclos
Transcripción de la presentación:

Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE104911

Back tracking(o búsqueda atrás) es una técnica de programación para hacer búsqueda sistemática a través de todas las configuraciones posibles dentro de un espacio de búsqueda. Para lograr esto, los algoritmos de tipo back tracking construyen posibles soluciones candidatas de manera sistemática. En general, dado una solución candidata s: 1. Verifican si s es solución. S i lo es, hacen algo con ella (depende del problema). 2. Construyen todas las posibles extensiones de s, e invocan recursivamente al algoritmo con todas ellas. A veces los algoritmos de tipo back tracking se usan para encontrar una solución, pero otras veces interesa que las revisen todas (por ejemplo, para encontrar la m as corta). Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE104911

Suposiciones sobre el espacio de soluciones Supondremos que una solución se puede modelar como un vector a = (a1, a2,..., an), donde cada elemento ai está tomado de un conjunto ordenado finito S i. Representamos a una solución candidata como un vector a = (a1,..., ak). Las soluciones candidatas se extenderán agregando un elemento al final. Bt(A, k) 1 si Solución?(A, k) 2 entonces procesarSolucion(A, k) 3 otro para cada c 2 Sucesores(A, k) 4 Do A[k] = c 5 Bt(A, k + 1) 6 Si terminar? 7 Entonces devuelve Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE104911

donde Solución?(·) es una función que retorna verdadero si su argumento es una solución. procesarSolucion(·), depende del problema y que maneja una solución. Sucesores(·) es una función que dado un candidato, genera todos los candidatos que son extensiones de éste. terminar? es una variable global booleana inicialmente es falsa, pero que puede ser hecha verdadera por procesarSolución, en caso que sólo interesa encontrar una solución. Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE104911

Ejemplo:

El problema de las N reinas consiste en situar N reinas en un tablero de ajedrez de NxN sin que se amenacen entre ellas. Una reina amenaza a otra si está en la misma fila, columna o diagonal. Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE104911

Movimientos posibles de una reina en el tablero: Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE104911

Para representar el problema, se podría plantear como una matriz de NxN enteros, donde un 1 significa que la reina está en esa posición, y un 0 que la casilla está vacía. Otra opción es hacer uso de un vector de N enteros, donde cada posición corresponde a una columna del tablero, y el entero representa la fila en la que se encuentra la reina dentro de dicha columna. Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE104911

Dos reinas están en la misma diagonal si: Mismo valor de fila – columna (Diagonal descendente) Mismo valor de fila + columna (Diagonal ascendente) Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE104911

#pragma omp critical [nombre] bloque Asegura exclusión mutua en la ejecución del bloque. El nombre se puede usar para identificar secciones críticas distintas #pragma omp atomic expresión La expresión debe ser x binop=exp, x++, ++x, x-- o --x, donde x es una expresión con valor escalar, y binop es un operador binario. Asegura la ejecución de la expresión de forma atómica Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE104911

Referencias R E D O N D O G A R C Í A J O S É L U I S, EL ESQUEMA ALGORÍTMICO DEL BACKTRACKING, L Ó G I C A Y C O M P U T A B I L I D A D. Estrada Murguía Pablo José, ESTUDIO DE DESEMPEÑO DE ALGORITMOS EN ENTORNOS MULTICORE, MÉXICO, D.F,2011, p Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE A. Ayala, H. Osman, D. Shapiro, J.-M. Desmarais, J. Parri, M. Bolic and V. Groza, Accelerating N-Queens Problem using OpenMP, School of Information Technology and Engineering University of Ottawa 800 King Edward Avenue Ottawa, Ontario, K1N 6N5, Canada,2011.