Marco Nanni Autori : Yufei Tao;Ling Ding Xuemin Lin Jian Pei.

Slides:



Advertisements
Presentazioni simili
HIV - Interpretazione del test di resistenza FENOTIPO GENOTIPO Fold-resistance CUT-OFF Biologico Clinico (??) PREDIZIONE risposta alla terapia.
Advertisements

SCOPO: Determinare condizioni locali di equilibrio al fine di ottenere quello globale del sistema Problema: Flussi uscenti dalla cella centrale verso le.
Il problema della ricerca Algoritmi e Strutture Dati.
Elementi di complessità
Problema dellordinamento Input: Sequenza di n numeri Output: Permutazione π = tale che: a 1 a 2 …… a n Subroutine in molti problemi E possibile effettuare.
Algoritmi e Strutture Dati
Corso di Laurea Triennale in Ingegneria Gestionale Corso di Fondamenti di informatica A. A A.Pinto Algoritmi di ricerca 1.
Algoritmi e Strutture Dati (Mod. B)
Selezione A. Ferrari.
Algoritmo di Query Optimization. Espressione Algebrica di Query LAlgebra Relazionale può essere utilizzata come linguaggio per interrogare una base di.
Teoria e Implementazione
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Università degli Studi di Roma Tor Vergata
Capitolo 4 Ordinamento Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
Cammini minimi Algoritmo SPT.Acyclic
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati III. Algoritmi di Ordinamento
Analisi asintotica1 Se si considerano tutte le costanti lanalisi può divenire eccessivamente complessa In realtà interessa conoscere come varia il costo.
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi KoordeNeighbor of Neighbor routing (NON)
Lezione 5 Domande: Laverage path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) Laverage path length di Chord con 2^b.
Domande Consideriamo un grafo di de bruijn con base k, ed N = k^b nodi, quale delle seguenti affermazioni è vera (giustificare la risposta) Il grado di.
DIAGRAMMI DI FLUSSO Notazione grafica usata per descrivere in modo intuitivo le azioni di cui è fatto un algoritmo. Viene usata per descrivere i passi.
Algoritmi e diagrammi di flusso
Studio di euristiche per il miglioramento di algoritmi di ranking per il World-Wide Web Università degli Studi di Milano Corso di Laurea in Informatica.
Efficient Top-k Query Evaluation on Probabilistic Data Christopher Ré, Nilesh Dalvi, Dan Suciu University of Washington Presentazione di: Giacomo Aceto,
Corso di informatica Athena – Periti Informatici
FLOWCHART DELL’ALGORITMO DI APPRENDIMENTO DELLA RETE DI KOHONEN
Prof. Cerulli – Dott.ssa Gentili
Algoritmi e Strutture Dati
Discovering Relative Importance of Skyline Attributes Gruppo 8 Altobelli Andrea (Relatore) Ciotoli Fabio Denis Mindolin, Jan Chomicki.
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.
Euristiche: algoritmi costruttivi e di ricerca locale
CREATIVE COMMONS. QUANDO NASCE? Nasce dopo una causa persa da Eldred, che era un noto pubblicatore di opere on-line di cui il copyright era scaduto, come.
LA LIRICA SICULO-TOSCANA
28 ottobre Mergesort F. Bombi 28 ottobre 2003.
Ripasso : Algoritmi.
Didattica on line.
Programmazione lineare
Algoritmo per la generazione dei primi 20 numeri dispari Autore: Francesco Russo matr
Complessità degli algoritmi (cenni) CORDA – Informatica A. Ferrari.
La modellazione degli oggetti. Il modello degli oggetti Nel modello degli oggetti le entità base su cui eseguire algoritmi sono detti “oggetti”. Gli oggetti.
Ricerca euristica Maria Simi a.a. 2008/2009 Ricerca euristica  La ricerca esaustiva non è praticabile in problemi di complessità esponenziale  Noi.
Ordinamento in tempo lineare Il limite inferiore Ω(n log n) vale per tutti gli algoritmi di ordinamento generali, ossia per algoritmi che non fanno alcuna.
Iterative Learning Control per un manipolatore robotico
Scheda Ente. 2ROL - Richieste On Line 3 4 Ente Privato 5ROL - Richieste On Line.
Array (visita e ricerca) CORDA – Informatica A. Ferrari.
Il problema della ricerca Algoritmi e Strutture Dati.
Scheda Ente. 2ROL - Richieste On Line 3 4 Ente Privato 5ROL - Richieste On Line.
1 Alcuni esempi di dispositivi (2) Disco rigido, RAID, video.
1 Ordinamento (Sorting) INPUT: Sequenza di n numeri OUTPUT: Permutazione π = tale che a 1 ’  a 2 ’  … …  a n ’ Continuiamo a discutere il problema dell’ordinamento:
1 Ordinamento (Sorting) Input: Sequenza di n numeri Output: Permutazione π = tale che: a i 1  a i 2  ……  a i n Continuiamo a discutere il problema dell’ordinamento:
Ricerca euristica Maria Simi a.a. 2005/2006 Ricerca euristica  La ricerca esaustiva non è praticabile in problemi di complessità esponenziale  Noi.
CURE: AN EFFICIENT CLUSTERING ALGORITHM FOR LARGE DATABASES GRUPPO 12 Filippo Bindi Massimiliano Ceccarini Andrea Giuliodori PRESENTAZIONE Sistemi Informativi.
Sommario Analisi del dominio: i sistemi per la localizzazione
Algoritmi e Strutture Dati (Mod. B) Algoritmi Greedy (parte III)
Reti Logiche A Lezione 2.1 Sintesi di reti combinatorie a due livelli
Ricerca locale Maria Simi Assunzioni sui problemi  Gli algoritmi visti esplorano gli spazi di ricerca alla ricerca di un goal e restituiscono.
Algoritmi e Strutture Dati Luciano Gualà
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Traveling Salesman Problem
CORSO DI INTELLIGENZA ARTIFICIALE
Riconosci le regioni italiane
Transcript della presentazione:

Marco Nanni Autori : Yufei Tao;Ling Ding Xuemin Lin Jian Pei

1.Ripasso interrogazioni Skyline 2.Definizione di Skyline rappresentativo 3.Algoritmi precedenti: K- dominating; naive greedy, best first 4.Lalgoritmo I- greedy 5.Lalgoritmo 2d-opt 6.Risultati Sperimentali

Un punto i domina un punto j se esiste almeno una dimensione in cui d i <d j ed in tutte le altre d i d j (in sostanza deve essere meglio in almeno una dimensione e pari nelle altre) Lo Skyline è formato da tutti i punti non dominati da nessun altro Ogni punto dello skyline rappresenta un tradeoff tra le dimensioni che è ottimo rispetto ad una specifica funzione di scoring.

Come già detto ogni punto dello skyline è il miglior elemento secondo una precisa funzione di costo. Spesso però lutente non sa quale è la sua funzione di costo ( quanto è disposto a spendere per hotel più vicino alla spiaggia) - si forniscono allutente i punti dello skyline. Quanti punti? Se lo skyline è troppo ricco si rischia di confonderlo Lidea è di fornire solo K punti rappresentativi dello skyline. K=3 Skyline rappresentativo = {p1, p4, p7}

Cercare uno skyline rappresentativo non è come fare clustering dello skyline: Un algoritmo di clustering posizionerebbe i centroidi ( i punti rappresentativi) nelle zone più ricche di punti sullo skyline, tralasciando i punti isolati. Noi invece vogliamo catturare la forma dello skyline con pochi punti Inoltre, sarebbe desiderabile poter estrarre man mano lo skyline partendo dai primi k punti rappresentativi per poi aumentare man mano la definizione ( con un effetto di drill down) e non ricavare k punti significativi da uno skyline già ottenuto. Altra qualità desiderabile è che la qualità stessa della rappresentazione cresca monotonicamente allaumentare di k

Una prima formulazione è quella che definisce lo skyline rappresentativo come linsieme dei k punti appartenenti allo skyline che dominano il maggior numero di punti non appartenenti allo skyline stesso. Questa formulazione ha però lo svantaggio di favorire i punti dello skyline che appartengono a cluster densi, tralasciando punti isolati e di non riflettere la forma dello skyline. Ad esempio, secondo questa formulazione i punti rappresentativi sarebbero p3, p4, p5 dal momento che dominano tutti i punti che non fanno parte dello skyline

In alternativa si può pensare a misurare la bontà della rappresentatività dei k rappresentanti dello skyline, misurando una sorta di errore di rappresentazione In pratica, tale errore è la massima distanza tra un punto dello skyline ed il suo rappresentante più vicino Perché il massimo e non la somma delle distanze? Perché la somma favorirebbe, ancora una volta, gli elementi delle zone più dense.

Si può dimostrare che trovare lo skyline rappresentativo che minimizzi la funzione di errore illustrata in precedenza in modo esatto su record con almeno 3 dimensioni è un problema NP-hard. Diventa dunque molto oneroso recuperare la soluzione ottima per basi di dati molto popolate. Lalgoritmo proposto offre una soluzione approssimata: Il suo errore sarà al massimo il doppio rispetto a quello della soluzione ottima: Ad esempio, se lerrore della soluzione ottima è 20 il suo errore sarà al più 40.

Si mostra un primo semplice algoritmo in grado di fornire una soluzione compatibile con quanto detto prima ( errore al massimo il doppio di quello della soluzione ottima). 1.Si calcola lo skyline con un qualunque algoritmo. 2.Si mette ( più o meno a caso) un primo punto dello skyline nello skyline rappresentativo 3.Si aggiunge allo skyline rappresentativo il punto dello skyline più lontano da ogni altro punto dello skyline rappresentativo. 4.Si ripete il punto 3 finché lo skyline rappresentativo non ha raggiunto dimensione K.

K=3 p4p8p1 Il principale difetto di Naive greedy è che è necessario estrarre tutto lo skyline per fornire allutente solo pochi punti. Gli algoritmi che vedremo in seguito migliorano lefficienza, ma forniscono in output lo stesso insieme di punti restituito da Naive Greedy

Lidea è di migliorare la ricerca del punto più distante dai punti rappresentativi e di creare man mano lo skyline. Ipotizziamo di indicizzare i punti in un R-tree la cui chiave è la massima distanza dai rappresentanti, ossia un upper-bound della distanza dal punto rappresentativo più vicino di un qualsiasi punto contenuto nel MBR. Per i nodi foglia si usa, ovviamente, la distanza reale. Visitare lalbero in base allordine decrescente delle chiavi farà sì che il primo elemento reperito sarà quello con la distanza massima. Ma potrebbe non essere un punto dello skyline. Ad esempio, se attualmente avessimo solo p5 come punto dello skyline il punto più lontano sarebbe p12

Occorre quindi controllare che il punto più lontano appartenga allo skyline, ossia che non ci siano punti nella sua regione di sudditanza Ad esempio la regione di sudditanza di un punto è la regione che ha un vertice nell origine ed il vertice opposto nel punto stesso. Se il test di vuoto ha successo il punto viene inserito nello skyline, altrimenti si sceglie il successivo in ordine di distanza finché il test non ha successo Il limite di Best – First è di impiegare troppo tempo nei test di vuoto.

Un modo facile per trovare un upper bound per la distanza dei punti contenuti in un MBR dai punti rappresentativi finora trovati è di prendere, per ogni rettangolo la distanza tra il punto rappresentativo più vicino ed il punto del rettangolo più lontano ad esso. Formalmente p1 Maxdist(p1,R), Max-rep-dist(R,K) p2 Maxdist(p2,R)

Prima di mostrare lalgoritmo proposto dagli autori bisogna spiegare alcuni concetti preliminari. Ogni rettangolo ha un vertice che è più vicino degli altri allorigine (lo chiamiamo min corner) Si prendono tutte gli iperpiani ( le superfici, nel caso 3d) che contengono il min corner I vertici opposti al min corner, uno per ogni iperpiano, vengono definiti side – max corner.

Dato un insieme di punti A ed un insieme di rettangoli B lo skyline conservativo è formato dai punti A e dai side – max corner di B che non sono dominati da alcun punto. Ad esempio lo skyline conservativo dellesempio in figura è formato da {p1,c1,c2,p2,c4} Immaginando che i rettangoli siano dei MBR di un R-tree si può concludere che un punto che sia dominato da un punto di uno skyline conservativo sicuramente non apparterrà allo skyline reale.

Sia L la lista di accesso contenente tutte le foglie ed i nodi intermedi visitati finora. Ipotizziamo che E sia il nodo con la massima distanza dai rappresentanti maggiore. Anziché procedere ad esplorare E ci si ferma a controllare se sono presenti altri nodi in L il cui min corner domina quello di E. (nell esempio E1 e E2). Se sono presenti più nodi che dominano E si sceglie quello più vicino allorigine (nell esempio E1).

Se procedessimo ad esaminare E (alla best first) dovremmo comunque visitare E1 ed E2 per verificare che il punto che estrarremo da E sia nello skyline. Tanto vale, allora, visitare prima E1 o E2, cosa che ci consente di ottenere uno skyline conservativo in grado fare pruning su E. E1 è preferibile ad E2 perché ci permette di ottenere uno skyline conservativo più stringente.

Riassumiamo, quindi lalgoritmo di I-greedy. Durante la sua esecuzione I- greedy tiene in memoria : Il set k di punti rappresentativi trovati finora Una lista di accesso L contenente i nodi scoperti, ma non processati finora (alla BBS) Uno skyline conservativo costruito sullunione dei nodi nella lista di accesso e dei punti skyline trovati finora. Per partire cè bisogno di individuare un primo punto dello skyline: si può partire individuando quello con la coordinata x minima, che è abbastanza veloce da individuare.

Visto che desideriamo estrarre lo skyline rappresentativo con un effetto di drill-down lalgoritmo non termina finché non si estrae lintero skyline o finché non viene interrotto A questo punto si estrae da L lelemento E con la massima distanza dai rappresentanti. Si controlla se in L sono presenti elementi che dominano E Se tali elementi sono presenti E viene tagliato e si espande il nodo E che è più vicino allorigine: si inseriscono in L i nodi o i punti non dominati dallo skyline conservativo. Se E non è dominato Se E è un punto lo si fornisce in output, Altrimenti si espande E inserendo in L i nodi o i punti non dominati dallo skyline conservativo

Ecco la formalizzazione dellalgoritmo

K= G L= N1, N2 E= N1 E= Skyline conservativo in viola

K= G L= N4, N3, N2 E= N1 E=

K= G L= N4, N3, N2 E= N4 E=

K= G L= C, N3, N2 E= N2 E= D ed E vengono tagliati perché dominati dallo skyline conservativo

K= G L= C, N3, N5 E= C E=

K= G,C L= N3, N5 E=N3 E=

K= G,C L= A,B, N5 E=N3 E=

K= G,C L= A,B, N5 E=B E= N5

K= G,C L= A,F E=F E=

K= G,C,F L= A E=A E=

K= G,C,F,A L= E=

Gli autori propongono anche un secondo algoritmo limitato a casi con due dimensioni in grado di trovare lo skyline rappresentativo ottimo in tempo O(m 2 (k-2)+m) con m dimensione dellintero skyline e k numero di punti rappresentativi. Lalgoritmo, che ha bisogno di tutto lo skyline già calcolato, agisce disponendo k cerchi coprenti in modo che minimizzino la distanza tra i punti presenti allinterno del cerchio ed il punto dello skyline che fa da centro per il cerchio coprente I punti rappresentativi sono i centri dei cerchi coprenti K=3 ; 3 cerchi coprenti {p1}; {p2, p3,p4,p5,p11}; {p6,p7,p8}; i 3 punti rappresentativi sono p1,p4,p7

Per valutare la qualità dello skyline rappresentativo sfruttiamo il dataset Island mostrato in figura: lo skyline reale è composto di 467 punti e sono visibili alcune macro aree che vorremmo siano rappresentate; la figura a fianco mostra il risultato dei vari algoritmi al variare di k Come si può vedere I-greedy, offre da subito una buona rappresentazione, anche se i punti non combaciano esattamente con quelli di 2d opt. Max dom invece fornisce anche per k =10 solo punti appartenenti alle zone più popolate

Questo grafico mostra il rapporto dellerrore di I greedy e di Max- dom rispetto alla rappresentazione ottima allaumentare del numero di punti dello skyline rappresentativo. Come dichiarato lerrore di I-greedy non supera mai il doppio, mentre quello di max-dom degrada vistosamente Il grafico a fianco mostra il rapporto tra lerrore di max. dominance e quello di I-greedy su un database multidimensionale allaumentare del numero di punti dello skyline rappresentativo. Gli autori affermano che il rapporto cresca di continuo, dal grafico però sembra assestarsi sul valore 2 In particolare il database NBA contiene le statistiche (punti, rimbalzi, assist,stoppate e palle rubate) di giocatori Nba dal 1950 al 1994.

Questo grafico mostra il tempo di esecuzione per estrarre lo skyline rappresentativo del database NBA. Naive greedy ha un grande overhead iniziale dovuto allestrazione dello skyline Max - dominance è estremamente più lento I-greedy si comporta sempre meglio di tutti. La tabella sotto mostra il numero di pagine accedute e tra parentesi il tempo di cpu I greedy accede a meno pagine, ma ha un carico di cpu maggiore, visti i confronti che deve fare Naive Greedy fa esattamente lopposto Best First è sempre peggio di I-greedy

I due grafici sottostanti mostrano due aspetti molto interessanti: Per tutti gli algoritmi il tempo di esecuzione non è strettamente correlato al numero di punti presenti nel database Tale tempo di esecuzione peggiora però al crescere del numero di dimensioni degli oggetti ( the curse o dimensionality)!