Skip to content

Implementazione in JAVA di un algoritmo di String Matching - Algoritmo di Aho e Corasick

Gratis La preview di questa tesi è scaricabile gratuitamente in formato PDF.
Per scaricare il file PDF è necessario essere iscritto a Tesionline. L'iscrizione non comporta alcun costo: effettua il Login o Registrati.

Anteprima della tesi: Implementazione in JAVA di un algoritmo di String Matching - Algoritmo di Aho e Corasick, Pagina 3
6 
 
Data una stringa α, l’operatore |α| indica la lunghezza di una stringa, ossia da quanti 
caratteri essa è composta. La stringa vuota contiene 0 caratteri. 
Quando una stringa è formata dalla concatenazione di uno stesso simbolo x, k volte con 
�� ∈ �� 0
 , si usa la notazione �� �� . 
Una stringa β è sottostringa di una stringa α se ∃ �� , �� ∈ Σ
∗
 stringhe, anche vuote, tali che 
�� = ������ . Se �� ≠ �� e almeno una stringa tra γ e δ è non vuota, allora si dice che β è 
sottostringa propria di α. Se δ è la stringa vuota, β è detta suffisso di α, se γ è la stringa 
vuota, β è detta prefisso di α 
 
Una stringa β è chiamata bordo di α se essa è sia prefisso che suffisso di α 
contemporaneamente (es. la stringa ri è bordo della stringa riscontri). 
La notazione α[i…j] indica una sottostringa di una stringa α che è composta dai caratteri 
α[i], α[i+1],…, α[j], con �� ≥ �� ������ �� , �� ∈ �� 0
 . Se i>j allora α[i…j] rappresenta la stringa 
vuota.  
Data la stringa α=γβδ, con |γ|=k, si dice che β occorre in α, o che ha un match in α, alla 
posizione k della stringa α, con �� ≥ 0. La prima occorrenza di β in α è quella che occorre 
alla posizione minima k, ossia ∄�� ′
< �� tale che β occorre anche nella posizione �� ′
. 
Infine, l’allineamento di una stringa α alla posizione i di β, con �� ≤ |�� | − |�� |, è 
l’operazione che permette una sovrapposizione ideale di α con la sottostringa β[i…i+|α|-1].  
Quest’ultima è un’operazione importante negli algoritmi di pattern matching poichè 
permette di verificare se la sottostringa α occorre in una certa posizione della stringa β. 
 
Un insieme di stringhe definite su un dato alfabeto Σ prende il nome di linguaggio 
formale. Per formale si intende che l’appartenenza di una certa stringa S a un determinato 
linguaggio L è definita rigorosamente, descrivendo matematicamente le proprietà che tale 
stringa del linguaggio deve soddisfare.  
In informatica, esistono due principali modalità con le quali vengono definiti i linguaggi: 
- modalità generativa: insieme di regole formali con le quali si possono costruire o 
generare tutte le stringhe del linguaggio da definire. Un formalismo generativo è 
dato dalle espressioni regolari; 
- modalità riconoscitiva: algoritmo capace di stabilire se una stringa appartiene a un 
dato linguaggio. Un formalismo riconoscitivo è dato dagli automi a stati finiti. 
 
Le espressioni regolari (denotate anche con gli acronimi R.E. o RegEx, Regular 
Expressions) definite su un alfabeto Σ rappresentano un formalismo per descrivere insiemi
Sitografia automatica

Non sei sicuro di avere citato tutte le fonti?
Evita il plagio! Grazie all'elenco dei link rilevati puoi controllare di aver fatto un buon lavoro

Preview dalla tesi:

Implementazione in JAVA di un algoritmo di String Matching - Algoritmo di Aho e Corasick

CONSULTA INTEGRALMENTE QUESTA TESI

La consultazione è esclusivamente in formato digitale .PDF

Acquista

Informazioni tesi

  Autore: Lorenzo Busicchia
  Tipo: Laurea I ciclo (triennale)
  Anno: 2019-20
  Università: Università degli Studi di Palermo
  Facoltà: Scienze e Tecnologie Informatiche
  Corso: Informatica
  Relatore: Gabriele Fici
  Lingua: Italiano
  Num. pagine: 29

FAQ

Per consultare la tesi è necessario essere registrati e acquistare la consultazione integrale del file, al costo di 29,89€.
Il pagamento può essere effettuato tramite carta di credito/carta prepagata, PayPal, bonifico bancario.
Confermato il pagamento si potrà consultare i file esclusivamente in formato .PDF accedendo alla propria Home Personale. Si potrà quindi procedere a salvare o stampare il file.
Maggiori informazioni
Ingiustamente snobbata durante le ricerche bibliografiche, una tesi di laurea si rivela decisamente utile:
  • perché affronta un singolo argomento in modo sintetico e specifico come altri testi non fanno;
  • perché è un lavoro originale che si basa su una ricerca bibliografica accurata;
  • perché, a differenza di altri materiali che puoi reperire online, una tesi di laurea è stata verificata da un docente universitario e dalla commissione in sede d'esame. La nostra redazione inoltre controlla prima della pubblicazione la completezza dei materiali e, dal 2009, anche l'originalità della tesi attraverso il software antiplagio Compilatio.net.
  • L'utilizzo della consultazione integrale della tesi da parte dell'Utente che ne acquista il diritto è da considerarsi esclusivamente privato.
  • Nel caso in cui l'Utente volesse pubblicare o citare una tesi presente nel database del sito www.tesionline.it deve ottenere autorizzazione scritta dall'Autore della tesi stessa, il quale è unico detentore dei diritti.
  • L'Utente è l'unico ed esclusivo responsabile del materiale di cui acquista il diritto alla consultazione. Si impegna a non divulgare a mezzo stampa, editoria in genere, televisione, radio, Internet e/o qualsiasi altro mezzo divulgativo esistente o che venisse inventato, il contenuto della tesi che consulta o stralci della medesima. Verrà perseguito legalmente nel caso di riproduzione totale e/o parziale su qualsiasi mezzo e/o su qualsiasi supporto, nel caso di divulgazione nonché nel caso di ricavo economico derivante dallo sfruttamento del diritto acquisito.
  • L'Utente è a conoscenza che l'importo da lui pagato per la consultazione integrale della tesi prescelta è ripartito, a partire dalla seconda consultazione assoluta nell'anno in corso, al 50% tra l'Autore/i della tesi e Tesionline Srl, la società titolare del sito www.tesionline.it.
L'obiettivo di Tesionline è quello di rendere accessibile a una platea il più possibile vasta il patrimonio di cultura e conoscenza contenuto nelle tesi.
Per raggiungerlo, è fondamentale superare la barriera rappresentata dalla lingua. Ecco perché cerchiamo persone disponibili ad effettuare la traduzione delle tesi pubblicate nel nostro sito.
Per tradurre questa tesi clicca qui »
Scopri come funziona »

DUBBI? Contattaci

Contatta la redazione a
[email protected]

Ci trovi su Skype (redazione_tesi)
dalle 9:00 alle 13:00

Oppure vieni a trovarci su

Parole chiave

pattern
matching
pattern matching
aho
corasick
stringhe
espressioni regolari
dfa
automi
nfa

Non hai trovato quello che cercavi?


Abbiamo più di 45.000 Tesi di Laurea: cerca nel nostro database

Oppure consulta la sezione dedicata ad appunti universitari selezionati e pubblicati dalla nostra redazione

Ottimizza la tua ricerca:

  • individua con precisione le parole chiave specifiche della tua ricerca
  • elimina i termini non significativi (aggettivi, articoli, avverbi...)
  • se non hai risultati amplia la ricerca con termini via via più generici (ad esempio da "anziano oncologico" a "paziente oncologico")
  • utilizza la ricerca avanzata
  • utilizza gli operatori booleani (and, or, "")

Idee per la tesi?

Scopri le migliori tesi scelte da noi sugli argomenti recenti


Come si scrive una tesi di laurea?


A quale cattedra chiedere la tesi? Quale sarà il docente più disponibile? Quale l'argomento più interessante per me? ...e quale quello più interessante per il mondo del lavoro?

Scarica gratuitamente la nostra guida "Come si scrive una tesi di laurea" e iscriviti alla newsletter per ricevere consigli e materiale utile.


La tesi l'ho già scritta,
ora cosa ne faccio?


La tua tesi ti ha aiutato ad ottenere quel sudato titolo di studio, ma può darti molto di più: ti differenzia dai tuoi colleghi universitari, mostra i tuoi interessi ed è un lavoro di ricerca unico, che può essere utile anche ad altri.

Il nostro consiglio è di non sprecare tutto questo lavoro:

È ora di pubblicare la tesi