43
1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc.

1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

Embed Size (px)

Citation preview

Page 1: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

11

Introducción a la Computación

para Biólogos, Bioquímicos, Médicos, etc.

Page 2: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

22

El problema...

Page 3: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

33

La solución...

Page 4: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

44

¿Es una solución?

Page 5: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

55

La computación...

Page 6: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

66

¿Qué es la ciencia de la computación?

Es la disciplina que estudia como resolver problemas con

computadoras.

Page 7: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

77 Toda solución computacional involucra...

Posibilidad real de resolver el problema.

Page 8: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

88 Toda solución computacional involucra...

Posibilidad. Algoritmo como Solución a un

conjunto de problemas.

Page 9: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

99 Toda solución computacional involucra...

Posibilidad. Solución. Espacio Físico de Información.

Page 10: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

1010 Toda solución computacional involucra...

Posibilidad. Solución. Espacio. Tiempo de la Respuesta.

Page 11: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

1111

Lo que nos interesa como usuarios

Entrada

Salida

Proceso

Problema

Resulta

do

Algoritmo

Page 12: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

1212

Un ejemplo típico

Teniendo un conjunto de números S ¿Existe alguna suma de esos números

que de n?

Page 13: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

1313

Visualmente...

S, n

{Si, No}

Proceso

Problema

Resulta

do

Algoritmo

Page 14: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

1414

Ejemplo sencillo

S = { 3, 5, 7, 8 }, n = 12 sumas posibles:

0, 3, 5, 7, 83 + 5 = 8 3 + 7 = 10 3 + 8 = 11

5 + 7 = 12 5 + 8 = 13 7 + 8 = 153 + 5 + 7 = 15 3 + 5 +8 = 16

3 + 7 + 8 = 18 5 + 7 + 8 = 203 + 5 + 7 + 8 = 22

Page 15: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

1515

Visualmente...

{ 3, 5, 7, 8 }, 12

Si

Proceso

Problema

Resulta

do

Algoritmo

Page 16: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

1616

¿Es Posible?

No tiene ningún impedimento teórico ó lógico.

Page 17: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

1717

¿Existe un Algoritmo?

Si... Y es el siguiente:Para todo subconjunto P de S:

Si la suma de los elementos de P es igual a n entonces la respuesta es SISI.

Page 18: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

1818

¿Cuánto Espacio necesita?

Necesitamos recordar S, P y n. ... que ocupan como máximo la

cantidad de 9 números: 4 + 4 + 1 = 9. ¡También se necesita recordar el

algoritmo!

Page 19: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

1919

¿Cuánto Tiempo necesita?

Verificar cada subconjunto de S tarda de 0.001 segundo.

El algoritmo usa 0.001 seg. x 16 = 0.016 seg.

Page 20: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

2020

Resumiendo...

{ 3, 5, 7, 8 }, 12

Si

Proceso

Problema

Resulta

do

Algoritmo

0.016 seg.9 números

Page 21: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

2121

Generalicemos

Cant(S) = cantidad de elementos de S. Cant(P) = cantidad de elementos de P. Cantidad de subconjuntos de S: 2Cant(S)

El algoritmo necesita recordar:Cant(S) + Cant(P) + 1

El algoritmo tarda:0.001 x 2Cant(S)

Page 22: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

2222 ¿Pero, para qué usar la computadora para 4 elementos?

¿Cuántos recursos necesitamos para 10 elementos?Espacio: 21Tiempo: 0.001 x 1024 = 1.024 seg

¿y para 20 elementos?Espacio: 41Tiempo: 0.001 x 220 = 1048.576 seg = 17

min

Page 23: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

2323

...

¿y para 30 elementos?Espacio: 61Tiempo: 0.001 x 230 = 1x109seg =

17895.7 min. = 298 horas = 12 días. ¿y para 40 elementos?

Espacio: 81Tiempo: 0.001 x 240 = 35 años.

Page 24: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

2424

Visualmente...Subconjuntos

0

2E+14

4E+14

6E+14

8E+14

1E+15

1,2E+15

1 2 3 4 5 6 7 8 9 10 11

Subconjuntos

Años

0

5000

10000

15000

20000

25000

30000

35000

40000

1 2 3 4 5 6 7 8 9 10 11

Años

Siglos

0

50

100

150

200

250

300

350

400

1 2 3 4 5 6 7 8 9 10 11

Siglos

Page 25: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

2525

¿Opciones?

Tener computadoras más rápidas...¿Qué tanto más rápidas?

Usar muchas computadoras...¿Cuántas?

Page 26: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

2626

Esto se lo conoce como complejidad de un problema.

Page 27: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

2727

¿Y para qué me sirve saber esto?

Muchos de los problemas de la bioinformática tienen una

complejidad difícil de manejar.

Page 28: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

2828

¿Cuáles? (I)

Problemas no posibles:Ensamblado de genomas con repeticionesrepeticiones.Estructuras 3D de proteínas.

Problemas de espacio:Base de datos.

Page 29: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

2929

¿Cuáles? (II)

Problemas de tiempo:EnsambladoAlineamiento múltiple.

Filogénia.

Page 30: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

3030

Entonces...¿Porque uso computadoras?

Usar computadoras es más barato, son más rápidas y dan buenos

resultados.

Page 31: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

3131

Page 32: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

3232

Aproximaciones y Heurísticas

Si modificamos el problema de tal manera que la respuesta nos

ayude, entonces es útil.

Page 33: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

3333

¿Qué es una heurística?

Heurística, del griego “heuriskein” significa encontrar o descubrir. La heurística trata de métodos o algoritmos exploratorios durante la resolución de problemas en los cuales las soluciones se descubren por la evaluación del progreso logrado en la búsqueda de un

resultado final. Técnicas heurísticas, las cuales son empleadas en

una gran cantidad de disciplinas y áreas del conocimiento y su finalidad es la de entregar soluciones que satisfagan al máximo el problema al cual se pretenden encontrar salidas.

Page 34: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

3434

Algoritmo Heurístico

Un algoritmo heurístico es un procedimiento de búsqueda de soluciones casi optímales a un coste computacional razonable, sin ser capaz de garantizar la factibilidad de las soluciones empleadas ni determinar a que distancia de la solución optima nos encontramos.

Page 35: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

3535

Características...

No aseguran dar el resultado optimo. No se puede asegurar que tan bueno

es el resultado. El tiempo de los resultados es

aceptable. Se pueden hacer estudios estadísticos

sobre los resultados.

Correcto

Page 36: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

3636

Cualquier análisis clínico es una heurística.

Ninguno tiene un 100% de exactitud en sus resultados.

Page 37: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

3737

Algunas Heurísticas

Vecino más cercano. Redes neuronales. Algoritmos genéticos. Hidden Markov Model. Funciones Heurísticas. Etc...

¡¡¡Ojo co

n los n

ombres!!!

Page 38: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

3838

Aprendizaje automático

Es la disciplina de la ciencia de la computación que estudia un subconjunto de metaheurísticas que tienen la propiedad de

“aprender” heurísticas.

Page 39: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

3939

Recordando...

Entrada

Salida

Proceso

Problema

Resulta

do

Algoritmo

Page 40: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

4040

Salida

Lo que busca...

Proceso

Proceso

Salida

Lo que se aprendeEntrada

Page 41: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

4141

Cosas que hay que tener en cuenta cuando se enseña...

Entrenamiento: Supervisados ó no supervisados.

Muestras de entrenamiento y prueba. Sesgo. Interpretación de los resultados.

Page 42: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

4242

Conclusión

Page 43: 1 Introducción a la Computación para Biólogos, Bioquímicos, Médicos, etc

4343

Fin de la Presentación