Algoritmi e Complessità

Documenti analoghi
Lezioni di Ricerca Operativa. Corso di Laurea in Informatica ed Informatica Applicata. Università di Salerno. Lezione n 3

Capitolo 2. Il problema del calcolo delle aree

SUGLI INSIEMI. 1.Insiemi e operazioni su di essi

Programmazione dinamica

B8. Equazioni di secondo grado

Esercizi svolti Limiti. Prof. Chirizzi Marco.

3) Sia (X, d) uno spazio metrico. Dimostrare che è una distanza su X la funzione

Integrali. Il concetto di integrale nasce per risolvere due classi di problemi:

si considerino le seguenti implementazioni dell algoritmo di ricerca di un elemento all interno di un vettore v: 1) 2)

Integrali. Il concetto di integrale nasce per risolvere due classi di problemi:

2 x = 64 (1) L esponente (x) a cui elevare la base (2) per ottenere il numero 64 è detto logaritmo (logaritmo in base 2 di 64), indicato così:

a cura di Luca Cabibbo e Walter Didimo

Trasduttori a Stati Finiti

Capitolo 6. Integrali di funzioni di una variabile

Integrale definito (p.204)

ESERCIZIO DI ASD DEL 27 APRILE 2009

Esercizi di Informatica Teorica Pumping lemma e proprietà di

Integrali impropri in R

Tutorato di analisi 1

Pattern Matching Mediante Automi

Integrale Improprio. f(x) dx =: Osserviamo che questa definizione ha senso dal momento che per ogni y è ben definito l integrale b

, x 2. , x 3. è un equazione nella quale le incognite appaiono solo con esponente 1, ossia del tipo:

POTENZA CON ESPONENTE REALE

Integrale definito (p.204)

Strumenti Matematici per la Fisica

CORSO ZERO DI MATEMATICA

dr Valerio Curcio Le affinità omologiche Le affinità omologiche

26/03/2012. Integrale Definito. Calcolo delle Aree. Appunti di analisi matematica: Il concetto d integrale nasce per risolvere due classi di problemi:

Esponenziali e logaritmi

Corso di Perfezionamento

Scheda Sei ESPONENZIALI E LOGARITMI. 0,+. Inoltre valgono le

FONDAMENTI DI PROGRAMMAZIONE (A,B,C,D) Appello del 25/06/2002 Soluzioni proposte

Daniela Tondini

Capitolo 5. Integrali. 5.1 Integrali di funzioni a gradinata

Esercizi di Geometria - Foglio 2 Corso di Laurea in Matematica

Curve e integrali curvilinei

Elenco dei teoremi dimostrati a lezione

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1

ALGORITMI Docente: Prof. Domenico Cantone

UNITA 13. GLI ESPONENZIALI

a cura di Luca Cabibbo e Walter Didimo

Formulario di Analisi Matematica 1

f(x) f(x 0 ) lim (x) := f(x) f(x 0)

Il problema delle aree. Metodo di esaustione.

COGNOME..NOME CLASSE.DATA

7. Derivate Definizione 1

{ 1, 2,3, 4,5,6,7,8,9,10,11,12, }

ovviamente uguale al caso delle due cricche laterali. Nel caso di larghezza finita W:

Equazioni di 2 grado. Definizioni Equazioni incomplete Equazione completa Relazioni tra i coefficienti della equazione e le sue soluzioni Esercizi

SOLUZIONE PROBLEMA 1. Punto 1 Osserviamo anzitutto che la funzione

Algoritmi e Strutture Dati

Università Politecnica delle Marche Facoltà di Ingegneria Ing. Informatica e Automatica Ing. delle Telecomunicazioni Teledidattica

Integrazione Numerica

Introduzione al calcolo integrale

11. Rango di una matrice.

5. Funzioni elementari trascendenti

Determinanti e caratteristica di una matrice (M.S. Bernabei & H. Thaler

ESPONENZIALI E LOGARITMICHE

Integrale definito. Introduzione: il problema delle aree

Automi e Linguaggi Formali

Variabile casuale uniforme (o rettangolare)

Esponenziali e logaritmi

Integrali impropri. Riccarda Rossi. Analisi I. Università di Brescia. Riccarda Rossi (Università di Brescia) Integrali impropri Analisi I 1 / 48

Materia: MATEMATICA Data: 5/04/2005

INTEGRALI IMPROPRI. c Paola Gervasio - Analisi Matematica 1 - A.A. 16/17 Integrali impropri cap10.pdf 1

Integrali in senso generalizzato

Integrale: Somma totale di parti infinitesimali

UNIVERSITÁ DEGLISTUDIDISALERNO C.d.L. in INGEGNERIA GESTIONALE Ricerca Operativa 12 Gennaio 2009 Prof. Saverio Salerno. Compito A

ESPONENZIALI E LOGARITMI

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Secondo Modulo di Ricerca Operativa Prova in corso d anno 12 giugno 2000

Integrali impropri di funzioni di una variabile

Unità Didattica N 02. I concetti fondamentali dell aritmetica

16 Stadio amplificatore a transistore

2. Teoremi per eseguire operazioni con i limiti in forma determinata

Vediamo quindi l elenco dei limiti fondamentali, il cui risultato daremo per noto d ora in avanti e lo utilizzeremo ogni volta che sarà necessario.

Note del corso di Laboratorio di Programmazione e Calcolo: Integrazione numerica

Automi a stati finiti

Integrali definiti (nel senso di Riemann)

Istituto Professionale di Stato per l Industria e l Artigianato Giancarlo Vallauri. Classe I H

Scheda per il recupero 2

5 2d x x >12. con a, b, c e d parametri reali. Il grafico di f (x) passa per l origine del sistema di riferimento

TEST DI MATEMATICA. Funzioni in una, Funzioni in due variabili Integrali Equazioni differenziali. 1) Il valore del limite seguente. e e. e 1.

" Osservazione. 6.1 Integrale indefinito. R Definizione (Primitiva) E Esempio 6.1 CAPITOLO 6

INTEGRALI IMPROPRI. c Paola Gervasio - Analisi Matematica 1 - A.A. 17/18 Integrali impropri cap10.pdf 1

1 Equazioni e disequazioni di secondo grado

Calcolo Numerico con elementi di programmazione

George Boole ( )

Liceo Scientifico Statale G. Stampacchia Tricase

1 Integrale delle funzioni a scala

Integrale di Riemann

Regime permanente e transitorio

S D f = M k (f)(x k x k 1 ). k=1. Dalla definizione discende immediatamente che SD f S D f per ogni

Daniela Lera A.A

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1

Nome.Cognome classe 5D 21 Febbraio Verifica di matematica. (punti 1.5) x è sempre decrescente in R? (punti 1)

b a 2. Il candidato spieghi, avvalendosi di un esempio, il teorema del valor medio.

ESPONENZIALI E LOGARITMI

Diremo partizione di I ogni sottoinsieme finito P di I comprendente gli estremi a e b. Supponiamo f limitata. [x i 1,x i ] (x i x i 1 ) sup f, i=1

L integrale di Riemann

Transcript:

Algoritmi e Complessità Università di Cmerino Corso di Lure in Informtic (tecnologie informtiche) III periodo didttico Docente: Emnuel Merelli Emil:emnuel.merelli@unicm.it

Lezione Algoritmi e Complessità Argomento: Corrispondenz tr stringhe Obiettivo conoscitivo: Algoritmi di Rbin-Krp, Knuth- Morris-Prtt Cpitolo: 6 e 34

Sottosequenz comune Dt un sequenz X=<x,...,xm>, un sequenz Z=<z,...,zk> viene dett sottosequenz di X se esiste un sequenz, strettmente crescente <i, i,... k > di indici di X tle che per tutti gli indici j=,... k, vle xi j =zj Esempio X = ABCDBDAB Y = BDCABA Z = BCA è un sottosequenz E l più lung sottosequenz?

Sottosequenz comune più lung LCS Dte due sequenze X ed Y, si vuole determinre l sottosequenz comune di X e Y di lunghezz mssim. Esempio X = ABCDBDAB Y = BDCABA Z = BCBA è LCS(X,Y) E un problem di ottimizzzione

Metodo enumertivo Il metodo enumertivo consiste nell enumerre tutte le sottosequenze di X e nel controllre che ogni sottosequenz si nche un sottosequenz di Y. L soluzione richiede un tempo esponenzile Problem intrttbile per sequenze lunghe

Progrmmzione dinmic Progrmmzione dinmic: simile l divide et imper, m tiene trcci (in un tbell) delle soluzioni dei sottoproblemi perché può cpitre di dover risolvere il medesimo sottoproblem per più di un volt. Pssi fondmentli dell progrmmzione dinmic. Crtterizzzione dell struttur di un soluzione ottim. Definizione ricorsiv del vlore di un soluzione ottim 3. Clcolo del vlore di un soluzione ottim con strtegi bottom-up 4. Costruzione di un soluzione ottim prtire dlle informzioni già clcolte.

Crtteristiche del problem per pplicre l progrmmzione dinmic Sottostruttur ottim. Un soluzione ottim per il problem contiene l suo interno le soluzioni ottime dei sottoproblemi Sottoproblemi comuni. Un problem di ottimizzzione h sottoproblemi comuni qundo un lgoritmo ricorsivo richiede di risolvere più di un volt lo stesso sottoproblem

Sottostruttur ottim Teorem Sino X=<x,...,x m > e Y=<y,...,y n > Si Z=<z,...,z k > un qulunque LCS di X e Y.. Se x m =y n, e z k =x m =y n llor Z k- è LCS di X m- e Y n-. Se x m y n, e z k x m llor Z k è LCS di X m- e Y 3. Se x m y n, e z k y n llor Z k è LCS di X e Y n-

Soluzione ricorsiv E fcile notre che il problem LCS soddisf l proprietà dei sottoproblemi comuni. Per trovre un LCS di X e Y si deve necessrimente trovre si uns LCS di X m- e Y si un LCS di X e Y n-. Entrmbi i sottoproblemi devono risolvere il problem di trovre un LCS di X m- e Y n-. Chirmente molti ltri sottoproblemi devono ffrontre e risolvere i medesimi sottoproblemi

Formul ricorsiv del vlore di un soluzione ottim c[i,j] è l lunghezz di un LCS di X i e Y j c[i,j] = c[i-, j-]+ mx(c[i, j-], c[i-,j]) se i= o j= se i,j> e x i =y j se i,j> e x i y j

Clcolo del vlore dell soluzione ottim con tecnic bottom-up Ci sono mn - Θ( mn) - sottoproblemi distinti e quindi è possibile utilizzre l tecnic dell progrmmzione dinmic Ricordimoci che Θ(n) pprossimzione strett Ω(n) limite inferiore sintotico O(n) limite superiore sintotico

LCS-length(X,Y) m=length(x) n=length(y) for i= to m do c[i,]= for j= to n do c[,j]= for i= to m do for j= to n do if x i =y j then c[i,j]=c[i-,j-] + b[i,j]= else if c[i-,j] c[i,j-] then c[i,j]=c[i,j-] b[i,j]= else c[i,j]=c[i,j-] b[i,j]= return b,c

3 3 3 3 3 4 3 3 4 4 B D C A B A A B C B D A B 3 4 5 6 3 4 5 6 7

Costruzione di un LCS Print-LCS(b,X,i,j) if i= or j= then return if b[i,j] = then Print-LCS(b,X,i-,j-) print x i else if b[i,j] = then Print-LCS(b,X,i-,j) else Print-LCS(b,X,i,j-)

Domnde L sottosequenz Z è l unic LCS? Qule ltr informzione contiene l tbell c? E possibile ridurre l complessità per determinre l soluzione di questo problem?

Corrispondenz tr stringhe Problem Trovre tutte le occorrenze di un string P ll interno di un testo T. Formlizzzione Dto T[..n] e P[..m] con m n, e i crtteri presenti in T e P sino presi d un lfbeto {,} oppure {,b,..., z} Si dice che il pttern P occorre comincire d s+ nel testo T (o equivlentemente (ppre con spostmento s nel testo T), se s n-m e T[s+.. s+m] = P[.. m] Cioè se T[s+j]=P[j] per j m

Pttern Mtching T b c b b c P s=3 b s=3 è uno spostmento vlido

Notzione lfbeto * insieme delle stringhe di lunghezz finit ε string vuot di lunghezz zero x lunghezz di un string xy conctenzione di due stringhe x + y lunghezz dell string conctent w èprefisso di un string x se x=wy w èsuffisso di un string x se x=yw

Algoritmo ingenuo Nive-String-Mtching(T,P). n=length[t]. m=length[p] 3. for s= to n-m 4. do if P[..m]=T[s+..s+m] 5. then stmp Il ptternppre con spostmento s c b c c b c c b c b b b s= s= s= c b c Θ((n-m+)m) cso peggiore s=3 b

Nive-string-Mtcher Θ((n-m+)m) L lgoritmo ingenuo di corrispondenz tr stringhe è inefficiente perché le informzioni ottenute nel testo per un certo vlore di s sono completmente ignorte qundo si considerno ltri vlori di s Esempio: Se P= b e si trov che s= è vlido, llor nessuno degli spostmenti,, e 3 srà vlido

Algoritmo di Rbin-Krp Si ssume che ogni crttere di un string corrispond d un cifr decimle ={,,,3,4...,9 } Si può ssumenre che ogni crttere si un cifr in notzione bse d dove d= Un string di k crtteri consecutivi corrisponde d un numero decimle di lunghezz k.pertnto un string P=345 corrisponde l numero 345 dto P[..m] si denoti con p il numero decimle corripondente dto T[..n] si denoti con t s il decimle corrispondente ll sottostring T[s+..s+m] di lunghezz m per s=,,..n-m t s =p se e solo se T[s+..s+m]=P[..m] (s spostmento vlido)

P=345 p=7 q=3 7= 345 mod 3 3 5 9 3 4 5 6 7 3 9 9 7 mod 3 3 5 9 3 4 5 6 7 3 9 9 8 9 3 7 8 4 5 7 9 Corrispondenz vlid Colpo mncto

Nuov cifr più significtiv 3 4 5 Vecchi cifr più significtiv trslzione 7 45 = (345 3x)x+ (mod 3) = (7-3x3) x+ (mod 3) = 8 (mod 3) 8

Algoritmo di Rbin-Krp Rbin-Kro-Mtcher(T,P,d,q). n=length[t]. m=length[p] 3. h= d m- mod q 4. p= 5. t = 6. for i= to m 7. do p=(dp + P[i]) mod q 8. t =(dt + T[i]) mod q 9. for s= to n-m. do if p=t s. then if P[..m]=T[s+..s+m]. then stmp Il ptternppre con spostmento s 3. if s< n-m 4. then t s+ = (d(ts T[s+]h) + T[s+m+]) mod q