6.6 Sequence Alignment
|
|
- Filippo Grilli
- 5 anni fa
- Visualizzazioni
Transcript
1 6.6 Sequence Alignment
2 E capitato anche a voi? Di digitare sul computer una parola in maniera sbagliata (per esempio usando un dizionario sul Web): AGORITNI E sentirsi chiedere: «Forse cercavi ALGORITMI?» Come fanno a capirlo? Sanno veramente cosa abbiamo in mente???? Non trovando AGORITNI sul dizionario ha cercato una parola «simile», «vicina»
3 String Similarity How similar are two strings? ocurrance occurrence o c u r r a n c e - o c c u r r e n c e 6 mismatches, 1 gap o c - u r r a n c e o c c u r r e n c e 1 mismatch, 1 gap o c - u r r - a n c e o c c u r r e - n c e 0 mismatches, 3 gaps 3
4 Applications. Basis for Unix diff Speech recognition Edit Distance Computational biology (sequenze di simboli nel DNA rappresentano proprietà degli organismi) Edit distance. [Levenshtein 1966, Needleman-Wunsch 1970] Gap penalty ; mismatch penalty pq (you may assume pp =0). Cost = sum of gap and mismatch penalties. C T G A C C T A C C T - C T G A C C T A C C T C C T G A C T A C A T C C T G A C - T A C A T TC + GT + AG+ 2 CA 2 + CA 4
5 Sequence Alignment Goal: Given two strings X = x 1 x 2... x m and Y = y 1 y 2... y n find alignment of minimum cost. Def. An alignment M is a set of ordered pairs x i -y j such that each item occurs in at most one pair and no crossings. Def. The pair x i -y j and x i' -y j' cross if i < i', but j > j'. cost(m) x i y j (x i, y j ) M i : x i unmatched j : y j unmatched mismatch gap Ex: CTACCG vs TACATG. Sol: M = x 2 -y 1, x 3 -y 2, x 4 -y 3, x 5 -y 4, x 6 -y 6. 5 x 1 x 2 x 3 x 4 x 5 x 6 C T A C C - - T A C A T G G y 1 y 2 y 3 y 4 y 5 y 6
6 Sequence Alignment: Problem Structure Def. OPT(i, j) = min cost of aligning strings x 1 x 2... x i and y 1 y 2... y j. Case 1: OPT matches x i -y j. pay mismatch for x i -y j + min cost of aligning two strings x 1 x 2... x i-1 and y 1 y 2... y j-1 Case 2a: OPT leaves x i unmatched. pay gap for x i and min cost of aligning x 1 x 2... x i-1 and y 1 y 2... y j Case 2b: OPT leaves y j unmatched. pay gap for y j and min cost of aligning x 1 x 2... x i and y 1 y 2... y j-1 OPT( i, j) min i j x i y j OPT( i 1, j OPT( i 1, j) OPT( i, j 1) 1) if i 0 otherwise if j 0 6
7 Sequence Alignment: Algorithm Sequence-Alignment(m, n, x 1 x 2...x m, y 1 y 2...y n,, ) { for i = 0 to m M[0, i] = i for j = 0 to n M[j, 0] = j } for i = 1 to m for j = 1 to n M[i, j] = min( [x i, y j ] + M[i-1, j-1], + M[i-1, j], + M[i, j-1]) return M[m, n] Analysis. (mn) time and space. English words or sentences: m, n 10. Computational biology: m = n = 100, billions ops OK, but 10GB array? 7
8 Sequence Alignment: Linear Space Q. Can we avoid using quadratic space? Easy. Optimal value in O(m + n) space and O(mn) time. Compute OPT(i, ) from OPT(i-1, ). No longer a simple way to recover alignment itself. Theorem. [Hirschberg 1975] Optimal alignment in O(m + n) space and O(mn) time. Clever combination of divide-and-conquer and dynamic programming. Inspired by idea of Savitch from complexity theory. 8
9 Ricostruzione dell allineamento OPT( i, j) min i j x i y j OPT( i 1, j OPT( i 1, j) OPT( i, j 1) 1) if i 0 otherwise if j 0 Per ricostruire l allineamento seguiamo il percorso all indietro nella matrice Esempio: X = mean, Y= name = 2 costo mismatch fra vocali differenti=1 costo mismatch fra consonanti differenti=1 costo mismatch fra vocale e consonante=3 La freccia nella casella (i,j) proviene dalla casella usata per ottenere il minimo M[4,4]= min{ n e + M[3,3], + M[3,4], +M[4,3]}= = min { 3+ 5, 2+5, 2+4} =
10 Ricostruzione soluzione ottima
11 Una visione grafica del problema del sequence alignment Ad X = x 1 x 2 x 3 e Y = y 1 y 2 y 3 y 4 associamo il grafo G XY seguente: nodo (i,j) in corrispondenza di x i e y j costi archi orizzontali e verticali = costo arco diagonale verso (i,j) = xi, yj
12 Un esempio n a e m n a m e costi archi orizzontali e verticali = costo arco diagonale verso (i,j) = xi, yj = 2 costo mismatch fra vocali differenti=1 costo mismatch fra consonanti differenti=1 costo mismatch fra vocale econsonante=3 Trovare allineamento di costo minimo fra X e Y equivale a cercare il cammino di costo minimo in G XY dal nodo in basso a sinistra a quello in alto a destra. Prova per induzione (fare) Studieremo algoritmi per la ricerca di cammini di costo minimo in un grafo, ma non apporteranno miglioramenti al tempo di esecuzione.
13 Tale proprietà è detta: Proprietà della Sottostruttura Ottima.
14 Proprietà della sottostruttura ottima: Sequence Alignment 1 OPT(i, j) = min cost of aligning strings x 1 x 2... x i and y 1 y 2... y j OPT è un allineamento ottimale per x 1 x 2... x i and y 1 y 2... y j. Case 1: OPT matches x i -y j. pay mismatch for x i -y j + min cost of aligning two strings x 1 x 2... x i-1 and y 1 y 2... y j-1 Quindi OPT= { x i -y j } X, con X insieme di coppie ordinate Il punto cruciale qui è che X : è una soluzione, cioè è un allineamento per x 1 x 2... x i-1 e y 1 y 2... y j-1 (perché OPT lo è, quindi le posizioni non si incrociano etc.) è ottima, cioè ha cardinalità massima fra le soluzioni al sottoproblema per x 1 x 2... x i-1 e y 1 y 2... y j-1 (infatti, se così non fosse, esisterebbe una soluzione OPT per x 1 x 2... x i-1 e y 1 y 2... y j-1 di cardinalità OPT( i, j) OPT( i 1, j x i y j strettamente 14 superiore a quella di X e allora OPT {x i -y j } sarebbe una 1)
15 Proprietà della sottostruttura ottima: Sequence Alignment 2 OPT(i, j) = min cost of aligning strings x 1 x 2... x i and y 1 y 2... y j. Case 2a: OPT leaves x i unmatched. pay gap for x i and min cost of aligning x 1 x 2... x i-1 and y 1 y 2... y j Case 2b: OPT leaves y j unmatched. pay gap for y j and min cost of aligning x 1 x 2... x i and y 1 y 2... y j-1 In maniera analoga 15
16 Proprietà della sottostruttura ottima: Scheduling di attività Il punto cruciale qui è che O {n} : è una soluzione, cioè è un insieme di attività compatibili di {1,, p(n)} (perché le attività di O sono compatibili) è ottima, cioè ha cardinalità massima fra le soluzioni al sottoproblema relativo alle attività {1,, p(n)} (infatti, se così non fosse, esisterebbe una soluzione O per {1,, p(n)} di cardinalità strettamente superiore a quella di O {n} e allora O {n} sarebbe una soluzione strettamente migliore di O.
17
18 Esercizi: varianti al problema dello zaino
19
20 Dall elenco
21 Dall elenco
22 Esercizio 1 pag. 312 KT punto a) [continua ]
23 Esercizio 1 pag. 312 KT punti b) e c)
24 Prossime lezioni Lezione 2 nov: rinviata Lezione mercoledì 7 nov ore Lab P13
6.5 RNA Secondary Structure. 18 novembre 2014
6.5 RNA Secondary Structure 18 novembre 2014 Calendario Oggi è la lezione 17/24: ultima lezione su Programmazione dinamica Metodo greedy: 18, 19 Grafi: 20, 21, 22, 23 Reti di flusso: 23, 24 (=mercoledì
Dettagli6.5 RNA Secondary Structure
6.5 RNA Secondary Structure Struttura di una biomolecola Biomolecola: DNA, RNA Struttura primaria: descrizione esatta della sua composizione atomica e dei legami presenti fra gli atomi Struttura secondaria:
DettagliSubset sums. Input n job 1,2,,n il job i richiede tempo w i > 0. Un limite W al tempo per il quale il processore puo` essere utilizzato
Subset sums Input n job,2,,n il job i richiede tempo w i >. Un limite W al tempo per il quale il processore puo` essere utilizzato Obiettivo: selezionare un sottoinsieme S degli n job tale che sia quanto
DettagliProgrammazione dinamica (II parte)
Programmazione dinamica (II parte) Progettazione di Algoritmi a.a. 2017-18 Matricole congrue a 1 Docente: Annalisa De Bonis 41 Esercizio 27 cap. 6 I proprietari di una pompa di carburante devono confrontarsi
DettagliProgrammazione dinamica: Selezione di intervalli pesati. 12 ottobre 2015
Programmazione dinamica: Selezione di intervalli pesati 12 ottobre 2015 Appello 29 gennaio 2015 Quesito 2 (24 punti) Dopo la Laurea in Informatica avete aperto un campo di calcetto che ha tantissime richieste
DettagliTipici tempi di esecuzione. Martedì 7 ottobre 2014
Tipici tempi di esecuzione Martedì 7 ottobre 2014 Punto della situazione Abbiamo definito il tempo di esecuzione di un algoritmo Scelto l analisi asintotica Abbiamo definito le notazioni asintotiche che
DettagliESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2.
ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Sono date le seguenti regole: regola(1,[p,q],a) regola(2,[b,x,a],w) regola(3,[h],c) regola(4,[a,n,q],v)
DettagliProgettazione di Algoritmi (4, 6, 9 CFU) Classe 3 (matricole congrue 2 modulo 3) Prof.ssa Anselmo. Appello del 30 Gennaio 2019.
COGNOME: Nome: Progettazione di Algoritmi (4, 6, 9 CFU) Classe 3 (matricole congrue 2 modulo 3) Prof.ssa Anselmo Appello del 30 Gennaio 2019 Attenzione: Inserire i propri dati nell apposito spazio soprastante
DettagliAlgoritmi Priority-Driven RT. Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo
Algoritmi Priority-Driven RT Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo 2 Algoritmi Real Time Earliest Due Date (statico) Seleziona il task con la deadline relativa più
DettagliProgrammazione dinamica: Selezione di intervalli pesati. 4 novembre 2014
Programmazione dinamica: Selezione di intervalli pesati 4 novembre 2014 6.1 Weighted Interval Scheduling Interval scheduling problem. Interval Scheduling Job j starts at s j, finishes at f j. Two jobs
DettagliFinite Model Theory / Descriptive Complexity: bin
, CMPSCI 601: Recall From Last Time Lecture 19 Finite Model Theory / Descriptive Compleity: Th: FO L DSPACE Fagin s Th: NP SO. bin is quantifier-free.!#"$&% ('*), 1 Space 0 1 ) % Time $ "$ $ $ "$ $.....
DettagliESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2.
ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Siano date le seguenti regole: regola(1,[a,p,f],g) regola(2,[c,x],n) regola(3,[n,g],w) regola(4,[p,c,x],d)
DettagliOttimizzazione Combinatoria J and 6.855J and ESD.78J
Ottimizzazione Combinatoria 2 Cammino Minimo Vincolato Un esempio basato sulle slide della seguente lezione del Corso Network Optimization MITOpenCourseware http://ocw.mit.edu/courses/sloan-school-of-management/-082j-network-optimization-fall-200/.082j
DettagliProgrammazione dinamica. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis
Programmazione dinamica Progettazione di Algoritmi a.a. 2016-17 Matricole congrue a 1 Docente: Annalisa De Bonis 1 Paradigmi della Progettazione degli Algoritmi Greedy. Costruisci una soluzione in modo
DettagliAlgoritmo di Huffman: correttezza (Coin changing) Grafi
Algoritmo di Huffman: correttezza (Coin changing) Grafi Punto Analisi di algoritmi (notazioni asintotiche, relazioni di ricorrenza) Tecniche di progettazione: divide et impera, programmazione dinamica,
DettagliProgrammazione dinamica. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis
Programmazione dinamica Progettazione di Algoritmi a.a. 2015-16 Matricole congrue a 1 Docente: Annalisa De Bonis 1 Paradigmi della Progettazione degli Algoritmi reedy. Costruisci una soluzione in modo
DettagliCorso di Perfezionamento
Programmazione Dinamica 1 1 Dipartimento di Matematica e Informatica Università di Camerino 15 febbraio 2009 Tecniche di Programmazione Tecniche di progettazione di algoritmi: 1 Divide et Impera 2 Programmazione
DettagliAllineamento multiplo di sequenze
Allineamento multiplo di sequenze Bioinformatica a.a. 2008/2009 Letterio Galletta Università di Pisa 22 Maggio 2009 Letterio Galletta (Università di Pisa) Allineamento multiplo di sequenze 22 Maggio 2009
DettagliESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2.
ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Sono date le seguenti regole: regola(1,[p,d,r],w) regola(2,[a,t,u],p) regola(3,[a,b,r],u)
Dettaglila edit distance tra X e Y è la distanza relativa all allineamento (o agli allineamenti) che minimizza tale distanza.
Algoritmica 14/15 EDIT DISTANCE Il problema della edit distance (distanza di edizione, in una versione in italiano scarsamente usata) è alla base dei problemi di confronto fra sequenze perché il meccanismo
DettagliCalcolo dell n-esimo numero di Fibonacci
Calcolo dell n-esimo numero di Fibonacci Formulazione F n F F F 0 1 n 0 1 F, n 2 1 n2 Algoritmo numerico F n 1 5 n n 1 2 5 1 2 5, 1 Algoritmo ricorsivo Complessità T ( n) 2 T ( n 1) T ( n 2) T ( n) 3F
DettagliOptmization Methods for Machine Learning. Gradient method for multilayer perceptron
Optmization Methods for Machine Learning Laura Palagi http://www.dis.uniroma1.it/ palagi Dipartimento di Ingegneria informatica automatica e gestionale A. Ruberti Sapienza Università di Roma Via Ariosto
DettagliProgrammazione Dinamica (PD)
Programmazione Dinamica (PD) Altra tecnica per risolvere problemi di ottimizzazione, piu generale degli algoritmi greedy La programmazione dinamica risolve un problema di ottimizzazione componendo le soluzioni
DettagliIntroduzione a Matlab
Introduzione a Matlab Ruggero Donida Labati Dipartimento di Tecnologie dell Informazione via Bramante 65, 26013 Crema (CR), Italy ruggero.donida@unimi.it Perché? MATLAB is a high-level technical computing
DettagliOpen walk: Nodo di partenza diverso da quello di arrivo Close walk: Nodo di partenza coincidente con quello di arrivo
Connettività WALK, TRAIL, PATH Walk (passeggiata) Walk (passeggiata): Una passeggiata è una sequenza di nodi e link che inizia e finisce con un nodo, in cui ogni nodo è incidente allo spigolo che lo precede
DettagliIntroduzione Presentazione del problema. Soluzione standard Primo algoritmo Premesse e definizioni. Secondo algoritmo. Conclusioni.
Introduzione Presentazione del problema Analogiecon problemi noti Stato dell arte Soluzione standard Primo algoritmo Premesse e definizioni Idee generali Implementazione ed analisi della complessità Secondo
DettagliESISTENZA DI INFINITI NUMERI PRIMI REGOLARI. Francesco Di Noto, Michele Nardelli. In this paper we describe about the regular prime
ESISTENZA DI INFINITI NUMERI PRIMI REGOLARI Gruppo B. Riemann * Francesco Di Noto, Michele Nardelli *Gruppo amatoriale per la ricerca matematica sui numeri primi, sulle loro congetture e sulle loro connessioni
DettagliPairwise Sequence Alignment BIOINFORMATICA. Corso di Laurea in Ingegneria Informatica e Biomedica. Università Magna Graecia Catanzaro
Pairwise Sequence Alignment BIOINFORMATICA Corso di Laurea in Ingegneria Informatica e Biomedica Università Magna Graecia Catanzaro Outline Similarità Allineamento Omologia Allineamento Esatto di Coppie
DettagliCorso di Bioinformatica. Docente: Dr. Antinisca DI MARCO
Corso di Bioinformatica Docente: Dr. Antinisca DI MARCO Email: antinisca.dimarco@univaq.it Analisi Filogenetica Gene Ancestrale duplicazione genica La filogenesi è lo studio delle relazioni evolutive tra
DettagliU Corso di italiano, Lezione Quattordici
1 U Corso di italiano, Lezione Quattordici F Hi. A bit of grammar today Do you remember? In Italian, there are two ways to address people. You can either talk to someone in an informal way, for example
DettagliALLINEAMENTO DI SEQUENZE
ALLINEAMENTO DI SEQUENZE Procedura per comparare due o piu sequenze, volta a stabilire un insieme di relazioni biunivoche tra coppie di residui delle sequenze considerate che massimizzino la similarita
DettagliScuola Sec. Sec. grado IND. Gara 3-16/17
ESERCIZIO 1 Si faccia riferimento alla GUIDA - OPS 2017, problema ricorrente MOVIMENTO DI UN ROBOT O DI UN PEZZO DEGLI SCACCHI. PROBLEMA In un campo di gara il robot è nella casella [10,12] con orientamento
DettagliGraphs: Cycles. Tecniche di Programmazione A.A. 2012/2013
Graphs: Cycles Tecniche di Programmazione Summary Definitions Algorithms 2 Definitions Graphs: Cycles Cycle A cycle of a graph, sometimes also called a circuit, is a subset of the edge set of that forms
DettagliOttimizzazione Combinatoria Introduzione
Ottimizzazione Combinatoria Introduzione ANTONIO SASSANO Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica Roma, 2010 Problema di Decisione Soluzioni S = insieme delle possibili
DettagliAllineamento di Sequenze
Allineamento di Sequenze (e strutture dati) Alberto Policriti Dipartimento di Matematica e Informatica Istituto di Genomica Applicata 2 Maggio, 2017 A. Policriti Allineamento e 1/31 The Plan Allineamento
DettagliMetodo greedy. 26 novembre esima lezione
Metodo greedy 26 novembre 2014 19-esima lezione Calendario 19. Mercoledì 26 novembre (oggi): Greedy 2 20. Martedì 2 dicembre 9-11: Greedy 3:Huffman 21. Mercoledì 3 dicembre: Grafi 1 22. Martedì 9 dicembre:
DettagliConstant Propagation. A More Complex Semilattice A Nondistributive Framework
Constant Propagation A More Complex Semilattice A Nondistributive Framework 1 The Point Instead of doing constant folding by RD s, we can maintain information about what constant, if any, a variable has
DettagliEsercizi Programming Contest
Esercizi Programming Contest Alberto Montresor 22 maggio 2012 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle
DettagliProgrammazione dinamica
Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)
DettagliAlgoritmi e Strutture Dati. Capitolo 10 Tecniche algoritmiche
Algoritmi e Strutture Dati Capitolo 10 Tecniche algoritmiche Programmazione Dinamica: principi generali 1) identificare un numero piccolo di sottoproblemi es: calcolare l II di peso massimo di G j, j=1,,n
DettagliBiologia Molecolare Computazionale
Biologia Molecolare Computazionale Paolo Provero - paolo.provero@unito.it 2008-2009 Argomenti Allineamento di sequenze Ricostruzione di alberi filogenetici Gene prediction Allineamento Allineamento di
DettagliAree. ! Bioinformatica. ! Teoria dei Controlli. ! Teoria dell Informazione. ! Ricerca Operativa.
0// Paradigmi algoritmici Chapter Dynamic Programming reedy. Costruisce la soluzione incrementalmente, ottimizzando qualche criterio locale. Divide-and-conquer. Divide un problema in diversi sottoproblemi,
DettagliTempo di esecuzione e Analisi asintotica
Tempo di esecuzione e Analisi asintotica Corso di Algoritmi Progettazione e analisi di algoritmi Progettazione: tecnica Divide-et-impera, Greedy, Programmazione dinamica Analisi «asintotica» delle risorse
DettagliDizionari Liste invertite e Trie
Dizionari Liste invertite e Trie Lucidi tratti da Crescenzi Gambosi Grossi, Strutture di dati e algoritmi Progettazione, analisi e visualizzazione Addison-Wesley, 2006 Dizionari Universo U delle chiavi
DettagliAlgoritmi e Strutture Dati
Algoritmi Golosi (Greedy) Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino un algoritmo goloso correttezza Problema della selezione di attività
Dettagli! Bioinformatica. ! Teoria dei Controlli. ! Teoria dell Informazione. ! Ricerca Operativa. ! Informatica: teoria, grafica, Inteligenza Artificiale,.
Paradigmi algoritmici Chapter Dynamic Programming reedy. Costruisce la soluzione incrementalmente, ottimizzando qualche criterio locale. Divide-and-conquer. Divide un problema in due (o più) sottoproblemi,
DettagliGrafi: definizioni e visite
Grafi: definizioni e visite Grafi (non orientati) Grafo (non orientato): G = (V, E) V = nodi (o vertici) E = archi fra coppie di nodi distinti. Modella relazioni fra coppie di oggetti. Parametri della
DettagliCammini minimi. Damiano Macedonio
Cammini minimi Damiano Macedonio mace@unive.it Copyright 2010 2012, Moreno Marzolla, Università di Bologna, Italy (http://www.moreno.marzolla.name/teaching/asd2011b/) Modifications Copyright c 2015, Damiano
DettagliTempo di esecuzione e Analisi asintotica
Tempo di esecuzione e Analisi asintotica Corso di Algoritmi Progettazione e analisi di algoritmi Progettazione: tecnica Divide-et-impera, Greedy, Programmazione dinamica Analisi «asintotica» delle risorse
DettagliMaps. a.k.a, associative array, map, or dictionary
Maps a.k.a, associative array, map, or dictionary Definition } In computer science, an associative array, map, or dictionary is an abstract data type composed of (key, value) pairs, such that each key
DettagliAlgoritmi e Strutture Dati. Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford
Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford Cammini minimi in grafi: una trilogia Cammini minimi in grafi: Episodio II: cammini minimi a singola sorgente (per grafi
DettagliFisica Computazionale
Fisica Computazionale Lavori in Corso a Fisica 2016 Alessandro Gabbana Universitá Degli Studi di Ferrara November 22, 2016 A.Gabbana, R.Tripiccione Fisica Computazionale November 22, 2016 1 / 11 Introduzione
DettagliAlgoritmi e strutture di dati 2
Algoritmi e strutture di dati 2 Paola Vocca Lezione 2: Tecniche golose (greedy) Lezione1- Divide et impera 1 Progettazione di algoritmi greedy Tecniche di dimostrazione (progettazione) o Greedy algorithms
DettagliAlgoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione
Algoritmi greedy Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Gli algoritmi greedy sono algoritmi basati sull idea
DettagliMassima sottosequenza comune
Massima sottosequenza comune Luca Foschini Il problema Supponiamo di volere confrontare 2 stringhe di caratteri per stabilire quanto differiscano l una dall altra. Innazitutto dovremmo definire il concetto
DettagliEsercizi Union-Find e su Grafi. Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 0 07 Esercizi Union-Find e su Grafi. Ugo Vaccaro. Esercizio: Scrivere pseudocodice per Make-Set, Union, e Find-Set usando la rappresentazione attraverso liste
DettagliTesi di Laurea di Mauro Baluda matr. 038208
Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Algoritmi per l'allineamento di Sequenze Tesi di Laurea di matr. 038208 Relatore:
DettagliQuestion 1: algorithms, data structures, problem classes, and algorithmic techniques
Question 1: alg. s, data struct. s, problem classes, and alg. techniques Question 1: algorithms, data structures, problem classes, and algorithmic techniques What is a dynamic data structure? (4 points).
DettagliAnalisi algoritmi ricorsivi e relazioni di ricorrenza
Analisi algoritmi ricorsivi e relazioni di ricorrenza Punto della situazione Finora abbiamo affrontato: il tempo di esecuzione di un algoritmo, l analisi asintotica con le notazioni asintotiche e la tecnica
DettagliAlgoritmi e Strutture Dati. Luciano Gualà
Algoritmi e Strutture Dati Luciano Gualà guala@mat.uniroma2.it www.mat.uniroma2.it/~guala Programmazione dinamica una tecnica di progettazione algoritmica molto potente Sommario La tecnica della programmazione
DettagliAlgoritmi e Strutture Dati
Elementi di Programmazione Dinamica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 19 novembre 2008 Elementi di programmazione dinamica Parte
DettagliProgettazione di Algoritmi (9 CFU) Classe 3 (matricole congrue 2 modulo 3) Prof.ssa Anselmo. Appello del 27 Giugno 2018.
COGNOME: Nome: Progettazione di Algoritmi (9 CFU) Classe 3 (matricole congrue 2 modulo 3) Prof.ssa Anselmo Appello del 27 Giugno 2018 Attenzione: Inserire i propri dati nell apposito spazio soprastante
DettagliQuicksort Moltiplicazione di interi Master Theorem Valutazione del tempo di esecuzione di algoritmi iterativi e ricorsivi
Quicksort Moltiplicazione di interi Master Theorem Valutazione del tempo di esecuzione di algoritmi iterativi e ricorsivi Algoritmi basati sulla tecnica Divide et Impera In questo corso: Ricerca binaria
DettagliCapitolo 6 - Array. Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
1 Capitolo 6 - Array Array Array Gruppo di locazioni di memoria consecutive Stesso nome e tipo Per riferirsi a un elemento, specificare Nome dell array Posizione Formato: arrayname[ position number ] Primo
DettagliAlgoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione
Algoritmi greedy Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Gli algoritmi greedy sono algoritmi basati sull idea
DettagliUniversita degli Studi di Siena
Universita degli Studi di Siena Facolta di Ingegneria Dispense del corso di Sistemi di Supporto alle Decisioni I La Programmazione Dinamica Chiara Mocenni Corso di Laurea triennale in Ingegneria Gestionale
DettagliCammini minimi in grafi:
Algoritmi e strutture dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Cammini minimi in grafi: una trilogia Cammini minimi in grafi: Episodio III: la fine della trilogia Input: nelle puntate
DettagliPROBLEMI DI VINCOLI CSP (Constraint satisfaction problems),, X ik. ) che specificano quali valori delle variabili sono compatibili tra loro,
PROBLEMI DI VINCOLI CSP (Constraint satisfaction problems) Dato un insieme finito di variabili X, X,, X n D, D,, D n i cui valori appartengono a domini e un insieme di vincoli c(x i, X i,, X ik ) che specificano
DettagliPrima prova Intermedia di Ricerca Operativa 2 COMPITO A Esercizio 1 (7 punti): LIFO
Prima prova Intermedia di Ricerca Operativa 2 COMPITO A 13 novembre 2015 Nome e Cognome Matricola: Esercizio 1 (7 punti): Si consideri il seguente problema di programmazione lineare intera. max 32x 1 +
DettagliCammini Minimi. Algoritmo di Dijkstra. Cammino in un grafo
Cammini Minimi Algoritmo di Dijkstra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percorso) in G è un insieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v 3 v k In un grafo
DettagliCammini Minimi. Algoritmo di Dijkstra
Cammini Minimi Algoritmo di Dijkstra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percorso) in G è un insieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v 3 v k In un grafo
DettagliFisher Linear discriminant analysis (pag 228)
Fisher Linear discriminant analysis (pag 228) 1 Nell Analisi delle componenti proncipali PCA si trovano quelle componenti utili per la rappresentazione dei dati Tali componenti non sono utili a discriminare
DettagliInformatica Generale Homework di Recupero 2016
Informatica Generale Homework di Recupero 016 docente: Ivano Salvo Sapienza Università di Roma Gruppo 1 Esercizio 1.1 Scrivere un programma C che presi in input due interi positivi a ed b (a, b > 0) calcola
DettagliIntroduzione al Corso di Algoritmi
Introduzione al Corso di Algoritmi Di cosa parliamo oggi: Una discussione generale su cosa studieremo, perchè lo studeriemo, come lo studieremo,... Un esempio illustrativo di cosa studeriemo Informazione
DettagliAccesso Mul*plo - modelli
Accesso Mul*plo - modelli Conceptual Model of Mul/ple Access A B C D Station A Station B Station C Station D Master Channel The Master does not know if and how many packets are present in each queue (i.e.,
Dettagli2.3.3 Cammini ottimi nei grafi senza circuiti
.. Cammini ottimi nei grafi senza circuiti Sia un grafo G = (N, A) orientato senza circuiti e una funzione di costo che assegna un valore c ij R ad ogni arco (i, j) A circuito Proprietà I nodi di un grafo
DettagliDati e Algoritmi 1: A. Pietracaprina. Text Processing
Dati e Algoritmi 1: A. Pietracaprina Text Processing 1 Campi Applicativi text editing web searching computational biology (e.g., DNA analysis) vision... 2 Definizioni Stringa P P P[0]P[1]... P[m 1] (lunghezza
DettagliCorso di Algoritmi e Strutture Dati con Laboratorio. The JCF(continua): L interfaccia Map
Corso di Algoritmi e Strutture Dati con Laboratorio The JCF(continua): L interfaccia Map Unamappaè unaraccolta (oggetto che contiene elementi: es: array, oggetto di tipo Collection) in cui ogni elemento
DettagliTempo di esecuzione e Analisi asintotica
Tempo di esecuzione e Analisi asintotica Corso di Algoritmi Progettazione e analisi di algoritmi Progettazione: tecnica Divide-et-impera, Greedy, Programmazione dinamica Analisi «asintotica» delle risorse
DettagliLe coniche furono studiate già 2000 anni fa dagli antichi Greci in particolare da Apollonio (III secolo a.c) che ne scoprì numerose proprietà.
Coniche 1 3 Ci sono alcune curve, dette coniche, che fanno la loro comparsa in moltissimi ambiti, apparentemente diversi fra loro; per esempio: le traiettorie dei pianeti sono coniche; le superficie delle
DettagliInformatica Grafica. Gianluigi Ciocca, Simone Bianco F1801Q120
Informatica Grafica Gianluigi Ciocca, Simone Bianco F80Q20 Renderingdi primitive 2D Filling () Scan Line Polgon Fill Algorithm Per ogni riga dell immagine (line) Determinare le intersezioni con gli edge
DettagliLaboratorio di Informatica 2004/ 2005 Corso di laurea in biotecnologie - Novara Viviana Patti Esercitazione 7 2.
Laboratorio di Informatica 2004/ 2005 Corso di laurea in biotecnologie - Novara Viviana Patti patti@di.unito.it Esercitazione 7 1 Info&Bio Bio@Lab Allineamento di sequenze Esercitazione 7 2 1 Es2: Allineamento
DettagliAlgoritmi e Strutture Dati
Elementi di Programmazione Dinamica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Tecniche di Programmazione Tecniche di progettazione e
DettagliHALF YEARLY EXAMINATIONS CLUSTERING FEBRUARY FORM 3 (1st year) ITALIAN TIME: 6 min ORAL EXAMINATION EXAMINER S PAPER (GROUPS A & B)
FORM 3 (1st year) ITALIAN TIME: 6 min Instructions to Examiners ORAL EXAMINATION (GROUPS A & B) i) Make the candidates feel at ease. ii) Remind candidates that in all three parts of this oral they are
DettagliAlberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa
Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni
DettagliEsame di Ricerca Operativa del 18/06/18
Esame di Ricerca Operativa del 8/0/8 (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x +x x x x +x x x x + x
DettagliProblema del trasporto
p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. p. 1/1 Problema del trasporto Supponiamo di avere m depositi in
DettagliASD Laboratorio 07. Alessio Guerrieri/Lorenzo Ghiro 28/02/2018. Alessio Guerrieri/Lorenzo Ghiro ASD Laboratorio 07 28/02/ / 11
ASD Laboratorio 07 Alessio Guerrieri/Lorenzo Ghiro 28/02/2018 Alessio Guerrieri/Lorenzo Ghiro ASD Laboratorio 07 28/02/2018 1 / 11 CALENDARIO 28/02 Dinamica 1 07/03 Dinamica 2 21/03 Progetto Dinamica 16/05
DettagliAlgoritmi Avanzati Soluzioni dello scritto del 2 febbraio 2004 (appello straordinario)
Algoritmi Avanzati Soluzioni dello scritto del febbraio 004 (appello straordinario) 1. Tengo nascosto nel taschino della giacca un grafo misterioso di 7 nodi. Vi dico solo che listando le valenze (= numero
DettagliGARA SECONDARIA PRIMO GRADO - INDIVIDUALI. ESERCIZIO 1 Si faccia riferimento alla GUIDA - OPS 2018, problema ricorrente REGOLE E DEDUZIONI.
GARA 6 2018 SECONDARIA PRIMO GRADO - INDIVIDUALI ESERCIZIO 1 Si faccia riferimento alla GUIDA - OPS 2018, problema ricorrente REGOLE E DEDUZIONI. PROBLEMA Siano date le seguenti regole: regola(1,[d,p],q).
DettagliNotazioni asintotiche. Martedì 30 settembre 2014
Notazioni asintotiche Martedì 30 settembre 2014 Punto della situazione Cos è un algoritmo Tempo di esecuzione T(n) Analisi di algoritmi: analisi asintotica di T(n) Argomento di oggi: Notazioni asintotiche:
DettagliAlgoritmi e strutture dati
Algoritmi e Strutture Dati Cammini minimi Definizioni Sia G = (V,E) un grafo orientato pesato sugli archi. Il costo di un cammino π = è dato da: Un cammino minimo tra una coppia di
DettagliFASTA. Lezione del
FASTA Lezione del 10.03.2016 Omologia vs Similarità Quando si confrontano due sequenze o strutture si usano spesso indifferentemente i termini somiglianza o omologia per indicare che esiste un rapporto
DettagliSerie di numeri di diverse origini. Marcata asimmetria in favore dei digits bassi nella prima cifra. Legge di Benford. Processi moltiplicativi
Serie di numeri di diverse origini Marcata asimmetria in favore dei digits bassi nella prima cifra Legge di Benford Processi moltiplicativi Primi 3 digits dei titoli di borsa: 60%,2 e 3 40% da 4 a 9 s
DettagliAppunti lezione Capitolo 13 Programmazione dinamica
Appunti lezione Capitolo 13 Programmazione dinamica Alberto Montresor 12 Novembre, 2015 1 Domanda: Fattore di crescita dei numeri catalani Vogliamo dimostrare che cresce almeno come 2 n. La nostra ipotesi
DettagliAlgoritmi. Matricole dispari Prof.ssa Anselmo. Appello del 29 Gennaio Attenzione:
COGNOME: Nome: Algoritmi Matricole dispari Prof.ssa Anselmo Appello del 29 Gennaio 2015 Attenzione: Inserire i propri dati nell apposito spazio soprastante e sottostante. Non voltare la pagina finché non
DettagliScelta di uno scambiatore di calore serie aria /olio
Scelta di uno scambiatore di calore serie aria /olio Di seguito spiegheremo brevemente come procedere alla scelta dello scambiatore di calore più idoneo a partire dai dati in proprio possesso. La scelta
Dettagli