Taller de Programación Dinámica
|
|
- Enrique Miranda Santos
- hace 5 años
- Vistas:
Transcripción
1 Taller de Programación Dinámica Pablo Haramburu - Cristian Martinez Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 14 de abril de 2014 Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
2 Overview 1 Introducción 2 Template 3 Masaje de neuronas Masaje I: sub-soluciones Masaje II: función recursiva 4 The Rod-Cutting Problem Formalización del problema Estructura de una solución óptima Definición recursiva de una solución Computar valor óptimo a partir de la tabla Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
3 Introducción Qué es Programación Dinámica? La esencia es Resolver problemas combinando soluciones de problemas del mismo tipo pero más chicos (sub-soluciones). Una tabla guarda tales soluciones para no recomputarlas. Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
4 Introducción Soluciones más chicas... Pero por qué no usamos D&C? Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
5 Introducción Soluciones más chicas... Pero por qué no usamos D&C? PD es útil en los casos en los que las sub-soluciones se solapan Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
6 Introducción Soluciones más chicas... Pero por qué no usamos D&C? PD es útil en los casos en los que las sub-soluciones se solapan En este contexto D&C hace trabajo de más, computando una y otra vez la misma sub-solución Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
7 Introducción Soluciones más chicas... Pero por qué no usamos D&C? PD es útil en los casos en los que las sub-soluciones se solapan En este contexto D&C hace trabajo de más, computando una y otra vez la misma sub-solución PD en cambio resuelve cada sub-problema una sola vez y usa memoria adicional para evitar tener que recomputar Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
8 Introducción Soluciones más chicas... Pero por qué no usamos D&C? PD es útil en los casos en los que las sub-soluciones se solapan En este contexto D&C hace trabajo de más, computando una y otra vez la misma sub-solución PD en cambio resuelve cada sub-problema una sola vez y usa memoria adicional para evitar tener que recomputar Es un ejemplo de trade-off entre memoria y tiempo de procesamiento. Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
9 Template Cómo resuelvo un problema con PD? Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
10 Template Cómo resuelvo un problema con PD? Paso a paso! Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
11 Template Cómo resuelvo un problema con PD? Paso a paso! 1 Formalizar el problema Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
12 Template Cómo resuelvo un problema con PD? Paso a paso! 1 Formalizar el problema 2 Caracterizar la estructura de una solución óptima (optimal substructure) Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
13 Template Cómo resuelvo un problema con PD? Paso a paso! 1 Formalizar el problema 2 Caracterizar la estructura de una solución óptima (optimal substructure) 3 Definir recursivamente el valor de una solución óptima Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
14 Template Cómo resuelvo un problema con PD? Paso a paso! 1 Formalizar el problema 2 Caracterizar la estructura de una solución óptima (optimal substructure) 3 Definir recursivamente el valor de una solución óptima 4 Computar el valor de una solución óptima de abajo hacia arriba Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
15 Template Cómo resuelvo un problema con PD? Paso a paso! 1 Formalizar el problema 2 Caracterizar la estructura de una solución óptima (optimal substructure) 3 Definir recursivamente el valor de una solución óptima 4 Computar el valor de una solución óptima de abajo hacia arriba 5 (opcional) (Re)construir una solución óptima a partir del cómputo anterior Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
16 Intro Masaje de neuronas Masaje I: sub-soluciones Identificar estructura de sub-soluciones es la parte más difícil de PD. Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
17 Intro Masaje de neuronas Masaje I: sub-soluciones Identificar estructura de sub-soluciones es la parte más difícil de PD. Para entrar en calor y favorecer elongación y flexibilidad: Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
18 Intro Masaje de neuronas Masaje I: sub-soluciones Identificar estructura de sub-soluciones es la parte más difícil de PD. Para entrar en calor y favorecer elongación y flexibilidad: Problema Ordenar un array de enteros en orden creciente, in-place. Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
19 Masaje de neuronas Trabajando... (completar la tabla) Masaje I: sub-soluciones Algoritmo Cómo divide procesa combina quicksort mergesort insertion s. selection s. heapsort Cuadro: Estrategias de división y combinación Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
20 Resultado (posible) Masaje de neuronas Masaje I: sub-soluciones Algoritmo Cómo divide procesa combina quicksort menores, pivot, mayores ordena (nada) mergesort mitad, mitad ordena merge insertion s. prefijo ordenado, resto toma resto.front inserta selection s. menores ordenados, resto busca min(resto) anexa heapsort menores ordenados, resto toma min(resto) anexa Cuadro: Estrategias de división y combinación Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
21 Intro Masaje de neuronas Masaje II: función recursiva En PD aparecen funciones recursivas. Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
22 Intro Masaje de neuronas Masaje II: función recursiva En PD aparecen funciones recursivas. Un par de problemitas para refrescar ideas y entrar en calor (?). Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
23 Masaje de neuronas Masaje II: función recursiva Problema 1 Problema 1 Dados n y k, calcular ( n k). Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
24 Problema 1 (ayudas) Masaje de neuronas Masaje II: función recursiva ( ) n := k n! k!(n k)! si 0 k n... Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
25 Problema 1 (ayudas) Masaje de neuronas Masaje II: función recursiva ( ) n n! := k ( ) n + 1 k + 1 k!(n k)! = si 0 k n... ( ) n n + 1 k k + 1 Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
26 Problema 1 (ayudas) Masaje de neuronas Masaje II: función recursiva ( ) n n! := k k!(n k)! ( ) n + 1 = k + 1 ( ) n + 1 k + 1 = ( n k ( n k si 0 k n... ) n + 1 k + 1 ) + ( n k + 1 ) Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
27 Masaje de neuronas Masaje II: función recursiva Problema 1b Problema 1b Dados n, k y m, calcular ( n k) mód m. Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
28 Problema 2 Masaje de neuronas Masaje II: función recursiva Problema 2 De cuántas formas se puede cubrir un tablero de k n con dominós boca abajo? Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
29 Tips Masaje de neuronas Masaje II: función recursiva Para tener en cuenta: Aprovechamos solapamiento. Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
30 Masaje de neuronas Masaje II: función recursiva Tips Para tener en cuenta: Aprovechamos solapamiento. Tener un poco de cuidado con (y no olvidarse de) los casos base. Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
31 Masaje de neuronas Masaje II: función recursiva Tips Para tener en cuenta: Aprovechamos solapamiento. Tener un poco de cuidado con (y no olvidarse de) los casos base. Buscar un esquema para calcular bottom-up. Por filas, columnas, diagonales, cuadrantes... Prefijos, sufijos, subcadenas, hacia adelante... Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
32 Masaje de neuronas Masaje II: función recursiva Tips Para tener en cuenta: Aprovechamos solapamiento. Tener un poco de cuidado con (y no olvidarse de) los casos base. Buscar un esquema para calcular bottom-up. Por filas, columnas, diagonales, cuadrantes... Prefijos, sufijos, subcadenas, hacia adelante... Para el parcial: recuerden demostrar que calculan cada celda de la tabla antes de usarla (y no después ;-) ). Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
33 The Rod-Cutting Problem The rod-cutting problem Enunciado Dada una varilla de cierta longitud (entera) y una tabla de precios para cada posible tamaño de corte, determinar la ganancia máxima que se puede obtener al cortar la varilla y vender las piezas. (Notar que una solución óptima podría no realizar ningún corte). Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
34 The Rod-Cutting Problem Paso 1: Formalizar el problema Formalización del problema Empecemos por extraer del enunciado la definición formal del problema: Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
35 The Rod-Cutting Problem Formalización del problema Paso 1: Formalizar el problema Empecemos por extraer del enunciado la definición formal del problema: Input longitud de la varilla: n N precio de los cortes: p i con i = 1,..., n Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
36 The Rod-Cutting Problem Formalización del problema Paso 1: Formalizar el problema Empecemos por extraer del enunciado la definición formal del problema: Input longitud de la varilla: n N precio de los cortes: p i con i = 1,..., n Output cortes: n = v 1 + v 2 + v v k ganancia: g p,n = p v1 + p v2 + p v3 + + p vk Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
37 The Rod-Cutting Problem Estructura de una solución óptima Paso 2: Estructura de una solución óptima Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
38 The Rod-Cutting Problem Estructura de una solución óptima Paso 2: Estructura de una solución óptima Si una solución óptima corta la varilla en k piezas, entonces obtenemos la descomposición: v 1, v 2, v 3,..., v k cuya ganancia es: g p,n = p v1 + p v2 + p v3 + + p vk Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
39 The Rod-Cutting Problem Estructura de una solución óptima Paso 2: Estructura de una solución óptima Si una solución óptima corta la varilla en k piezas, entonces obtenemos la descomposición: v 1, v 2, v 3,..., v k cuya ganancia es: g p,n = p v1 + p v2 + p v3 + + p vk Cuáles son las sub-soluciones?! Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
40 The Rod-Cutting Problem Estructura de una solución óptima Paso 2: Estructura de una solución óptima Si una solución óptima corta la varilla en k piezas, entonces obtenemos la descomposición: v 1, v 2, v 3,..., v k cuya ganancia es: g p,n = p v1 + p v2 + p v3 + + p vk Cuáles son las sub-soluciones?! Es posible que una sub-solución no sea óptima? Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
41 The Rod-Cutting Problem Paso 3: Función recursiva Definición recursiva de una solución Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
42 The Rod-Cutting Problem Paso 3: Función recursiva Definición recursiva de una solución En el paso anterior verificamos que el problema cumple el principio de optimalidad: una solución óptima está compuesta de sub-soluciones óptimas. Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
43 The Rod-Cutting Problem Paso 3: Función recursiva Definición recursiva de una solución En el paso anterior verificamos que el problema cumple el principio de optimalidad: una solución óptima está compuesta de sub-soluciones óptimas. Ahora, la supuesta función recursiva, cómo encuentra una solución óptima a partir de sub-soluciones óptimas?? Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
44 The Rod-Cutting Problem Paso 3: Función recursiva Definición recursiva de una solución En el paso anterior verificamos que el problema cumple el principio de optimalidad: una solución óptima está compuesta de sub-soluciones óptimas. Ahora, la supuesta función recursiva, cómo encuentra una solución óptima a partir de sub-soluciones óptimas?? busca la solución óptima! Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
45 The Rod-Cutting Problem El que busca encuentra Definición recursiva de una solución Cualquiera de las siguientes funciones recursivas construyen una solución óptima a partir de sub-soluciones óptimas. Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
46 The Rod-Cutting Problem El que busca encuentra Definición recursiva de una solución Cualquiera de las siguientes funciones recursivas construyen una solución óptima a partir de sub-soluciones óptimas. versión 1 { 0 if n = 0 f n = max(p n, f 1 + f n 1, f 2 + f n 2,..., f n 1 + f 1 ) if n 0. Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
47 The Rod-Cutting Problem El que busca encuentra Definición recursiva de una solución Cualquiera de las siguientes funciones recursivas construyen una solución óptima a partir de sub-soluciones óptimas. versión 1 { 0 if n = 0 f n = max(p n, f 1 + f n 1, f 2 + f n 2,..., f n 1 + f 1 ) if n 0. versión 2 (más simple) { 0 if n = 0 f n = max(p 1 + f n 1, p 2 + f n 2,..., p n + f 0 ) if n 0. Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
48 The Rod-Cutting Problem Definición recursiva de una solución Solución - Pseudocódigo CUT-ROD(p, n) 1 if n == 0 2 return 0 3 q = 4 for i = 1 to n 5 q = max(q, p[i] + COT-ROD(p, n i)) 6 return q Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
49 The Rod-Cutting Problem Se nos está escapando algo? Definición recursiva de una solución Que complejidad tiene ese algoritmo? 1 T (0) = 1 2 T (n) = 1 + n 1 j=0 T (j) Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
50 The Rod-Cutting Problem Se nos está escapando algo? Definición recursiva de una solución Que complejidad tiene ese algoritmo? 1 T (0) = 1 2 T (n) = 1 + n 1 j=0 T (j) T (0) = 1 Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
51 The Rod-Cutting Problem Se nos está escapando algo? Definición recursiva de una solución Que complejidad tiene ese algoritmo? 1 T (0) = 1 2 T (n) = 1 + n 1 j=0 T (j) T (0) = 1 T (1) = j=0 T (j) = 1 + T (0) = 2 Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
52 The Rod-Cutting Problem Se nos está escapando algo? Definición recursiva de una solución Que complejidad tiene ese algoritmo? 1 T (0) = 1 2 T (n) = 1 + n 1 j=0 T (j) T (0) = 1 T (1) = j=0 T (j) = 1 + T (0) = 2 T (2) = j=0 T (j) = 1 + T (0) + T (1) = = 4 Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
53 The Rod-Cutting Problem Se nos está escapando algo? Definición recursiva de una solución Que complejidad tiene ese algoritmo? 1 T (0) = 1 2 T (n) = 1 + n 1 j=0 T (j) T (0) = 1 T (1) = j=0 T (j) = 1 + T (0) = 2 T (2) = j=0 T (j) = 1 + T (0) + T (1) = = 4 T (3) = j=0 T (j) = 1 + T (0) + T (1) + T (2) = = 8... Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
54 The Rod-Cutting Problem Se nos está escapando algo? Definición recursiva de una solución Que complejidad tiene ese algoritmo? 1 T (0) = 1 2 T (n) = 1 + n 1 j=0 T (j) T (0) = 1 T (1) = j=0 T (j) = 1 + T (0) = 2 T (2) = j=0 T (j) = 1 + T (0) + T (1) = = 4 T (3) = j=0 T (j) = 1 + T (0) + T (1) + T (2) = = 8... Podemos probar fácilmente por inducción que la complejidad es Θ(2 n ) Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
55 Hay tabla! The Rod-Cutting Problem Definición recursiva de una solución Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
56 Hay tabla! The Rod-Cutting Problem Definición recursiva de una solución Por supuesto, si vamos a implementar una solución con PD no debemos olvidar almacenar las sub-soluciones en una tabla! Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
57 Paso 4: Bottom-up The Rod-Cutting Problem Computar valor óptimo a partir de la tabla Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
58 Paso 4: Bottom-up The Rod-Cutting Problem Computar valor óptimo a partir de la tabla Manos a la obra! Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
59 Bibliografía The Rod-Cutting Problem Computar valor óptimo a partir de la tabla Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein (2009) Introduction to Algorithms, Third Edition. Gilles Brassard, Paul Bratley (1995) Fundamentals of Algorithmics. Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
60 The Rod-Cutting Problem Computar valor óptimo a partir de la tabla Fin Pablo Haramburu - Cristian Martinez (UBA) Programación Dinámica 14 de abril de / 25
Programación Dinámica
Programación Dinámica Agustín Santiago Gutiérrez Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Septiembre 2014 Agustín Gutiérrez (UBA) Programación Dinámica Septiembre 2014 1 / 10
Más detallesProgramación dinámica
Algoritmos y Estructura de Datos III Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires 03 de Abril de 2013 Repaso Aplica a problemas de optimización donde obtenemos una solución utilizando
Más detallesResolviendo Recurrencias
Resolviendo Recurrencias Mauro Jaskelioff 16/03/2015 Análisis de Algoritmos Queremos poder evaluar la performance de algoritmos. Para esto utilizamos Notación Asintótica Modelo de Costo basado en Lenguaje
Más detallesProgramación dinámica: un último ejemplo
Programación dinámica: un último ejemplo Dado: matrices A m n, B n r, C r s de números enteros Para calcular A m n B n r el algoritmo usual realiza m n r multiplicaciones de números enteros Cuántas multiplicaciones
Más detallesTaller de Programación Dinámica. Definiciones. Caso base. Laboratorio de Algoritmos y Estructuras de Datos III. 10 de Septiembre de 2010
Menú del día Taller de 1 Definiciones Laboratorio de Algoritmos y Estructuras de Datos III Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 10 de Septiembre
Más detallesCOMPUTABILIDAD Y COMPLEJIDAD
COMPUTABILIDAD Y COMPLEJIDAD Año 2017 Carrera: Licenciatura en Informática Plan 2007-2012-2015 Año: 3 Duración: Semestral Profesor: Fernando G. Tinetti FUNDAMENTACION: Se presentan las ideas básicas de
Más detallesCOMPUTABILIDAD Y COMPLEJIDAD
COMPUTABILIDAD Y COMPLEJIDAD Año 2015 Carrera: Licenciatura en Informática Plan 2003/07-2012-2015 Año: 3 Duración: Semestral Profesor: Fernando G. Tinetti FUNDAMENTACION: Se presentan las ideas básicas
Más detallesProgramación Dinámica 1
Programación Dinámica 1 El método de programación dinámica sirve para resolver problemas combinando las soluciones de subproblemas. Normalmente es usada para resolver problemas de optimización. Al construir
Más detallesLenguajes III Análisis y Diseño de Algoritmos
Lenguajes III Análisis y Diseño de Algoritmos Andrés Becerra Sandoval Código: CC060 Créditos: 3 Prerequisitos: Desarrollo Formal de programas Naturaleza del Curso El curso argumenta la necesidad de considerar
Más detallesParte de Algoritmos de la asignatura de Programación Master de Bioinformática. Divide y vencerás
Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Divide y vencerás Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias preparadas
Más detallesAlgoritmos y Complejidad
Algoritmos y Complejidad Curso 2017 Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Primer Cuatrimestre 2017 Resumen Objetivos Cronograma Cursado Recursos
Más detallesProgramación Dinámica
, Algoritmos y Programación 6 de Abril de 2010 Alejandro Deymonnaz Definiciones Divide and Conquer Deiniciones previas Problema recursivo Un problema recursivo es un problema que se puede resolver en base
Más detallesEstructura 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 detallesOrdenamiento (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 detallesACTIVIDAD CURRICULAR DE FORMACIÓN
ACTIVIDAD CURRICULAR DE FORMACIÓN Facultad o Instituto : Ciencias de la Ingeniería Carrera : Ingeniería Civil Informática I. IDENTIFICACIÓN DE LA ACTIVIDAD CURRICULAR Nombre : Diseño y Análisis de Algoritmos
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 detallesMultiplicación de matrices simétricas
Multiplicación de matrices simétricas La traspuesta de una matriz A n n es definida como una matriz A T n n tal que A T [i, j] =A[j, i] paracadai, j 2{1,...,n} Además, una matriz A es simétrica si A =
Más detallesOrdenamiento - Sorting - Sortin
Ordenamiento - Sorting - Sortin Christian Russo Departamento de Computación, Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires 13 de Mayo de 2016 Algunas aclaraciones Este tipo de ejercicios
Más detallesDOCTORADO EN INGENIERÍA DEL LENGUAJE Y DEL CONOCIMIENTO. Área: Ingeniería del Lenguaje y del Conocimiento
DOCTORADO EN INGENIERÍA DEL LENGUAJE Y DEL CONOCIMIENTO Área: Ingeniería del Lenguaje y del Conocimiento Programa de Asignatura: Introducción al Diseño de Algoritmos y sus Aplicaciones Código: DILC10200
Más detallesEstructuras de Datos y Algoritmos. Curso 2009/2010. Tema 3: Divide y Vencerás
Estructuras de Datos y Algoritmos Facultad de Informática Universidad Politécnica de Valencia Curso 2009/2010 Tema 3: Divide y Vencerás FI UPV: Curso 2009/2010 TEMA 3. Divide y Vencerás Objetivos Estudio
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 detallesProgramación II Práctica 03: Recursividad Versión del 10/08/2016
Programación II Práctica 03: Recursividad Versión del 10/08/2016 Como vimos en clase un algoritmo recursivo es un algoritmo que expresa la solución de un problema en términos de una llamada a sí mismo.
Más detallesTema 9. Recursividad
Tema 9. Recursividad http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la información Universitat
Más detallesGeometría. Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires. Training Camp 2012
Geometría Leopoldo Taravilse Francisco Roslán Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Training Camp 2012 Leopoldo Taravilse, Francisco Roslán (UBA) Geometría TC 2012 1 / 30
Más detallesProgramación Dinámica
Programación Dinámica Adaptado de Algorithm Design Goodrich and Tamassia Programación Dinámica 1 Calculando la serie de Fibonacci 1,1,2,3,5,8,13,21,. fib(n) = 1 si n = 0,1 fib(n 1) + fib(n 2) o.c. Programación
Más detallesAlgoritmos y Estructuras de Datos Curso 06/07. Ejercicios
6.1.(Clase) Un programa que utiliza la técnica divide y vencerás, divide un problema de tamaño n en a subproblemas de tamaño n/b. El tiempo g(n) de la resolución directa (caso base) se considerará constante.
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 detallesMSC. Oscar Alberto Chávez Bosquez LIA. Ericsson Saldívar Correa Robles. Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización:
PROGRAMA DE ESTUDIO Algoritmos avanzados Universidad Juárez Autónoma de Tabasco Programa Educativo: Licenciatura en Informática Administrativa Área de Formación : Integral Profesional Horas teóricas: 2
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 detallesEstructura de Datos Árboles Árboles 2-3
Estructura de Datos Árboles 1-2-3 Árboles 2-3 Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 2010 1 Arboles 1-2-3 Árbol n-ario ordenado de orden 3 Cada nodo tiene 1 ó 2 elementos 75 Nodo
Más detallesTEMA 1: DIVIDE Y VENCERÁS
TEMA 1: DIVIDE Y VENCERÁS l OBJETIVOS: n Estudio de la estrategia de diseño de algoritmos (recursivos) Divide y Vencerás n Estudio de los algoritmos de Ordenación Rápida: MergeSort y QuickSort n Estudio
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 detallesAlgoritmos para strings. Bioinformática Elvira Mayordomo
Algoritmos para strings Bioinformática 12-2-16 Elvira Mayordomo Hoy Notación básica para strings El problema de string matching: String matching automata Boyer-Moore Árboles de sufijos (con otras aplicaciones)
Más detallesGuía práctica de estudio 07. Estructuras de datos lineales: Lista simple y lista circular.
Guía práctica de estudio 07. Estructuras de datos lineales: Lista simple y lista circular. Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez
Más detallesAnálisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Ordenamiento en Tiempo Lineal DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Ordenamiento por Comparación (Comparison Sorts) Tiempo de ejecución HeapSort y
Más detallesAlgoritmos 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 detallesPlanificaciones Algoritmos y Programación II. Docente responsable: JUAREZ ANDRES ALBERTO. 1 de 9
Planificaciones 7541 - Algoritmos y Programación II Docente responsable: JUAREZ ANDRES ALBERTO 1 9 OBJETIVOS Introducir los conceptos POO, diseño algoritmos y estructuras datos, utilizando nociones eficiencia
Más detallesIN34A - 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 detallesUNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA
UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA COORDINACIÓN DE FORMACIÓN BÁSICA COORDINACIÓN DE FORMACIÓN PROFESINAL Y VINCULACIÓN UNIVERSITARIA PROGRAMA DE UNIDADES DE APRENDIZAJE POR COMPETENCIAS I. DATOS DE
Más detallesProgramación Dinámica
Leopoldo Taravilse Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Training Camp 2012 Leopoldo Taravilse (UBA) TC 2012 1 / 34 Contenidos 1 Recursión Principio de Optimalidad Ejemplos
Más detallesAnálisis y Diseño de Algoritmos (AyDA) Isabel Besembel Carrera
Análisis y Diseño de Algoritmos (AyDA) Isabel Besembel Carrera RECURSIÓN La recursión es una técnica fundamental en el diseño de algoritmos, que está basada en la solución de versiones más pequeñas del
Más detallesTeoría de Algoritmos 2 o curso de Ingeniería Informática
Teoría de Algoritmos 2 o curso de Ingeniería Informática José Luis Verdegay Departamento de Ciencias de la Computación e Inteligencia Artificial http://decsai.ugr.es/ verdegay Horarios y duración de la
Más detallesAná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 detallesAná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 detallesTema: Programación Dinámica.
Programación IV. Guía No. 12 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 detallesAnálisis de algoritmos
Tema 09: Programación dinámica M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Introducción Programación dinámica Enfoques de
Más detallesPrograma de teoría. Algoritmos y Estructuras de Datos II. 2. Divide y vencerás. 1. Análisis de algoritmos
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 detallesEsquema 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 detallesProgramación dinámica
Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Programación dinámica Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias preparadas
Más detalles259. El número de combinaciones de m objetos entre un conjunto de n, denotado por n, para n 1 y 0 m n, se puede definir recursivamente por: m
258. Aplicar el algoritmo de programación dinámica para el problema del cambio de monedas sobre el siguiente ejemplo: n = 3, P = 9, c = (1, 3, 4). Qué ocurre si multiplicamos P y c por un valor constante,
Más detallesRecurrencias y cómo resolverlas
Recurrencias y cómo resolverlas Algoritmos y Estructuras de Datos II Departamento de Computación, Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires 8 de septiembre de 2017 Algo2 (DC-FCEyN-UBA)
Más detallesPractica 04: Soluciones Recursivas
M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Problema Descripción Observaciones
Más detallesBenemérita Universidad Autónoma de Puebla Vicerrectoría de Docencia Dirección General de Educación Superior Facultad de Ciencias de la Computación.
PLAN DE ESTUDIOS (PE): Licenciatura en Ciencias de la Computación Ingeniería en Ciencias de la Computación ÁREA: Integración Disciplinaria ASIGNATURA: Análisis y Diseño de Algoritmos CÓDIGO: IDCO-202 CRÉDITOS:
Más detallesUNIVERSIDAD NACIONAL AUTÓNOMA LICENCIADO EN CIENCIAS DE LA COMPUTACIÓN
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO LICENCIADO EN CIENCIAS DE LA COMPUTACIÓN Programa de la asignatura: Estructuras de Datos Clave: Semestre: Campo de conocimiento: Área de formación: * 2 Ciencias
Más detallesOrganización y Gestión de Archivos
Organización y Gestión de Archivos Año académico: 2009-10 Estudios: Curso: 2 o Carácter: TRONCAL Descriptores: Profesor responsable: Area: Departamento: Centro: Escuela Politécnica Superior INGENIERÍA
Más detallesAlgoritmos 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 detallesAlgoritmo de Euclides
Algoritmo de Euclides Melanie Sclar Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires AED III Melanie Sclar (UBA) Algoritmo de Euclides AED III 1 / 21 Ejercicio 2.8 de la práctica Ejercicio
Más detallesIntroducción a las Ciencias de la Computación
Introducción a las Ciencias de la Computación Colaboratorio de Computación Avanzada (CNCA) 2015 1 / 22 Contenidos 1 Computación e Informática Caracterización Áreas relacionadas 2 Antecedentes Orígenes
Más detallesProgramación II. Mario Aldea Rivas Programación II 13/04/11 1. Mario Aldea Rivas Programación II 13/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 4. Introducción a los Algoritmos Tema 5. Algoritmos
Más detallesPráctica 2 - Ejercicio 2.8
Algoritmos y Estructura de Datos III Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires 27 de Marzo de 2013 2.8 - Euclides 2.8. a. Escribir el algoritmo de Euclides para calcular el
Más detallesProgramación recursiva en Prolog
Programación recursiva en Prolog Curso 2002/03, Fecha:14/12/2002 Enunciado 1 (naturales) El siguiente predicado define la suma de números naturales representados mediante la constante 0 y la función siguiente
Más detallesProgramación II. Mario Aldea Rivas Programación II 05/05/11 1
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 4. Introducción a los Algoritmos Tema 5. Algoritmos
Más detallesAlgoritmos Iterativos de Búsqueda y Ordenación y sus tiempos
Estructura de Datos y Algoritmos Algoritmos Iterativos de Búsqueda y Ordenación y sus tiempos 1. Algorimos de ordenación Discutiremos el problema de ordenar un array de elementos. A los efectos de simplificar
Más detallesGuía práctica de estudio 3
Guía práctica de estudio 3 Algoritmos de ordenamiento parte 3 Elaborado por: Revisión: Ing. Laura Sandoval Montaño Facultad de Ingeniería U.N.A.M. Guía práctica de estudio 3 Estructura de datos y Algoritmos
Más detallesAnálisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Introducción: El Rol de los Algoritmos en Computación DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Temario 2 1. Introducción 2. Notación Asintótica 3. Recurrencias
Más 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 detallesAná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 detallesUNIVERSIDAD TECNOLOGICA DE PEREIRA FACULTAD DE INGENIERIAS
Asignatura Código Estructura de Datos IS34 Créditos 4 Intensidad semanal Requisitos 6 Horas IS284 Justificación Objetivo general Objetivos Específicos El propósito es la continuación del estudio de los
Más detallesProgramación II Práctica 02a: Tipos Abstractos de Datos (TAD) Básicos
Introducción Programación II Práctica 02a: Tipos Abstractos de Datos (TAD) Básicos Versión del 01/08/2015 En las clases teóricas se estudiaron las ventajas que tienen los TADs. A continuación las repasamos:
Más detallesIntroducción a los Algoritmos
Introducción a los Algoritmos Andrés Becerra Sandoval 30 de julio de 2007 Resumen Haremos una introducción a los principales temas de todo el curso de una forma panorámica, es decir, sin hacer énfasis
Más detallesProgramación Dinámica
Programación Dinámica Es aplicada típicamente a problemas de optimización, donde puede haber muchas soluciones, cada una tiene un valor asociado y prentendemos obtener la solución con valor óptimo. Al
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 detallesANÁLISIS Y DISEÑO DE ALGORITMOS. PRACTICAS
ANÁLISIS Y DISEÑO DE ALGORITMOS. PRACTICAS 2004-2005 PRACTICA 1: MEDICIÓN DEL TIEMPO. ALGORITMOS DE ORDENACIÓN Crear un conjunto de funciones que permitan la medición del tiempo de ejecución de los programas,
Más detallesAnálisis de algoritmos
Tema 02: Complejidad de los algoritmos M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Algoritmo Algoritmo vs. Proceso Computacional
Más detallesSolución - práctico 10
Solución - práctico 10 Complejidad Ejercicio 1 a) Una implementación del algoritmo es la siguiente: /* Procedimiento que se encarga de realizar la unión de los dos conjuntos * ordenados der1 e izq1 son
Más detallesPlanificaciones Teoría de Algoritmos I. Docente responsable: BARRIOS FEDERICO LUIS. 1 de 5
Planificaciones 7529 - Teoría de Algoritmos I Docente responsable: BARRIOS FEDERICO LUIS 1 de 5 OBJETIVOS Que el alumno - adquiera las herramientas teóricas y prácticas para la evaluación del costo temporal
Más detallesAnálisis de algoritmos
Tema 08: Divide y vencerás (DyV) M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Introducción Divide y vencerás Observaciones
Más detallesTema 3. Análisis de costes
Tema 3. Análisis de costes http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la información
Más detallesProgramación Dinámica
Programación Dinámica La técnica de programación dinámica se aplica en general a problemas de optimización. l igual que "dividir y conquistar", el problema es dividido en subproblemas de tamaños menores
Más detallesIntroducción al Análisis y Diseño de Algoritmos
Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 10 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Introducción al ADA 10 de enero de 2018 1 / 22 1 Introducción al Análisis y Diseño de Algoritmos
Más detallesGuía práctica de estudio 08: Estructuras de datos lineales: Lista doblemente ligada y doblemente ligada circular.
Guía práctica de estudio 08: Estructuras de datos lineales: Lista doblemente ligada y doblemente ligada circular. Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Autorizado por: M.C.
Más detallesPlanificaciones Teoría de Algoritmos I. Docente responsable: WACHENCHAUZER ROSA GRACIELA. 1 de 5
Planificaciones 7529 - Teoría de Algoritmos I Docente responsable: WACHENCHAUZER ROSA GRACIELA 1 de 5 OBJETIVOS Que el alumno - adquiera las herramientas teóricas y prácticas para la evaluación del costo
Más detallesGuía práctica de estudio 4 Algoritmos de búsqueda parte 1
Guía práctica de estudio 4 Algoritmos de búsqueda parte 1 Elaborado por: Revisión: Ing. Laura Sandoval Montaño Facultad de Ingeniería U.N.A.M. Guía Práctica 4 Estructura de datos y Algoritmos II Algoritmos
Más detallesAnálisis de Algoritmos
Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Análisis de Algoritmos Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias
Más detallesPROGRAMA DE ASIGNATURA
PROGRAMA DE ASIGNATURA ASIGNATURA: Algoritmos y Estructuras de Datos II AÑO: 2012 CARÁCTER: Obligatoria CARRERA: Licenciatura en Ciencias de la Computación RÉGIMEN: cuatrimestral CARGA HORARIA: 120 hs.
Más detallesSorting++ Herman Schinca. Clase 21. 10 de Junio de 2011
Sorting++ Herman Schinca Clase 21 10 de Junio de 2011 Recordando Ya vimos 3 algoritmos de ordenamiento basados en la comparación entre elementos: Selection, Insertion y Bubble. Los 3 en peor caso (cuando
Más detallesPROGRAMA de Introducción a la Programación
PROGRAMA Introducción a la Programación Carrera/s: Tecnicatura Universitaria en Programación Informática / Licenciatura en Informática Asignatura: Introducción a la Programación Núcleo al que pertenece:
Más detallesExamen de Estructuras de Datos y Algoritmos. (Modelo 2)
Examen de Estructuras de Datos y Algoritmos (Modelo 2) 17 de junio de 2009 1. Se dispone de una tabla hash de tamaño 12 con direccionamiento abierto y sondeo cuadrático. Utilizando como función hash la
Más detallesExamen de Estructuras de Datos y Algoritmos. (Modelo 1)
Examen de Estructuras de Datos y Algoritmos (Modelo 1) 17 de junio de 2009 1. Qué rotación se necesita para transformar el árbol de la figura en un árbol AVL? a) Rotación simple izquierda-izquierda b)
Más detallesDivide-y-vencerás, backtracking y programación dinámica
Divide-y-vencerás, backtracking y programación dinámica Diseño y Análisis de Algoritmos Cátedra de Programación Carrera de Ingeniería de Sistemas Prof. Isabel Besembel Carrera Noviembre, 2012 Prof. Isabel
Más detallesApuntes de Teórico PROGRAMACIÓN 3
Apuntes de Teórico PROGRAACIÓN Programación Dinámica Versión. Índice Índice... Introducción... Principio de optimalidad...5 Ejemplo: Camino de menor costo...6 Ejemplo: problema de la mochila...6 Aplicación
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 detallesEstructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010
Estructura de Datos Árboles Binarios de Búsqueda ABB Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 20 1 Arboles de Búsqueda Binaria El árbol binario de búsqueda (ABB) toma su nombre del
Más detallesDemostrando cotas inferiores: Arboles de decisión
Demostrando cotas inferiores: Arboles de decisión De la misma forma que la técnica basada en la mejor estrategia del adversario, vamos a utilizar los árboles de decisión para establecer una cota inferior
Más detallesSOLUCIONES COMENTADAS
Departamento de Matemática Aplicada Curso 14-15 Facultad de Informática, UPM Matemática Discreta I (MI) Control 1 21-10-14 SOLUCIONES COMENTADAS Ejercicio 1. (1 punto) Se trazan 18 segmentos en el plano
Más detalles