G te c sesion4b-complejidad y tpa

68
Victoria López @victoriademates www.tecnologiaUCM.es Universidad Complutense de Madrid 4b 1

Transcript of G te c sesion4b-complejidad y tpa

Page 1: G te c sesion4b-complejidad y tpa

Victoria López

@victoriademates

www.tecnologiaUCM.es

Universidad Complutense de Madrid

4b1

Page 2: G te c sesion4b-complejidad y tpa

2

4b

Page 3: G te c sesion4b-complejidad y tpa

3

4b

Page 4: G te c sesion4b-complejidad y tpa

4

Page 5: G te c sesion4b-complejidad y tpa

5

Page 6: G te c sesion4b-complejidad y tpa

6

Page 7: G te c sesion4b-complejidad y tpa

7

Page 8: G te c sesion4b-complejidad y tpa

8

Page 9: G te c sesion4b-complejidad y tpa

9

Page 10: G te c sesion4b-complejidad y tpa

10

Page 11: G te c sesion4b-complejidad y tpa

11

Page 12: G te c sesion4b-complejidad y tpa

Ejemplo iterativo

12

Page 13: G te c sesion4b-complejidad y tpa

13

Page 14: G te c sesion4b-complejidad y tpa

Resolviendo por recurrencias se obtiene 4n+2, complejidad lineal

14

Page 15: G te c sesion4b-complejidad y tpa

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

Page 16: G te c sesion4b-complejidad y tpa

16

Page 17: G te c sesion4b-complejidad y tpa

17

Page 19: G te c sesion4b-complejidad y tpa

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

Page 20: G te c sesion4b-complejidad y tpa

20

Page 21: G te c sesion4b-complejidad y tpa

21

Page 22: G te c sesion4b-complejidad y tpa

Complejidad O(n)

22

Page 23: G te c sesion4b-complejidad y tpa

Complejidad O(logn)

23

Page 24: G te c sesion4b-complejidad y tpa

24

Page 25: G te c sesion4b-complejidad y tpa

25

Page 26: G te c sesion4b-complejidad y tpa

26

Page 27: G te c sesion4b-complejidad y tpa

27

Page 28: G te c sesion4b-complejidad y tpa

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=M42sJinf3X8

MIT Lecture: https://www.youtube.com/watch?v=msp2y_Y5MLE

https://www.youtube.com/watch?v=9USdYUgwRpU

28

Page 29: G te c sesion4b-complejidad y tpa

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

Page 30: G te c sesion4b-complejidad y tpa

Rendimiento en ProgramaciónParalela

La ley de AmdahlLa ley de GustafsonEjemplos de aplicación

30

Page 31: G te c sesion4b-complejidad y tpa

31

Page 32: G te c sesion4b-complejidad y tpa

32

Recurso no utilizado Recurso utilizado

Fracción 1f Fracción f

Recurso no utilizado Recurso utilizado

Toriginal

Tmejorado

Recurso mejorado k veces

Page 33: G te c sesion4b-complejidad y tpa

33

mejorado

original

T

T A

k

ff1TT originalmejorado

k

ff

A

1

1

Page 34: G te c sesion4b-complejidad y tpa

34

43.1

2

6.0)6.01(

1

ALa aceleración es 1.43 El rendimiento aumenta un 43%

5.2

.60-1

1

-1

1lím

fA

k

Page 35: G te c sesion4b-complejidad y tpa

35

f = 0.5

f = 0.95

Page 36: G te c sesion4b-complejidad y tpa

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

Acce

lera

ció

glo

ba

l (A

)

Utilització millorada (f)

Relació entre A i f ,a

k = Infinitok = 50k = 10k = 5k = 4k = 3k = 2k = 1.5

k =infinito A=2

k=infinito A=5

Utilización mejorada (f)

Ace

lera

ció

n g

lob

al(A

)

Relación entre A, f y k

Page 37: G te c sesion4b-complejidad y tpa

37

k

ff

A

1

1

n

i i

in

i

ik

ff

A

11

1

1

Page 38: G te c sesion4b-complejidad y tpa

38

25.6

15

90.010.0

11

paralela

secuencial

p

ff

A 1010.0

11lím

secuencial

f

Ap

Page 39: G te c sesion4b-complejidad y tpa

39

0,00

2,00

4,00

6,00

8,00

10,00

12,00

14,00

16,00

0 10 20 30 40 50

Procesadores

Ac

ele

rac

ión

5% secuencial8.82

6.25

10% secuencial

Page 40: G te c sesion4b-complejidad y tpa

40

pT

TA 1

paralela Parte1

secuencial Parte

Page 41: G te c sesion4b-complejidad y tpa

41

)1()1(

1

111 ppT

pTT

T

TA

p

p

T1 = Tp

T’1

T1 (1−) T1

T1 (1−) p T1

Máquina paralela

Máquina secuencial

Page 42: G te c sesion4b-complejidad y tpa

42

Page 43: G te c sesion4b-complejidad y tpa

Técnicas de Programación

-Divide y Vencerás-Voraz-Programación Dinámica-Backtracking

43

Page 44: G te c sesion4b-complejidad y tpa

44

Page 45: G te c sesion4b-complejidad y tpa

45

Page 46: G te c sesion4b-complejidad y tpa

Complejidad Divide y Vence

46

Page 47: G te c sesion4b-complejidad y tpa

47

Page 48: G te c sesion4b-complejidad y tpa

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 procedimiento3. Mezclar las dos sublistas en una sola lista ordenada.

48

Page 49: G te c sesion4b-complejidad y tpa

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 procedimiento3. No hace falta mezclar porque las dos sublistas ya estarán ordenadas y serán contiguas.

49

Page 50: G te c sesion4b-complejidad y tpa

Mersort vs. Quicksort

https://www.youtube.com/watch?v=FGgVgSitSF0

Mersort vs quicksort

https://www.youtube.com/watch?v=es2T6KY45cA

50

Page 51: G te c sesion4b-complejidad y tpa

Algoritmos VoracesGreedy

• 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

Page 52: G te c sesion4b-complejidad y tpa

52

Page 53: G te c sesion4b-complejidad y tpa

• Transmisión rápida de mensajes en la red.

• Asegurar la cobertura de un servicio con coste mínimo.

53

Page 55: G te c sesion4b-complejidad y tpa

55

Page 56: G te c sesion4b-complejidad y tpa

56

Page 57: G te c sesion4b-complejidad y tpa

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

Page 58: G te c sesion4b-complejidad y tpa

58

Page 59: G te c sesion4b-complejidad y tpa

59

Page 60: G te c sesion4b-complejidad y tpa

60

Page 61: G te c sesion4b-complejidad y tpa

maximizar bixi1i n

sujeto a pixi1i n C

con 0 xi 1, bi 0, pi 0, 1 i n

61

Page 62: G te c sesion4b-complejidad y tpa

62

Page 63: G te c sesion4b-complejidad y tpa

63

Page 64: G te c sesion4b-complejidad y tpa

64

Page 65: G te c sesion4b-complejidad y tpa

65

Page 66: G te c sesion4b-complejidad y tpa

66

Page 67: G te c sesion4b-complejidad y tpa

67

Page 68: G te c sesion4b-complejidad y tpa

Victoria López

@victoriademates

www.tecnologiaUCM.es

Universidad Complutense de Madrid

Fin68