Programación dinámica (1)

Slides:



Advertisements
Presentaciones similares
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities scuola.
Advertisements

SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
Respuestas Jack y la mata de frijoles /60. 1.vivía 2.estaba 3.estaba 4.era 5.llamaba 6.gustaba 7.comía 8.dormía 9.gustaba 10.llamó 11.dijo 12.había 13.quería.
Los números del 0 al cero uno dos tres cuatro cinco 6 7 8
COMPARATIVA CONVOCATORIAS FINALIZADAS EN Bilbao, Satisfacción de Clientes OBJETO Y ALCANCE Convocatorias finalizadas en 2012.
1 LA UTILIZACION DE LAS TIC EN LAS MICROEMPRESAS GALLEGAS. AÑO mayo 2005.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO de Junio de 2005.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
AYUDA A LA FUNCIÓN DOCENTE Internet
TEMA 5.- 1ª PARTE. EL A.O. Y SUS APLICACIONES
TEMA 2 MÚLTIPLOS Y DIVISORES
Aranda Fernández, Miguel Ángel García Redondo, Luis Miguel
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Aladdín-respuestas 1.Vivía 2.Era 3.Amaba 4.Quería 5.Gustaban 6.Se sentía 7.Salía 8.Tenía 9.Decidió 10.escapó 11. Se vistió 12. Conoció 13. Vio 14. Pensó
Respuestas Buscando a Nemo.
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
MOVIMIENTO ARMÓNICO SIMPLE MOVIMIENTO ARMÓNICO SIMPLE
ECUACIONES LINEALES.
Mulán /75 puntos. 1.Querían 2.Gustaban 3.Escuchó 4.Dijo 5.Tenía 6.Ayudaron 7.Maquillaron 8.Arreglaron 9.Dio 10.Estaba 11.Iba 12.Quería 13.Salió 14.Gritó
CLASE 3 SOFTWARE DEL MICROPROCESADOR
1 XML Extensible Markup Language HTML HyperText Markup Language normas06_01.xml.
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
1. Apoyo exterior sobre ala inferior de viga de acero
-17 Expectativas sobre la situación económica (Europa) Septiembre 2013 Indicador > +20 Indicador 0 a +20 Indicador 0 a -20 Indicador < -20 Total Unión.
TELEFONÍA IP.
Parte 3. Descripción del código de una función 1.
Vocabulario querer comerlo -paja por supuesto - madera
Tema 1.- Aritmética. 1.-Usar el algoritmo de Euclides para calcular el máximo común divisor de a y b y expresarlo en función de a y b para: a) a= 56,
Ejemplos ALGORITMOS.
Tabla de Multiplicar en Bits de Inteligencia PULSA PARA COMENZAR PULSA PARA COMENZAR PULSA PARA VER INSTRUCCIONES PULSA PARA VER INSTRUCCIONES Elaborada.
FUNCIONES DE UNA VARIABLE REAL
EL OSO APRENDIZ Y SUS AMIGOS
Proyecto ProMéxico Plasmas mayo SECCIONES NOTICIAS PROYECTOS UNIDAD ACTÚA EVENTUALES secciones ProMéxico.
1 PROYECTO DE PRESUPUESTO DE EGRESOS DE LA FEDERACION 2002 COORDINACIÓN DE POLITICA ECONOMICA GP-PRD.
RETIRO DE COMALCALCO DIC. 2012
Hacer click Hacer click en cualquiera de estos links.
Profr. Ricardo A. Castro Rico
Ecuaciones Cuadráticas
RAZONAMIENTO MATEMATICO Mg. CORNELIO GONZALES TORRES
La minimización de los costes
La elección óptima del consumidor
¡Primero mira fijo a la bruja!
ANÁLISIS DE RADIOGRAFÍA PANORAMICA
1 Administración electrónica Tramitación electrónica Vitoria-Gasteiz 2013 Ayudas, Becas y Subvenciones.
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
Alineamiento de Secuencias Biológicas
MINIMO COMÚN MÚLTIPLO DE DOS NÚMEROS a y b
CULENDARIO 2007 Para los Patanes.
Números enteros.
0 1 ¿Qué hora es? By: Craig Tillmann Revised by: Malinda Seger Coppell High School Coppell, TX.
BEATRIZ LAFONT VILLODRE
Los números. Del 0 al 100.
MSc. Lucía Osuna Wendehake
Calendario 2009 “Imágenes variadas” Venezuela Elaborado por: MSc. Lucía Osuna Wendehake psicopedagogiaconlucia.com Enero 2009.
uno cero dos seis siete nueve Los Números DIEZ cinco ocho tres
Los Numeros.
SUCESIONES Y PROGRESIONES.
Inteligencia Artificial Resolver problemas mediante búsqueda
Análisis Diseño y Desarrollo
FACULTAD DE DERECHO PROTAGONISTAS PROMOCIÓN aniversario
ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL CURSO: GESTION DE LA CALIDAD ING.ELIZABETH FERG 1.
Herramienta FRAX Expositor: Boris Inturias.
CHAPTER 4 VOCABULARY: PART II
Transcripción de la presentación:

Programación dinámica (1) Descrito por primera vez en la década de 1950 por Richard Bellman, de la Universidad de Princeton como una técnica general para resolver problemas de optimización El problema de la optimización surge cuando hay muchas soluciones para un determinado problema y sólo una, o unas pocas, son las mejores La mejor solución se encuentra descomponiendo el problema original en subproblemas más sencillos (divide y vencerás). Las soluciones de los subproblemas están concatenadas: el cuarto subproblema sólo se resuelve con la solución del tercero, el tercero sólo se resuelve con la solución del segundo, y así sucesivamente. La solución del problema original incluye la solución de los diversos subproblemas. Programación dinámica (1)

Programación dinámica (2) La estructura del subproblema es idéntica a la del problema original Programación dinámica (2)

Divide y vencerás Fuerza bruta: 6  6 DP: 6 + 6 1- 2 - 3 - 4 1- 9 - 11 - 4 1- 9 - 12 - 8 2 3 1 11 9 4 5 12 10 8 6 5- 6 - 7 - 8 7 5- 10 - 11 - 4 5- 10 - 12 - 8 Divide y vencerás

Alineamientos globales O (m × n) Alineamientos globales

J. Mol. Biol. (1970) 48, 443-453

Programación dinámica (3) - Hace falta encontrar una fórmula recurrente (algoritmo) que vaya encontrando la solución de los subproblemas - Se comienza resolviendo el subproblema más trivial. La solución de cada subproblema se va guardando en la memoria del ordenador. Al final, daremos con la solución del problema global - El algoritmo trata de maximizar la puntuación final del alineamiento haciendo coincidir el mayor número posible de emparejamientos de valor elevado y minimizando el número de gaps y de emparejamientos de poco valor Programación dinámica (3)

Estructura del subproblema

Algoritmo de Needleman & Wunsch (NW) ─ G F (i-1, j-1) F (i-1, j) ─ s(xi,yj) d F (i, j-1) G F (i, j) d Algoritmo de Needleman & Wunsch (NW)

El algoritmo - Se necesitan 2 secuencias y un sistema de puntuación - Garantiza el alineamiento óptimo - Se lleva a cabo en tres etapas: Inicialización Rellenado de la matriz Retroceso - Es costoso en términos de tiempo de computación y de memoria de ordenador El algoritmo

El sistema de puntuación - El sistema de puntuación asigna un valor a cada uno de los posibles casos que podemos encontrar al comparar dos residuos pertenecientes a secuencias distintas: * Coincidencias (matches): + 5 * Diferencias (mismatches): - 3 * Huecos (gaps, indels): - 4 El sistema de puntuación

En este ejemplo, la penalización por introducir un hueco es - 4 Match = + 5 Mismatch= − 3 Indel = − 4 En este ejemplo, la penalización por introducir un hueco es - 4 Inicialización

Rellenado de la matriz (1) Match = + 5 Mismatch= − 3 Indel = − 4 Casilla (1,1): la máxima puntuación se alcanza haciendo coincidir las dos G (+ 5) Rellenado de la matriz (1)

Rellenado de la matriz (2) Match = + 5 Mismatch= − 3 Indel = − 4 Casilla (1,2): la máxima puntuación se alcanza introduciendo un hueco (- 4) Rellenado de la matriz (2)

Rellenado de la matriz (3) Match = + 5 Mismatch= − 3 Indel = − 4 - Se van llenando todas las casillas de la matriz - En cada casilla, además de la puntuación se pone una flecha que indica de dónde procede el valor Rellenado de la matriz (3)

Rellenado de la matriz (4) En la casilla inferior izquierda de la matriz aparece la puntuación máxima del alineamiento: 11 Rellenado de la matriz (4)

Retroceso (Backtracking) No hay huecos (Coincidencia o Diferencia) Hueco en la secuencia de la izquierda Hueco en la secuencia superior Retroceso (Backtracking)

Alineamiento global óptimo - Se obtiene el alineamiento óptimo - Es posible que no tenga ningún sentido biológico Alineamiento global óptimo

Elementos de partida Ejemplo Secuencia 1: P A W H E A E Secuencia 2: H E A G A W G H E E Matriz de puntuación: BLOSUM 50 Penalización por hueco: - 8 (Lineal) Ejemplo

Matriz de puntuación: BLOSUM 50 H E A G A W G H E E P -2 -1 -1 -2 -1 -4 -2 -2 -1 -1 A -2 -1 5 0 5 -3 0 -2 -1 -1 W -3 -3 -3 -3 -3 15 -3 -3 -3 -3 H 10 0 -2 -2 -2 -3 -2 10 0 0 E 0 6 -1 -3 -1 -3 -3 0 6 6 Matriz de puntuación: BLOSUM 50

Inicialización y llenado de la matriz H E A G A W G H E E 0 -8 -16 -24 -32 -40 -48 -56 -64 -72 -80 P -8 A -16 W -24 H -32 E -40 A -48 E -56 F(i, j) = F(i-1, j-1) + s(xi ,yj) F(i, j) = max F(i, j) = F(i-1, j) - d F(i, j) = F(i, j-1) - d P-H=-2 E-P=-1 H-A=-2 E-A=-1 -2 -9 -10 -3 F(0,0) + s(xi ,yj) = 0 -2 = -2 F(1,1) = max F(0,1) - d = -8 -8= -16 = -2 F(1,0) - d = -8 -8= -16 F(0,1) + s(xi ,yj) = -8 -1 = -9 F(1,2) = max F(1,1) - d = -2 -8 = -10 = -9 F(0,2) - d = -16 -8= -24 -8 -2 = -10 F(2,1) = max -16 -8 = -24 = -10 -2 -8 = -10 -2 -1 = -3 F(2,2) = max -10 -8 = -18 = -3 -9 -8 = -17 Inicialización y llenado de la matriz

Llenado de la matriz, retroceso y alineamiento H E A G A W G H E E 0 -8 -16 -24 -32 -40 -48 -56 -64 -72 -80 P -8 -2 -9 -17 -25 -33 -41 -49 -57 -65 -73 A -16 -10 -3 -5 -13 -21 -29 -37 -45 -53 -61 W -24 -18 -11 -6 -7 -15 -10 -18 -26 -34 -42 H -32 -16 -18 -13 -8 -9 -17 -12 -10 -18 -26 E -40 -24 -11 -19 -15 -9 -12 -19 -12 -5 -13 A -48 -32 -19 -7 -15 -11 -12 -12 -20 -13 -6 E -56 -40 -27 -15 -9 -16 -14 -14 -12 -15 -8 -8 -16 -17 -25 -21 -10 -18 -10 -5 -13 -8 E H - E - A P G - A W G - H E - A Alineamiento global óptimo: Llenado de la matriz, retroceso y alineamiento

En resumen

Alineamientos locales

J. Mol. Biol. (1981) 147, 195-197

Algoritmo de Smith & Waterman (SW) Introduce tres modificaciones en relación al algoritomo de Needleman-Wunsch: 1.- La penalización por introducir un hueco al comienzo del alineamiento es 0 2.- Cuando un valor de la matriz de puntuación se hace negativo, se pone un 0. Es como si se comenzara un nuevo alineamiento. 3.- La máxima puntuación puede estar en cualquier lugar de la tabla. El retroceso comienza en la casilla con la puntuación más elevada y prosigue hasta alcanzar un 0. Algoritmo de Smith & Waterman (SW)

Características del algoritmo - Se necesitan 2 secuencias y un sistema de puntuación - Garantiza el alineamiento óptimo - Se lleva a cabo en tres etapas: Inicialización Rellenado de la matriz Retroceso - Es costoso en términos de tiempo de computación y de memoria de ordenador Características del algoritmo

Algoritmo de Smith & Waterman (SW) ─ F (i, j) F (i, j-1) F (i-1, j) F (i-1, j-1) s(xi,yj) d ─ G Algoritmo de Smith & Waterman (SW)

El sistema de puntuación - En este ejemplo, el sistema de puntuación asigna un valor a cada uno de los posibles casos que podemos encontrar al comparar dos residuos pertenecientes a secuencias distintas: * Coincidencias (matches): + 5 * Diferencias (mismatches): - 3 * Huecos (gaps, indels): - 4 El sistema de puntuación

Match = + 5 Mismatch= − 3 Indel = − 4 La penalización por introducir un hueco al inicio del alineamiento es 0 1.- Inicialización

2.- Rellenado de la matriz Match = +5 Mismatch= − 3 Indel = − 4 Casilla (1,1): la máxima puntuación se alcanza haciendo coincidir las dos G (+ 5) 2.- Rellenado de la matriz

2.- Rellenado de la matriz (2) Match = +5 Mismatch= − 3 Indel = − 4 Casilla (1,2): la máxima puntuación se alcanza introduciendo un hueco (- 4) 2.- Rellenado de la matriz (2)

2.- Rellenado de la matriz (3) Match = +5 Mismatch= − 3 Indel = − 4 Casilla (1,3): como todas las posibilidades dan valores negativos, se coloca un 0 2.- Rellenado de la matriz (3)

2.- Rellenado de la matriz (4) La puntuación máxima puede aparecer en cualquier casilla de la matriz 2.- Rellenado de la matriz (4)

3.- Retroceso (Backtracking) No hay huecos (Coincidencia o Diferencia) Hueco en la secuencia de la izquierda Hueco en la secuencia superior 3.- Retroceso (Backtracking)

Elementos de partida Otro ejemplo Secuencia 1: P A W H E A E Secuencia 2: H E A G A W G H E E Matriz de puntuación: BLOSUM 50 Penalización por hueco: - 8 (Lineal) Otro ejemplo

Matriz de puntuación: BLOSUM 50 H E A G A W G H E E P -2 -1 -1 -2 -1 -4 -2 -2 -1 -1 A -2 -1 5 0 5 -3 0 -2 -1 -1 W -3 -3 -3 -3 -3 15 -3 -3 -3 -3 H 10 0 -2 -2 -2 -3 -2 10 0 0 E 0 6 -1 -3 -1 -3 -3 0 6 6 Matriz de puntuación: BLOSUM 50

Inicialización y rellenado de la matriz H E A G A W G H E E 0 0 0 0 0 0 0 0 0 0 0 P 0 0 0 0 0 0 0 0 0 A 0 0 0 5 0 0 0 0 0 0 W 0 0 0 0 2 0 0 0 H 0 10 2 0 0 0 E 0 2 16 8 0 0 A 0 0 8 21 13 5 0 E 0 0 6 13 18 12 4 0 5 20 12 4 12 18 22 14 6 4 10 18 28 20 4 10 20 27 4 16 26 Inicialización y rellenado de la matriz

Retroceso: Alineamiento óptimo H E A G A W G H E E 0 0 0 0 0 0 0 0 0 0 0 P 0 0 0 0 0 0 0 0 0 0 0 A 0 0 0 5 0 5 0 0 0 0 0 W 0 0 0 0 2 0 20 12 4 0 0 H 0 10 2 0 0 0 12 18 22 14 6 E 0 2 16 8 0 0 4 10 18 28 20 A 0 0 8 21 13 5 0 4 10 20 27 E 0 0 6 13 18 12 4 0 4 16 26 5 20 12 22 28 AA WW G- HH E Alineamiento local óptimo: Retroceso: Alineamiento óptimo

Retroceso: Otro alineamiento H E A G A W G H E E 0 0 0 0 0 0 0 0 0 0 0 P 0 0 0 0 0 0 0 0 0 0 A 0 0 0 5 0 0 0 0 0 0 W 0 0 0 0 2 0 0 0 H 0 10 2 0 0 0 E 0 2 16 8 0 0 A 0 0 8 21 13 5 0 E 0 0 6 13 18 12 4 0 10 16 21 H EE AA Segundo mejor alineamiento local: Retroceso: Otro alineamiento