Este documento presenta diferentes algoritmos de ordenación como merge sort y quicksort, así como técnicas de programación como dividir para conquistar, voraz y programación dinámica. Explica conceptos como la ley de Amdahl y de Gustafson para el rendimiento en programación paralela. Finalmente, analiza problemas de optimización que se pueden resolver usando programación dinámica.
15. La sucesión de Fibonacci es la sucesión de números que, empezando por la unidad, cada
uno de sus términos es la suma de los dos anteriores (1,1,2,3,5,8,13,…).
La distribución de las hojas alrededor del tallo,
La reproducción de los conejos.
La disposición de las semillas en numerosas flores y frutos
¿Se trata de una simple casualidad, o existe alguna especie de “plan oculto” que vincula las
matemáticas con la naturaleza?
El cociente de dos números consecutivos de la serie se aproxima a la denominada “razón
dorada”, “sección áurea” o “divina proporción”. Este número, descubierto por los
renacentistas
(1+ raíz de 5)/2 = 1.61803…
15
19. Los brazos en espiral de las galaxias también se acomodan según los números
de Fibonacci.
Es sorprendente la relación que existe entre la matemática y la naturaleza.
19
28. Problema: encontrar un algoritmo general que decida si una fórmula
escrita en cálculo de primer orden es un teorema. En 1936, de manera
independiente, Alonzo Church y Alan Turing demostraron ambos que es
imposible escribir tal algoritmo. Como consecuencia, es también
imposible decidir con un algoritmo si ciertas frases concretas de la
aritmética son ciertas o falsas.
https://www.youtube.com/watch?v=M42sJinf3X
8
MIT Lecture:
https://www.youtube.com/watch?v=msp2y_Y5
MLE
https://www.youtube.com/watch?v=9USdYUgw
RpU
28
29. Dado un conjunto X y un elemento a, decidir
si a pertenece a X es un problema que puede
no tener solución en tiempo finito.
--Conjuntos decidibles: se sabe siempre la
respuesta en tiempo finito
--Conjuntos indecidibles: no se sabe si puede
conocerse la respuesta en tiempo finito
29
32. 32
Recurso no utilizado Recurso utilizado
Fracción 1f Fracción f
Recurso no utilizado Recurso utilizado
Toriginal
Tmejorado
Recurso mejorado
k veces
36. 36
1
2
3
4
5
6
7
8
9
10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Utilització millorada (f)
Relació entre A i f,a
k = Infinito
k = 50
k = 10
k = 5
k = 4
k = 3
k = 2
k = 1.5
k =infinito A=2
k=infinito A=5
Utilización mejorada (f)
Aceleraciónglobal(A)
Relación entre A, f y k
48. Merge Sort
-Ordenación por Mezclas
Desarrollado en 1945 por John von Neumann
Pasos:
Caso Base: Si la longitud de la lista es 0 ó 1, entonces ya está ordenada.
Caso General:
1. Dividir la lista desordenada en dos sublistas de aproximadamente la mitad del
tamaño.
2. Llamar recursivamente con cada sublista aplicando el mismo procedimiento
3. Mezclar las dos sublistas en una sola lista ordenada.
48
49. Quick sort
---- Ordenación Rápida
Creado por Tony Hoare en 1961
Caso Base: Si la longitud de la lista es 0 ó 1, entonces ya está ordenada.
Caso General:
1. Seleccionar un pivote (el último elemento) y colocarlo en su sitio
definitivo de forma que los menores queden antes y los mayores
después aunque desordenados.
2. Llamar recursivamente con input la sublista anterior y la
posterior aplicando el mismo procedimiento
3. No hace falta mezclar porque las dos sublistas ya estarán ordenadas
y serán contiguas.
49
51. Algoritmos Voraces
Greedy
• Técnica para resolver algunos problemas de optimización.
• Partes del problema:
– Conjunto de Candidatos
– Etapas
• En cada etapa se escoge el candidato más adecuado.
• El proceso debe conducir a la solución óptima.
• Hay que buscar un criterio de selección de candidatos que
conduzca a la solución óptima.
• Requiere una demostración matemática del paso anterior.
• No siempre existe dicho criterio, en estos casos la
Programación Dinámica puede ser una buena alternativa.
51
57. R. Bellman:
Dynamic Programming,
Princeton University Press, 1957
“Cualquier subsecuencia de decisiones
de una secuencia óptima de decisiones
que resuelve un problema también debe ser
óptima respecto al subproblema que
resuelve.”
57