Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoGenoveffa Porcu Modificato 11 anni fa
1
Cristian Colli Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Corso di Laurea in Ingegneria Informatica Anno Accademico 2001/2002 Relatore: Prof. Paolo Tiberio Correlatore: Dott. Federica Mandreoli Ing. Riccardo Martoglia Controrelatore Controrelatore: Prof. Sonia Bergamaschi Tecniche di ranking per linterrogazione approssimata di dati XML
2
Interrogazione approssimata XML D. Shasha K. Zang J.T.L. Wang Approximate tree matching in the presence of… Journal of algorithms TR-0146-06-91-165 June 1994 Documento XML D. Shasha K. Zhang 1994 Interrogazione XML yearauthor article 1994K. ZhangD.shasha Necessità di criteri per la selezione delle risposte approssimate Non sempre esistono soluzioni che rispondono a pieno allinterrogazione Interrogando lalbero XML accediamo a dati di cui non conosciamo lo schema date author article 1994 K. Zang D. Shasha year journal J.T.L. Wang Corr. author keytitle dblp Journal of algorithms
3
Obiettivi della tesi Metrica di similarità tra alberi Flessibile (fornendo allutente la possibilità di esprimere le proprie Flessibile (fornendo allutente la possibilità di esprimere le proprie preferenze attraverso appositi parametri) preferenze attraverso appositi parametri) Rigorosa (quantificando il valore di dissimilianza tra alberi attraverso Rigorosa (quantificando il valore di dissimilianza tra alberi attraverso il calcolo della tree edit distance unordered) il calcolo della tree edit distance unordered) Efficace (garantendo di produrre risultati utili e di qualità) Efficace (garantendo di produrre risultati utili e di qualità) Algoritmi per la risoluzione di interrogazioni Completi (fornendo allutente tutti e solo i risultati effettivamente utili) Completi (fornendo allutente tutti e solo i risultati effettivamente utili) Efficienti (garantendo prestazioni soddisfacenti attraverso lutilizzo Efficienti (garantendo prestazioni soddisfacenti attraverso lutilizzo di filtri costruiti ad hoc) di filtri costruiti ad hoc)
4
Parametri year author article 1994D. ShashaK. Zhang Lutente deve poter decidere come penalizzare le soluzioni approssimate trovate 1 01 1 1 1 - Costo locale per ogni rilassamento sui vincoli di parentela padre figlio nellalbero dati 2 422 222 Costo locale per ogni nodo query non trovato nellalbero dati Penalizzazioni: Albero query Occorre specificare un limite alle soluzioni approssimate attraverso lintroduzione di un valore di soglia di dissimilarità che permetta di selezionare le soluzioni. Soglia = 3 Parentela: Distanza massima che può esistere nellalbero dati tra due nodi legati nellalbero query, da una relazione padre-figlio Parentela = 2 Per ogni inconsistenza sul contenuto la metrica di dissimilarità e espressa dalla edit distance
5
Tree Edit Distance Unordered Edit operation: Inserimento Cancellazione Sostituzione Necessità di misurare una distanza tra alberi (unordered) che sia una metrica e che permetta in seguito di selezionare solo le soluzioni per le quali la distanza è inferiore alla soglia T1 R EA BC D T2 R AB CE F Tree edit distance = 2 Costo di cancellazione del nodo D Inserimento del nodo F in T1(Costo di cancellazione nodo F in T2) Supponendo per ciascuna edit operation un costo unitario:
6
Algoritmo tree edit distance unordered T D CF AB K(T) D CF A Costruiamo tutti i possibili sottoalberi RK(T) D A_C F Riduciamo lalbero affinchè contenga solo nodi Head RK(T) 1 nodo RK(T) 3 nodi RK(T) 5 nodi RK(T) Memorizziamo gli RK(T) secondo Il numero di Head che contengono Consideriamo un albero alla volta e per entrambi determiniamo tutti i possibili sotto alberi
7
Algoritmo per tree edit distance tra alberi unordered C AB C BARK 3 nodi RK(T1)RK(T2) D CF AB RK 5 nodi D CEGH Teorema: Ogni confronto tra RK(T1) e RK(T2) nel quale Head(RK(T1)) Head(RK(T2)) ha distanza infinita. Tabella HASH Nella tabella Hash il confronto a costo minore rappresenta la tree edit distance Dist = 0 Dist =
8
Unordered Tree Edit Distance per Interrogazioni Approssimate T1 D CF AB T2 D C F BAHGE Tree Edit Distance: ottima metrica per esprimere la distanza tra alberi ma non adatta alla risoluzione di query Occorre adattare la metrica al contesto delle interrogazioni: Necessità di valutare la distanza tra lalbero query e le sotto parti dellalbero dati per tutti nodi dellalbero dati: Costo_del = 0 Resta problema della complessità: NP-completo Per un albero di m=18 nodi il numero di sottoalberi è limitato da 2 m –1=262143 La complessità è esponenziale al crescere del numero dei nodi degli alberi
9
Filtro per la ricerca delle parti Necessità di un filtro che limiti la complessità della funzione per il calcolo della Tree Edit Distance T1 D CF AB T2 D C F BAHGE La complessità rimane esponenziale solo per quanto riguarda le dimensioni dellalbero query Identificando i gruppi di nodi dellalbero dati che possono risolvere la query otteniamo degli alberi che contengono al più lo stesso numero di nodi dellalbero query.
10
Algoritmo Filtro Nodo query BB: 7; 6; 7,2; 7,5; 7,6; 6,5; 2; 5; 6; Nodo query CC: 7,2,4; 7,5,4; 7,6,4; 6,5,4; 7,5; 6,5; 7,4 Gruppi generati: Nodo query AA: 7; 6 3, AA 1, BB2, CC 2, GB 6, AB3, GG 7, AA 1, GF4, CC5, BB Albero query Albero dati Filtro basato sul contenuto: per ogni nodo query si cercano i nodi dati simili per ogni nodo query processato si generano tutti i gruppi di nodi che sono possibili soluzioni 7,2,4; 7,5,4; 7,6,4; 6,5,4;Risultati del filtro: Assunzioni per Tutti i nodi query: Costo_del = 2 Ril_par = 1 Soglia = 3 Parentela = 2
11
Risultati del filtro 3, AA 1, BB2, CC 2, GB 6, AB3, GG 7, AA 1, GF4, CC5, BB Il filtro individua i gruppi di nodi che possono rispondere alla interrogazione Per i gruppi candidati che soddisfano la query, la distanza coincide con quella calcolata dal filtro 7,2,4 con distanza filtro 3 (reale 3) Risultati del filtro: 7,5,4 con distanza filtro 2 (reale 2) 6,5,4 con distanza filtro 1 (reale 1) 7,6,4 con distanza filtro 1 (reale infinito) Albero query Albero dati
12
Interrogazione approssimata XML yearauthor article 1994K. ZhangD.shasha date author article 1994 K. Zang D. Shasha year journal J.T.L. Wang Corr. author keytitle dblp Journal of algorithms Riconsideriamo linterrogazione iniziale per la quale lutente ha specificato I seguenti parametri: In dblp esiste una soluzione approssimata. Il filtro propone il gruppo di nodi evidenziati come candidato (distanza 3) Lalgoritmo calcola il relativo valore di dissimilianza con lalbero query mediante la funzione di tree edit distance: 2 2 2 2 4 2 2 1 - 11 1 1 0 Soglia = 3 Parentela = 2 Il candidato è soluzione con valore di dissimilianza = 3
13
Selettività filtro Efficacia del filtro realizzato al variare del valore di soglia per una interrogazione contenente 6 nodi su di un albero composto da 22. la dimensione dellinsieme candidato prodotto dal filtro è vicina a quella delle soluzioni alla query Il filtro si adatta al valore dei parametri imposti dallutente I parametri della interrogazione sono: Costo_del = 2 Ril_par = 2 Parentela = 2 La complessità dellalgoritmo, complessivamente viene ridotta nel caso peggiore da 2 22 =4194304 a 65 x ( 2 6 ) = 4160 con un fattore di riduzione pari a 1000.
14
Scalabilità (1) Prestazioni dellalgoritmo nel suo complesso al variare del numero di nodi presenti nella query. Valore dei parametri: Soglia = 3 Parentela = 2 Costo_del = 2 Ril_par = 1 Il tempo necessario per convertire il documento XML nella struttura ad albero rappresenta il tempo maggiore e indica la scarsa efficienza di tale funzione. Il tempo richiesto per lesecuzio dellinterrogazione rimane limitato poiché aumentando il numero di nodi della query aumentano i criteri di selettività del filtro.
15
Scalabilità (2) Loccupazione di memoria presenta un andamento di tipo esponenziale al crescere del numero di nodi della query Valore dei parametri: Soglia = 3 Parentela = 2 Costo_del = 2 Ril_par = 1 Prestazioni dellalgoritmo nel suo complesso al variare del numero di nodi presenti nella query.
16
Conclusioni Obiettivi conseguiti: Sviluppi futuri: E stata definita una metrica di similarità tra alberi efficace basata sul concetto di Unordered Tree Edit Distance Utilizzando questa metrica è stato definito e affrontato il problema di risoluzione di una query. E stato definito un filtro in grado di ricercare le parti di un albero dati di grandi dimensioni simili allalbero query E stato realizzato in Java un ambiente comune che riunisce queste funzionalità Ricercare criteri per la costruzione dei soli sottoalberi utili Potenziare gli algoritmi proposti per la realizzazione del filtro Migliorare le prestazioni della funzione che converte il documento XML nella struttura ad albero utilizzata dallalgoritmo
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.