E FFICIENT S KYLINE Q UERYING WITH V ARIABLE U SER P REFERENCES ON N OMINAL A TTRIBUTES Gruppo 3...

21
EFFICIENT SKYLINE QUERYING WITH VARIABLE USER PREFERENCES ON NOMINAL ATTRIBUTES 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

Transcript of E FFICIENT S KYLINE Q UERYING WITH V ARIABLE U SER P REFERENCES ON N OMINAL A TTRIBUTES Gruppo 3...

Page 1: 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.

EFFICIENT SKYLINE QUERYING WITH VARIABLE USER PREFERENCES ON NOMINAL ATTRIBUTES

Gruppo 3Alessandro Cangini (Relatore)Marco CasadioValerio Sandri

Raymond Chi-Wing Wong, Ada Wai-Chee Fu, Jian Pei, Yip Sing Ho, Tai Wong, Yubao Liu

1

Page 2: 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.

SCENARIO

Le attuali tecniche di valutazione dello skyline si basano sull’ordinamento fisso degli attributi.

Esistono attributi il cui ordinamento non è prefissato e varia da utente a utente.

E’ il caso degli attributi nominali.Auto Prezzo Cilindrata Colore Alimentazione

a 13.500 1400 Nero Gpl

b 18.000 1600 Nero Gpl

c 23.000 1800 Verde Diesel

d 19.500 1400 Azzurro Diesel

e 13.500 1200 Nero Benzina

f 26.000 1600 Verde Benzina

g 19.500 1600 Azzurro Diesel

h 11.000 1200 Rosso Diesel

2

Page 3: 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.

SCENARIO

Assumiamo che un’auto 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

sull’attributo colore.

Utente Preferenze Skyline

Brian V > A > * {a,b,c,g,h}

Chris N > A > * {a,b,c,h}

Lois R > * {a,b,c,g,h}

Peter A > V > * {a,b,c,g,h}

Stewie N > A > R > * {a,b,c,h}

Preferenze del genere si dicono

preferenze implicite

3

Page 4: 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.

SCENARIO - ESEMPIO

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

Auto Prezzo Cilindrata Colore Alimentazione

A 18.000 1600 Nero Gpl

B 23.000 1400 Verde Diesel

Verde > Nero

Come Facciamo??

?

Page 5: 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.

DEFINIZIONE DEL PROBLEMA 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 è nell’ordine di 109.

Problema: Trovare un modo efficiente di calcolare gli skyline su attributi nominali con preferenze utente variabili.

O((c*c!)m’ )

5

Page 6: 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.

ANDIAMO 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 sull’attributo categorico sul quale l’algoritmo lavora. Es. Supponiamo di avere 10.000 query con

preferenze implicite. Per ognuna di esse bisogna calcolare l’indice.

Troppo oneroso!!

!

6

Page 7: 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.

SFS (SORT-FIRST-SKYLINE)

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

Page 8: 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.

SFS - ADAPTIVE

Calcolo dello skyline senza preferenze implicite

Calcolo del punteggio per ogni punto dello skyline

Auto

Prezzo

Cilindrata Colore

a 13.500 1400 Nero

b 18.000 1600 Nero

c 23.000 1800 Verde

d 19.500 1400 Azzurro

e 13.500 1200 Nero

f 26.000 1600 Verde

g 19.500 1600 Azzurro

h 11.000 1200 Rosso

Auto Punteggio

a 15.904

b 18.204

c 23.004

g 19.704

h 11.604

Punteggio calcolato come:Prezzo + (1800 – Cilindrata) + |Colore|

Monotonicità

HOW TO: per ogni valore dell’attributo “Colore” si calcola uno skyline. Lo skyline totale si ottiene dall’unione degli skyline

parziali

Un’auto è ora più preferibile se Prezzo e Cilindrata sono inferiori.

8

Page 9: 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.

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

Auto Punteggio

h 11.604

a 15.902

b 18.202

g 19.703

c 23.004

Auto Punteggio

a 15.904

b 18.204

c 23.004

g 19.704

h 11.604

Auto Punteggio

a 15.902

b 18.202

c 23.004

g 19.703

h 11.604

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 (n2)PROBLEMA: non scalabilità a fronte di skyline grandi ed alto numero di query…

IT WORKS!

INFATTIBILE!!!

9

Page 10: 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.

IPO – TREE: PRESENTAZIONE (IMPLICIT PREFERENCE ORDER)

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

Page 11: 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.

IPO – TREE: COSTRUZIONE

N > * V > *R > *

Root

A > * Φ

S:{a,b,c,e,f,g,h}

A = {}

A = {}

A = {}

A = {}

A = {}

G > *

D > * B > * Φ B > *D > *G > *… Φ …

… …

A = {e,f}

A = {}

A = {e,f}

A = {e,f}

A = {e,f,g}

A = {g}

2.Ad ogni livello dell’albero 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

Page 12: 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.

IPO – TREE: PROPRIETÀ DI MERGE Date due preferenze implicite su uno stesso

attributo categorico e i rispettivi skyline1. v1 > v2 > … > vx-1 > * e SKY1

2. vx > * e SKY2

Lo skyline relativo alla preferenza implicitav1 > v2 > … > vx-1 > vx > *

(indicato con SKY3) si calcola come

SKY3 = (SKY1 ∩ SKY2) ∪ PSKY1

dove PSKY1 è l’insieme dei punti di SKY1 che hanno

valori in v1, … , vx-1

(quelli esplicitati nella preferenza implicita)

Oss: La definizione è ricorsiva su (1).12

Page 13: 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.

IPO – TREE: PROPRIETÀ 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}

Utente Preferenze Skyline

Brian V > A > * {a,b,c,g,h}

Chris N > A > * {a,b,c,h}

Lois R > * {a,b,c,g,h}

Peter A > V > * {a,b,c,g,h}

Stewie N > 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

Page 14: 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.

IPO – TREE: APPLICAZIONE DEL MERGE

N > * V > *R > *

Root

A > * Φ

G > *

D > * B > * Φ B > *D > *G > * Φ

A = {e,f} A = {e,f}

A = {g} A = {e,f,g}

S:{a,b,c,e,f,g,h}S:{a,b,c,e,f,g,h}

A = {}

A = {e,f} 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

Page 15: 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.

IPO – TREE: DIMENSIONE

L’albero 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 è nell’ordine di 104.

Oss: la generazione di tutte le preferenze implicite e’ nell’ordine di 109.

O(cm’ )

Che risparmio!!!

15

Page 16: 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.

RISULTATI COMPUTAZIONALI

Misuriamo l’efficienza 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

Page 17: 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.

RISULTATI COMPUTAZIONALI

Misuriamo l’efficienza in termini di Memoria impiegata Costo temporale in fase di preparazione

(preprocessing) Costo temporale in fase di esecuzione

(query time)

17DB size

Numero di attributi non nominali

Ordine delle preferenze implicite delle query

Page 18: 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.

RISULTATI COMPUTAZIONALI

Misuriamo l’efficienza in termini di Memoria impiegata Costo temporale in fase di preparazione

(preprocessing) Costo temporale in fase di esecuzione

(query time)

18DB size

Numero di attributi non nominali

Ordine delle preferenze implicite delle query

Page 19: 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.

RISULTATI COMPUTAZIONALI

Misuriamo l’efficienza in termini di Memoria impiegata Costo temporale in fase di preparazione

(preprocessing) Costo temporale in fase di esecuzione

(query time)

19DB size

Numero di attributi non nominali

Ordine delle preferenze implicite delle query

Page 20: 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.

CONCLUSIONI E SVILUPPI FUTURI

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

Page 21: 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.

GRUPPO 3 - FINE

21

Alessandro Cangini (Relatore)

Marco Casadio

Valerio Sandri