E FFICIENT S KYLINE Q UERYING WITH V ARIABLE U SER P REFERENCES ON N OMINAL A TTRIBUTES Gruppo 3 Alessandro Cangini (Relatore) Marco Casadio Valerio Sandri.

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

Strutture dati per insiemi disgiunti
Algoritmi e Strutture Dati
                      Insertion-Sort
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Biglietti e Ritardi: schema E/R
Biglietti: schema E/R.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
1 2. Introduzione alla probabilità Definizioni preliminari: Prova: è un esperimento il cui esito è aleatorio Spazio degli eventi elementari : è linsieme.
Algoritmi e Strutture Dati
Lez. 91 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Alberi di ricerca.
esponente del radicando
(se a = 0 l’equazione bx + c = 0 è di primo grado)
RB-alberi (Red-Black trees)
Alberi binari di ricerca
Code con priorità Ordinamento
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Stesso approccio.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Stesso approccio.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Usa la tecnica del.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Stesso approccio.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 22/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Capitolo 9 I numeri indici
Algoritmi e strutture Dati - Lezione 7
Il problema del dizionario
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Capitolo 1 Unintroduzione.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 4 Ordinamento: Heapsort Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Algoritmi e Strutture Dati
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Algoritmi e Strutture Dati
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. A)
Algoritmi e strutture dati
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
Cercare informazioni sul Web. 5-2 Organizzazione dellinformazione tramite gerarchie Classificazione gerarchica Linformazione è raggruppata in un piccolo.
QuickSort Quick-Sort(A,s,d) IF s < d THEN q = Partiziona(A,s,d) Quick-Sort(A,s,q-1) Quick-Sort(A,q + 1,d)
Notazioni Asintotiche e Ordini di Grandezza delle funzioni
Fondamenti di Informatica1 Ripetizioni di segmenti di codice Spesso è necessario ripetere più volte uno stesso segmento dell'algoritmo (e.g. I/O, elaborazioni.
Intelligenza Artificiale
Anche la RB-Delete ha due fasi: Nella prima viene tolto un nodo y avente uno dei sottoalberi vuoto sostituendolo con la radice dellaltro sottoalbero. Per.
Elementi di Informatica di base
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
Strutture dati per insiemi disgiunti
Radix-Sort(A,d) // A[i] = cd...c2c1
RB-insert(T, z) // z.left = z.right = T.nil Insert(T, z) z.color = RED // z è rosso. Lunica violazione // possibile delle proprietà degli alberi // rosso-neri.
Towards Robust Indexing for Ranked Queries aa 09/10 Candeloro D. Orlando M. Pedone A. Gruppo 5.
Discovering Relative Importance of Skyline Attributes Gruppo 8 Altobelli Andrea (Relatore) Ciotoli Fabio Denis Mindolin, Jan Chomicki.
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Pippo.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 21 Agosto.
Algoritmi e strutture Dati - Lezione 7 1 Algoritmi di ordinamento ottimali L’algoritmo Merge-Sort ha complessità O(n log(n))  Algoritmo di ordinamento.
Voronoi-Based K Nearest Neighbor Search for Spatial Network Databases1 GRUPPO 13: Relatore: Mengoli Dario Mengoli Dario Rovatti Fabrizio Tassoni Davide.
Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Risoluzione dei Problemi (parte 2) Agostino Poggi.
Codici prefissi Un codice prefisso è un codice in cui nessuna parola codice è prefisso (parte iniziale) di un’altra Ogni codice a lunghezza fissa è ovviamente.
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Capitolo 1 Un’introduzione.
Prof.ssa Rossella Petreschi Lezione del 17 /10/2014 del Corso di Algoritmica Lezione n°5.
Prof.ssa Rossella Petreschi Lezione del 15 /10/2012 del Corso di Algoritmica B-alberi Lezione n°5.
Transcript della presentazione:

E FFICIENT S KYLINE Q UERYING WITH V ARIABLE U SER P REFERENCES ON N OMINAL A TTRIBUTES Gruppo 3 Alessandro Cangini (Relatore) Marco Casadio Valerio Sandri Raymond Chi-Wing Wong, Ada Wai-Chee Fu, Jian Pei, Yip Sing Ho, Tai Wong, Yubao Liu 1

S CENARIO Le attuali tecniche di valutazione dello skyline si basano sullordinamento fisso degli attributi. Esistono attributi il cui ordinamento non è prefissato e varia da utente a utente. E il caso degli attributi nominali. AutoPrezzoCilindrataColoreAlimentazione a NeroGpl b NeroGpl c VerdeDiesel d AzzurroDiesel e NeroBenzina f VerdeBenzina g AzzurroDiesel h RossoDiesel 2

S CENARIO Assumiamo che unauto sia universalmente migliore quanto inferiore è il prezzo e superiore la cilindrata. Questo non vale per gli attributi Colore e Alimentazione. Consideriamo, per ora, solo preferenze sullattributo colore. UtentePreferenzeSkyline BrianV > A > *{a,b,c,g,h} ChrisN > A > *{a,b,c,h} LoisR > *{a,b,c,g,h} PeterA > V > *{a,b,c,g,h} StewieN > A > R > *{a,b,c,h} Preferenze del genere si dicono preferenze implicite 3

S CENARIO - E SEMPIO Consideriamo le tuple: Se consideriamo solo gli attributi numerici: A > B, in quanto ha minore prezzo e maggiore cilindrata Tuttavia se consideriamo una preferenza del tipo I.e. una macchina Verde e preferibile ad una Nera A non domina più B in quanto e preferibile per Prezzo e Cilindrata, ma non per Colore. 4 AutoPrezzoCilindrataColoreAlimentazione A NeroGpl B VerdeDiesel Verde > Nero Come Facciamo???

D EFINIZIONE D EL P ROBLEMA Gli algoritmi tradizionali (tipo BBS) non sono applicabili: la funzione distanza, in questo caso, non è calcolata solamente su attributi numerici. Primo approccio: determinare gli skyline di tutte le possibili preferenze implicite. Numero di tutte le possibili preferenze implicite proporzionale a: Es. con 3 ( = m ) attributi nominali ognuno dei quali ha 40 ( = c ) possibili valori. Il numero totale di preferenze implicite è nellordine di Problema : Trovare un modo efficiente di calcolare gli skyline su attributi nominali con preferenze utente variabili. O((c*c!) m ) 5

A NDIAMO OLTRE … Un primo tentativo è stato quello di adattare qualcosa di già esistente. Algoritmi quali BBS e NN richiedono, ad ogni nuova preferenza implicita, una generazione di un indice sullattributo categorico sul quale lalgoritmo lavora. Es. Supponiamo di avere query con preferenze implicite. Per ognuna di esse bisogna calcolare lindice. Troppo oneroso!!! 6

SFS (S ORT -F IRST -S KYLINE ) E un algoritmo nel quale tutte le tuple sono ordinate con una funzione f di preferenza in base a un loro punteggio e lo skyline viene ricavato sulla base di tale ordinamento. Es. f come somma di tutte le dimensioni di un punto. Vale solo per attributi numerici totalmente ordinati. Se possiamo sfruttare la possibilità di variare i valori dei punteggi in base alle preferenze implicite, non abbiamo costi aggiuntivi in pre- processing e possiamo sfruttare solo raffinamenti sulle preferenze implicite e non più sugli attributi numerici. 7

SFS - ADAPTIVE Calcolo dello skyline senza preferenze implicite Calcolo del punteggio per ogni punto dello skyline AutoPrezzoCilindrataColore a Nero b Nero c Verde d Azzurro e Nero f Verde g Azzurro h Rosso AutoPunteggio a b c g h Punteggio calcolato come: Prezzo + (1800 – Cilindrata) + |Colore| Monotonicità HOW TO: per ogni valore dellattributo Colore si calcola uno skyline. Lo skyline totale si ottiene dallunione degli skyline parziali Unauto è ora più preferibile se Prezzo e Cilindrata sono inferiori. 8

SFS - ADAPTIVE Modifica del ranking in base ad una preferenza implicita e si ordina per valori crescenti di score. Si applica SFS coi valori modificati Poiché b > g, si elimina g ; lo skyline risultante è { a,b,c,h } Query: N > A > * N = 2, A = 1 e si ricalcola il punteggio AutoPunteggio h a b g c AutoPunteggio a b c g h AutoPunteggio a b c g h Per ogni nuova query occorrono (1)una nuova modifica del ranking; O(n) (2)un nuovo ordinamento; O(n*log n) (3)un nuovo check di dominanza. O (n 2 ) PROBLEMA : non scalabilità a fronte di skyline grandi ed alto numero di query… IT WORKS! INFATTIBILE!!! 9

IPO – TREE : P RESENTAZIONE (I MPLICIT P REFERENCE O RDER ) Idea di base : memorizzare alcuni risultati parziali che, combinati tra loro, generino il risultato richiesto. Come? IPO – tree : albero che memorizza risultati per certe combinazioni di preferenze implicite. Come lo usiamo? Esiste la possibilità di dividere la query in sotto-query più semplici e di trovare i relativi skyline. Questi risultati parziali saranno poi composti per formare il totale. 10

IPO – TREE : C OSTRUZIONE N > *V > *R > * Root A > * Φ S:{a,b,c,e,f,g,h} A = {} G > *D > *B > * Φ D > *G > * … Φ … …… A = {e,f} A = {} A = {e,f} A = {e,f,g} A = {g} 2.Ad ogni livello dellalbero ci sono i nodi relativi alle preferenze implicite di solamente un attributo (inclusa la preferenza nulla Φ). 1. Per ogni combinazione dei valori degli attributi categorici si calcola lo skyline sugli attributi numerici e questo si inserisce nella radice. 3. Le foglie contengono le tuple squalificate dallo skyline della radice per quella combinazione di preferenze implicite E con preferenze del tipo N > A > * ?? A = {e,f} A = {e,f,g} 11

IPO – TREE : P ROPRIETÀ DI MERGE Date due preferenze implicite su uno stesso attributo categorico e i rispettivi skyline 1. v 1 > v 2 > … > v x-1 > *e SKY 1 2. v x > *e SKY 2 Lo skyline relativo alla preferenza implicita v 1 > v 2 > … > v x-1 > v x > * (indicato con SKY 3 ) si calcola come SKY 3 = (SKY 1 SKY 2 ) PSKY 1 dove PSKY 1 è linsieme dei punti di SKY 1 che hanno valori in v 1, …, v x-1 (quelli esplicitati nella preferenza implicita) Oss : La definizione è ricorsiva su (1). 12

IPO – TREE : P ROPRIETÀ DI MERGE Es. Consideriamo le preferenze sul colore di Chris N > A > * A > * SKYA = {a,b,c,g,h} N > * SKYN = {a,b,c,h} PSKYN = {a,b} (SKYN SKYA) PSKYN = {a,b,c,h} UtentePreferenzeSkyline BrianV > A > *{a,b,c,g,h} ChrisN > A > *{a,b,c,h} LoisR > *{a,b,c,g,h} PeterA > V > *{a,b,c,g,h} StewieN > A > R > *{a,b,c,h} N > A > R > * / \ N > A > * R > * / \ N > * A > * IT WORKS!!! Come la mettiamo con le mie preferenze?! Molto Bene!!! 13

IPO – TREE : A PPLICAZIONE DEL MERGE N > *V > *R > * Root A > * Φ G > *D > *B > *Φ D > *G > * Φ A = {e,f} A = {g} A = {e,f,g} S:{a,b,c,e,f,g,h} A = {} A = {e,f} N > *, B > * A > *, B > * SKY1 = {a,b,c,e,f,h} PSKY1 = {e} SKY2 = {a,b,c,e,f,g,h} N > A > *, B > * MERGE: SKY3 = {a,b,c,e,f,h} A = {e,f,g} 14

IPO – TREE : D IMENSIONE Lalbero così creato ha un numero di nodi proporzionale a: Es. con 3 ( = m ) attributi nominali ognuno dei quali ha 40 ( = c ) possibili valori. Il numero totale di nodi è nellordine di Oss : la generazione di tutte le preferenze implicite e nellordine di O(c m ) Che risparmio!!! 15

R ISULTATI C OMPUTAZIONALI Misuriamo lefficienza confrontandola con SFS-A su di un Dataset Reale (Nursery Dataset from UCI Machine Learning Repository) in termini di: Memoria impiegata. Costo temporale in fase di preparazione (preprocessing) Costo temporale in fase di esecuzione (query time) Parametri di Riferimento: DB Size Numero di attributi non nominali Ordine delle preferenze implicite delle query 16

R ISULTATI C OMPUTAZIONALI Misuriamo lefficienza in termini di Memoria impiegata Costo temporale in fase di preparazione (preprocessing) Costo temporale in fase di esecuzione (query time) 17 DB size Numero di attributi non nominali Ordine delle preferenze implicite delle query

R ISULTATI C OMPUTAZIONALI Misuriamo lefficienza in termini di Memoria impiegata Costo temporale in fase di preparazione (preprocessing) Costo temporale in fase di esecuzione (query time) 18 DB size Numero di attributi non nominali Ordine delle preferenze implicite delle query

R ISULTATI C OMPUTAZIONALI Misuriamo lefficienza in termini di Memoria impiegata Costo temporale in fase di preparazione (preprocessing) Costo temporale in fase di esecuzione (query time) 19 DB size Numero di attributi non nominali Ordine delle preferenze implicite delle query

C ONCLUSIONI E S VILUPPI F UTURI A fronte di una maggiore costo in fase di pre- processing e in termini di memoria impiegata, si hanno notevoli miglioramenti a run-time Maggiore efficienza! Sviluppi futuri: Aggiornamento IPO-tree; Studio di metodologie alternative (introdurre negli attuali algoritmi di skyline il concetto di attributo nominale qualora ne siano sprovvisti). 20

G RUPPO 3 - FINE 21 Alessandro Cangini (Relatore) Marco Casadio Valerio Sandri