COMPUTACIÓN ALEATORIZADA

Tamaño: px
Comenzar la demostración a partir de la página:

Download "COMPUTACIÓN ALEATORIZADA"

Transcripción

1 Conferencia magistral COMPUTACIÓN ALEATORIZADA Probabilidad y algoritmos Dra. Elisa Schaeffer Profesora del Posgrado de Ing. de Sistemas (PISIS) en la Facultad de Ing. Mecánica y Eléctrica (FIME), Coordinador del área de TI & Software del CIIDIT

2 CONTENIDO Probabilidad en el mundo real Computación como herramienta Debilidades del determinismo Aproximaciones y heurísticas

3 PROBABILIDAD Intuición: la frecuencia con la cual obtengamos una cierta salida entre un conjunto de posibles salidas cuando estamos repetiendo un experimento Ejemplos: lanzamiento de monedas o dados, fallas de componentes electrónicos

4 VARIABLE ALEATORIA Asignándoles nombres {x 1,x 2,...,x n } a las posibles salidas, podemos denotar con experimento y por la salida sea. x i P (X = x i ) el la probabilidad de que Para que tengamos cubiertos todas las salidas posibles, es necesario que n i=1 X P (X = x i )=1

5 VALOR ESPERADO Supongamos que cada salida tiene asociado un valor numérico y denotamos este valor por. El valor esperado de un experimento es x i Exp(X) = n i=1 ( xi P (X = x i ) )

6 COMPUTACIÓN

7 COMPUTACIÓN Algoritmo = un método de solución que permite siempre llegar a la respuesta correcta a una pregunta específica en un número finito de pasos deterministas de cómputo Algoritmo aleatorizado = un método de solución que permite con probabilidad no-cero llegar a la respuesta correcta a una pregunta específica en un número esperado finito de pasos probabilistas de cómputo

8 ALGORITMO EFICIENTE La calidad de un algoritmo se mide por el número de pasos de cómputo que necesita: lo más rápido lo mejor. Se dice que un algoritmo es eficiente si el número de pasos requiridos crece polinomialmente con respeto al tamaño de la instancia. Se denota por O(f(n)) la complejidad asintótica: el número de pasos siempre comporta igual o mejor que la función f(n).

9 ORDENAMIENTO Solución exacta por computación aleatorizada

10 ORDENAMIENTO RÁPIDO El mejor algoritmo de ordenamiento de datos es el órdenamiento rápido (inglés: quicksort) 1. Elegimos un elemento para ser el pivote 2. Movemos todos los elementos menores o iguales al pivote a la izquierda y los mayores a la derecha 3. Repetimos recursivamente entre los a la izquierda entre los a la derecha

11 COMPLEJIDAD El ordenamiento rápido puede alcanzar una complejidad buena: ordenar solamente O(n log n) elementos en pasos de cómputo. Los algoritmos ingenuos como ordenamiento de burbuja toman más tiempo, O(n 2 ). Si son muchos datos, la diferencia es muy significativa. n

12 QUADRÁTICO VS. LOG-LINEAL Escala lineal Escala logarítmica

13 ELECCIÓN DE PIVOTE Meta: alcanzar la complejidad buena O(n log n). Para que el algoritmo sea eficiente, no podemos perder tiempo en elegir el pivote de alguna manera muy sofisticada. Pero si lo elegimos el elemento pivote por una regla determinista simple, el algoritmo tarda en el peor caso. O(n 2 )

14 EJEMPLO

15 EJEMPLO

16 EJEMPLO

17 EJEMPLO

18 EJEMPLO

19 EJEMPLO

20 EJEMPLO

21 EJEMPLO

22 EJEMPLO

23 EJEMPLO

24 EJEMPLO

25 EJEMPLO

26 PIVOTE ALEATORIO En vez de meternos a calculaciones como estimar la mediana de los datos para asegurar que la división sea balanceada, simplemente elegimos el pivote al azar. En la práctica esto implica que uso de números pseudoaleatorios generados por computadora. Se puede demostrar que si el pivote está seleccionado aleatoriamente entre los datos, el tiempo esperado será. O(n log n)

27 PROBLEMA DE SATISFACCIÓN Solución aproximada por computación aleatorizada

28 LÓGICA BOOLEANA CNF Átomo: una variable binaria que puede tomar el valor verdad o falso. Literal: un átomo a, posiblemente negado: a. Cláusula: un conjunto de literales combinados por el operador o. Expresión: un conjunto de cláusulas combinados por el operador y.

29 MAX3SAT Instancia: una expresión booleana literales por cláusula. ϕ (en CNF) con tres Pregunta: cuántas cláusulas una asignación de valores de verdad puede satisfacer por máximo?

30 MAX3SAT Instancia: una expresión booleana literales por cláusula. ϕ (en CNF) con tres Pregunta: cuántas cláusulas una asignación de valores de verdad puede satisfacer por máximo? ϕ =(a b c) ( a c d)... ( e f g)

31 MAX3SAT Instancia: una expresión booleana literales por cláusula. ϕ (en CNF) con tres Pregunta: cuántas cláusulas una asignación de valores de verdad puede satisfacer por máximo? ϕ =(a b c) ( a c d)... ( e f g) Resolver esto exactamente es NP-duro (o sea, toma mucho tiempo en el peor caso).

32 APROXIMACIÓN Simplificando la situación, podemos llegar a una solución aproximada para una expresión con n cláusulas. Si asignamos los valores de verdad a los átomos de una maneta aleatoria, cada literal tiene probabilidad 1/2 de ser verdadera. Cada cláusula contiene tres literales; son ocho combinaciones. Para que se satisfaga la cláusula, basta con tener un literal que evalua a verdad. Solamente un caso de ocho no lo tiene. La probabilidad de satisfacer una claúsula es 7/8. Si las cláusulas son independientes, el número esperado de cláusulas satisfachas es 7n/8.

33 MÉTODOS HEURÍSTICOS En situaciones donde métodos exactos toman demasiado tiempo y no es indispensable contar con la solución exacta, usamos heurísticas. Heurísticas son algoritmos que adivinan un candidato inicial de solución y lo mejoran iterativamente hasta que su calidad sea satisfactoria o cuando el tiempo permitido se acaba. La iteración, igual como la generación del candidato inicial, suelen incorporar elementos aleatorizados.

34 CONCLUSIONES El no deteminismo ayuda a mejorar la eficiencia de algunos algoritmos exactos y provee aproximaciones eficientes para problemas difíciles de resolver que no cuentan con algoritmos exactos eficientes. En un algoritmo aleatorizado, las medidas de interés son el tiempo esperado de ejecucición y la calidad esperada de la solución obtenida. Su punto débil puede ser el generador de números pseudoaleatorios que nunca alcanzará aleatoridad perfecta.

35 INFORMACIÓN ADICIONAL Recomiendo el libro de Mitzenmacher y Upfal (2005). Para dudas y preguntas: elisa@yalma.fime.uanl.mx Ofrecemos una maestría y un doctorado en Ingeniería de Sistemas en la UANL; también recibimos cada año alumnos de verano científico. Gracias por su atención!

! Las mismas ideas buenas sirven para desarrollar. ! Por eso es útil estudiar las estratégias clásicas del. Dividir y conquistar Algoritmo euclideano

! Las mismas ideas buenas sirven para desarrollar. ! Por eso es útil estudiar las estratégias clásicas del. Dividir y conquistar Algoritmo euclideano Diseño de algoritmos Temas integradores Diseño de algoritmos Algoritmos de aproximación, aleatorizados & heurísticos! Las mismas ideas buenas sirven para desarrollar algoritmos eficientes para una gran

Más detalles

Algoritmos aleatorizados

Algoritmos aleatorizados Técnicas de diseño de algoritmos Algoritmos aleatorizados Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos aleatorizados p. 1 Algoritmos aleatorizados = algoritmos que incorporan

Más detalles

Problemas NP-completos

Problemas NP-completos Análisis de Algoritmos Problemas NP-completos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Problemas NP-completos p. 1 Problemas NP-completos La clase NP contiene numerosos problemas

Más detalles

Dividir-conquistar y podar-buscar

Dividir-conquistar y podar-buscar Técnicas de diseño de algoritmos Dividir-conquistar y podar-buscar Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL DC y PB p. 1 Diseño de algoritmos La meta: encontrar una manera eficiente

Más detalles

3-Coloring es NP-Completo

3-Coloring es NP-Completo 3-Coloring es NP-Completo Lic. Luis Miguel Prado Llanes Posgrado en Ingeniería de Sistemas Universidad Autónoma de Nuevo León 26 de mayo de 2008 Prado Llanes (PISIS) 3-Coloring 26.05.2008 1 / 36 Contenido

Más detalles

Algoritmos de aproximación

Algoritmos de aproximación Técnicas de diseño de algoritmos Algoritmos de aproximación Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos de aproximación p. 1 Soluciones no-óptimas En situaciones donde

Más detalles

Algoritmos pseudo-polinomiales

Algoritmos pseudo-polinomiales Análisis de Algoritmos Algoritmos pseudo-polinomiales Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos pseudo-polinomiales p. 1 HAMILTON PATH es NP-completo La reducción es

Más detalles

Algoritmos y problemas

Algoritmos y problemas Análisis de Algoritmos Algoritmos y problemas Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos y problemas p. 1 Problema = un conjunto (posiblemente infinita) de instancias

Más detalles

Universidad Autónoma de Nuevo León

Universidad Autónoma de Nuevo León 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 Eficiencia de la Búsqueda Local para Instancias Diferentes del Problema de

Más detalles

RESUMEN DE ALGORITMOS PROBABILÍSTICOS

RESUMEN DE ALGORITMOS PROBABILÍSTICOS RESUMEN DE ALGORITMOS PROBABILÍSTICOS En los algoritmos probabilísticos hay ciertas decisiones que se toman al azar bajo condiciones estadísticamente estables como una distribución uniforme. Normalmente

Más detalles

Análisis de Algoritmos Problemas de grafos

Análisis de Algoritmos Problemas de grafos Análisis de Algoritmos Problemas de grafos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Problemas de grafos p. 1 INDEPENDENT SET es NP-completo Necesitamos un gadget : el triángulo.

Más detalles

Estructuras de datos Listas y árboles

Estructuras de datos Listas y árboles Estructuras de datos Listas y árboles Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Listas y árboles p. 1 Listas Listas son estructuras un poco más avanzadas que puros arreglos, como

Más detalles

INAPROXIMABILIDAD. Curso: Algoritmos de aproximación Docente: Pablo Romero Estudiante: Daniel La Buonora Octubre de 2016

INAPROXIMABILIDAD. Curso: Algoritmos de aproximación Docente: Pablo Romero Estudiante: Daniel La Buonora Octubre de 2016 INAPROXIMABILIDAD Curso: Algoritmos de aproximación Docente: Pablo Romero Estudiante: Daniel La Buonora Octubre de 2016 Plan de la presentación - Definición de inaproximabilidad - Ejemplo con el problema

Más detalles

Ordenamiento (Sorting)

Ordenamiento (Sorting) Ordenamiento (Sorting) El problema del ordenamiento Ordenar: arreglo[α] arreglo[α], donde α es un tipo tal que está definida la relación < α Uno de los problemas más clásicos, útiles y estudiados de la

Más detalles

Estructuras de datos Árboles B

Estructuras de datos Árboles B Estructuras de datos Árboles B Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Árboles B p. 1 Árboles B Árboles B son árboles balanceados que no son binarios. Todos los vértices contienen

Más detalles

Análisis asintótico de algoritmos

Análisis asintótico de algoritmos Algoritmos y problemas Análisis asintótico de algoritmos! Cada algoritmo resuelve a un problema particular! Hay varias maneras de resolver un problema! Algunas maneras son buenas y otras son malas! El

Más detalles

Complejidad de los Algoritmos

Complejidad de los Algoritmos Que es un Algoritmo? Complejidad de los Algoritmos Webster: cualquier método especial para resolver cierta clase de problemas. Horowitz: método preciso utilizable en una computadora para la solución de

Más detalles

Algoritmos de Búsqueda

Algoritmos de Búsqueda Introducción a la Computación Algoritmos de Búsqueda Esteban E. Mocskos (emocskos@dc.uba.ar) Facultad de Ciencias Exactas y Naturales, UBA CONICET 11/10/2017 E. Mocskos (UBA CONICET) Algoritmos de Búsqueda

Más detalles

Problemas de decisión y su complejidad computacional

Problemas de decisión y su complejidad computacional Problema de decisión Problemas de decisión y su complejidad computacional! Los problemas que tienen dos respuestas posibles! Sí o no! Verdad o falso! Posible o imposible Instancia! Existe o no existe!

Más detalles

Problema Robusto de Diseño de Red Capacitada Multiproducto

Problema Robusto de Diseño de Red Capacitada Multiproducto UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN Programa de Posgrado en Ingeniería de Sistemas VERANO DE INVESTIGACIÓN CIENTIFICA 2004 Problema Robusto de Diseño de Red Capacitada Multiproducto Becario (a): Damaris

Más detalles

Análisis de algoritmos

Análisis de algoritmos Tema 12: Algoritmos probabilistas M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com @efranco_escom edfrancom@ipn.mx 1 Contenido Introducción Algoritmos probabilistas Algoritmos probabilistas

Más detalles

NP-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

NP-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 detalles

RAMIFICAR-ACOTAR Y PLANOS DE CORTE

RAMIFICAR-ACOTAR Y PLANOS DE CORTE RAMIFICAR-ACOTAR Y PLANOS DE CORTE ELISA SCHAEFFER Programa de Posgrado en Ingeniería de Sistemas (PISIS) elisa@yalma.fime.uanl.mx INVESTIGACIÓN DE OPERACIONES EL MÉTODO RAMIFICAR-ACOTAR (RA) (ingl. Branch

Más detalles

Prerrequisitos de la asignatura Álgebra Lineal Numérica

Prerrequisitos de la asignatura Álgebra Lineal Numérica Prerrequisitos de la asignatura Álgebra Lineal Numérica El propósito de Álgebra Lineal Numérica es analizar algoritmos típicos de álgebra lineal, optimizando la rapidez y la precisión. Para analizar la

Más detalles

CAPÍTULO 4 METODOLOGÍA PROPUESTA

CAPÍTULO 4 METODOLOGÍA PROPUESTA CAPÍTULO 4 METODOLOGÍA PROPUESTA En este capítulo, se describen los métodos utilizados en el procedimiento propuesto para obtener soluciones del PLIDMC. En la actualidad, muchos de los problemas de optimización

Más detalles

Sistemas. Coordinación. Tarea Coordinación en Sistemas Multiagentes. Entre personas (cooperación y trabajo en equipo)

Sistemas. Coordinación. Tarea Coordinación en Sistemas Multiagentes. Entre personas (cooperación y trabajo en equipo) Trabajo colaborativo Entre personas (cooperación y trabajo en equipo) Entre máquinas (automatización & control, sistemas inteligentes) Interacción humano-computadora (usabilidad, sistemas inteligentes)

Más detalles

Análisis de algoritmos

Análisis de algoritmos Tema 11: Algoritmos probabilistas M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com @efranco_escom edfranco@ipn.mx 1 Contenido Introducción Algoritmos probabilistas Algoritmos probabilistas

Más detalles

Una pequeña introducción práctica a la computación cuántica

Una pequeña introducción práctica a la computación cuántica 1 / 49 Una pequeña introducción práctica a la computación cuántica Elías F. Combarro - Universidad de Oviedo Alcalá de Henares - Febrero de 2018 2 / 49 Contenidos 1 Conceptos básicos de computación cuántica

Más detalles

Complejidad amortizada

Complejidad amortizada Análisis de algoritmos Complejidad amortizada Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Complejidad amortizada p. 1 Complejidad amortizada La idea en el análisis de complejidad

Más detalles

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA DEPARTAMENTO DE MATEMÁTICA. CLAVE V _sR

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA DEPARTAMENTO DE MATEMÁTICA. CLAVE V _sR UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA DEPARTAMENTO DE MATEMÁTICA CLAVE-116-1-V-2-00-2017_sR CURSO: SEMESTRE: Segundo CÓDIGO DEL CURSO: 116 TIPO DE EXAMEN: Primer Examen Parcial

Más detalles

Concentración de Medida en Algoritmos Aleatorizados.

Concentración de Medida en Algoritmos Aleatorizados. Concentración de Medida en Algoritmos Aleatorizados. Nicolás Rivera 23 de Junio de 2011 Pontificia Universidad Católica de Chile Índice 1 Introducción Concentración de Medida Índice 1 Introducción Concentración

Más detalles

IN34A - Optimización

IN34A - Optimización IN34A - Optimización Complejidad Leonardo López H. lelopez@ing.uchile.cl Primavera 2008 1 / 33 Contenidos Problemas y Procedimientos de solución Problemas de optimización v/s problemas de decisión Métodos,

Más detalles

Probabilidad y Estadística

Probabilidad y Estadística Probabilidad y Estadística Grado en Ingeniería Informática - Curso 2 Pablo Candela Departamento de Matemáticas (despacho 212) Universidad Autónoma de Madrid pablo.candela@uam.es Introducción 1 / 8 Organización

Más detalles

Curso: Métodos de Monte Carlo Unidad 3, Sesión 7: Problemas de conteo

Curso: Métodos de Monte Carlo Unidad 3, Sesión 7: Problemas de conteo Curso: Métodos de Monte Carlo Unidad 3, Sesión 7: Problemas de conteo Departamento de Investigación Operativa Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay

Más detalles

4. NÚMEROS PSEUDOALEATORIOS.

4. 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 detalles

ECONOMETRÍA II Prof.: Begoña Álvarez TEMA 1 INTRODUCCIÓN. Estimación por máxima verosimilitud y conceptos de teoría asintótica

ECONOMETRÍA II Prof.: Begoña Álvarez TEMA 1 INTRODUCCIÓN. Estimación por máxima verosimilitud y conceptos de teoría asintótica ECONOMETRÍA II Prof.: Begoña Álvarez 2007-2008 TEMA 1 INTRODUCCIÓN Estimación por máxima verosimilitud y conceptos de teoría asintótica 1. ESTIMACIÓN POR MÁXIMA VEROSIMILITUD (MAXIMUM LIKELIHOOD) La estimación

Más detalles

INTRODUCCIÓN A LA IO ELISA SCHAEFFER. Programa de Posgrado en Ingeniería de Sistemas (PISIS) INVESTIGACIÓN DE OPERACIONES

INTRODUCCIÓN A LA IO ELISA SCHAEFFER. Programa de Posgrado en Ingeniería de Sistemas (PISIS) INVESTIGACIÓN DE OPERACIONES INTRODUCCIÓN A LA IO ELISA SCHAEFFER Programa de Posgrado en Ingeniería de Sistemas (PISIS) elisa@yalma.fime.uanl.mx INVESTIGACIÓN DE OPERACIONES QUÉ ES IO? Investigación de operaciónes (OR) es un ramo

Más detalles

Programación dinámica p. 1

Programació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 detalles

Esquema de Dividir y Vencer

Esquema de Dividir y Vencer Esquema de Dividir y Vencer Amalia Duch Barcelona, marzo de 2006 Índice 1. Esquema general 1 2. Búsqueda binaria (binary search) 2 3. Ordenación por fusión (merge sort) 2 4. Ordenación rápida (quick sort)

Más detalles

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 4: Ordenación Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Elección de un método Métodos directos

Más detalles

CAPÍTULO 3. GRASP (Greedy Randomized Adaptive Search Procedures). Los problemas de optimización surgen de las situaciones de aplicación práctica.

CAPÍTULO 3. GRASP (Greedy Randomized Adaptive Search Procedures). Los problemas de optimización surgen de las situaciones de aplicación práctica. CAPÍTULO 3 GRASP (Greedy Randomized Adaptive Search Procedures). Los problemas de optimización surgen de las situaciones de aplicación práctica. Estos problemas se aplican en distintas áreas, tales como:

Más detalles

Materia requisito: DOMINIOS COGNITIVOS (Objetos de estudio, temas y subtemas) I. Introducción al Análisis de Algoritmos.

Materia requisito: DOMINIOS COGNITIVOS (Objetos de estudio, temas y subtemas) I. Introducción al Análisis de Algoritmos. UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: Clave: FACULTAD DE INGENIERÍA ANÁLISIS DE ALGORITMOS PROPÓSITO DEL CURSO DES: Ingeniería Programa(s) Educativo(s): Ingeniería en Ciencias de la Computación Tipo

Más detalles

Clases de complejidad

Clases de complejidad Análisis de Algoritmos Clases de complejidad Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Clases de complejidad p. 1 Clase de complejidad Los requisitos para definir una clase: fijar

Más detalles

Computación I Curso 2016 Facultad de Ingeniería Universidad de la República

Computación I Curso 2016 Facultad de Ingeniería Universidad de la República Computación I Curso 2016 Facultad de Ingeniería Universidad de la República Objetivos de la programación Exactitud en la realización de la tarea Tiene que satisfacer la especificación exactamente. Simplicidad.

Más detalles

Análisis de Algoritmos Primer Problemario Prof. Miguel A. Pizaña 22 de Mayo de 2007

Análisis de Algoritmos Primer Problemario Prof. Miguel A. Pizaña 22 de Mayo de 2007 Análisis de Algoritmos Primer Problemario Prof. Miguel A. Pizaña 22 de Mayo de 2007 I Tareas 1. Dudar de todo, al menos una vez en la vida. 2. Que dice la paradoja de Zenón de Elea? Qué significa paradoja?

Más detalles

Divide y vencerás. Dr. Eduardo A. RODRÍGUEZ TELLO. 7 de marzo de CINVESTAV-Tamaulipas

Divide y vencerás. Dr. Eduardo A. RODRÍGUEZ TELLO. 7 de marzo de CINVESTAV-Tamaulipas Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 7 de marzo de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Divide y vencerás 7 de marzo de 2018 1 / 50 1 Divide y vencerás Dr. Eduardo RODRÍGUEZ T. (CINVESTAV)

Más detalles

Computación I. Facultad de Ingeniería Universidad de la República

Computación I. Facultad de Ingeniería Universidad de la República Computación I Curso 2018 Facultad de Ingeniería Universidad de la República Objetivos de la programación Exactitud en la realización de la tarea Tiene que satisfacer la especificación exactamente. Simplicidad.

Más detalles

Programació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. 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 detalles

Escuela de algoritmos de aproximación

Escuela de algoritmos de aproximación Escuela de algoritmos de aproximación Módulo 2: Introducción a los algoritmos de aproximación Francisco Javier Zaragoza Martínez Universidad Autónoma Metropolitana Unidad Azcapotzalco ITAM, 14 de septiembre

Más detalles

ALGORITMOS PROBABILISTAS NUMÉRICOS SHERWOOD LAS VEGAS MONTE CARLO

ALGORITMOS PROBABILISTAS NUMÉRICOS SHERWOOD LAS VEGAS MONTE CARLO ALGORITMOS PROBABILISTAS NUMÉRICOS SHERWOOD LAS VEGAS MONTE CARLO INTRODUCCIÓN Algoritmo probabilista: Deja al azar la toma de algunas decisiones. Cuando la decisión óptima llevaría mucho tiempo. Problemas

Más detalles

Backtracking: Esquema General

Backtracking: 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 detalles

Estructuras de Datos y Algoritmos

Estructuras de Datos y Algoritmos Estructuras de Datos y Algoritmos Práctico 2: Evaluación de Algoritmos (Finalización: 03/09) Ingeniería en Computación - Ingeniería en Informática Año 2015 Ejercicio 1: Dados los siguientes vectores, correspondientes

Más detalles

Complejidad Computacional

Complejidad Computacional Complejidad Computacional Clasificación de Problemas Teoría de la Complejidad Estudia la manera de clasificar algoritmos como buenos o malos. Estudia la manera de clasificar problemas de acuerdo a la dificultad

Más detalles

Programación Análisis de Algoritmos: Tiempo de Ejecución (Introducción)

Programación Análisis de Algoritmos: Tiempo de Ejecución (Introducción) Programación 2 5 - Análisis de Algoritmos: Tiempo de Ejecución (Introducción) 1 Análisis de Algoritmos: Introducción Qué algoritmos elegir para resolver un problema? Que sean fáciles de entender, codificar

Más detalles

Generadores pseudoaleatorios

Generadores pseudoaleatorios Generadores pseudoaleatorios Elvira Mayordomo Universidad de Zaragoza 30 de noviembre de 2015 Elvira Mayordomo (Universidad de Zaragoza) Generadores pseudoaleatorios 30 de noviembre de 2015 1 / 25 Contenido

Más detalles

Algoritmos Cuánticos

Algoritmos Cuánticos Algoritmos Cuánticos Alfonsa García, Francisco García 1 y Jesús García 1 1 Grupo de investigación en Información y Computación Cuántica (GIICC) Algoritmos cuánticos 1. Introducción 2. Primeros algoritmos

Más detalles

Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013

Ejemplo: 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 detalles

Complejidad Computacional

Complejidad Computacional Complejidad Computacional MLG521 Cristobal Rojas Pamela Alvarez Departamento de Ciencias de de la Ingeniería Departamento de Ingeniería Matemática Universidad Andrés Bello MLG521 Cómo medir la dificultad

Más detalles

Tema 01: Fundamentos del Análisis Asintótico de Algoritmos

Tema 01: Fundamentos del Análisis Asintótico de Algoritmos Tema 01: Fundamentos del Análisis Asintótico de Algoritmos Noviembre, 2003 CS0218: Algoritmos y Programación II Introducción En Ciencias de la Computación se presenta con frecuencia la situación de analizar

Más detalles

CAPITULO 6 MODELO CON TIEMPOS DE FALLA CON DISTRIBUCION DE PROBABILIDAD GENERAL Y FRECUENCIA DE MUESTREO FIJO.

CAPITULO 6 MODELO CON TIEMPOS DE FALLA CON DISTRIBUCION DE PROBABILIDAD GENERAL Y FRECUENCIA DE MUESTREO FIJO. CAPITULO 6 MODELO CON TIEMPOS DE FALLA CON DISTRIBUCION DE PROBABILIDAD GENERAL Y FRECUENCIA DE MUESTREO FIJO. En este capítulo se presenta el modelo con tiempos de falla con distribución Exponencial y

Más detalles

Fundamentos de Programación Entera. A. Revisión. Carlos Testuri Germán Ferrari

Fundamentos de Programación Entera. A. Revisión. Carlos Testuri Germán Ferrari Fundamentos de Programación Entera A. Revisión Carlos Testuri Germán Ferrari Departamento de Investigación Operativa Instituto de Computación Facultad de Ingeniería Universidad de la República 2012-2018

Más detalles

Notación Asintótica. Temas. Introducción Notación O Notación Omega Notación Theta. Análisis de Algoritmos

Notación Asintótica. Temas. Introducción Notación O Notación Omega Notación Theta. Análisis de Algoritmos Notación Asintótica Análisis de Algoritmos Temas Introducción Notación O Notación Omega Notación Theta 1 Introducción Por qué el análisis de algoritmos? Determinar tiempos de respuesta (runtime) Determinar

Más detalles

Tema 5: Problemas de Optimización

Tema 5: Problemas de Optimización Modelos de Informática Teórica - Universidad de Granada Contenido Problemas de Optimización Algoritmos ǫ-aproximados Análisis de problemas: cubrimiento por vértices, viajante de comercio, corte máximo,

Más detalles

EDICIONES ACADÉMICAS

EDICIONES ACADÉMICAS VÍCTOR HERNÁNDEZ R Y EDUARDO RAMOS ILDEFONSO YÁÑEZ PROBABILIDAD Y SUS APLICACIONES EN INGENIERÍA INFORMÁTICA Segunda edición EDICIONES ACADÉMICAS Primera edición: noviembre de 2005 Segunda edición: octubre

Más detalles

INSTITUTO TECNOLÓGICO

INSTITUTO TECNOLÓGICO INSTITUTO TECNOLÓGICO DE NUEVO LAREDO Con la Ciencia por la Humanidad Introducción a la Ingeniería en Sistemas Computacionales y al Diseño de Algoritmos Curso propedéutico Instructor: Bruno López Takeyas

Más detalles

Muchas de las ecuaciones de recurrencia que vamos a usar en este curso tienen la siguiente forma: ( c n =0 T (n) = a T (b n b.

Muchas de las ecuaciones de recurrencia que vamos a usar en este curso tienen la siguiente forma: ( c n =0 T (n) = a T (b n b. El Teorema Maestro Muchas de las ecuaciones de recurrencia que vamos a usar en este curso tienen la siguiente forma: ( c n =0 T (n) = a T (b n b c)+f (n) n 1 donde a, b y c son constantes, y f (n) es una

Más detalles

Resolución Proposicional

Resolución Proposicional Resolución Proposicional IIC2213 IIC2213 Resolución Proposicional 1 / 19 Resolución proposicional Sabemos que Σ = ϕ si y sólo si Σ { ϕ} es inconsistente. Cómo verificamos si Σ { ϕ} es inconsistente? El

Más detalles

Organización del Computador 1 Lógica Digital 1: álgebra de Boole y

Organización del Computador 1 Lógica Digital 1: álgebra de Boole y Introducción Circuitos Bloques Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires

Más detalles

Algoritmos de Ordenación

Algoritmos de Ordenación Algoritmos de Ordenación Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Algoritmos comunes - Ordenación Ordenación o clasificación es

Más detalles

Análisis de Algoritmos

Análisis de Algoritmos Análisis de Algoritmos IIC1253 IIC1253 Análisis de Algoritmos 1 / 36 Complejidad de un algoritmo Un algoritmo A puede ser pensado como una función A : {0,1} {0,1} Qué tan general es esta representación?

Más detalles

Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas

Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas Dr. Marcelo Risk Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 2017 Lógica

Más detalles

INTRODUCCION A LA SIMULACION DE MODELOS. Simulación es la descripción de un sistema a través de modelos que se pueden aplicar a varias disciplinas.

INTRODUCCION A LA SIMULACION DE MODELOS. Simulación es la descripción de un sistema a través de modelos que se pueden aplicar a varias disciplinas. Tema N 1 Definiciones INTRODUCCION A LA SIMULACION DE MODELOS Simulación es la descripción de un sistema a través de modelos que se pueden aplicar a varias disciplinas. La simulación esencialmente es una

Más detalles

PLE: Optimización Combinatoria

PLE: Optimización Combinatoria PLE: Optimización Combinatoria CCIR / Matemáticas euresti@itesm.mx CCIR / Matemáticas () PLE: Optimización Combinatoria euresti@itesm.mx 1 / 14 Introducción Para valorar el poder expresivo de los modelos

Más detalles

Análisis de Algoritmos

Análisis de Algoritmos Análisis de Algoritmos IIC1253 IIC1253 Análisis de Algoritmos 1 / 36 Complejidad de un algoritmo Un algoritmo A puede ser pensado como una función A : {0,1} {0,1} Qué tan general es esta representación?

Más detalles

METODO DE LA BISECCIÓN Si f : a, b es continua con f a f b 0,el procedimiento de la

METODO DE LA BISECCIÓN Si f : a, b es continua con f a f b 0,el procedimiento de la METODO DE LA BISECCIÓN Si f : a, b es continua con f a f b,el procedimiento de la bisección genera una sucesión (s n ) n convergente siendo s n a n b n ytal 2 que si lim s n s se cumple que f s y n s n

Más detalles

simular la evolución de un portafolio de inversión Alejandro Bianchi,CFA

simular la evolución de un portafolio de inversión Alejandro Bianchi,CFA Simulación de Montecarlo La simulación de montecarlo aplicada a un caso de la vida real para simular la evolución de un portafolio de inversión Alejandro Bianchi,CFA abianchi@ahorraronline.com Bullet Points

Más detalles

Cubiertas convexas II

Cubiertas convexas II Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 22 de enero del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Cubiertas convexas II 22 de enero del 2013 1 / 41 1 Cubiertas convexas II Algoritmo QuickHull

Más detalles

Tablas de dispersión

Tablas de dispersión Estructuras de datos Tablas de dispersión Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Tablas de dispersión y conjuntos p. 1 Tablas de dispersión dinámicas Una tabla de dispersión

Más detalles

PROBLEMAS DE OPTIMIZACIÓN

PROBLEMAS DE OPTIMIZACIÓN PROBLEMAS DE OPTIMIZACIÓN ELISA SCHAEFFER Programa de Posgrado en Ingeniería de Sistemas (PISIS) elisa@yalma.fime.uanl.mx INVESTIGACIÓN DE OPERACIONES PROBLEMA DE OPTIMIZACIÓN Dada una situación interesante

Más detalles

Definición de probabilidad

Definición de probabilidad Tema 5: LA DISTRIBUCIÓN NORMAL 1. INTRODUCCIÓN A LA PROBABILIDAD: Definición de probabilidad Repaso de propiedades de conjuntos (Leyes de Morgan) Probabilidad condicionada Teorema de la probabilidad total

Más detalles

Inteligencia Artificial II Unidad Plan 2010-Ingeniería en Sistemas Computacionales

Inteligencia 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 detalles

Programación 2. Lección 8. Caracterización asintótica de la eficiencia de un algoritmo

Programación 2. Lección 8. Caracterización asintótica de la eficiencia de un algoritmo Programación 2 Lección 8. Caracterización asintótica de la eficiencia de un algoritmo 1 1. Funciones de coste de un algoritmo 2. Caracterización asintótica del coste Notación O Consecuencias prácticas

Más detalles

Introducció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

Introducció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 detalles

APROXIMACIÓN NUMÉRICA Y ERRORES

APROXIMACIÓN NUMÉRICA Y ERRORES Análisis numérico APROXIMACIÓN NUMÉRICA Y ERRORES Antecedentes En 1947 se crea en la universidad de California el INSITITUTO DE ANÁLISIS NUMÉRICO. El análisis numérico es la rama de las matemáticas, cuyos

Más detalles

Análisis probabilístico y Algoritmos Aleatorizados

Análisis probabilístico y Algoritmos Aleatorizados Análisis probabilístico y Algoritmos Aleatorizados Andrés Becerra Sandoval Ponticia Universidad Javeriana 14 de julio de 2007 Lenguajes III Introducción La probabilidad puede ayudarnos a medir la complejidad

Más detalles

Distribuciones de Probabilidad

Distribuciones de Probabilidad Distribuciones de Probabilidad Variables Aleatorias Ahora se introducirá el concepto de variable aleatoria y luego se introducirán las distribuciones de probabilidad discretas más comunes en la práctica

Más detalles

Teoría Matemática de la Computación Primer Problemario Prof. Miguel A. Pizaña 7 de junio de 2016

Teoría Matemática de la Computación Primer Problemario Prof. Miguel A. Pizaña 7 de junio de 2016 Teoría Matemática de la Computación Primer Problemario Prof. Miguel A. Pizaña 7 de junio de 2016 1. Dudar de todo, al menos una vez en la vida. 2. Qué es la duda sistemática de Descartes? Qué hay que hacer,

Más detalles

Estructura de datos y de la información Boletín de problemas - Tema 9

Estructura de datos y de la información Boletín de problemas - Tema 9 Estructura de datos y de la información Boletín de problemas - Tema 9 1. Dada la siguiente función recursiva: void F(char c) { if (( A

Más detalles

Tema 4: Modelos probabilísticos

Tema 4: Modelos probabilísticos Tema 4: Modelos probabilísticos 1. Variables aleatorias: a) Concepto. b) Variables discretas y continuas. c) Función de probabilidad (densidad) y función de distribución. d) Media y varianza de una variable

Más detalles

4. Complejidad computacional

4. Complejidad computacional Fundamentos de Programación Entera 4. Complejidad computacional Carlos Testuri Germán Ferrari Departamento de Investigación Operativa Instituto de Computación Facultad de Ingeniería Universidad de la República

Más detalles

Lógica Proposicional: Deducciones formales

Lógica Proposicional: Deducciones formales Lógica Proposicional: Deducciones formales Pablo Barceló P. Barceló Resolución Proposicional - CC52A 1 / 24 La noción de consecuencia lógica La noción de consecuencia es fundamental para cualquier lenguaje,

Más detalles

1/16. Coste de Algoritmos. 8 de abril de 2018

1/16. Coste de Algoritmos. 8 de abril de 2018 1/16 Coste de Algoritmos Josefina Sierra Santibáñez 8 de abril de 2018 2/16 Coste de un Algoritmo Analizar un algoritmo significa, en el contexto de este curso, estimar los recursos que requiere. Aunque

Más detalles

Algorítmica y Lenguajes de Programación. Eficiencia y notación asintótica (i)

Algorítmica y Lenguajes de Programación. Eficiencia y notación asintótica (i) Algorítmica y Lenguajes de Programación Eficiencia y notación asintótica (i) Eficiencia y notación asintótica. Introducción Para resolver un problema pueden existir varios algoritmos. Por tanto, es lógico

Más detalles

Programación Entera. Nelson Devia C. IN Modelamiento y Optimización Departamento de Ingeniería Industrial Universidad de Chile

Programación Entera. Nelson Devia C. IN Modelamiento y Optimización Departamento de Ingeniería Industrial Universidad de Chile IN3701 - Modelamiento y Optimización Departamento de Ingeniería Industrial Universidad de Chile 2011 Basado en Bertsimas, D., Tsitsiklis, J. (1997) Introduction to Linear Optimization Capítulos 10 y 11

Más detalles

Ensayo o prueba: es la realización concreta de un experimento aleatorio.

Ensayo o prueba: es la realización concreta de un experimento aleatorio. Tema 4. Probabilidad Resumen del tema 4.1. Introducción a la Probabilidad Experimento: cualquier proceso que permite asociar a cada individuo de una población un símbolo (numérico o no) entre los símbolos

Más detalles

Algoritmos de Ordenamiento

Algoritmos 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 detalles

Análisis de algoritmos y Notación Asintótica

Análisis de algoritmos y Notación Asintótica Análisis de algoritmos y Notación Asintótica Computación y Algoritmos mat-151 1 Prueba de Turing Piensa una estrategia para, usando una operación aritmética, puedas detectar a la computadora. Supón que

Más detalles

Análisis y Diseño de Algoritmos

Análisis y Diseño de Algoritmos Análisis y Diseño de Algoritmos Teoría NP-Completeness DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Problemas de Decisión Teoría de NP-Completeness Diseñada para aplicarse solo a problemas

Más detalles