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

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

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

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