Questo sito utilizza cookie di terze parti per inviarti pubblicità in linea con le tue preferenze. Se vuoi saperne di più clicca QUI 
Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie. OK

Teoria e ricerca di patterns in biosequenze

L'anteprima di questa tesi è scaricabile in PDF gratuitamente.
Per scaricare il file PDF è necessario essere iscritto a Tesionline.
L'iscrizione non comporta alcun costo. Mostra/Nascondi contenuto.

11 Tutti i numeri saranno allora in base d e modulo q, e tale calcolo è eseguibile in tempo O(n+m). I valori p e t i si calcolano con: t s+1 =(d(t s -T[s+1]h)+T[s+m+1]) mod q dove h≡d m-1 mod q è il valore della cifra “1” nella posizione più significativa di una porzione di testo di m cifre. L’unico problema è che dobbiamo cercare tutte le posizioni s tali che t s =p, ma in questo modo troviamo solo quando t s ≡p mod q, che non è la stessa cosa. L’unico modo in cui sarebbe utile tale congruenza sarebbe di usarla per trovare le posizioni s tali che t s Τp mod q così da escludere delle posizioni di T. Occorrerà quindi fare un confronto diretto tra le restanti posizioni di T e la stringa P. Il programma ha una parte introduttiva in cui h viene inizializzato al valore della cifra più significativa di una porzione di m cifre e p e t 0 a 0. Viene eseguito un ciclo for con cui vengono calcolati p e t 0 in base d e modulo q e un altro ciclo con cui vengono analizzati tutti i t s ( a partite da s=0) per cercare le posizioni valide e dentro il quale viene generato il successivo t s . Il caso peggiore si presenta quando tutte le posizioni sono potenzialmente valide, cioè t s ≡p mod q per ogni s e quindi occorre confrontare sempre m caratteri del testo con gli m della stringa, situazione che dà un costo uguale a quello dell’algoritmo banale, cioè un costo quadratico, ma R-K si comporta molto meglio nel caso medio, quando cioè sono poche le posizioni potenzialmente valide e quindi il costo è O(n+m) sommato alla quantità di volte in cui occorre confrontare le posizioni potenzialmente valide. Esempio: Consideriamo il testo e la stringa in base 10 cioè Σ={0,1,2,3,4,5,6,6,7,8,9} e sia P=1234 la stringa da ricercare nel testo T=478292123478. In tale situazione la lunghezza della stringa è m=4 e assumiamo q=11. Dal momento che la stringa P dà p≡2 mod 11, cerchiamo nel testo tutte le posizioni s tali che t s ≡2 mod11 dove le t s sono assunte di lunghezza m=4. Per s=1 si ha t 1 =4782≡ 8 mod 11 che non va bene; il successivo valore t 2 viene calcolato in tempo costante con la formula sopra che elimina da t 1 la prima cifra e inserisce alla sua estremità destra la cifra del testo nella posizione s+m+1. Otteniamo così t 2 =7829≡8 mod 11, che scartiamo; lo stesso ragionamento porta a t 3 =8292≡2349 mod 11, t 4 =2921≡6 mod11, t 5 =9212≡5 mod11, t 6 =2123≡0 mod11,t 7 =1234≡2 mod11, quindi per s=7 abbiamo un candidato, ma ciò come sappiamo non basta, occorre verificare posizione per posizione se è effettivamente valida.

Anteprima della Tesi di Desir Franchin

Anteprima della tesi: Teoria e ricerca di patterns in biosequenze, Pagina 8

Tesi di Laurea

Facoltà: Scienze Matematiche, Fisiche e Naturali

Autore: Desir Franchin Contatta »

Composta da 92 pagine.

 

Questa tesi ha raggiunto 1015 click dal 27/04/2004.

 

Consultata integralmente una volta.

Disponibile in PDF, la consultazione è esclusivamente in formato digitale.