2. Grafi.

Slides:



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

Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
08 Febbraio 2008 BOZZA Laboratorio di ricerca operativa I grafi e il problema del cammino minimo a.a. 2007/2008 Calogero Vetro.
Master Bioinformatica 2002: Grafi Problema: cammini minimi da tutti i vertici a tutti i vertici Dato un grafo pesato G =(V,E,w), trovare un cammino minimo.
Introduzione ai grafi Grafo diretto e non diretto
Il problema del minimo albero ricoprente in un grafo non cooperativo
Introduzione Cosa sono le reti di Petri?
Grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Algoritmi e strutture dati 2/ed 2 Copyright © The McGraw.
3. Modelli di reti complesse
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Università degli Studi di Roma Tor Vergata
Algoritmi e Strutture Dati con Laboratorio (Modulo II)
Algoritmi e Strutture Dati
Scenario Archi di un grafo controllati da agenti egoistici
Teoria e Tecniche del Riconoscimento
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 05/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmo di Ford-Fulkerson
Il problema del minimo albero ricoprente in un grafo con archi privati
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Cammini minimi Algoritmo SPT.Acyclic
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Trovare il percorso minimo da b ad ogni altro vertice
Modelli e Algoritmi per la Logistica
Albero: insieme di punti chiamati NODI e linee chiamate EDGES
Algoritmi e Strutture Dati
Algoritmo di Kruskal Parte con tutti i vertici e nessun lato (sottografo aciclico, o foresta, ricoprente) Ordina i lati per costo non decrescente.
Alberi ricoprenti minimi Alcune applicazioni Lunedì 17 novembre 2003.
Richiami di matematica discreta: grafi e alberi
CAP 6 Centri e periferia Quantificazione dell’informazione informale in una organizzazione Centrality nodo Centralization intera rete Misure (su reti.
Esempio di esecuzione dellalgoritmo di Prim 1 v1v1 v5v5 v2v2 v3v3 v4v U = {v 1 } X =Ø 1 v1v1 v5v5 v2v2 v3v3 v4v U = {v.
(Laboratorio di ) Sistemi Informatici Avanzati
(Laboratorio di ) Sistemi Informatici Avanzati
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili
OCTAVE.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
COMUNICAZIONE ONLINE, RETI E VIRTUALITA MATTEO CRISTANI.
Cammini minimi da un sorgente
Alberi di copertura minimi. Dato un grafo pesato G = (V,E), si richiede di trovare un albero T = (V,E’), E’  E, tale che la somma dei pesi associati.
Master Bioinformatica 2002: Grafi
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Olimpiadi di Informatica 2010 Giornate preparatorie
Università degli Studi di Roma Tor Vergata
Sistemi basati su conoscenza Metodi di ricerca informata Prof. M.T. PAZIENZA a.a
Algoritmi elementari su grafi
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
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.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
OTTIMIZZAZIONE DI UN PERCORSO GRAFO CAMMINO MINIMO.
4 maggio 2016 Fiorenza Deriu Linee, direzione e densità XII Modulo Dipartimento di Scienze Statistiche.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Transcript della presentazione:

2. Grafi

Indice Tipi di grafi Rappresentazione di grafi Misure su grafi distanza minima centralità dei nodi betweenness, clustering closeness, Distribuzione dei gradi dei nodi Esercizi: Pajek Octave:

Un grafo è un insieme di nodi (o vertici) V, collegati tra loro da un insieme di archi [arcs,links] o spigoli (o collegamenti o archi non orientati) [edges] E. Si indica con G=(V,E). numero spigoli=|E|=m; numero vertici=|V|=n L’ordine di un grafo è il numero di vertici n Un grafo si dice semplice se non ha multiarchi (multiple arcs) o loop multiarco loop Archi: realazioni personali, sequenze temporali, … Nodi: persone, eventi, jobs, etc.

Un percorso (walk) è una sequenza di nodi adiacenti. Un percorso chiuso è un percorso in cui il primo e l’ultimo vertice coincidono ovvero che congiunge un nodo a se stesso Due archi si dicono connessi se hanno un nodo in comune Un cammino (path) è una sequenza di archi connessi che congiunge due nodi (in modo tale che nessun nodo si ripeta) Un ciclo è un cammino che congiunge un nodo a se stesso Un grafo si dice connesso se dati due nodi qualsiasi esiste un cammino che li congiunge 4

n1 n5 n2 n4 n3 Percorso diretto (Directed walk) n5-n1-n2-n3-n4-n2-n3 Cammino diretto (Directed Path) n5 n4 n2 n3 Cammino non diretto (Semipath) n1 n2 n5 n4 n3 Ciclo (Cycle) n2 n3 n4 n2 Ciclo non diretto (Semicycle) n1 n2 n5 n1

Una componente di un grafo è un sottografo connesso. Un sottografo (sub-graph) di un grafo è un grafo i cui nodi e archi sono un sottoinsieme di quelli di G. Una componente di un grafo è un sottografo connesso. 6

Grafo pesato Un grafo è orientato (directed graph o digraph) quando tutti i suoi archi lo sono.

Un albero è un grafo connesso senza cicli Un albero è un grafo tale che |n-m|=1 La struttura ad albero di un grafo permette di raggiungere tutti i nodi con il minimo numero di archi  Albero di Ricoprimento Minimo =minimum spanning tree (mst) Un insieme di alberi disgiunti è una foresta

Algoritmi per calcolare il mst Prim’s algorithm Kruskal’s algorithm Boruvka’s algorithm

Un grafo si dice completo se da ogni nodo si raggiunge qualsiasi altro percorrendo un solo spigolo Il numero di spigoli in un grafo completo è: m=n(n-1)/2 Il grado di ogni vertice è n-1

Un grafo si dice regolare se tutti i nodi hanno lo stesso grado

Come si rappresenta matematicamente un grafo

Matrice di adiacenza Matrice binaria. E’ simmetrica se il grafo non è orientato e viceversa

1 4 2 3 E1 E2 E3 v1 v2 v3 v4 v1 v2 v3 v4 v1 v2 v3 v4 Matrice adiacenza Matrice Incidenza 1 4 1 2 4 1 3 4 1 4 1 1 4 2 1 4 3 1 Lista adiacenza

Se il grafo è pesato allora è descritto da una matrice W del tipo:

Matrice laplaciana: L=Deg-A: Esempio Alcune proprietà: Siano g autovalori di L L è sempre semidefinita positiva Il numero degli autovalori nulli è quello delle componenti connesse

Il diametro di un grafo completo è 1, indipendente da n Distanza e diametro La lunghezza di un cammino è il numero di spigoli (link) in esso contenuti (per i relativi pesi) La distanza d(i,j) tra due nodi (non necessariamente distinti) i e j è la lunghezza del cammino minimo che li congiunge. Il diametro di un grafo è la massima delle distanze minime tra le coppie dei suoi vertici Il diametro di un grafo completo è 1, indipendente da n La lunghezza caratteristica [characteristic path length ], è la media delle distanze minime n(n-1)/2 =n° totale di link se la rete è non diretta 17

2m 2*8=16

Eigenvector centrality: Authorities and Hubs Nelle reti orientate i gradi in entrata (xi) ed in uscita (yi) dei nodi hanno un significato diverso. Si deve risolvere un problema agli autovalori (anzi 2) Av=lv WWW Le authority (grande xi) contengono grandi informazioni su un dato tema. Gli hub (grande yi) dicono dove trovare quelle informazioni

Manuale Pajek

Eingenvector centrality Un nodo è importante se ha «amici» importanti La matrice di adiacenza A è non negativa (ha autovalori ≥0) Il teorema di Perron-Froboenius afferma che se la rete è connessa allora il massimo autovalore è reale e le componenti dell’autovettore corrispondente sono positive Le si può normalizzare e trovare un ranking dei nodi . La componente con il valore più grande è quella con gli «amici più importanti». E’ il metodo usato da Google. Una pagina è importante se puntata da pagine importanti

A B C Degree centrality e Degree centralization Le persone sono centrali se l’informazione può facilmente raggiungerle La degree centrality è Il più semplice indicatore di centralità di un nodo ovvero è il numero dei sui vicini (il suo grado) La degree centralization di una rete è la misura di quanto la sua struttura sia lontana da quella di una rete a stella. Esempio v1 v4 v2 v5 A v1 v4 v3 v2 v5 B v1 v4 v3 v2 v5 C v3 In una rete con linee multiple o loops (non semplice) il grado di un vertice è diverso dal numero di vicini (e la centralization può essere >1). In questo caso non è opportuno usare la misura di degree centralization

Closeness Centrality and Closeness Centralization In una rete di comunicazione l’informazione raggiunge una persona più facilmente ed in modo più corretto se il percorso che deve fare è breve. La Closeness Centrality di un vertice è l’inverso della somma delle distanze del vertice dagli altri divisa per il numero di vertici : (Sum distanze dai vertici/ n°dei vertici) -1 = ( n°di vertici/sum distanze dai vertici) La Closeness Centralization è la variazione della closeness centrality dei vertici divisa per la variazione della closeness centrality in una rete a stella delle stesse dimensioni N.B. Per calcolare le distanze i nodi devono essere connessi. La closeness centralization è una misura definita solo su una componente connessa.

Centrality: efficiency (di un grafo) Questa quantità è basata sull’assunzione che l’efficienza nella comunicazione tra due nodi i e j è uguale a L’efficienza del grafo G è definita così:

Il grado può non riuscire a cogliere l’importanza di un nodo La betweenness (‘’essere tra’’) di un nodo i è il numero di cammini minimi (geodesic paths) tra altri vertici che lo attraversano diviso per il numero totale di cammini minimi .

Betweenneess Centrality and Betweenness Centralization Una misura di centralità è quella dell’ «essere intermediario» ad esempio in una rete di comunicazione cioè il flusso di informazioni che una persona può controllare perché la attraversa. La Betweenness centrality di un vertice è il numero di cammini minimi (geodesiche) che attraversano un nodo diviso per il numero totale di cammini minimi La Betweenness centralization è la variazione della Betweenness Centrality dei vertici divisa per la variazione della betweenness centrality in una rete a stella delle stesse dimensioni.

La betweennees può essere una misura della vulnerabilità del grafo ad attacchi selettivi ai suoi nodi

degree Alaska

21=7*6/2 In Pajek Clustering coefficient Il coefficiente di clustering Ci del nodo i è il numero di spigoli esistenti tra i suoi nodi vicini diviso per tutti i nodi possibili tra i vicini stessi 21=7*6/2 In Pajek

Clustering coefficient Deg(v)=degree of v |E(G1(v)|=n°di connessioni tra i vicini di v

Il Clustering Coefficient del grafo è la media dei clustering dei nodi: Esistono altre definizioni di clustering Coefficient che danno valori simili (ma non identici) Gli alberi hanno coefficiente di Clustering =0 Il Clustering misura la connessione dell’intorno di una rete e fornisce un’altra misura della robustezza del grafo. Se un grafo ha un valore di Clustering alto anche se eliminiamo un nodo il grafo rimane connesso

Piccardi ACN2010

Esercizi: Pajek Applicazione delle misure di centralità viste Octave: degree distribution