Pattern Matching Mediante Automi

Documenti analoghi
Linguaggi di Programmazione Corso C. Parte n.5 Automi a Stati Finiti. Nicola Fanizzi

Esercizi di Informatica Teorica

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

ESERCITAZIONE I. Linguaggi Regolari

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

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

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

Macchine. sequenziali. S. Salvatori - Microelettronica marzo 2017 (39 di 85)

Linguaggi formali e compilazione

SPAZI VETTORIALI. 1. Spazi e sottospazi vettoriali

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

Anno 5. Applicazione del calcolo degli integrali definiti

Funzioni razionali fratte

A cura di: GIOVANNI NUNZIATA matr. 056/100389

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

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ì:

Turnazione dei mezzi (vehicles-scheduling)

Aniello Murano NP- Completezza (seconda parte)

corrispondenza dal piano in sé, che ad ogni punto P del piano fa corrispondere il punto P' in

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

C PITOLO 2. nalisi Lessicale

Esercizi di Informatica Teorica

Corso di Analisi: Algebra di Base. 4^ Lezione. Radicali. Proprietà dei radicali. Equazioni irrazionali. Disequazioni irrazionali. Allegato Esercizi.

ESERCIZIO DI ASD DEL 27 APRILE 2009

B8. Equazioni di secondo grado

INTERVALLI NELL INSIEME R

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

AUTOVALORI ED AUTOVETTORI. Sia V uno spazio vettoriale di dimensione finita n.

Geometria Analitica Domande, Risposte & Esercizi

Il problema delle aree. Metodo di esaustione.

Laurea triennale in Scienze della Natura a.a. 2009/2010. Regole di Calcolo

Introduzione e strumenti

POTENZA CON ESPONENTE REALE

Il calcolo letterale

MATEMATIKA OLASZ NYELVEN

Controlli Automatici. Trasformate L e Z e schemi a blocchi. Esercizi sulle trasformate L e Z

Strumenti per la Definizione della Sintassi dei Linguaggi di Programmazione 1

si definisce Funzione Integrale; si chiama funzione integrale in quanto il suo * x

CORSO ZERO DI MATEMATICA

Integrale definito. Introduzione: il problema delle aree

ESERCITAZIONE N.3 DETERMINANTI. il determinante di una matrice 1x1 è l elemento stesso det (a) = a. il determinante di una matrice 2x2 è :

Unità 3 Metodi particolari per il calcolo di reti

Si noti che da questa definizione segue che il punto C è il punto medio del segmento PP'. Figura 1

fattibile con le tecniche elementari che imparerai in seguito. Ad esempio il polinomio

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

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

PREFERENZE COME RELAZIONI D ORDINE

Variabile casuale uniforme (o rettangolare)

Meccanica dei Solidi. Vettori

LINGUAGGI FORMALI E AUTOMI

3. Funzioni iniettive, suriettive e biiettive (Ref p.14)

Minimi quadrati e problemi di distanza minima

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

George Boole ( )

Capitolo 2: Automi a stati finiti

Area del Trapezoide. f(x) A f(a) f(b) f(x)

SUGLI INSIEMI. 1.Insiemi e operazioni su di essi

Facoltà di Economia - Università di Sassari Anno Accademico Dispense Corso di Econometria Docente: Luciano Gutierrez.

Sezione Esercizi ; ; ; 1 4. f ) 13 + g ) , 100, 125; f ) 216; 8 27 ; ; e ) g ) 0; h )

Aritmetica Definizioni di concetti, regole e proprietà per il 1 anno della scuola media

Integrali de niti. Il problema del calcolo di aree ci porterà alla de nizione di integrale de nito.

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

IL CALCOLO LETTERALE: I MONOMI Conoscenze. per a = - 2 vale:

IL CALCOLO LETTERALE: I MONOMI Conoscenze. per a = - 2 vale:

CORSO ANALISI MATEMATICA 1 A.A. 2015/2016. Testo consigliato

Ingegneria Elettrica Politecnico di Torino. Luca Carlone. ControlliAutomaticiI LEZIONE II

Valutazione di una espressione. Espressioni. Espressioni semplici: variabili. Espressioni semplici: costanti

MATEMATICA Classe Prima

Esercizi svolti a lezione

Esercizi di Informatica Teorica. Sommario

Laboratorio di Matematica Computazionale A.A Lab. 11 Integrazione numerica

Sistemi principali di normali ad una varietà giacenti nel suo o 2. Nota di

FORMULE DI AGGIUDICAZIONE

La parabola LA PARABOLA È IL LUOGO DEI PUNTI DEL PIANO EQUIDI- STANTI DA UN PUNTO DETTO FUOCO E DA UNA RETTA CHE NON LO CONTIENE DETTA DIRETTRICE.

Esempio Data la matrice E estraiamo due minori di ordine 3 differenti:

Differenziale. Consideriamo la variazione finita, x della variabile indipendente a cui corrisponde una variazione finita della funzione f x, f x y

Proiettività della Retta e del Piano.

2 Numeri reali. M. Simonetta Bernabei & Horst Thaler

C A 10 [HA] C 0 > 100 K

Erasmo Modica. : K K K

U.D. N 15 Funzioni e loro rappresentazione grafica

ipotenusa cateto adiacente ad α cateto opposto ad α ipotenusa cateto adiacente ad α ipotenusa cateto adiacente ad α

dr Valerio Curcio Le affinità omologiche Le affinità omologiche

E U Q A U Z A I Z O I N O I N DI SE S C E O C N O DO

Le equazioni di grado superiore al secondo

LEZIONE 13 MINIMIZZAZIONE DEI COSTI. Condizione per la minimizzazione dei costi. Efficienza tecnica ed efficienza economica

Progettazione strutturale per elementi finiti Sergio Baragetti

MATh.en.JEANS SOSTITUZIONI. Liceo Scientifico Statale E. Curiel

Facoltà di Ingegneria

FLESSIONE E TAGLIO (prof. Elio Sacco)

La parabola. Fuoco. Direttrice y

Algebra» Appunti» Disequazioni esponenziali

LINGUAGGI FORMALI Esercizi

ELLISSI E PROBLEMI ISOPERIMETRICI

Convenzione europea relativa al risarcimento delle vittime di reati violenti

Automi a stati finiti e linguaggi razionali

Progettazione strutturale per elementi finiti Sergio Baragetti

ESERCIZI ESERCIZI. Test di autoverifica Prova strutturata conclusiva ESERCIZI

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

ANALISI REALE E COMPLESSA a.a

Transcript:

Pttern Mtching Medinte utomi ho-corsick Espressioni Regolri dde Simonett Cmroto lessio Tni lice dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 1

Sommrio Introduzione Nozioni Preliminri utomi Pttern Mtching Multiplo ho - Corsick Bidimensionle Espressioni Regolri Conclusioni dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 2

Introduzione Introduzione Nozioni Preliminri utomi Pttern Mtching Multiplo ho - Corsick Bidimensionle Espressioni Regolri Conclusioni dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 3

Introduzione L iologi computzionle h come tem centrle l ricerc di sequenze molecolri ll interno di sequenze più lunghe, llo scopo di ricostruire un sequenz di DN di singoli pezzi ottenuti d esperimenti ricercre delle specifiche crtteristiche nelle sequenze di DN determinre qunto sono differenti due sequenze di codice genetico ricercre motivi, strutturti e non, che occorrono frequentemente nel DN dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 4

Il prolem Qundo si ottiene un nuov sequenz, le possiili domnde d porsi sono 1. l sequenz present somiglinze con qulche ltr sequenz già memorizzt in un nc dti? 2. l sequenz è già presente nell nc dti? dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 5

Pttern Mtching 1. L sequenz present somiglinze con qulche ltr sequenz già memorizzt in un nc dti? Bisogn risolvere un prolem di pttern mtching pprossimto Dt un string pttern P e un string testo T, voglimo cercre occorrenze di sequenze simili P in T dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 6

Pttern Mtching 2. L sequenz è già presente nell nc dti? Bisogn risolvere un prolem di pttern mtching estto Dt un string pttern P di lunghezz m e un string testo T di lunghezz n, entrme definite sull lfeto Σ,, voglimo stilire se P occorre in T dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 7

pprocci lgoritmici imo visto vri pprocci lgoritmici l prolem Forz Brut Morris - Prtt Knuth - Morris - Prtt Krp - Rin Suffix Tree dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 8

pprocci lgoritmici Noi vedremo un pproccio sto su utomi per risolvere il prolem del pttern mtching estto nel cso multiplo: ho-corsick estto: Espressioni Regolri dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 9

Nozioni Preliminri: utomi Introduzione Nozioni Preliminri utomi Pttern Mtching Multiplo ho - Corsick Bidimensionle Espressioni Regolri Conclusioni dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 10 10

utomi (Q, Σ, Un utom stti finiti è un quintupl (Q, δ,, q 0, F) Q è un insieme finito di stti Σ è un lfeto finito di crtteri di input q 0 Q è lo stto inizile F Q è l insieme degli stti finli δ è l funzione di trnsizione Q Σ Q d ogni coppi (stto, crttere) ssoci un insieme di stti successivi, Q dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 11 11

δ: Esempio Due modlità di rppresentzione q 0 q 1 q 2 q 1 q 0 {q 1 } / q 2 / {q 1, q 2 } / / Rppresentzione Grfic Rppresentzione Tellre q 0 Stto Inizile q 2 Stto Finle dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 12 12

utomi Deterministici (DF) Un DF è un utom tle che per ogni stto s e ogni crttere di ingresso x, c è l più un trnsizione dllo stto s l cui etichett contiene x c c c q 0 {q 1 } / / q 0 q 1 q 2 q 1 q 2 / / {q 2 } / {q 1 } {q 2 } Rppresentzione Grfic Rppresentzione Tellre dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 13 13

utomi Non Deterministici (NF) Un NF è un utom tle che può vere (m non necessrimente) due o più trnsizioni, prtire dllo stesso stto, che contengono lo stesso simolo q 0 q 1 q 2 q 1 q 0 {q 1 } / q 2 / / {q 1, q 2 } / Rppresentzione Grfic Rppresentzione Tellre dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 14 14

cos servono gli utomi? Un utom definisce un linguggio L, ossi un insieme di stringhe su un lfeto Σ riconosce se un dt string, dett input, pprtiene d L dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 15 15

Riconoscimento Stringhe Riconoscimento T =... δ(q i,) = q j q i q j Non Riconoscimento T =... δ(q i,) = {} q i q j T =... δ(q i,) = q j q i q j dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 16 16

Pttern Mtching Multiplo Introduzione Nozioni Preliminri utomi Pttern Mtching Multiplo ho - Corsick Bidimensionle Espressioni Regolri Conclusioni dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 17 17

Pttern Mtching Multiplo Ricerc simultne di più pttern P 1,, P k in un testo T pprocci possiili Eseguire k ricerche indipendenti, un per ciscun pttern P i d trovre nel testo T => O(k*costo singol ricerc) ho-corsick Corsick: : utilizz l similrità tr i pttern d ricercre => O( P 1 + + P + P k + T ) dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 18 18

ho-corsick Introduzione Nozioni Preliminri utomi Pttern Mtching Multiplo ho - Corsick Bidimensionle Espressioni Regolri Conclusioni dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 19 19

Definizione L utom di ho-corsick è un utom deterministico esteso, definito d due funzioni 1. l funzione di trnsizione δ: l funzione di fllimento φ: Q Q 2. l funzione di fllimento δ: Q Σ Q dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 20 20

Funzione di trnsizione δ 1. L funzione di trnsizione δ dto uno stto i e il crttere del testo c, δ(i,c) restituisce il prossimo stto dell utom se esiste (mtch( mtch) un vlore vuoto (mismtch( mismtch) dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 21 21

Mtch vs. Mismtch Mtch T =... δ(q i,) = q j q i q j Mismtch T =... δ(q i,) = {} q i q j dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 22 22

Funzione di fllimento φ 2. L funzione di fllimento φ φ(i) restituisce il prossimo stto dell utom, in cso di mismtch con il crttere corrente c nello stto i, ossi nel cso in cui δ(i,c) fornisc un vlore vuoto il vlore di φ(i) è determinto sfruttndo un vrinte del concetto di ordo di un string già visto in KMP dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 23 23

Modific del concetto di Bordo In KMP, il ordo di un string s è definito come ordo(s) = l più lung sottostring propri di s che ne è si suffisso che prefisso In ho-corsick Corsick,, il ordo di un string s è definito come ordo(s) = il più lungo suffisso proprio di s che è nche prefisso di lmeno uno dei pttern P 1,...,P k d ricercre nel testo T dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 24 24

Costruzione utom Complessità: O( P 1 + + P + P k ) L costruzione dell'utom vviene in 2 fsi fse 1: costruzione dello scheletro dell'utom che riconosce i pttern P 1...P.P k definizione dell funzione δ fse 2: definizione dell funzione φ dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 25 25

Costruzione utom Fse 1: costruzione dello scheletro dell utom per i pttern P 1,,P k 1. Costruimo l utom l che riconosce il pttern P 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 26 26

Esempio P 1 = NNS q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 27 27

Costruzione utom 2. Per 1 1 i < k. clcolimo il più lungo prefisso in comune, lcp,, tr P i+1 e tutti i pttern già inseriti nell utom dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 28 28

Esempio P 1 = NNS, NS, P 2 = NTR lcp = N q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 29 29

Costruzione utom. Usimo l funzione δ per visitre l utom l prtire dllo stto inizile fino llo stto q p in cui termin l lcpl lcp clcolto l punto. Se l lcpl lcp è l string vuot, $, si colleg l utom l che riconosce l intero l pttern P i+1 llo stto inizile dell utom di ho-corsick diverso dll string vuot, si colleg l utom l che riconosce i rimnenti {P i+1 lcp} crtteri del pttern P i+1, llo stto q p dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 30 30

Esempio P 1 = NNS, NS, P 2 = NTR q p = q 3 q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T q 7 R q 8 q 9 {P 2 lcp} } = TR dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 31 31

Esempio P 1 = $NNS,, P 2 = $NTR P 3 = $BCIO lcp = $ q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T q 7 R q 8 q 9 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 32 32

Esempio P 1 = $NNS,, P 2 = $NTR P 3 = $BCIO q p = q 0 q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 {P 3 lcp} } = BCIO q 10 C q 11 q 12 I q 13 O q 14 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 33 33

Esempio P 1 = $NNS,, P 2 = $NTR P 3 = $BCIO, P 4 = $NN lcp = $ q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 q 10 C q 11 q 12 I q 13 O q 14 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 34 34

Esempio q p = q 0 q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 {P 4 lcp} } = NN dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 35 35

Esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 36 36

Costruzione utom Fse 2: definizione dell funzione φ per ogni stto i dell'utom Si L(qi qi) il prefisso ssocito llo stto qi,, ossi l string ottenut visitndo l'utom prtire dllo stto inizile q 0 fino q i N q 0 q 1 q 2 L(q 2 )= N dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 37 37

Costruzione utom φ(i) è clcolt nel seguente modo φ(q 0 ) = -1 per i > 0, 1. si clcol il ordo di L(q i ) come definito in precedenz 2. si pone φ(q i ) = stto in cui termin tle ordo dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 38 38

φ: Esempio i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 φ(i) -1 0 15 16 17 3 0 0 0 1 0 1 0 0 0 0 1 2 q 0 N q 1 q 2 B N q 10 q 11 L(q 2 ) = N Bordo(L(q 2 )) = N P1 = NNS P2 = NTR P3 = BCIO P4 = NN φ(q 2 ) = q 15 q 15 q 16 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 39 39

φ: Esempio i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 φ(i) -1 0 15 16 17 3 0 0 0 1 0 1 0 0 0 0 1 2 q 0 N q 1 q 2 B N q 10 q 11 L(q 2 ) = N Bordo(L(q 2 )) = N P1 = NNS P2 = NTR P3 = BCIO P4 = NN φ(q 2 ) = q 15 q 15 q 16 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 40 40

φ: Esempio i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 φ(i) -1 0 15 16 17 3 0 0 0 1 0 1 0 0 0 0 1 2 q 0 N q 1 q 2 q 3 L(q 3 ) = N Bordo(L(q 3 )) = N B N q 10 q 11 P1 = NNS P2 = NTR P3 = BCIO P4 = NN φ(q 3 ) = q 16 q 15 q 16 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 41 41

φ: Esempio i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 φ(i) -1 0 15 16 17 3 0 0 0 1 0 1 0 0 0 0 1 2 q 0 N q 1 q 2 q 3 L(q 3 ) = N Bordo(L(q 3 )) = N B N q 10 q 11 P1 = NNS P2 = NTR P3 = BCIO P4 = NN φ(q 3 ) = q 16 q 15 q 16 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 42 42

Esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 Not: per questioni di leggiilità, imo omesso gli rchi uscenti dgli stti q i con Bordo(L(q i )) = vuoto che puntno llo stto q 0 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 43 43

Costruzione utom Se lo stto φ(i) è uno stto finle llor lo è nche lo stto i Se un pttern viene riconosciuto nello stto φ(i), llor lo stesso pttern viene riconosciuto nche nello stto i dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 44 44

Esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 45 45

Esempio Finle q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 46 46

Ricerc nell utom Complessità: O( T ) Si utilizzno le funzioni δ e φ per l ricerc dei pttern P 1,,P k ll interno del testo T Ci sono due possiili vrinti 1. Ricerc dell prim occorrenz di un P i 2. Ricerc di tutte le occorrenze dei pttern P 1,,P k dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 47 47

Ricerc nell utom L ricerc prte dllo stto inizile dell'utom d ogni psso 1. nello stto corrente q i, si legge il prossimo crttere c del testo 2. si clcol q j = δ(q i,c) se q j diverso d vuoto (mtch), si pss nello stto q j e si torn l punto 1 se q j = vuoto (mismtch( mismtch), si pss nello stto q i = φ(q i ) e si torn l punto 2 3. se lo stto corrente q i è uno stto finle, si restituisce l'occorrenz del pttern trovt dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 48 48

Ricerc nell utom Se si verific un mismtch nello stto inizile q 0? Nessuno dei pttern inizi con il crttere corrente c Si forz l lettur del crttere successivo del testo T dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 49 49

Qul è il significto dell funzione φ? Se durnte il riconoscimento di un pttern P i si verific un mismtch con il crttere corrente c del testo nello stto i, è possiile che lcuni crtteri riconosciuti fino quel momento corrispondno l prefisso di un ltro pttern P j dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 50 50

Qul è il significto dell funzione φ? Il vlore di φ(i) indic proprio lo stto d cui è possiile continure l ricerc di tle pttern P j prtire dl crttere immeditmente successivo quello del prefisso trovto, senz dover ricomincire il riconoscimento dll'inizio dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 51 51

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 52 52

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 53 53

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 54 54

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C I q 11 q 12 q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 55 55

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 56 56

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 57 57

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 58 58

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 59 59

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST imo trovto l occorrenz del pttern P 4 = NN dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 60 60

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 61 61

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 62 62

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST imo trovto l occorrenz del pttern P 1 = NNS dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 63 63

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 64 64

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST Forztur sullo stto q 0 per il crttere S dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 65 65

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 66 66

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 67 67

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST Forztur sullo stto q 0 per il crttere T dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 68 68

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 69 69

Ricerc: esempio q 0 N q 1 q 2 q 3 N q 4 q 5 S q 6 T B q 7 R q 8 q 9 N q 10 C q 11 q 12 I q 13 O q 14 q 15 N q 16 q 17 T = BNNSST STOP dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 70 70

Estensione l cso idimensionle Introduzione Nozioni Preliminri utomi Pttern Mtching Multiplo ho - Corsick Bidimensionle Espressioni Regolri Conclusioni dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 71 71

Estensione l cso idimensionle Gli utomi di ho-corsick hnno un interessnte ppliczione l cso del pttern mtching idimensionle Nturle generlizzzione del pttern mtching singolo dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 72 72

Il Prolem Input: Pttern P, mtrice qudrt nxn Testo T, mtrice qudrt mxm Output: Determinre se P occorre come sottomtrice di T P T dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 73 73

L Ide Si utilizz ho-corsick per l ricerc simultne di più pttern nel testo Si consider ogni rig j di P come un singolo pttern p j Si costruisce l utom di ho-corsick che riconosce i pttern p 1,,p n dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 74 74

lgoritmo L lgoritmo mntiene un vettore [], lungo m, tle che [k] = i se l psso corrente è stt trovt nel testo l sottomtrice di P formt dlle righe p 1,,p i-1 k rig p 1 j rig p i-1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 75 75

lgoritmo Inizilizzzione: [k] = 1, 1 k m posizione corrente = T[1,1] d ogni psso: Si esmin l posizione corrente T[j,k] Se nessun rig del pttern termin in T[j,k], si pss d esminre l prossim posizione T[j,k+1] se k < m T[j+1,1] ltrimenti (k = m) ltrimenti, se si trov un occorrenz dell rig i del pttern che termin in T[j,k] dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 76 76

lgoritmo Se [k] = i, l rig del pttern trovt è quell ttes si pone [k] = [k] +1 ltrimenti, se [k] i, l rig del pttern trovt non è quell ttes, perciò eventuli sottomtrici di P trovte fino questo momento non formno un occorrenz vlid Se i =1, l occorrenz del pttern trovt è di nuovo l prim e si può ricomincire l ricerc di P prtire dll second rig: si pone [k] = 2 ltrimenti (i 1), si deve ricomincire d cpo l ricerc perciò [k] = 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 77 77

lgoritmo Se [k] = n + 1 P occorre come sottomtrice di T llinet con il suo ngolo in sso destr P[n,n] in T[j,k], perciò si restituisce l posizione (j,k) n k n P T j dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 78 78

Esempio 1 P T p1 p2 p3 p4 p5 p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 79 79

Esempio 1 utom di ho-corsick per P q 0 q 1 q 2 q 3 q 4 q 5 q 6 q 7 q 8 q 9 q 10 q 11 q 12 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 80 80

Esempio 1 P T p1 no mtch p2 p3 p4 p5 p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 81 81

Esempio 1 P T p1 p2 p3 p4 p5 p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 82 82

Esempio 1 P T p1 p2 mtch p3 p4 p5 p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 2 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 83 83

Esempio 1 p1 p2 p3 p4 p5 P T p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 2 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 84 84

Esempio 1 P T p1 p2 p3 mtch p4 p5 p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 3 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 85 85

Esempio 1 P T p1 p2 p3 p4 p5 p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 3 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 86 86

Esempio 1 P T p1 p2 p3 p4 p5 mtch p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 4 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 87 87

Esempio 1 p1 p2 p3 p4 p5 P T p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 4 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 88 88

Esempio 1 P T p1 p2 p3 p4 p5 mtch p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 5 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 89 89

Esempio 1 p1 p2 p3 p4 p5 P T p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 5 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 90 90

Esempio 1 p1 p2 p3 p4 p5 P T mtch p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 6 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 91 91

Esempio 1 p1 p2 p3 p4 p5 P T p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 6 1 1 Un occorrenz del pttern P trovt nel testo T dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 92 92

Esempio 1 P T k p1 p2 p3 p4 p5 j p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 6 1 1 Restituisco l posizione (j,k) dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 93 93

Esempio 2 P T p1 p2 p3 p4 p5 p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 94 94

Esempio 2 utom di ho-corsick per P q 0 q 1 q 2 q 3 q 4 q 5 q 6 q 7 q 8 q 9 q 10 q 11 q 12 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 95 95

Esempio 2 p1 p2 p3 p4 p5 P T p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 5 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 96 96

Esempio 2 p1 p2 p3 p4 p5 P T no mtch p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 97 97

Esempio 2 p1 p2 p3 p4 p5 P p1 = p2 = p3 = T no mtch p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 98 98

Esempio 2 P T p1 p2 p3 p4 p5 p1 = p2 = no mtch p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 99 99

Esempio 2 p1 p2 p3 p4 p5 P T p1 = p2 = p3 = p4 = p5 = [k] 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 1 Nessun occorrenz del pttern P trovt nel testo T dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 100 100

Espressioni Regolri Introduzione Nozioni Preliminri utomi Pttern Mtching Multiplo ho - Corsick Bidimensionle Espressioni Regolri Conclusioni dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 101 101

Espressioni Regolri Insieme di semplici regole per rppresentre insiemi di stringhe Possono essere generte e riconosciute d utomi stti finiti dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 102 102

Come si possono utilizzre Metodo conciso per definire insiemi di stringhe nche infiniti ricerche più o meno estte di un pttern ricerche di stringhe con lcune posizioni non specificte dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 103 103

Semplici Regole Espressioni Regolri, E, definite Σ sull lfeto Σ 1. E Σ, l string vuot 2. E Σ per ogni Σ,, singolo crttere in Σ 3. e 1 e 2 E Σ per ogni e 1, e 2 E Σ, conctenzione 4. e 1 e 2 E Σ per ogni e 1, e 2 E Σ, lterntiv 5. e* E Σ per ogni e Ee Σ, sequenz (stell di Kleene) dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 104 104

Costruzione utom Metodo di Thompson: tecnic per costruire un utom stti finiti prtendo d un espressione regolre Complessità: O( r ),, con r l lunghezz dell espressione espressione regolre Come funzion l tecnic? dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 105 105

Costruzione utom Dt un espressione regolre 1. Si decompone nelle sue sottoespressioni, le quli sono loro volt decomposte e così vi, fino d rrivre i csi se String Vuot Singolo Crttere 2. Si costruisce un utom per ciscun cso se dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 106 106

String Vuot e Singolo Crttere 1. E Σ q 0 2. E Σ, per ogni Σ q 0 q 1 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 107 107

Esempio: Csi Bse r = (T)*(C G) con Σ = {, T, C,G} q 1 q 2 q 6 C q 7 q 3 T q 4 q 8 G q 9 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 108 108

Costruzione utom Dt un espressione regolre 3. Si vvi un sequenz di pssi in cui d ogni psso, si comin un coppi di utomi ottenuti l psso precedente, pplicndo un delle regole di Thompson Conctenzione lterntiv Sequenz l psso finle, si ottiene l utom completo che riconosce l espressione regolre dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 109 109

Conctenzione 3. e 1 e 2 E Σ per ogni e 1, e 2 E Σ q 0 e 1 qn e 1 e q 0 qn 2 qm q 0 q 0 e 2 qm dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 110 110

Esempio: Conctenzione r = (T) * (C G) con Σ = {, T, C,G} q 1 q 3 q 2 q 4 T dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 111 111

lterntiv 4. e 1 e 2 E Σ per ogni e 1, e 2 E Σ q 0 e 1 qn q 0 e 1 qn q i q f q 0 e 2 qm q 0 e 2 qm dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 112 112

Esempio: lterntiv r = (T) * (C G) con Σ = {, T, C,G} q 6 C q 7 q 5 q 10 q 8 G q 9 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 113 113

Sequenz (Stell di Kleene) 5. e* E Σ per ogni e Ee Σ e q n q 0 q i q f q 0 e q n dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 114 114

Esempio: Sequenz r = (T) * (C G) con Σ = {, T, C,G} q 0 q 1 T q 4 q 2 q 3 q 5 (T)* = {,{ T,, TT, TTT, TTTT, } dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 115 115

Esempio: utom Finle T q 0 q 1 q 4 q 2 q 3 q 5 q 8 C q 7 q 11 q 6 q 10 G q 9 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 116 116

-trnsizioni utomi non deterministici -trnsizione, è un trnsizione di un rco dell utom senz dover leggere lcun crttere del testo T q 1 q 4 q 2 q 3 q 5 T = T dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 117 117

-trnsizioni utomi non deterministici -trnsizione, è un trnsizione di un rco dell utom senz dover leggere lcun crttere del testo T q 1 q 4 q 2 q 3 q 5 T = T dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 118 118

Ricerc nell utom Complessità: O( r * T ) Trnsizione Σ sullo stto inizile permette l ricerc del pttern, in qulsisi posizione, ll interno del testo T Visit dell utom medinte l funzione δ, Q = = Q U Q Q è l insieme degli stti rggiunti medinte trnsizioni dll insieme di stti restituito dll funzione δ,, Q dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 119 119

δ : Esempio Visit dell utom medinte l funzione δ, Q = = Q U Q Q è l insieme degli stti rggiunti medinte trnsizioni dll insieme di stti restituito dll funzione δ,, Q T q 1 q 4 q 2 q 3 q 5 T = T dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 120 120

δ : Esempio Visit dell utom medinte l funzione δ, Q = = Q U Q Q è l insieme degli stti rggiunti medinte trnsizioni dll insieme di stti restituito dll funzione δ,, Q T q 1 q 4 q 2 q 3 q 5 T = T Q = {q 4 } dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 121 121

δ : Esempio Visit dell utom medinte l funzione δ, Q = = Q U Q Q è l insieme degli stti rggiunti medinte trnsizioni dll insieme di stti restituito dll funzione δ,, Q T q 1 q 4 q 2 q 3 q 5 T = T Q = {q 4 } Q = {q 5, q 1 } Q = {q 4, q 5, q 1 } dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 122 122

Esempio 1 T q 0 q 1 q 4 q 2 q 3 q 5 r = (T)*(C G) T = TG q 8 C q 7 q 11 q 6 q 10 G q 9 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 123 123

Esempio 1 T q 0 q 1 q 4 q 2 q 3 q 5 Σ r = (T)*(C G) T = TG q 8 C q 7 q 11 q 6 q 10 G q 9 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 124 124

Esempio 1 T q 0 q 1 q 4 q 2 q 3 q 5 Σ r = (T)*(C G) T = TG q 8 C q 7 q 11 q 6 q 10 G q 9 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 125 125

Esempio 1 T q 0 q 1 q 4 q 2 q 3 q 5 Σ r = (T)*(C G) T = TG q 8 C q 7 q 11 q 6 q 10 G q 9 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 126 126

Esempio 1 T q 0 q 1 q 4 q 2 q 3 q 5 Σ r = (T)*(C G) T = TG q 8 C q 7 q 11 q 6 String riconosciut q 10 G q 9 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 127 127

Esempio 2 T q 0 q 1 q 4 q 2 q 3 q 5 r = (T)*(C G) T = T q 8 C q 7 q 11 q 6 q 10 G q 9 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 128 128

Esempio 2 T q 0 q 1 q 4 q 2 q 3 q 5 Σ r = (T)*(C G) T = T q 8 C q 7 q 11 q 6 q 10 G q 9 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 129 129

Esempio 2 T q 0 q 1 q 4 q 2 q 3 q 5 Σ r = (T)*(C G) T = T q 8 C q 7 q 11 q 6 String non riconosciut q 10 G q 9 dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 130 130

Conclusioni Introduzione Nozioni Preliminri utomi Pttern Mtching Multiplo ho - Corsick Bidimensionle Espressioni Regolri Conclusioni dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 131 131

Conclusioni Le sequenze di proteine e di DN possono essere viste come lunghi testi costruiti su specifici lfeti esempio: Σ DN = {, C, G, T} L ricerc di sequenze specifiche di simoli in questi testi è un operzione fondmentle per prolemi come ricostruire un sequenz di DN di singoli pezzi ottenuti d esperimenti dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 132 132

Conclusioni ricercre delle specifiche crtteristiche nelle sequenze di DN determinre qunto sono differenti due sequenze di codice genetico Tutti questi prolemi possono essere modellti come ricerche di un o più stringhe ll interno di un testo dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 133 133

Conclusioni Noi imo visto come si possono utilizzre gli utomi per ffrontre prolemi di pttern mtching multiplo pttern mtching medinte espressioni regolri In reltà, l ricerc estt è poco idone risolvere i prolemi reli di pttern mtching nell mito dell iologi, in qunto l struttur del DN risult essere molto compless dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 134 134

Conclusioni L ttenzione degli studiosi si è dunque rivolt ll ricerc pprossimt, che h prodotto soluzioni lgoritmiche più efficienti ed ffidili Tuttvi il pttern mtching pprossimto risult ncor oggi un cmpo in pieno sviluppo dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 135 135

Biliogrfi R. S. Bird, Two Dimensionl Pttern Mtching, Deprtment of Computer Science, University of Reding, Whiteknights Prk, Reding, Berkshire, U. K. R. Grossi, lgoritmi per Internet e We: Ricerc e Indicizzzione dei Testi, Versione 1.3, nno ccdemico 2002-2003 http://www.di.unis.it/~ds/bioinformtic/pttern Mtching2006/PtternMrtching.htm dde, Cmroto, Tni Pttern Mtching Medinte utomi 13/11/2007 136 136