Prof. Cerulli – Dott.ssa Gentili

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

08 Febbraio 2008 BOZZA Laboratorio di ricerca operativa I grafi e il problema del cammino minimo a.a. 2007/2008 Calogero Vetro.
Alberi binari Definizione Sottoalberi Padre, figli
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.
Algoritmi e Strutture Dati
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Alberi binari di ricerca
Cammini minimi con sorgente singola
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Algoritmi e Strutture Dati con Laboratorio (Modulo II)
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 Paralleli e Distribuiti a.a. 2008/09 Lezione del 05/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 28/04/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 19/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 15/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
Il problema del minimo albero ricoprente in un grafo con archi privati
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.
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
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Un albero è un grafo.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Flusso Massimo Applicazione di algoritmi
Corso di Informatica (Basi di Dati)
Algoritmi e Strutture Dati (Mod. B)
Alberi ricoprenti minimi Alcune applicazioni Lunedì 17 novembre 2003.
Richiami di matematica discreta: grafi e alberi
grafi e reti Ottimizzazione su Reti - Network Optimization Testi :
Prof. Cerulli – Dott.ssa Gentili
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
2. Grafi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 K 4 è planare? Sì!
Prof. Cerulli – Dott.ssa Gentili
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 Paralleli e Distribuiti a.a. 2008/09 Lezione del 08/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Prof. Cerulli – Dott.ssa Gentili
Lezione n° 18: Maggio Problema del trasporto: formulazione matematica Anno accademico 2008/2009 Prof. Cerulli – Dott.ssa Gentili Lezioni di.
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili
COMUNICAZIONE ONLINE, RETI E VIRTUALITA MATTEO CRISTANI.
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.
Alberi Alberi radicati : alberi liberi in cui un vertice è stato scelto come radice. Alberi liberi : grafi non orientati connessi e senza cicli. Alberi.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Olimpiadi di Informatica 2010 Giornate preparatorie
Università degli Studi di Roma Tor Vergata
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Prof. Cerulli – Dott. Carrabs
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Capitolo 13 Cammini minimi: algoritmo di Dijkstra 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.
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:

Prof. Cerulli – Dott.ssa Gentili Lezioni di Ricerca Operativa Corso di Laurea in Informatica ed Informatica Applicata Università di Salerno Lezione n° 16: 5-6 Maggio 2009 Teoria dei grafi: definizioni di base Problema dell’albero ricoprente a costo minimo Anno accademico 2008/2009 Prof. Cerulli – Dott.ssa Gentili

Teoria dei Grafi Concetti fondamentali I grafi sono un mezzo per rappresentare relazioni binarie Ad esempio: due città connesse da una strada due calcolatori connessi in una rete telematica due persone legate da una relazione di parentela (come, padre-figlio) due persone che condividono una stanza il collegamento tra due componenti elettronici un’operazione che deve essere eseguita da una certa macchina ...

I grafi possono essere usati come strumento per modellare in maniera schematica un vastissimo numero di problemi decisionali. Ad esempio: determinare il percorso più breve che connette due città determinare come connettere nella maniera più economica (più efficiente) un insieme di calcolatori in una rete telematica assegnare un insieme di operazioni ad un insieme di macchine determinare il percorso più conveniente da far percorrere ad una flotta di veicoli commerciali per effettuare delle consegne e quindi rientrare al deposito ...

Definizioni fondamentali Grafo non orientato Un grafo non orientato G=(V,E) è dato da una coppia di insiemi finiti: V={v1,...,vn} l’insieme degli n Nodi di G E={e1,..,em}ÍVxV l’insieme degli m Archi non orientati di G Ogni arco non orientato di G corrisponde ad una coppia non ordinata di nodi di G ek=(vi,vj). La presenza di un arco tra una coppia di nodi indica una relazione tra i nodi stessi.

Un esempio: G=(V,E)

Definizioni di base: un arco (v,v) è detto loop due nodi u,vÎV sono detti adiacenti Û (u,v)ÎE due archi e,fÎE sono detti adiacenti Û e=(v,w) ed f=(v,u) un arco f=(u,v)ÎE si dice incidente su u e su v l’insieme di nodi N(v)={zÎV: z adiacente a v} è detto intorno di v in G l’insieme di archi d(v)={eÎE: e incide su v} è detto stella di v in G úd(v)ú è detto grado del nodo v

Grafi e Sottografi H=(W,F) è detto sottografo di G=(V,E) Û WÍV e FÍE H=(W,F) è detto sottografo indotto da W in G=(V,E) Û WÍV e (u,v)ÎF implica che u,vÎW e (u,v)ÎE

Esempio G=(V,E) sottografo di G

Esempio G=(V,E) sottografo indotto di G

Grafi bipartiti e grafi completi G è detto grafo bipartito se esiste una partizione di V=V1ÈV2 tale che: V1ÇV2=Æ "e=(u,v)ÎE se uÎV1 allora vÎV2 oppure se uÎV2 allora vÎV1 Esempio grafo bipartito grafo non bipartito

G è detto completo Û contiene tutti i possibili archi, ovvero ú d(v)ú=n-1 "vÎV il massimo numero di archi di un grafo completo è dato da Esempio grafo completo

Grafi orientati G=(V,E) è detto orientato se, dato V={v1,...,vn}, l’insieme degli archi E={e1,..,em} è formato da coppie ordinate di nodi. Per un grafo orientato si ha che ei=(vk,vh)¹ej=(vh,vk) ei,ejÎE Coda Testa L’arco ei si dice uscente da vh ed entrante in vk

Esempio grafo orientato Fs(v)={uÎV: (v,u) ÎE} è detto stella uscente di v Bs(v)={uÎV: (u,v) ÎE} è detto stella entrante di v S(v)= Fs(v)ÈBs(v) è detto stella di v le definizioni di sottografo e sottografo indotto di un grafo orientato sono analoghe a quelle date per i grafi non orientati

Grafi connessi e componenti connesse Dato G=(V,E) un nodo vÎV si dice connesso ad un nodo zÎV se esiste un cammino (orientato o non) tra v e z in G vÎV è connesso a v (riflessività) vÎV è connesso a zÎV Þ zÎV è connesso a vÎV (simmetria) se vÎV è connesso a zÎV e zÎV è connesso a uÎV Þ vÎV è connesso a uÎV (transitività)

Ci={vÎV:v è connesso a z, "zÎCi} L’insieme V può essere partizionato in sottoinsiemi Ci={vÎV:v è connesso a z, "zÎCi} Il sottografo indotto da Ci in G è detto componente connessa di G Se G possiede una sola componente connessa si dice connesso ("v,zÎV v è connesso a z) Esempio componenti connesse grafo connesso

Cammini e circuiti euleriani Un cammino euleriano è un percorso che passa per ogni arco una sola volta Un circuito euleriano è un cammino euleriano chiuso Esempio circuito euleriano 1 2 3 4 5 6 7 8

Alberi Un grafo è aciclico se non contiene cicli (orientati o non) Un albero è un grafo connesso ed aciclico Ogni grafo aciclico è in generale l’unione di alberi e viene detto foresta Esempio grafo aciclico (foresta) grafo non aciclico albero

Dato G=(V,E), le seguenti affermazioni sono equivalenti: G è un albero ogni coppia di nodi di G è connessa da un unico cammino G è aciclico eúEú=úVú-1 G è aciclico e connettendo due nodi non adiacenti con un arco si ottiene un grafo con un unico ciclo G è connesso eúEú=úVú-1

Dato un albero T=(V,E), si dice foglia vÎV tale cheúd(v)ú=1 Se úVú³2 allora esistono almeno due foglie foglie di un albero

Dato G=(V,E), si dice albero ricoprente (spanning tree) di G un albero T=(W,F) con W=V ed FÍE (è un sottografo di G) un albero ricoprente

Si considera un grafo G=(V,E) Il Problema del Minimo Albero Ricoprente (Minimum Spanning Tree Problem) Si considera un grafo G=(V,E) Ad ogni arco ei, i=1,...,n di G è associato un costo ci, i=1,...,m Il problema: determinare l’albero ricoprente di G con il minimo costo associato. 7 14 4 10 9 17 8 1 3 2 11 12 6 13 16 15 5 Esempio