(Laboratorio di ) Sistemi Informatici Avanzati

Slides:



Advertisements
Presentazioni simili
Premessa: si assume di aver risolto (correttamente
Advertisements

Algoritmi e Strutture Dati
Reti sociali Reti sociali.
L’algoritmo PageRank.
Capitolo 8 Sistemi lineari.
COORDINATE POLARI Sia P ha coordinate cartesiane
6. Catene di Markov a tempo continuo (CMTC)
Introduzione Cosa sono le reti di Petri?
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
Algoritmi e Strutture Dati
Lez. 121 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Progettazione.
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Scelte di consumo Chiara Mocenni Corso di laurea.
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
Sistemi di supporto alle decisioni 2. Features space
6. Catene di Markov a tempo continuo (CMTC)
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Università degli Studi di Roma Tor Vergata
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati
Iterazione enumerativa (for)
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Algoritmo di Ford-Fulkerson
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Capitolo 11 Grafi e visite di grafi 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
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
8. Reti di Code Nella maggior parte dei processi produttivi risulta troppo restrittivo considerare una sola risorsa. Esempio: linea tandem arrivi 1 v.
CORSO DI PROGRAMMAZIONE II Introduzione alla ricorsione
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
Ricerca della Legge di Controllo
Seminario su clustering dei dati – Parte II
Algoritmi e Strutture Dati
Modelli probabilistici
Argomenti – Lezione 8 Modulo III --- Calcolo del PageRank Modulo IV --- Costruzione del Dizionario Globale delle Parole.
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)
Lavoro svolto da Veronica Mancin
DBMS ( Database Management System)
Fibonacci Heaps e il loro utilizzo nell’algoritmo di Prim
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.
Applicazioni di modelli matematici alla ricerca semantica
Elementi di Informatica di base
Internet Ricerche nel web Gli indici sistematici (directory)
Prof. Cerulli – Dott.ssa Gentili
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Prof. Cerulli – Dott.ssa Gentili
Università degli Studi G.DAnnunzio Chieti e Pescara Seminario MOTORI DI RICERCA aprile 2011 maurizio gatto.
INTERACTIVE PDF Develove S.r.l. Presentazione del sistema WEB di pubblicazione e di estrapolazione di contenuti da file PDF.
Algoritmi e Strutture Dati
2. Grafi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Web Communities and their identificaton
COMUNICAZIONE ONLINE, RETI E VIRTUALITA MATTEO CRISTANI.
Metodi matematici per economia e finanza. Prof. F. Gozzi
MOTORI DI RICERCA. Un motore di ricerca è un sistema automatico che analizza un insieme di dati spesso da esso stesso raccolti e restituisce un indice.
La ricorsione.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Allineamento di sequenze
Capitolo 13 Cammini minimi: Bellman e Ford Algoritmi e Strutture Dati.
Tecniche di ricerca semantica a supporto del recupero di link di tracciabilità tra artefatti software RelatoreCandidato Chiar.mo Prof. Rocco OlivetoStefano.
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
10/5/061 Lez. 12 Previsioni di traffico Generalità Previsioni di scenario.
Algoritmi di routing statici (pag.72) UdA2L4 Questi algoritmi, sono eseguiti solamente all'avvio della rete, e le decisioni di routing a cui essi pervengono.
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Fabio Rinnone Matricola 667/ Università di Catania Facoltà di SS. MM. FF. NN. Dipartimento di Matematica e Informatica Corso di Laurea di Primo Livello.
Transcript della presentazione:

(Laboratorio di ) Sistemi Informatici Avanzati Giuseppe Manco

Centralità, Struttura di Internet. Search: HITS e PageRank

Centralità, Struttura di Internet. Search: HITS e PageRank

Centralità La centralità misura l’importanza relativa di un nodo all’interno di un grafo Esistono svariate misure di centralità. Degree centrality Closeness centrality Betweenness centrality Ecc…

Degree centrality La Degree centrality di un nodo è definita come il numero di archi incidenti ad esso La Degree centrality misura la capacità immediata di un nodo di diffondere informazioni nella rete In caso di grafi diretti si possono calcolare due tipi di centrality: Indegree Outdegree

Degree centrality Matematicamente Nella versione normalizzata Complessità Grafo denso: Grafo sparso:

Closeness centrality Misura basata su: Shortest Path Length (spl) tra due nodi Farness: fissato un nodo, è la somma di tutte le Shortest Path Length tra il nodo in esame e tutti gli altri nodi della rete La Closeness Centrality è l’inverso della farness Intuitivamente, misura step sono necessari per diffondere una informazione da un nodo a tutta la rete

Closeness centrality Matematicamente Nella versione normalizzata Complessità (dettata dalla ricerca di tutti gli spl) Grafo denso: (Floyd–Warshall algorithm) Grafo sparso: (Johnson's algorithm)

Closeness centrality La formulazione originale è valida solo per grafi completamente connessi Formulazione alternativa (tra le tante proposte) Opsahl (2010):

Betweenness centrality È un indice che misura la frequenza di un nodo all’interno dello shortest path tra due nodi qualunque Ad esempio, la capacità di raccogliere informazioni da parte di uno sniffer in una rete informatica

Betweenness centrality Sia v il nodo di cui si voglia calcolare la betweenness e siano s e t altri due nodi della rete diversi tra loro e diversi da v Sia il numero di shortest path che uniscono s e t tra loro Sia il numero di shortest path tra s e t che contengono v

Betweenness centrality Matematicamente Grafo diretto Grafo indiretto Nella versione normalizzata

Betweenness centrality Complessità (dettata dalla ricerca di tutti gli spl) Grafo denso: (Floyd–Warshall algorithm) Grafo sparso: (Johnson's algorithm)

Paragone Rete:

Paragone Degree centrality

Paragone Closeness centrality

Paragone Betweenness centrality

Eigenvector centrality Misura la centralità di un nodo in base alle sue interazioni con la rete Un nodo è importante se è collegato a nodi importanti Ricorda qualcosa?

Eigenvector centrality Supponiamo che G sia diretto con matrice di adiacenze Matematicamente Dove xv è la Eigenvector centrality del nodo v, mentre λ è una costante

Eigenvector centrality In forma vettoriale: Questa è la formulazione degli autovettori, mentre le costanti sono gli autovalori Tra tutti gli autovalori possibili scegliamo quello maggiore  autovettore positivo (teorema di Perron– Frobenius) La v-esima componente dell’autovettore x è il grado di centralità del nodo v In letteratura ci sono svariati algoritmi per il calcolo dei migliori autovalori/autovettori SVD

Centralità, Struttura di Internet. Search: HITS e PageRank

Struttura di Internet Source: David Easley, Jon Kleinberg Networks, Crowds, and Markets, Cambridge University Press (2010)

Struttura di Internet

Bow-Tie Source:A. Broder, et al. Graph structure in the Web. In Proc. WWW, pages 309–320, 2000.

Bow-Tie Internet è dunque una rete di contenuti con proprietà simili a quelle studiate finora Anche le risorse del web sono nodi di un grafo È possibile dunque calcolare un grado di centralità e di importanza di ogni risorsa È possibile guidare la ricerca di contenuti in base all’importanza delle risorse

Centralità, Struttura di Internet. Search: HITS e PageRank

Search Problema della ricerca web: individuare le risorse richieste dall’utente nel minor tempo possibile a partire da un certo numero di parole chiave Inserisci un termine nella pagina di Google Analizza i risultati Il primo elemento è quello che ti aspettavi? Come ha fatto Google a calcolare il risultato?

Search Un problema difficile Information retrieval: ricerca in grosse repositories, sulla base di keywords Keywords limitate e inespressive, e: sinonimia (modi multipli per dire la stessa cosa: casa, abitazione) Polisemia (significati multipli per lo stesso termine: Jaguar, Apple) Differenti modalità di authoring Esperti, novizi, etc. Estrema dinamicità del web Shift Scarcity  abundance

Centralità, Struttura di Internet. Search: HITS e PageRank Algoritmo HITS

HITS HITS è l’acronimo per Hyperlink-Induced Topic Search (anche noto come hubs and authorities algorithm) È una variante di Eigenvector Centrality Due tipi di pagine web: Hubs: sono pagine che non hanno contenuto informativo “autorevole” in merito all’argomento di ricerca, ma hanno dei link verso pagine autorevoli Autorities: pagine di contenuti informativi sugli argomenti di ricerca

HITS Hub Authority

HITS Data una ricerca sul web, l’algoritmo effettua due operazioni principali: Recupero delle pagine web che trattano l’argomento in questione Assegnamento, ad ogni pagina ottenuta al passo precedente, di due punteggi Score di authority: stima dell’importanza del contenuto della pagina Hub value: stima del valore dei link verso le altre pagine

HITS L’assegnamento dei due punteggi avviene attraverso una procedura mutua ed iterativa Ad ogni passo uno score modifica l’altro Sia A la matrice di adiacenze del grafo che rappresenta le pagine web selezionate in base alla ricerca Sia v il vettore che contiene i valori (ordinati per nodo) di authority di ogni nodo Sia u il vettore che contiene i valori (ordinati per nodo) di hub di ogni nodo

HITS Inizializzazione Update In forma chiusa Ogni elemento di u è pari ad 1 Ogni elemento di v è pari ad Atu Update In forma chiusa

HITS In forma procedurale: Authority Update Rule Hub Update Rule Per ogni nodo p Dove n è il numero di pagine che puntano su p Hub Update Rule Dove n è il numero di pagine puntate da p

HITS Terminazione dell’algoritmo: Così come è definito l’algoritmo diverge È necessario un passo di normalizzazione che garantisce la convergenza von Ahn, Luis (2008-10-19). "Hubs and Authorities". 15-396: Science of the Web Course Notes. Carnegie Mellon University. Retrieved 2008-11-09.

HITS Procedura

HITS Esempio. Rete:

HITS Matrice di adiacenze Valore iniziale di u

HITS Authority Hub

HITS Il nodo 3 è il più autorevole I nodi 1 e 2 non sono autorevoli ma sono equamente validi come hub Ripetere il processo ulteriormente non porta ulteriori miglioramenti I vettori u e v saranno solo moltiplicati per uno scalare Serve la normalizzazione per ottenere un punto fisso

Centralità, Struttura di Internet. Search: HITS e PageRank

PageRank Il PageRank è una misura di importanza delle pagine Web derivata dalla Eigenvector centrality È un sistema attualmente alla base del motore di ricerca di Google Il suo brevetto appartiene alla Stanford University Google ha acquistato dalla Stanford University una licenza speciale del PageRank per l’ammontare di 1.8Mln di azioni Google Nel 2005 la Stanford University ha venduto le azioni in suo possesso per un totale di 336Mln di dollari

PageRank Il PageRank è una distribuzione probabilistica che misura la verosimiglianza che un utente generico, navigando in maniera random attraverso i link delle pagine visitate, arrivi ad una pagina target La stima della distribuzione di probabilità, come per l’algoritmo HITS, prevede una procedura iterativa ed approssimata

PageRank – Definizione di base In una rete con n nodi assegniamo ad ogni nodo un PageRank iniziale pari ad 1/n Scegliamo un numero limitato di step k Effettuiamo k volte la procedura di update dei PageRank delle varie pagine Basic PageRank Update Rule: Ogni pagina divide il proprio PageRank per il suo outdegree e passa tale quantità al PageRank delle pagine alle quali punta Se una pagina non ha link uscenti passa l’attuale PageRank a se stessa Ogni pagina assegna al proprio PageRank la somma di tutte le porzioni di PageRank trasferitegli dalle pagine che la puntano

PageRank – Definizione di base Matematicamente. Inizializzazione. Per ogni pagina pi Update. Per ogni nodo pi Dove M(pi) è l’insieme di tutte le pagine che puntano pi

PageRank – Definizione di base Esempio

PageRank – Definizione di base Step A B C D E F G H 1 1/8 2 1/2 1/16 3 5/16 1/4 1/32 4 …

PageRank – Problema Si consideri la seguente rete

PageRank – Problema Poiché il sotto ramo della pagina C non ha archi che facciano defluire il rank accumulato indietro nei nodi A, B, D, E e H, si verificherà la seguente condizione dopo un certo numero di iterazioni di PageRank: PR(A) = PR(B) = PR(C) = PR(D) = PR(E) = PR(H) = 0 PR(F) = PR(G) = 0.5 Questo scenario è molto verosimile nel Web: modello Bow-Tie

PageRank – Soluzione Si aggiunge un fattore di dump (d): Si suppone che ad ogni click, l’utente, che naviga in maniera random seguendo i link, possa decidere di smettere di seguire i link e di scegliere di aprire una pagina a caso Update. Per ogni nodo pi Ora si ha il problema della stima del parametro d Google, attualmente, usa un valore intorno a 0.85

PageRank Forma matriciale Update Dove la funzione di adiacenza l(pi, pj) è pari a 0 se non esiste un arco tra pi e pj, ed è normalizzata in presenza di archi in modo da avere:

PageRank I valori dei PageRank sono le entry dell’autovettore dominante della matrice di adiacenze modificata La matrice di adiacenze è resa stocastica Rappresenta la probabilità di transazione da una pagina alla successiva Le colonne sommano ad 1 Siamo, quindi, di fronte ad una variante dell’eigenvector centrality

Differenze tra HITS e PageRank Tempo di esecuzione HITS è eseguito contestualmente alla query query lente hub e authority score dipendenti dalle query Il PageRank è eseguito in una fase di indicizzazione precedente alle query Query veloci Score generale (ed unico) Numero di score HITS calcola due score per ogni documento Il PageRank calcola un solo score per documento Quantità di pagine in analisi HITS lavora su un sottoinsieme di documenti “rilevanti” ai fini della query Il PageRank indicizza tutte le pagine web

Problema del Pagerank Il principale problema riscontrato nell’utilizzo del PageRank è la preferenza verso le pagine con la maggiore età. Pagine nuove, anche se ricche di contenuti, sono penalizzate dal fatto di non essere puntate da altre pagine esistenti A meno di non far parte di un sito già esistente fortemente connesso Ecco il motivo perché Wikipedia è sempre nei primi posti in una ricerca su Google