ALLINEAMENTO DI SEQUENZE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ALLINEAMENTO DI SEQUENZE"

Transcript

1 ALLINEAMENTO DI SEQUENZE Gli obiettivi degli algoritmi di allineamento di sequenze di acidi nucleici o proteine sono molteplici. Possiamo ricordare la ricerca di similarità nelle banche dati, la costruzione di alberi filogenetici e l identificazione di motivi funzionali. Un applicazione tipica è quella di scoprire geni simili ad un gene di cui si conosce la funzione, ad esempio in questo modo è stata verificata la somiglianza tra geni oncogeni e geni deputati alla crescita cellulare. Da un punto di vista biologico è importante notare che gli algoritmi di allineamento individuano una similarità tra sequenze, cioè una somiglianza di tipo algoritmico indipendente dalle cause che la generano. Il concetto di similarità è differente da quello biologico di omologia, che indica una similarità dovuta ad una comune origine filogenetica. La similarità può esistere anche in assenza di omologia, per caso o per l effetto di fenomeni di convergenza adattativa. Per convergenza adattativa si indica la somiglianza tra strutture dovuta alla pressione evolutiva. Ad esempio a livello macroscopico i coccodrilli e gli alligatori pur essendo simili morfologicamente hanno una origine comune filogenetica remota, mentre la somiglianza è dovuta all evoluzione parallela guidata da ambienti molto simili. La stessa cosa può avvenire a livello molecolare. Gli algoritmi bioinformatici comunque possono fornire solo misure di similarità, mentre la natura delle cause della similarità deve essere indagata a livello biologico. In generale una sequenza A sarà definita come una stringa formata da N simboli, dove i simboli apparterranno ad un certo alfabeto. Quindi: A = (a 1, a 2, a 3,..a N ) Con a i ε (A,T,C,G) nel caso di sequenze di acidi nucleici e a i ε (A,R,N,D,C,Q,E,G,H,I,L,K,M,F,P,S,T,W,Y,V) nel caso di sequenze proteiche. Notiamo che il concetto è applicabile a qualsiasi segnale digitale. Ad esempio un segnale s(nt) è una stringa formata da simboli appartenenti ad un alfabeto dipendente dalla quantizzazione (ad esempio un alfabeto di 2 8 simboli nel caso di segnali ad 8 bit. Date due sequenze A e B descritte da due stringhe formate da N ed M simboli rispettivamente, allineare le due sequenze vuol dire trovare la sequenza f(b) tale che la distanza tra A e C=f(B) sia la minima possibile (oppure che la similarità sia massima). f() è una qualche trasformazione che può essere applicata alla sequenza, ad esempio un semplice shift di n caratteri. Formalizzando, l operazione di allineamento consiste in tre passi fondamentali: 1. Scelta di una metrica di allineamento (distance). 2. Definizione delle possibili trasformazioni f() che s possono applicare (search space).

2 3. Definizione di un algoritmo che trovi il minimo (o il massimo) della metrica nel search space (algoritmo di ottimizzazione). Una buona distanza sarà sempre non negativa e simmetrica (cioè d(a,b)=d(b,a)). La distanza sarà uguale a zero se le sequenze sono perfettamente allineate. Il modello più semplice di distanza definito in bioinformatica è la distanza di Hamming, definita come il numero di posizioni in cui due stringhe differiscono tra loro. La distanza di Hamming si calcola confrontando le coppie (ai,bi) e contando le coppie differenti. Analogamente, la similarità di Hamming si computa contando le coppie uguali. Notiamo che le metriche di Hamming dipendono dalla lunghezza delle sequenze, quindi può essere opportuno usare delle versioni normalizzate alla lunghezza delle sequenze stesse. Supponiamo di utilizzare la distanza di Hamming e che f() sia un operazione di shift delle due sequenze. Siano ad esempio: A = A A K K Q W B = A A K Q W La ricerca dell allineamento consiste nel considerare le posizioni: A A K K Q W A A K Q W A A K K Q W A A K Q W A A K K Q W A A K Q W A A K K Q W A A K Q W A A K K Q W A A K Q W A A K K Q W A A K Q W A A K K Q W A A K Q W A A K K Q W A A K Q W A A K K Q W A A K Q W A A K K Q W A A K Q W Per ognuna delle possibili posizioni dobbiamo valutare il numero di simboli che si appaiano esattamente, ovvero la similarità di Hamming. In questo caso l allineamento ottimo risulta quello della quinta casella con punteggio 4 (shift = +1). In questo caso il search space ha dimensione 10= N+M-1 che sono i possibili valori dello shift. Per trovare lo shift ottimo abbiamo enumerato tutti i possibili valori di shift e preso alla fine quello che massimizza la metrica scelta. Questo approccio è detto ricerca esaustiva o brute force. Una alternativa grafica alla ricerca esaustiva è la computazione della cosiddetta dot matrix. In questo tipo di rappresentazione, viene costruita una matrice NxM, e gli elementi della matrice vengono posti ad uno in caso di corrispondenza tra i simboli delle due sequenze. Nel caso di due sequenze identiche, la dot-matrix sarà formata da una diagonale continua con del rumore, costituito dagli allineamenti casuali. In generale, un indice di similarità alto tra due sequenze corrisponderà ad una diagonale marcata. Il rumore casuale può essere ridotto con opportuni algoritmi di filtraggio.

3 L approccio brute force è applicabile solo per problemi semplici. Supponiamo ad esempio di volere allineare tre sequenze di lunghezza N, definendo la similarità come il numero di coincidenze nelle tre sequenze (quindi S=0,1,2 per ogni locazione). Il numero di casi da computare è ora (2N-1) 2. Se le sequenze sono K, il numero diventa (2N-1) K-1. Si vede come per N e K anche piccoli il numero di casi diventi estremamente grande. Più precisamente si dirà che la complessità computazionale dell algoritmo brute force è troppo grande. In generale per risolvere problemi di allineamento di interesse pratico è quindi necessario utilizzare algoritmi di ottimizzazione più efficienti (cioè con complessità computazionale minore) della semplice ricerca esaustiva. E quindi opportuno introdurre il concetto di complessità computazionale che è di fondamentale importanza nello studio degli algoritmi in bioinformatica. EDIT DISTANCE Questo approccio ha alcuni evidenti svantaggi. Innanzitutto non introduce nessuna considerazione di tipo biologico, per cui tutti i tipi di allineamenti sono considerati equiprobabili. Inoltre introduce un errore sistematico rispetto alla lunghezza delle sequenze. Consideriamo infatti due sequenze di lunghezza N di acidi nucleici, e sia K la lunghezza della parte sovrapposta durante i vari tentativi di allineamento. In media avremo K/4 coincidenze tra simboli per puri motivi statistici. Questo indice di similarità quindi favorisce le posizioni dove K è più grande. Infine non tiene conto della possibilità di inserzione di un gap. In bioinformatica, il problema dell allineamento di due sequenze deve essere considerare la possibilità che il migliore allineamento comporti l inserimento di gap nelle sequenze. Il significato biologico di un gap è nel fatto che nel corso dei processi evolutivi possono avvenire fenomeni di inserzione e/o delezione che comportano lunghezze diverse per sequenze omologhe di DNA o proteine. Consideriamo ad esempio le due sequenze di aminoacidi: IPLMTRWDQEQESDFGHKLPIYTREWCTRG CHKIPLMTRWDQQESDFGHKLPVIYTREW

4 Possono essere allineate con score 10. Se però inseriamo due gap abbiamo un allineamento molto migliore (score 25). IPLMTRWDQEQESDFGHKLP-IYTREWCTRG CHKIPLMTRWDQ-QESDFGHKLPVIYTREW Il primo gap ad esempio può corrispondere all inserzione di E nella prima sequenza o alla delezione di un simbolo non noto nella seconda sequenza. Chiaramente, rappresentando un gap una modificazione di tipo biologico l inserzione dello stesso andrà penalizzata a livello di punteggio di allineamento. Una definizione alternativa di similarità che consente di inserire il concetto di gap è l inverso della edit distance, introdotta da Levenshtein. La edit distance tra due stringhe è il numero minimo di operazioni di editing necessarie per trasformare una stringa nell altra. Le possibili operazioni di editing sono l inserzione, la cancellazione e la sostituzione di un simbolo con un altro. L edit distance è equivalente alla distanza di Hamming se non si considerano le operazioni di inserzione e cancellazione. Tenendo conto delle operazioni di inserzione e cancellazione si ottiene un modello di distanza più adeguato alla realtà biologica. Evidentemente esistono infinite combinazioni di operazioni di inserzione, cancellazione e sostituzione che trasformano una stringa in un altra. Ad esempio, consideriamo le stringhe: S1: TGCATAT S2: ATCCGAT E possibile trasformare S1 in S2 con 5 operazioni: TGCATAT Cancellare l ultima T TGCATA Cancellare l ultima A TGCAT Aggiungere A all inizio ATGCAT sostituzione di G con C ATCCAT Inserire una G ATCCAT Sembrerebbe quindi che la edit distance sia 5. In realtà è possibile trasformare S1 in S2 con sole 4 operazioni: TGCATAT Inserimento di A in prima posizione ATGCATAT cancellazione di T alla posizione 6 ATGCAAT sostituzione di A con G

5 ATGCGAT ATCCGAT sostituzione di G con C La edit distance tra le stringhe è quindi 4. Il problema del calcolo della edit distance tra due sequenze è quindi quello di trovare tra tutte le possibili trasformazioni quella che richiede il numero minimo di operazioni. E facile verificare che la possibilità di inserire spazi (gap) nelle due sequenze aumenta in modo esponenziale la complessità degli algoritmi brute-force di allineamento. Limitandoci ad un solo gap, l inserzione dello stesso in una sequenza di N simboli crea N nuove sequenze, ognuna delle quali andrebbe allineata con la seconda sequenza ottenendo una complessità O(n 3 ). Aumentando il numero di gap, la complessità diviene O(n n ). Diviene quindi impossibile utilizzare algoritmi esaustivi (o brute-force) ma bisogna passare ad algoritmi più efficienti, quali quelli di programmazione dinamica. Il problema del calcolo della edit distance può essere formalizzato nel modo seguente: Definiamo allineamento di due stringhe v (di n caratteri) e w (di m caratteri) una matrice con due righe, ognuna delle quali contiene i caratteri di v e w nell ordine in cui compaiono in v e w, eventualmente con degli spazi bianchi (carattere nullo) tra di essi. Ad esempio la matrice seguente è un allineamento delle stringhe S1 e S2 definite prima: Si può supporre che non ci siano colonne composte solo da spazi, perché questo comporterebbe un aumento inutile del numero di inserzioni. Sotto questa ipotesi, il numero massimo di colonne della matrice di allineamento è n+m. Le colonne che contengono lo stesso simbolo si dicono matches, quelle con simboli diversi mismatches. Le colonne con uno spazio si dicono indels, divise in insertions (spazio nella colonna superiore) e deletions (spazio nella colonna inferiore). Ovviamente vista l arbitrarietà della scelta dell ordine delle sequenze i concetti di inserzione e delezione sono interscambiabili. Nell esempio abbiamo 5 matches, 0 mismatches, 2 insertions e 2 deletions. Dal punto di vista dell edit distance, l allineamento in figura equivale alle operazioni: ATGTTAT ATCGTTAT ATCGTTATC ATCGTATC ATCGTAC

6 Quindi ad un numero di trasformazioni 4. In generale il numero di indels in un allineamento senza mismatch è equivalente al numero di trasformazioni del calcolo della edit distance. Il calcolo della edit distance è quindi equivalente al calcolo della matrice di allineamento ottima. La matrice di allineamento può anche essere scritta come il numero di simboli delle stringhe presenti ad un specifica posizione: partendo da (0,0), nella prima colonna abbiamo un simbolo per ciascuna stringa (1,1), poi (2,2), poi abbiamo uno spazio e quindi (2,3), etc. Questa rappresentazione corrisponde ad un percorso diagonale in una matrice. In generale ogni percorso diagonale nella matrice corrisponde ad un possibile allineamento. Ogni segmento che congiunge due nodi di un percorso è equivalente ad una colonna dell allineamento. Segmenti verticali ed orizzontali corrispondono all inserimento di uno spazio. A questo punto abbiamo individuato una corrispondenza tra il problema dell allineamento di due sequenze ed il problema di trovare un percorso ottimo in una matrice formata dalle due sequenze in esame. Tutti i problemi di allineamento di sequenze possono essere ricondotti quindi ad un problema di tipo matriciale, risolvibile con algoritmi di tipo dynamic programming. Nell esempio, non essendoci mismatch trovare il percorso ottimo equivale a trovare il percorso a lunghezza minima evitando il più possibile le deviazioni rappresentate dagli indels. In generale per risolvere il problema del percorso ottimo, dobbiamo in qualche modo pesare i vari nodi della matrice introducendo una qualche metrica.

7 Nel caso della edit distance, mismatch, inserzioni e delezioni vengono pesate tutte con valore -1. In generale, una misura di similarità che tenga conto dell inserimento di gap dovrà tener conto del numero di gap inseriti e della loro lunghezza. Formalizzando avremo l espressione: score = L i= 1 G s( a, b ) δ i i [ γ + ( len( j) 1) ] j= 1 Dove L è la lunghezza dell allineamento che stiamo considerando, cioè della parte in cui le due sequenze si sovrappongono. s(a,b) è lo score dell appaiamento di due residui, nei casi finora illustrati avremmo s(a,b)=1 se a=b, 0 altrimenti. G è il numero di gap inseriti. γ è la penalità per l inserzione di un gap, mentre δ è la penalità per l allungamento di un gap esistente. len rappresenta la lunghezza del gap. Problema della ricerca della maggiore sottosequenza comune (Longest Common Subsequences, LCS) Per capire come funziona l approccio dynamic programming consideriamo un problema abbastanza semplice, cioè il problema LCS. Definiamo una sottosequenza v come una stringa di simboli, anche non consecutivi, estratta ordinatamente da una sequenza A. Ad esempio se A=ATTGCTA, sottosequenze sono AGCA e ATTA, mentre TGTT non è una sottosequenza. Una sottosequenza comune a due sequenze A e B è una sottosequenza presente in ambedue le sequenze. Ad esempio TCTA è una sottosequenza comune di

8 ATCTGAT e TGCATA. Il problema LCS consiste nel trovare la sottosequenza comune più lunga. Se s(a,b) è la lunghezza della più lunga sottosequenza comune, la edit distance tra A e B considerando possibili solo le operazioni di inserzione e di delezione sarà: d(a,b)=n+m-s(a,b). Il problema LCS corrisponde a considerare l ipotesi più semplice possibile per la definizione dello score di allineamento: S i,j = 1 se il residuo i della sequenza #1 è lo stesso del residuo j della sequenza #2 (match score, punteggio di appaiamento); altrimenti scegliamo: S i,j = 0 (mismatch score, punteggio per il mancato appaiamento) w = 0 (cioè γ=0 e δ=0) (gap penalty, penalità per il gap) Consideriamo ora le due sequenze: G A A T T C A G T T A G G A T C G A (sequenza #1, lunghezza M=11) (sequenza #2, lunghezza N=7) Vogliamo risolvere il problema LCS per queste sequenze. Il problema LCS può essere risolto attraverso un algoritmo di dynamic programming, che comprende tre passi fondamentali: 1. Inizializzazione 2. Riempimento della matrice 3. Traceback (tracciamento all indietro, recupero del percorso ottimo. Inizializzazione Il primo passo è creare una matrice vuota con M+1 colonne ed N+1 righe (o viceversa, naturalmente). Ogni riga e colonna hanno come etichetta uno dei residui delle due sequenze. Notiamo che un percorso sulla matrice corrisponde ad un possibile allineamento, ad esempio se consideriamo la diagonale (in rosso) abbiamo l allineamento corrispondente: G A A T T C A G T T A G G A T C G A Il percorso in verde corrisponde all allineamento: G A A T T C A G T T A G G A T C G A

9 Il percorso in blu corrisponde ad un allineamento con gap : G A A T T C A G T T A G G A T C G A In pratica un salto in orizzontale corrisponde ad un gap inserito nella seconda sequenza, un salto in verticale ad un gap inserito nella prima sequenza. Poiché un residuo in una sequenza può appaiarsi con un solo residuo nell altra sequenza, i percorsi possibili nella matrice, quelli cioè corrispondenti a possibili allineamenti, devono rispettare le regole: 1. Da una casella ci si può muovere solo da destra verso sinistra, dall alto verso il basso o lungo la diagonale discendente. 2. Su ogni riga ci può essere un solo punto del percorso. 3. Su ogni colonna ci può essere un solo punto del percorso. Passiamo ora all inizializzazione della matrice. Possiamo riempire con 0 la prima riga e la prima colonna della matrice. Riempimento della matrice Partiamo dall angolo superiore sinistro della matrice e riempiamo la matrice stessa, riempiendo via via tutte le caselle con il Massimo punteggio di allineamento possibile M i,j. Per trovare M i,j per ogni i,j è

10 necessario conoscere lo score delle caselle sinistra, destra e diagonale ascendente rispetto a i, j. In altre parole, è necessario conoscere M i-1,j, M i,j-1 and M i-1, j-1. M i,j sarà definito dalla formula: M i,j = MAX[ M i-1, j-1 + S i,j (match/mismatch sulla diagonale), M i,j-1 + w (gap nella sequenza #1), M i-1,j + w (gap nella sequenza #2)] Nell esempio, M i-1,j-1 è in rosso, M i,j-1 è in verde e M i-1,j è in blu. Di conseguenza, possiamo calcolare lo score nel punto 1,1 nella matrice. Visto che il primo residuo nelle due sequenze è G, S 1,1 = 1, e, per le ipotesi fatte inizialmente, w = 0. Allora, M 1,1 = MAX[M 0,0 + 1, M 1, 0 + 0, M 0,1 + 0] = MAX [1, 0, 0] = 1. Dovremo quindi inserire il valore 1 nella posizione 1,1 della matrice. Avendo posto a 0 la penalità per il gap, la riga e la colonna 1 possono essere riempite con 1. Prendiamo come esempio la riga 1. Alla colonna 2, il valore da inserire è il massimo tra 0 (per il mancato allineamento), 0 (per un gap verticale) e 1 (gap orizzontale). Il resto della riga 1 viene riempito nello stesso modo fino alla colonna 8. In questo punto, abbiamo una G in ambedue le sequenze (azzurro). Quindi, il valore della cella alla riga 1 e colonna 8 sarà il massimo tra 1 (congruenza tra i residui), 0 (gap verticale) e 1 (gap orizzontale). Avremo nuovamente il valore 1. Il resto della riga 1 e della colonna 1 saranno analogamente riempiti con 1.

11 Passiamo ora alla colonna 2. La posizione alla riga 2 assumerà il valore 1 (massimo tra 1 (mismatch), 1(gap orizzontale) or 1 (gap verticale)). Alla posizione (3,2 colonna=2, riga=3), abbiamo il residuo A in ambedue le sequenze. Quindi, il valore sarà il massimo tra 2(match), 1 (gap orizzontale), e 1 (gap verticale), quindi 2. La posizione (4,2) assumerà il valore 2 (massimo tra 1 (mismatch), 1 (gap orizzontale), 2 (gap verticale).si prosegue così fino all ultima riga, dove abbiamo il massimo tra 2 (match), 1 (gap orizzontale) and 2 (gap verticale). Con la stessa tecnica si riempie la colonna 3. Ed infine tutta la matrice: Ricostruzione del percorso ottimo Una volta riempita la matrice, il punteggio massimo ottenuto sull ultima riga è 6, corrispondente all angolo inferiore sinistro. Esiste quindi un allineamento, con o senza gap, che con le condizioni

12 imposte produce tale score. La ricostruzione del percorso ottimo (traceback step) consente di ricostruite tale allineamento. In generale gli allineamenti ottimi potranno essere più di uno. La ricostruzione del percorso ottimo inizia dalla casella con il massimo score, nel nostro caso la (8,11). Il processo di ricostruzione verifica per ogni casella quali siano le possibili caselle predecessori. Le possibilità sono tre: la casella sinistra (gap nella sequenza #2), la diagonale sinistra/alto (match/mismatch), e la cella superiore (gap nella sequenza #1). Nel nostro caso, I possibili predecessori della casella (8,11) sono indicate in rosso e sono tutti uguali a 5. Poiché la cella corrente ha valore 6, l unico predecessore possibile è quello in diagonale. Se esiste più di un predecessore, è possibile sceglierne uno in modo arbitrario. La prima coppia di residui è quindi: (Seq #1) (Seq #2) A A Consideriamo ora la casella (7,10) con il valore 5 e consideriamo i possibili predecessori. In questo caso, abbiamo la cella con il 5 in rosso. Il movimento in orizzontale agginge un gap alla sequenza 2, quindi abbiamo: (Seq #1) (Seq #2) T A _ A

13 Proseguendo, dobbiamo inserire un altro gap nella sequenza 2: Con Il relativo allineamento: (Seq #1) (Seq #2) T T A A Continuando il procedimento, arriviamo alla casella (1,1) con il percorso: Ottenendo l allineamento : G A A T T C A G T T A G G A T C G A Quindi la sottosequenza comune più lunga è GATCGA Notiamo che quando sono presenti più celle sulla stessa riga abbiamo dovuto selezionare un sono accoppiamento scegliendo la posizione del gap in modo da massimizzare lo score complessivo. Esistono anche delle soluzioni alternative, come:

14 G A A T T C A G T T A G G A T C G A Con lo stesso punteggio complessivo di allineamento e la sottosequenza comune GATCGA. Di solito gli algoritmi di allineamento non daranno tutte le possibili soluzioni a parità di punteggio massimo, ma solo una delle soluzioni possibili per minimizzare i tempi di calcolo. Il problema dell allineamento globale di due sequenze Il problema generale dell allineamento di due sequenze può essere risolto in modo analogo al problema LCS, cambiando opportunamente i valori di M i,j. In generale, aggiungendo il simbolo del gap - all alfabeto dei simboli, possiamo definire una matrice di scoring di dimensione (k+1)x(k+1), con k=4 per le sequenze di nucleotidi e K=21 per le sequenze proteiche. Il problema diviene quindi quello di trovare l allineamento di due sequenze avendo come input anche la matrice di scoring. Il problema LCS diviene un caso particolare del problema dell allineamento globale. Pensiamo ora di applicare questo schema di punteggio: S i,j = 2 se il residuo i della sequenza #1 è lo stesso del residuo j della sequenza #2 (match score, punteggio di appaiamento) altrimenti S i,j = -1 (mismatch score). Per l inserzione di un gap introduciamo un penalità w = -2 (gap penalty). La matrice iniziale è la medesima: Nel riempimento della matrice adottiamo la tecnica vista in precedenza. La casella (1,1) andrà riempita con il massimo tra [2,-2,-2], cioè M 1,1 = MAX[M 0,0 + 2, M 1,0-2, M 0,1-2] = MAX[2, -2, -2] = 2.

15 Possiamo mantenere memoria del percorso scelto (cioè del precursore della cella (1,1)) per semplificare l operazione di traceback (freccia nera). Passando alla cella (2,1), abbiamo M 1,2 = MAX[M 0,1 + 2, M 1,1-2, M 0,2-2] = MAX[0 + 2, 2-2, 0-2] = MAX[2, 0, -2]=2. Inseriamo un freccia nera verso M[0,1] che punta al Massimo score. Proseguendo con la cella (3,1), abbiamo M 1,3 = MAX[M 0,2-1, M 1,2-2, M 0,3-2] = MAX[0-1, 2-2, 0-2] = MAX[-1, 0, -2]=0. In questo modo è possibile riempire tutta la matrice. Consideriamo la cella (2,3), dove abbiamo S 3,2 = -1 e M 3,2 = MAX[ M 2,1-1, M 3,1-2, M 2,2-2] = MAX[0-1, -1-2, 1-2] = MAX[-1, -3, -1] = -1. Possiamo quindi avere anche punteggi negativi. Qui abbiamo due vie possibili che producono il medesimo score (-1). Dobbiamo tenere traccia dei due possibili percorsi (due frecce nere).

16 La matrice completa dovrebbe essere a meno di errori: Consideriamo le due celle con punteggio (4) sull ultima riga. Attraverso i puntatori inseriti abbiamo semplificato l algoritmo di traceback, a spese di una maggiore complessità dell algoritmo di riempimento della matrice.

17 Un percorso possibile è quello in verde, che corrisponde all allineamento: G A A T T C A G T T A G G A T C G A Abbiamo quindi due residui appaiati senza gap. Il secondo percorso possibile risulta quello in rosso, corrispondente a: G A A T T C A G T T A G G A T C G A Qui abbiamo invece 5 appaiamenti con due gap. Rispetto al caso precedente è facile notare come l inserimento di una penalità sul gap abbia introdotto notevoli differenze negli allineamenti trovati. Notiamo come allo stesso punteggio possano corrispondere allineamenti diversi. E anche possibile che il cammino da seguire per ottenere un determinato punteggio non sia univoco, cioè che in una casella si possano seguire due diversi percorsi. Ad esempio il percorso in rosso ha una possibile alternativa indicata in blu.

18 Il percorso ottimo è quello che da come risultato (5) nell ultima riga, e cioè: Anche qui abbiamo diversi percorsi possibili che producono il massimo punteggio: Un percorso possibile è quello in rosso, che corrisponde all allineamento: G A A T T C A G T T A G G A T C G A Abbiamo quindi 4 residui appaiati senza gap e tre mancati appaiamenti, quindi uno score di 4*2+3*(-1) = 5. Oppure abbiamo il percorso in blu: G A A T T C A G T T A G G A T C G A Che comprende 5 appaiamenti, 1 mancato appaiamento, e due gap, quindi: 5*2 + (-1) + 2*(-2) = 5 L algoritmo illustrato per l allineamento globale di sequenze è noto come algoritmo di Needleman e Wunsch. Matrici di sostituzione PAM e BLOSUM Da un punto di vista biologico, può non essere corretto assegnare lo stesso score all allineamento di due simboli in modo indipendente dal valore dei simboli stessi. Ad esempio, nel caso di allineamento di sequenze di aminoacidi bisogna tener conto del fatto che gli aminoacidi possono essere più o meno simili tra loro. L acido aspartico (D) e l acido glutamminico (E) sono molto simili, per cui nei processi evolutivi possono prendere l uno il posto dell altro in proteine omologhe, senza che la funzione delle proteine cambi sensibilmente. Invece il triptofano (W) è profondamente diverso da D e E, e quindi l allineamento

19 tra D e E dovrebbe essere valutato diversamente rispetto all allineamento tra W e D. Inoltre, alcuni aminoacidi come la cisteina (C) sono più caratterizzanti della funzionalità proteica rispetto ad altri, e quindi tendono ad essere maggiormente conservati nel corso dell evoluzione. Queste considerazioni si esprimono attraverso le cosiddette matrici di sostituzione degli aminoacidi, cioè matrici 20x20 dove sono indicati gli score per gli appaiamenti tra i vari tipi di aminoacidi. Una matrice di sostituzione appare quindi come: La X indica un aminoacido non identificato nella sequenzializzazione della sequenza proteica. * è lo scoring del gap. Come si vede, l allineamento C-C ha uno score elevato, mentre l allineamento A-A ha uno score basso. Come si vede alcuni allineamenti tra aminoacidi diversi vengono premiati con uno score positivo, che premia la somiglianza con altri aminoacidi.

20 Esistono sostanzialmente due tipi di matrici di sostituzione, le matrici PAM e le matrici BLOSUM. Matrici PAM Per costruire le matrici PAM (Percent accepted mutation), si è partiti da sequenze proteiche molto simili tra loro, ad esempio quelle trovate in specie molto vicine dal punto di vista evolutivo come l uomo e lo scimpanzè. Queste sequenze hanno un valore medio di mutazione degli aminoacidi pari all 1%. Essendo estremamente simili, è possibile allinearle con algoritmi semplici che non richiedono l uso di matrici di sostituzione. Date le sequenze allineate e definiti due aminoacidi i e j, definiamo f(i,j) come il numero di volte che gli aminoacidi sono allineati nei due set di sequenze diviso il numero totale di allineamenti (frequenza dell allineamento i,j). Definiamo poi g(i,j)=f(i,j)/f(i) dove f(i) è la frequenza di i nel set di dati. g(i,j) definisce la probabilità che un aminoacido i muti in un aminoacido j in un tempo pari alla distanza filogenetica tra i due set di sequenze. Tale distanza filogenetica, pari a quella in cui si verifica l 1% di mutazioni, è detta PAM 1. La matrice PAM N è ottenuta dalla PAM1 applicando la matrice PAM1 N volte, quindi l elemento della matrice PAM N sarà g n (i,j). Le matrici PAM viste finora sono dette matrici PAM di probabilità e hanno come elementi numeri reali minori o uguali ad 1. Un elemento vicino all unità indica una coppia di aminoacidi più stabile rispetto a un elemento prossimo allo zero. Quando le matrici PAM sono usate come matrici di scoring, si preferisce avere matrici con elementi interi. Gli elementi di una PAM di scoring saranno definiti come: n g δ ( i, j) = 10log f ( i, j) ( j) L uso dei logaritmi è motivato dalla possibilità di ottenere i punteggi complessivi di allineamento sommando gli elementi della matrici invece che moltiplicandoli. I valori delle matrici PAM correntemente utilizzate sono poi ottenuti moltiplicando per 10 e calcolando la parte intera per ottenere dei valori come quelli in figura. In una matrice scoring PAM, valori pari a 0 indicano che la probabilità di appaiamento di due aminoacidi è pari a quella casuale, rappresentata dal prodotto f(i)f(j) al denominatore; valori negativi che è minore e valori positivi che è maggiore. Le matrici PAM utilizzate sono comprese tra al PAM10 e la PAM240. La scelta della matrice da utilizzare dipende da quanto le sequenze da confrontare sono filogeneticamente vicine, maggiore è la distanza ipotizzata maggiore sarà l indice della matrice PAM. Matrici BLOSUM Le matrici BLOSUM sono state calcolate per via sperimentale sulla base della banca dati BLOCKS, che contiene una serie di allineamenti multipli tra sequenze senza gap. Ogni serie di allineamenti contiene sequenze che contengono aminoacidi identici con una certa percentuale P. Da ognuno di questi blocchi è possibile quindi calcolare direttamente una matrice BLOSUM corrispondente alla probabilità del blocco.

21 Anche qui gli elementi della matrice sono calcolati come il logaritmo della probabilità di sostituzione misurata diviso la probabilità di sostituzione casuale. Nelle matrici BLOSUM, l indice è quello della percentuale di identità P del blocco, quindi al contrario delle PAM indici alti indicano matrici vicine alla matrice identità. La differenza fondamentale tra matrici PAM e BLOSUM è che le prime derivano da un modello di sostituzione, mentre le seconde da dati sperimentali. Sostanzialmente le due classi di matrici sono abbastanza simili, con la differenza che le matrici PAM basandosi su di un modello derivante da una serie di mutazioni indipendenti tra loro non tengono conto di mutazioni di tipo più complesso. Allineamento locale di sequenze In molte applicazioni bioinformatiche è importante poter determinare non solo allineamenti globali tra sequenze ma anche allineamenti di tipo locale, cioè limitati a dei sottoinsiemi delle sequenze esaminate. Infatti da un punto di vista biologico è sensato cercare sequenze DNA che risultino altamente simili tra loro in una regione limitata (corrispondente ad esempio ad un particolare gene) anche se differiscono nel loro complesso. In figura è illustrato un esempio di come due sequenze possano presentare un fortissimo allineamento locale che non viene catturato da un algoritmo di allineamento globale. Il motivo risiede nel fatto che comunque la corrispondenza tra basi è abbastanza frequente anche in sequenze non correlate (25%).

22 L algoritmo per l allineamento locale delle sequenze fu sviluppato da Smith e Waterman nel 1981 ed è abbastanza simile all algoritmo per l allineamento globale. Mentre nell allineamento globale l obiettivo è cercare un percorso dall angolo superiore sinistro all ultima riga della griglia, nell algoritmo di programmazione dinamica l obiettivo è trovare un percorso tra due punti qualsiasi della griglia stessa. Consideriamo un esempio di allineamento tra due sequenze: 0 T T A A A F K S T L A R F K L A R R La matrice è stata riempita utilizzando i punteggi di +1 per il match, -1 per il mismatch e -1 per l inserimento di un gap. Rispetto al caso dell allineamento globale, è stata inserita una soglia inferiore 0 per il punteggio di una casella. In altri termini, il punteggio da scrivere in una casella (i,j) sarà: s( i 1, j 1) + M ( i, j) s( i, j 1) W s( i, j) = MAX s( i 1, j) w T Dove W è la penalità per il gap (W=-1 nel nostro caso), T è la soglia (T=0), M(i,j) è lo scoring della coppia i,j (+1/-1). Una volta riempita la tabella si sceglie il valore massimo sull intera tabella e si traccia il percorso ottimo fermandosi quando si va a finire in una casella con punteggio 0 (elementi in verde). In generale potranno esistere più percorsi locali con lo stesso punteggio o con punteggi simili. Notiamo che per T=-Inf la tabella viene riempita come nell algoritmo di allineamento locale. Per questo motivo, i programmi di allineamento disponibili (FASTA e BLAST) sono programmi di allineamento locale che possono essere adattati ad eseguire allineamenti globali alla bisogna. Risorse computazionali (Libro Jones/Pevzner pag. 230) La complessità di un algoritmo dynamic programming per l allineamento di due sequenze è uguale alla complessità del processo di riempimento della matrice,ed è di ordine O(N 2 ) dove N è la lunghezza delle

23 due sequenze (nell ipotesi di sequenze della stessa lunghezza). Si tratta di una complessità polinomiale molto bassa. Il problema sostanziale di questi algoritmi, infatti, non sono i tempi di calcolo ma le risorse di memoria. L occupazione di memoria richiesta è anch essa dell ordine N 2. Il grafico mostra l occupazione di memoria in GB al crescere di N, nell ipotesi benevola in cui la tabella sia codificata in elementi a 8 bit (char). In MATLAB, che usa il tipo double (64 bit), avremmo una occupazione di memoria 8 volte superiore. Si vede come per sequenze di lunghezza di poche migliaia di caratteri (molto comuni in bioinformatica) le risorse di memoria divengano eccessive. Si tenga conto che molti sistemi operativi primitivi (ad esempio windows XP e Vista home) non gestiscono più di 2 GB di RAM. Una possibile soluzione al problema è stata proposta da Hirschberg (1977) per il problema dell allineamento globale. Supponiamo di essere interessati non all allineamento in se stesso, ma solo allo score dell allineamento. Allora possiamo notare che per il calcolo dello score nella colonna j sono necessari solo i valori nella colonna j-1. Quindi una volta calcolata la colonna j possiamo cancellare i dati della colonna j-1 e delle precedenti. In questo modo l occupazione di memoria diventerebbe 2N, cioè dell ordine O(N). Resta il problema di trovare il percorso ottimo che conduce al massimo score, cosa che può essere risolta con un approccio divide and conquer. Il percorso di lunghezza massima nella matrice partirà da (0,0) ed arriverà in (N,M), se N ed M sono le lunghezze delle due sequenze. Tale percorso attraverserà la colonna m/2 in una certa riga mid che non conosciamo. Il cuore dell algoritmo consiste nel trovare tale riga (quindi il middle point) senza conoscere il percorso ottimo. Supponiamo di avere il vertice (i,m/2) (vedi figura) e che L(i) sia la lunghezza del percorso ottimo che da (0,0) va a (N,M) passando per (i,m/2). In altre parole, tra tutti i possibili percorsi che uniscono (0,0) con (N,M) e passano per (i,m/2) scegliamo quello con score migliore. Visto che (mid,m/2) è sul percorso ottimo in senso assoluto, avremo che:

24 L(mid) = max L(i) i=0,.n Il vertice (i,m/2) divide un percorso (in generale non ottimo) in due parti, il prefix da (0,0) a (i,m/2) con lunghezza P(i) ed il suffix da (i, m/2) a (n,m) con lunghezza S(i). La lunghezza totale del percorso è L(i)=P(i)+S(i). P(i) si trova cercando il percorso ottimo nella sottomatrice (0,0) (i,m/2), mentre S(i) si trova come percorso ottimo nella sottomatrice (i,m/2), (n,m) partendo da (i,m/2), che si può trovare trasponendo la sottomatrice ed adoperando il solito algoritmo di backtracing. Come abbiamo visto prima, S(i), P(i), e quindi L(i), che sono degli score, si possono calcolare con una occupazione di memoria limitata. Calcolando in questo modo le L(i) per tutte le i si trova L(mid). Il tempo richiesto per questo calcolo è pari alla somma delle due aree in figura (in alto). La memoria richiesta è di ordine O(N), perché abbiamo solo trovato degli score e non dei percorsi. A questo punto, noto (mid, m/2), il problema è partizionato in due sotto problemi (figura in mezzo), che si risolvono come prima, individuando due nuove ascisse (m/4 e 3m/4). Il tempo del secondo step sarà proporzionale all area dei rettangoli, nel caso peggiore rettangoli di lato n/2, m/2. Iterando il

25 procedimento, si ottiene una serie di sottoproblemi (figura in basso) sempre più piccoli, risolvendo i quali si trova la lista di punti che descrive il percorso ottimo. Il tempo complessivo di calcolo è dell ordine A+A/2+A/4+ <2A, dove A è l area totale della matrice pari ad nm. Quindi la complessità computazionale del problema resta immutata, anche se il tempo di calcolo vero e proprio raddoppia, mentre l occupazione di memoria è lineare in N.

Lezione 2 (10/03/2010): Allineamento di sequenze (parte 1) Antonella Meloni:

Lezione 2 (10/03/2010): Allineamento di sequenze (parte 1) Antonella Meloni: Lezione 2 (10/03/2010): Allineamento di sequenze (parte 1) Antonella Meloni: antonella.meloni@ifc.cnr.it Sequenza A= stringa formata da N simboli, dove i simboli apparterranno ad un certo alfabeto. A

Dettagli

Algoritmi di Allineamento

Algoritmi di Allineamento Algoritmi di Allineamento CORSO DI BIOINFORMATICA Corso di Laurea in Biotecnologie Università Magna Graecia Catanzaro Outline Similarità Allineamento Omologia Allineamento di Coppie di Sequenze Allineamento

Dettagli

ALLINEAMENTO DI SEQUENZE

ALLINEAMENTO 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

Dettagli

Quarta lezione. 1. Ricerca di omologhe in banche dati. 2. Programmi per la ricerca: FASTA BLAST

Quarta lezione. 1. Ricerca di omologhe in banche dati. 2. Programmi per la ricerca: FASTA BLAST Quarta lezione 1. Ricerca di omologhe in banche dati. 2. Programmi per la ricerca: FASTA BLAST Ricerca di omologhe in banche dati Proteina vs. proteine Gene (traduzione in aa) vs. proteine Gene vs. geni

Dettagli

FASTA. Lezione del

FASTA. 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

Dettagli

la edit distance tra X e Y è la distanza relativa all allineamento (o agli allineamenti) che minimizza tale distanza.

la 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

Dettagli

BLAST. W = word size T = threshold X = elongation S = HSP threshold

BLAST. W = word size T = threshold X = elongation S = HSP threshold BLAST Blast (Basic Local Aligment Search Tool) è un programma che cerca similarità locali utilizzando l algoritmo di Altschul et al. Anche Blast, come FASTA, funziona: 1. scomponendo la sequenza query

Dettagli

Programmazione dinamica

Programmazione dinamica Programmazione dinamica Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Programmazione

Dettagli

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g LEZIONE 3 3.. Matrici fortemente ridotte per righe. Nella precedente lezione abbiamo introdotto la nozione di soluzione di un sistema di equazioni lineari. In questa lezione ci poniamo il problema di descrivere

Dettagli

PROGRAMMAZIONE DINAMICA. Prof. Reho Gabriella Olimpiadi di Informatica

PROGRAMMAZIONE DINAMICA. Prof. Reho Gabriella Olimpiadi di Informatica PROGRAMMAZIONE DINAMICA Quando si usa P.D.? La programmazione dinamica si usa nei casi in cui esista una definizione ricorsiva del problema, ma la trasformazione diretta di tale definizione in un algoritmo

Dettagli

La codifica digitale

La codifica digitale La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore

Dettagli

Appunti di matematica per le Scienze Sociali Parte 1

Appunti di matematica per le Scienze Sociali Parte 1 Appunti di matematica per le Scienze Sociali Parte 1 1 Equazioni 1.1 Definizioni preliminari 1.1.1 Monomi Si definisce monomio ogni prodotto indicato di fattori qualsiasi, cioè uguali o diseguali, numerici

Dettagli

Moltiplicazione. Divisione. Multipli e divisori

Moltiplicazione. Divisione. Multipli e divisori Addizione Sottrazione Potenze Moltiplicazione Divisione Multipli e divisori LE QUATTRO OPERAZIONI Una operazione aritmetica è quel procedimento che fa corrispondere ad una coppia ordinata di numeri (termini

Dettagli

Esercizi svolti. delle matrici

Esercizi svolti. delle matrici Esercizi svolti. astratti. Si dica se l insieme delle coppie reali (x, y) soddisfacenti alla relazione x + y è un sottospazio vettoriale di R La risposta è sì, perchè l unica coppia reale che soddisfa

Dettagli

2.6 Calcolo degli equilibri di Nash

2.6 Calcolo degli equilibri di Nash 92 2 Giochi non Cooperativi Per queste estensioni di giochi non finiti si possono provare risultati analoghi a quelli visti per i giochi finiti. Rimandiamo alla bibliografia per uno studio più approfondito

Dettagli

Bioinformatics more basic notions

Bioinformatics more basic notions Bioinformatics more basic notions Alcune slides provengono dal materiale rilasciato da: Dr Sergio Marin Vargas - Verona Prof. Riccardo Percudari - Parma Bioinformatics Bio-inspired Computer science Gli

Dettagli

q xi Modelli probabilis-ci Lanciando un dado abbiamo sei parametri p i >0;

q xi Modelli probabilis-ci Lanciando un dado abbiamo sei parametri p i >0; Modelli probabilis-ci Lanciando un dado abbiamo sei parametri p1 p6 p i >0; 6! i=1 p i =1 Sequenza di dna/proteine x con probabilita q x Probabilita dell intera sequenza n " i!1 q xi Massima verosimiglianza

Dettagli

Lezione 6 Richiami di Geometria Analitica

Lezione 6 Richiami di Geometria Analitica 1 Piano cartesiano Lezione 6 Richiami di Geometria Analitica Consideriamo nel piano due rette perpendicolari che si intersecano in un punto O Consideriamo ciascuna di queste rette come retta orientata

Dettagli

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)

Dettagli

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati.

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati. LEZIONE 2 2 Sistemi di equazioni lineari Definizione 2 Un equazione lineare nelle n incognite x, x 2,, x n a coefficienti reali, è un equazione della forma (2 a x + a 2 x 2 + + a n x n = b, ove a j, b

Dettagli

Programmazione Lineare: problema del trasporto Ing. Valerio Lacagnina

Programmazione Lineare: problema del trasporto Ing. Valerio Lacagnina Problemi di trasporto Consideriamo un problema di programmazione lineare con una struttura matematica particolare. Si può utilizzare, per risolverlo, il metodo del simplesso ma è possibile realizzare una

Dettagli

Appunti su Indipendenza Lineare di Vettori

Appunti su Indipendenza Lineare di Vettori Appunti su Indipendenza Lineare di Vettori Claudia Fassino a.a. Queste dispense, relative a una parte del corso di Matematica Computazionale (Laurea in Informatica), rappresentano solo un aiuto per lo

Dettagli

ESERCIZI SULLE MATRICI

ESERCIZI SULLE MATRICI ESERCIZI SULLE MATRICI Consideriamo il sistema lineare a, x + a, x + + a,n x n = b a, x + a, x + + a,n x n = b a m, x + a m, x + + a m,n x n = b m di m equazioni in n incognite che ha a, a,n A = a m, a

Dettagli

Le sequenze consenso

Le sequenze consenso Le sequenze consenso Si definisce sequenza consenso una sequenza derivata da un multiallineamento che presenta solo i residui più conservati per ogni posizione riassume un multiallineamento. non è identica

Dettagli

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite 3 Sistemi lineari 3 Generalità Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite ovvero, in forma matriciale, a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n x

Dettagli

Esercitazione di Analisi Matematica II

Esercitazione di Analisi Matematica II Esercitazione di Analisi Matematica II Barbara Balossi 06/04/2017 Esercizi di ripasso Esercizio 1 Sia data l applicazione lineare f : R 3 R 3 definita come f(x, y, z) = ( 2x + y z, x 2y + z, x y). a) Calcolare

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

Allineamenti di sequenze: concetti e algoritmi

Allineamenti di sequenze: concetti e algoritmi Allineamenti di sequenze: concetti e algoritmi 1 globine: a- b- mioglobina Precoce esempio di allineamento di sequenza: globine (1961) H.C. Watson and J.C. Kendrew, Comparison Between the Amino-Acid Sequences

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 8 gennaio 8 Il problema è simile all esercizio 5.6 del libro di testo di algoritmi (Introduzione agli algoritmi e strutture dati, T.

Dettagli

Elementi di Algebra Lineare Matrici e Sistemi di Equazioni Lineari

Elementi di Algebra Lineare Matrici e Sistemi di Equazioni Lineari Elementi di Algebra Lineare Matrici e Sistemi di Equazioni Lineari Antonio Lanteri e Cristina Turrini UNIMI - 2016/2017 Antonio Lanteri e Cristina Turrini (UNIMI - 2016/2017 Elementi di Algebra Lineare

Dettagli

FASTA: Lipman & Pearson (1985) BLAST: Altshul (1990) Algoritmi EURISTICI di allineamento

FASTA: Lipman & Pearson (1985) BLAST: Altshul (1990) Algoritmi EURISTICI di allineamento Algoritmi EURISTICI di allineamento Sono nati insieme alle banche dati, con lo scopo di permettere una ricerca per similarità rapida anche se meno accurata contro le migliaia di sequenze depositate. Attualmente

Dettagli

Algoritmi 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 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

Dettagli

Luigi Piroddi

Luigi Piroddi Automazione industriale dispense del corso (a.a. 2008/2009) 10. Reti di Petri: analisi strutturale Luigi Piroddi piroddi@elet.polimi.it Analisi strutturale Un alternativa all analisi esaustiva basata sul

Dettagli

SISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI

SISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI SISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI Appunti presi dalle lezioni del prof. Nedo Checcaglini Liceo Scientifico di Castiglion Fiorentino (Classe 4B) January 17, 005 1 SISTEMI LINEARI Se a ik, b i R,

Dettagli

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con Definizione di matrice Una matrice (di numeri reali) è una tabella di m x n numeri disposti su m righe e n colonne. I numeri che compaiono nella tabella si dicono elementi della matrice. La loro individuazione

Dettagli

A W T V A S A V R T S I A Y T V A A A V R T S I A Y T V A A A V L T S I

A W T V A S A V R T S I A Y T V A A A V R T S I A Y T V A A A V L T S I COME CALCOLARE IL PUNTEIO DI UN ALLINEAMENTO? Il problema del calcolo del punteggio di un allineamento può essere considerato in due modi diversi che, però, sono le due facce di una stessa medaglia al

Dettagli

FUNZIONI. }, oppure la

FUNZIONI. }, oppure la FUNZIONI 1. Definizioni e prime proprietà Il concetto di funzione è di uso comune per esprimere la seguente situazione: due grandezze variano l una al variare dell altra secondo una certa legge. Ad esempio,

Dettagli

1) Hamming bound, coset, codici equivalenti

1) Hamming bound, coset, codici equivalenti Argomenti della Lezione ) Hamming bound, coset, codici equivalenti 2) Esercizi sui codici lineari a blocchi Osservazione () Per effettuare la decodifica a rivelazione di errore si può seguire una delle

Dettagli

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa Esercizi sul problema dell assegnamento Richiami di Teoria Ricordiamo che, dato un grafo G=(N,A),

Dettagli

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI 3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI ESISTENZA DI UN PUNTO DI OTTIMO VINCOLATO Il problema di ottimizzazione vincolata introdotto nel paragrafo precedente può essere formulato nel modo seguente:

Dettagli

Metodo di Quine- McCluskey

Metodo di Quine- McCluskey Metodo di Quine- McCluskey Maurizio Palesi Maurizio Palesi Definizioni Date due funzioni f(x,x 2,,x n ) e g(x,x 2,,x n ) si dice che f copre g (oppure g implica f) e si scrive f g se f(x,x 2,,x n )= quando

Dettagli

FUNZIONI BOOLEANE. Vero Falso

FUNZIONI BOOLEANE. Vero Falso FUNZIONI BOOLEANE Le funzioni booleane prendono il nome da Boole, un matematico che introdusse un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono

Dettagli

Distanza di Edit. Speaker: Antinisca Di Marco Data:

Distanza di Edit. Speaker: Antinisca Di Marco Data: Distanza di Edit Speaker: Antinisca Di Marco Data: 14-04-2016 Confronto di sequenze Il confronto tra sequenze in biologia computazionale è la base per: misurare la similarità tra le sequenze allineamento

Dettagli

Algoritmi e Strutture Dati Geometria Computazionale. Daniele Loiacono

Algoritmi e Strutture Dati Geometria Computazionale. Daniele Loiacono Algoritmi e Strutture Dati Geometria Computazionale Riferimenti 2 T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein Introduction to Algorithms, Second Edition Queste trasparenze sono disponibili su http://dei.polimi.it/upload/loiacono

Dettagli

Metodo di Quine- McCluskey

Metodo di Quine- McCluskey Metodo di Quine- McCluskey Maurizio Palesi Maurizio Palesi 1 Definizioni Date due funzioni f(x 1,x 2,,x n ) e g(x 1,x 2,,x n ) si dice che f copre g (oppure g implica f) e si scrive f g se f(x 1,x 2,,x

Dettagli

Edit distance. v intner RIMDMDMMI wri t ers

Edit distance. v intner RIMDMDMMI wri t ers L'allineamento Edit distance Le operazioni permesse sono: I: insert (inserimento, inserzione) D: delete (cancellazione, delezione, rimozione) R: replacement (substition, sostituzione) M: match (corrispondenza,

Dettagli

La Retta Ogni funzione di primo grado rappresenta, graficamente, una retta. L equazione della retta può essere scritta in due modi

La Retta Ogni funzione di primo grado rappresenta, graficamente, una retta. L equazione della retta può essere scritta in due modi La Retta Ogni funzione di primo grado rappresenta, graficamente, una retta. L equazione della retta può essere scritta in due modi Forma implicita Forma esplicita a x b y c 0 y m x q a c y x b b Esempio

Dettagli

1 se k = r i. 0 altrimenti. = E ij (c)

1 se k = r i. 0 altrimenti. = E ij (c) Facoltà di Scienze Statistiche, Algebra Lineare A, G.Parmeggiani LEZIONE 5 Matrici elementari e loro inverse Si fissi m un numero naturale. Per ogni i, j m con i j siano E ij (c) (ove c è uno scalare )

Dettagli

Prodotto scalare, covarianza e controvarianza, tensore metrico

Prodotto scalare, covarianza e controvarianza, tensore metrico Prodotto scalare, covarianza e controvarianza, tensore metrico Marco Bonvini 29 settembre 2005 1 Prodotto scalare Sia V spazio lineare su R; dati u, v V il loro prodotto scalare, indicato con (u, v), è:

Dettagli

Unità Didattica N 9 : La parabola

Unità Didattica N 9 : La parabola 0 Matematica Liceo \ Unità Didattica N 9 La parabola Unità Didattica N 9 : La parabola ) La parabola ad asse verticale ) La parabola ad asse orizzontale 5) Intersezione di una parabola con una retta 6)

Dettagli

Fogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari

Fogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari Fogli Elettronici Idoneità Informatica Prof. Mauro Gaspari Cosa è un foglio elettronico. Strumento per raccogliere dati organizzati in tabelle e farci delle operazioni: Le celle contengono numeri o altri

Dettagli

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria. Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo

Dettagli

Certificati dei problemi in NP

Certificati dei problemi in NP Certificati dei problemi in NP La stringa y viene in genere denominata un certificato Un Certificato è una informazione ausiliaria che può essere utilizzata per verificare in tempo polinomiale nella dimensione

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 I linguaggi di programmazione e gli

Dettagli

SISTEMI DI EQUAZIONI LINEARI

SISTEMI DI EQUAZIONI LINEARI SISTEMI DI EQUAZIONI LINEARI Date le rette di equazioni ax + by + c = 0 e a x + b y + c = 0 quanti punti hanno in comune? Per rispondere devo risolvere il sistema ax + by + c = 0 ቊ a x + b y + c = 0 e

Dettagli

Matematica per Analisi dei Dati,

Matematica per Analisi dei Dati, Matematica per Analisi dei Dati, 230209 1 Spazio vettoriale R n Sia n un intero positivo fissato Lo spazio vettoriale R n e l insieme delle n ple ordinate di numeri reali, che rappresenteremo sempre come

Dettagli

2. Coordinate omogenee e trasformazioni del piano

2. Coordinate omogenee e trasformazioni del piano . Coordinate omogenee e trasformazioni del piano Nella prima sezione si è visto come la composizione di applicazioni lineari e di traslazioni porta ad una scomoda combinazione di prodotti matriciali e

Dettagli

La Rappresentazione dell Informazione

La Rappresentazione dell Informazione La Rappresentazione dell Informazione Maurizio Palesi Sommario In questo documento sarà trattato il modo in cui, in un calcolatore, vengono rappresentati i vari generi di informazione (testi, numeri interi,

Dettagli

L A B C di R. Stefano Leonardi c Dipartimento di Scienze Ambientali Università di Parma Parma, 9 febbraio 2010

L A B C di R. Stefano Leonardi c Dipartimento di Scienze Ambientali Università di Parma Parma, 9 febbraio 2010 L A B C di R 0 20 40 60 80 100 2 3 4 5 6 7 8 Stefano Leonardi c Dipartimento di Scienze Ambientali Università di Parma Parma, 9 febbraio 2010 La scelta del test statistico giusto La scelta della analisi

Dettagli

Informatica Generale Homework di Recupero 2016

Informatica 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

Dettagli

2. ALGORITMO DEL SIMPLESSO

2. ALGORITMO DEL SIMPLESSO . ALGORITMO DEL SIMPLESSO R. Tadei Una piccola introduzione R. Tadei SIMPLESSO L obiettivo del capitolo è quello di fornire un algoritmo, l algoritmo del simplesso, che risolve qualsiasi problema di programmazione

Dettagli

Equazioni Polinomiali II Parabola

Equazioni Polinomiali II Parabola Equazioni Polinomiali II Parabola - 0 Equazioni Polinomiali del secondo grado (Polinomi II) Forma Canonica e considerazioni La forma canonica dell equazione polinomiale di grado secondo è la seguente:

Dettagli

Registro Lezioni di Algebra lineare del 15 e 16 novembre 2016.

Registro Lezioni di Algebra lineare del 15 e 16 novembre 2016. Registro Lezioni di Algebra lineare del 15 e 16 novembre 2016 Di seguito si riporta il riassunto degli argomenti svolti; i riferimenti sono a parti del Cap8 Elementi di geometria e algebra lineare Par5

Dettagli

Cap. 2 - Rappresentazione in base 2 dei numeri interi

Cap. 2 - Rappresentazione in base 2 dei numeri interi Cap. 2 - Rappresentazione in base 2 dei numeri interi 2.1 I NUMERI INTERI RELATIVI I numeri relativi sono numeri con il segno: essi possono essere quindi positivi e negativi. Si dividono in due categorie:

Dettagli

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III) Derivazione numerica Introduzione al calcolo numerico Il calcolo della derivata di una funzione in un punto implica un processo al limite che può solo essere approssimato da un calcolatore. Supponiamo

Dettagli

1 Prodotto cartesiano di due insiemi 1. 5 Soluzioni degli esercizi 6

1 Prodotto cartesiano di due insiemi 1. 5 Soluzioni degli esercizi 6 1 PRODOTTO CARTESIANO DI DUE INSIEMI 1 I-4 R 2 ed R 3 Piano e spazio cartesiani Indice 1 Prodotto cartesiano di due insiemi 1 2 Rappresentazione di R 2 sul piano cartesiano 2 3 Sottoinsiemi di R 2 e regioni

Dettagli

BREVE RIEPILOGO SULLE FRAZIONI

BREVE RIEPILOGO SULLE FRAZIONI BREVE RIEPILOGO SULLE FRAZIONI ---> Numeratore = numero di parti uguali considerate Linea di frazione Denominatore = numero di parti uguali in cui è diviso l'intero la frazione si

Dettagli

SCHEDA DIDATTICA N 7

SCHEDA DIDATTICA N 7 FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA CIVILE CORSO DI IDROLOGIA PROF. PASQUALE VERSACE SCHEDA DIDATTICA N 7 LA DISTRIBUZIONE NORMALE A.A. 01-13 La distribuzione NORMALE Uno dei più importanti

Dettagli

Kangourou Italia Gara del 28 marzo 2008 Categoria Student Per studenti di quarta o quinta della secondaria di secondo grado

Kangourou Italia Gara del 28 marzo 2008 Categoria Student Per studenti di quarta o quinta della secondaria di secondo grado Testi_08.qxp 9-0-008 :6 Pagina 8 Kangourou Italia Gara del 8 marzo 008 ategoria Per studenti di quarta o quinta della secondaria di secondo grado I quesiti dal N. al N. 0 valgono punti ciascuno. Nelle

Dettagli

Gara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011

Gara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011 Gara Matematica Dipartimento di Matematica Ulisse Dini Viale Morgagni 67/a - 50134 Firenze Soluzioni edizione 011 Esercizio 1. Determinare tutti gli interi positivi non nulli n che sono uguali alla somma

Dettagli

R. Cusani, F. Cuomo: Telecomunicazioni - DataLinkLayer: Gestione degli errori, Aprile 2010

R. Cusani, F. Cuomo: Telecomunicazioni - DataLinkLayer: Gestione degli errori, Aprile 2010 1 11. Data link layer: codici di rilevazione di errore, gestione degli errori La rilevazione di errore Un codice a rilevazione di errore ha lo scopo di permettere al ricevente di determinare se vi sono

Dettagli

SISTEMI LINEARI MATRICI E SISTEMI 1

SISTEMI LINEARI MATRICI E SISTEMI 1 MATRICI E SISTEMI SISTEMI LINEARI Sistemi lineari e forma matriciale (definizioni e risoluzione). Teorema di Rouché-Capelli. Sistemi lineari parametrici. Esercizio Risolvere il sistema omogeneo la cui

Dettagli

Determina il terzo vertice A di un triangolo di cui. l ortocentro

Determina il terzo vertice A di un triangolo di cui. l ortocentro La Retta Esercizi Esercizio 6. Determina il terzo vertice A di un triangolo di cui sono noti due vertici ; 1, 1; e l ortocentro ;. Soluzione 1 Analizziamo il problema ragionando, per semplicità, su un

Dettagli

Il Branch & Bound. Definizione 1. Sia S R n. La famiglia S = {S 1, S 2,..., S k S} tale che S 1 S 2 S k = S viene detta suddivisione di S.

Il Branch & Bound. Definizione 1. Sia S R n. La famiglia S = {S 1, S 2,..., S k S} tale che S 1 S 2 S k = S viene detta suddivisione di S. Il Branch & Bound Il metodo Branch & Bound è una tecnica che permette di risolvere all ottimo un generico problema di Programmazione Lineare Intera. Tale metodo si basa su due concetti cardine: quello

Dettagli

7 2 =7 2=3,5. Casi particolari. Definizione. propria se < impropria se > e non è multiplo di b. apparente se è un multiplo di. Esempi.

7 2 =7 2=3,5. Casi particolari. Definizione. propria se < impropria se > e non è multiplo di b. apparente se è un multiplo di. Esempi. NUMERI RAZIONALI Q Nell insieme dei numeri naturali e nell insieme dei numeri interi relativi non è sempre possibile effettuare l operazione di divisione. Infatti, eseguendo la divisione 7 2 si ottiene

Dettagli

Prodotto scalare e prodotto vettoriale. Elisabetta Colombo

Prodotto scalare e prodotto vettoriale. Elisabetta Colombo Corso di Approfondimenti di Matematica Biotecnologie, Anno Accademico 2010-2011, http://users.mat.unimi.it/users/colombo/programmabio.html Vettori Vettori 1 2 3 4 di di Ricordiamo il in R n Dati a = (a

Dettagli

Corso di Intelligenza Artificiale A.A. 2016/2017

Corso di Intelligenza Artificiale A.A. 2016/2017 Università degli Studi di Cagliari Corsi di Laurea Magistrale in Ing. Elettronica Corso di Intelligenza rtificiale.. 26/27 Esercizi sui metodi di apprendimento automatico. Si consideri la funzione ooleana

Dettagli

BLAND-ALTMAN PLOT. + X 2i 2 la differenza ( d ) tra le due misure per ognuno degli n campioni; d i. X i. = X 1i. X 2i

BLAND-ALTMAN PLOT. + X 2i 2 la differenza ( d ) tra le due misure per ognuno degli n campioni; d i. X i. = X 1i. X 2i BLAND-ALTMAN PLOT Il metodo di J. M. Bland e D. G. Altman è finalizzato alla verifica se due tecniche di misura sono comparabili. Resta da comprendere cosa si intenda con il termine metodi comparabili

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre

Dettagli

PIANO CARTESIANO. NB: attenzione ai punti con una coordinata nulla: si trovano sugli assi

PIANO CARTESIANO. NB: attenzione ai punti con una coordinata nulla: si trovano sugli assi PIANO CARTESIANO Il piano cartesiano è individuato da due rette perpendicolari (ortogonali) che si incontrano in un punto O detto origine del piano cartesiano. Si fissa sulla retta orizzontale il verso

Dettagli

Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n

Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n Cristina Turrini UNIMI - 2016/2017 Cristina Turrini (UNIMI - 2016/2017) Elementi di Algebra e di Matematica

Dettagli

Applicazioni eliminazione di Gauss

Applicazioni eliminazione di Gauss Applicazioni eliminazione di Gauss. Premessa Nel seguito supporremo sempre di applicare il metodo di eliminazione di Gauss allo scopo di trasformare la matrice del sistema Ax = b in una matrice triangolare

Dettagli

Rappresentazione dell Informazione

Rappresentazione dell Informazione Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo

Dettagli

Lunghezza media. Teorema Codice D-ario prefisso per v.c. X soddisfa. L H D (X). Uguaglianza vale sse D l i. = p i. . p.1/27

Lunghezza media. Teorema Codice D-ario prefisso per v.c. X soddisfa. L H D (X). Uguaglianza vale sse D l i. = p i. . p.1/27 Lunghezza media Teorema Codice D-ario prefisso per v.c. X soddisfa L H D (X). Uguaglianza vale sse D l i = p i.. p.1/27 Lunghezza media Teorema Codice D-ario prefisso per v.c. X soddisfa L H D (X). Uguaglianza

Dettagli

Kangourou della Matematica 2010 Coppa a squadre Kangourou Semifinale turno A Mirabilandia, 8 maggio Quesiti

Kangourou della Matematica 2010 Coppa a squadre Kangourou Semifinale turno A Mirabilandia, 8 maggio Quesiti Kangourou della Matematica 2010 Coppa a squadre Kangourou Semifinale turno A Mirabilandia, 8 maggio 2010 Quesiti 1. Sei cifre per due numeri Avete a disposizione le cifre 1, 3, 4, 7, 8, 9 per formare due

Dettagli

Condizione di allineamento di tre punti

Condizione di allineamento di tre punti LA RETTA L equazione lineare in x e y L equazione: 0 con,,, e non contemporaneamente nulli, si dice equazione lineare nelle due variabili e. Ogni coppia ; tale che: 0 si dice soluzione dell equazione.

Dettagli

Cammini minimi fra tutte le coppie

Cammini minimi fra tutte le coppie Capitolo 12 Cammini minimi fra tutte le coppie Consideriamo il problema dei cammini minimi fra tutte le coppie in un grafo G = (V, E, w) orientato, pesato, dove possono essere presenti archi (ma non cicli)

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre

Dettagli

L errore percentuale di una misura è l errore relativo moltiplicato per 100 ed espresso in percentuale. Si indica con e p e risulta: e ( e 100)%

L errore percentuale di una misura è l errore relativo moltiplicato per 100 ed espresso in percentuale. Si indica con e p e risulta: e ( e 100)% UNITÀ L ELBORZIONE DEI DTI IN FISIC 1. Gli errori di misura.. Errori di sensibilità, errori casuali, errori sistematici. 3. La stima dell errore. 4. La media, la semidispersione e lo scarto quadratico

Dettagli

Concetti fondamentali

Concetti fondamentali Concetti fondamentali elemento insieme sequenza tutto si riconduce a questi insieme: esempi {,3,5,7,9} insieme dei numeri dispari positivi minori di dieci {Antonio, Beatrice, Carlo, Daria} insieme dei

Dettagli

COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI

COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI In questa Appendice, mostreremo come un impresa possa individuare la sua combinazione di minimo costo dei fattori produttivi attraverso il calcolo

Dettagli

Note per la Lezione 6 Ugo Vaccaro

Note per la Lezione 6 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 6 Ugo Vaccaro Ancora sulla tecnica Programmazione Dinamica Nella lezione scorsa abbiamo appreso che la tecnica Divide-et-Impera,

Dettagli

COME CALCOLARE IL PUNTEGGIO DI UN ALLINEAMENTO? Il problema del calcolo del punteggio di un allineamento può essere considerato in due modi diversi

COME CALCOLARE IL PUNTEGGIO DI UN ALLINEAMENTO? Il problema del calcolo del punteggio di un allineamento può essere considerato in due modi diversi COME CALCOLARE IL PUNTEGGIO DI UN ALLINEAMENTO? Il problema del calcolo del punteggio di un allineamento può essere considerato in due modi diversi che, però, sono le due facce di una stessa medaglia al

Dettagli

Foglio Elettronico Lezione 1

Foglio Elettronico Lezione 1 - Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in

Dettagli

Codifica binaria. Rappresentazioni medianti basi diverse

Codifica binaria. Rappresentazioni medianti basi diverse Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla

Dettagli

Def. 1. Si chiamano operazioni elementari sulle righe di A le tre seguenti operazioni:

Def. 1. Si chiamano operazioni elementari sulle righe di A le tre seguenti operazioni: Facoltà di Scienze Statistiche, Algebra Lineare 1 A, G.Parmeggiani LEZIONE 5 Operazioni elementari sulle righe di una matrice Sia A una matrice m n. Def. 1. Si chiamano operazioni elementari sulle righe

Dettagli

RETI LINEARI R 3 I 3 R 2 I 4

RETI LINEARI R 3 I 3 R 2 I 4 RETI LINERI 1 Leggi di Kirchoff. Metodo delle correnti di maglia R 1 R 3 I 1 I 3 E 1 J 1 J 2 J 3 I 2 I 4 R 4 I 5 R 5 I 6 R 6 J 4 R 7 Il calcolo delle correnti e delle differenze di potenziale in un circuito

Dettagli

EQUAZIONE DELLA RETTA

EQUAZIONE DELLA RETTA EQUAZIONE DELLA RETTA EQUAZIONE DEGLI ASSI L equazione dell asse x è 0. L equazione dell asse y è 0. EQUAZIONE DELLE RETTE PARALLELE AGLI ASSI L equazione di una retta r parallela all asse x è cioè è uguale

Dettagli

Quadrato Magico. Fondamenti di Programmazione

Quadrato Magico. Fondamenti di Programmazione Quadrato Magico Si richiede lo sviluppo di un programma che permette all utente l inserimento di una matrice quadrata di numeri interi positivi e verifica se si tratta di un quadrato magico Una matrice

Dettagli

5.4.5 Struttura dell algoritmo ed esempi

5.4.5 Struttura dell algoritmo ed esempi CAPITOLO 5. IL METODO DEL SIMPLESSO 6 5.4.5 Struttura dell algoritmo ed esempi Come abbiamo già ampiamente osservato, la fase II del metodo del simplesso, a partire da una soluzione di base ammissibile,

Dettagli