Grafi (non orientati e connessi): minimo albero ricoprente

Documenti analoghi
Grafi pesati Minimo albero ricoprente

Grafi (non orientati e connessi): minimo albero ricoprente

Grafi (orientati): cammini minimi

Algoritmi e strutture dati

Cammini minimi. Definizioni. Distanza fra vertici. Proprietà dei cammini minimi. Algoritmi e Strutture Dati

Minimo albero di copertura

Alberi di copertura minimi

Progettazione di Algoritmi

Grafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill)

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione

Algoritmi e Strutture Dati

Minimo Albero Ricoprente

Alberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa

Il problema del commesso viaggiatore

2.2 Alberi di supporto di costo ottimo

Progettazione di Algoritmi

Algoritmi e Strutture Dati

VISITA IL SITO PER ALTRO MATERIALE E GUIDE

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

Problemi, istanze, soluzioni

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014

Algoritmi e Strutture Dati 2/ed Quiz a risposta multipla

Problema del cammino minimo

T 1 =1. n 6 n. T n =3 T. Esercizio 1 (6 punti)

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Grafi: visita generica

Cammini minimi fra tutte le coppie

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

Definizioni. Soluzione ottima: migliore soluzione possibile Soluzione ottima localmente: soluzione ottima in un dominio contiguo. Il paradigma greedy

11.4 Chiusura transitiva

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Esercizi Capitolo 14 - Algoritmi Greedy

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

GRAFI. fig.1 - GRAFI (1) Si avvisa il lettore che certe definizioni che verranno date differiscono da quelle presenti in letteratura.

Sommario della lezione

Corso di elettrotecnica Materiale didattico: i grafi

Minimo sottografo ricoprente. Minimo sottografo ricoprente. Minimo albero ricoprente. Minimo albero ricoprente

VISITA IL SITO PER ALTRO MATERIALE E GUIDE

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Grafi: definizioni e visite

età (anni) manutenzione (keuro) ricavato (keuro)

Ingegneria degli Algoritmi (II parte pratica)

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Depth-first search. Visita in profondità di un grafo Algoritmo Esempio Complessità dell algoritmo Proprietà Ordinamento topologico

Coverage. Visto che il coverage si basa su aree dell ambiente che vengono monitorate non è

Alberi di copertura minimi

Heap e code di priorità

Algoritmi. Matricole dispari Prof.ssa Anselmo. Pre-appello del 15 Gennaio Attenzione:

Sommario. Rappresentazione dei grafi. Ordinamento topologico. Visita in ampiezza Visita in profondità

Claudio Arbib Università di L Aquila. Ricerca Operativa. Reti di flusso

Dati e Algoritmi 1: A. Pietracaprina. Grafi (II parte)

Appunti lezione Capitolo 15 Ricerca locale

IL PROBLEMA DELLO SHORTEST SPANNING TREE

Problema dell albero di cammini minimi (SPT, Shortest Path Tree) o problema dei cammini minimi :

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006)

Algoritmo basato su cancellazione di cicli

Esercizi di Algoritmi e Complessità

Euristiche per il Problema del Commesso Viaggiatore

Esercizio 1. Esercizio 2

Algoritmi e strutture dati. Codici di Huffman

UNIVERSITA DEGLI STUDI DI PERUGIA

Stallo di processi. Definizione del problema e modellizzazione Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

c(s) := c e (1) e δ(s)

Grafi. Sommario. Definizioni Rappresentazione dei grafi Algoritmi di visita Esempi in C

i completi l'esecuzione dell'algoritmo di programmazione dinamica per questo problema restituendo il valore ottimo e una soluzione ottima del problema

4c. Esercizi sul livello di Rete Instradamento in Internet

L algoritmo di Dijkstra

Grafi, Social Network e Ricerca su Web Prof. Maurizio Naldi

Un esempio: l ADT Dizionario (mutabile) Definizione. Alberi binari di ricerca (BST = binary search tree) search(chiave k) -> elem

Modelli decisionali su grafi - Problemi di Localizzazione

Parte V: Rilassamento Lagrangiano

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Albero di Riscorsione

Grafi e gruppo fondamentale di un grafo

Progetto e analisi di algoritmi

Possibile applicazione

Progettazione di Algoritmi

Esame di Ricerca Operativa del 15/01/2015

Esercizi proposti 10

Problemi di Instradamento di Veicoli

Routing. Forwarding e routing

Routing IP. IP routing

E facile vedere che il massimo numero di archi è n(n - 1)/2. Nel caso in cui m = O(n) diremo che il grafo è sparso. V={1,2,3,4,5}

Fondamenti di Internet e Reti

La teoria dei grafi permette di esprimere in modo sistematico le LKT e LKC con i metodi della

Branch-and-bound per KNAPSACK

Introduzione agli Algoritmi ed alle Strutture Dati Anno Accademico 2015/2016 Appello 23/6/2016

ALBERTO DENNUNZIO DALLE AUTOSTRADE DIGITALI ALLE AUTOSTRADE REALI: GRAFI, WEB, FACEBOOK E NAVIGATORI SATELLITARI

CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS

Tracce. 1. Data una lista di elementi di tipo intero, implementare in C++ le seguenti funzioni

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

1. Considerazioni generali

Laboratorio di Algoritmi e Strutture Dati. Aniello Murano. people.na.infn.it/~murano/ Murano Aniello - Lab. di ASD Terza Lezione

E facile vedere che il massimo numero di archi è n(n - 1)/2. Nel caso in cui m = O(n) diremo che il grafo è sparso.

COMPITO DI RICERCA OPERATIVA. max x 1 + x 2 x 1 2x 2 + x 3 = 4 x 1 x 2 x 3 = 3 x 2 + 2x 3 = 1 x 1, x 2, x 3 0

Introduzione al problema dei cammini minimi. Facoltà di Scienze Matematiche Fisiche e Naturali. Prof.ssa Rossella Petreschi

40 Algoritmi sui Grafi

Esame di Ricerca Operativa del 16/06/2015

Operations Management

Transcript:

Grafi (non orientati e connessi): minimo albero ricoprente Una breve presentazione

Definizioni Sia G=(V,E) un grafo non orientato e connesso. Un albero ricoprente di G è un sottografo T G tale che: T è un albero; T contiene tutti i vertici di G. Sia w(e) il costo (o peso) di un arco e E. Un minimo albero ricoprente di G è un albero ricoprente di costo minimo. (Il costo dell albero è la somma dei costi degli spigoli che l albero contiene.)

Esempi Il minimo albero ricoprente non è necessariamente unico

Proprietà dei minimi alberi ricoprenti

Tagli e cicli Dato un grafo non orientato G=(V,E), un taglio in G è una partizione dei vertici V in due insiemi: X e V-X. Un arco e=(u,v) attraversa il taglio (X, V-X) se u X e v V-X Un ciclo è un cammino in cui il primo e l ultimo vertice coincidono

Un approccio goloso Costruiremo un minimo albero ricoprente un arco alla volta, effettuando scelte localmente golose. Ad esempio: includere nella soluzione archi di costo piccolo escludere dalla soluzione archi di costo elevato Formalizzeremo il processo come un processo di colorazione: archi blu: inclusi nella soluzione archi rossi: esclusi dalla soluzione

Regola del taglio (regola blu) Scegli un taglio che non contiene archi blu. Tra tutti gli archi non colorati del taglio, scegline uno di costo minimo e coloralo blu. Ogni albero ricoprente deve infatti contenere almeno un arco del taglio E naturale includere quello di costo minimo

Regola del ciclo (regola rossa) Scegli un ciclo che non contiene archi rossi. Tra tutti gli archi non colorati del ciclo, scegline uno di costo massimo e coloralo rosso. Ogni albero ricoprente deve infatti escludere almeno un arco del ciclo E naturale escludere quello di costo massimo

L approccio goloso L approccio goloso applica una delle due regole ad ogni passo, finché tutti gli archi sono colorati Si può dimostrare che esiste sempre un minimo albero ricoprente che contiene tutti gli archi blu e non contiene nessun arco rosso. Si può inoltre dimostrare che il metodo goloso colora tutti gli archi.

Tempi di esecuzione A seconda della scelta della regola da applicare e del taglio/ciclo usato ad ogni passo, si ottengono dal metodo goloso diversi algoritmi con diversi tempi di esecuzione

Algoritmo di Kruskal

Strategia Mantiene una foresta di alberi blu, all inizio: tutti i vertici del grafo e nessun arco Per ogni arco, in ordine non decrescente di costo, applica il seguente passo: se l arco ha entrambi gli estremi nello stesso albero blu, applica la regola del ciclo e coloralo rosso, altrimenti applica la regola del taglio e coloralo blu (fondendo quindi due alberi blu) I vertici nello stesso albero blu sono mantenuti tramite una struttura dati union/find

Pseudocodice

Esempio (1/2) ATTENZIONE: nel libro i pesi degli archi (A,B) e (E,G) sono scambiati (e un errore)! 9 7 7

Esempio (2/2) ATTENZIONE: nel libro i pesi degli archi (A,B) e (E,G) sono scambiati (e un errore)! 9 9 7 7 9 9 7 7 9 9 7 7

Analisi Il tempo di esecuzione dell algoritmo di Kruskal è O(m log n) nel caso peggiore (Utilizzando un algoritmo di ordinamento ottimo e la struttura dati union-find)

Algoritmo di Prim

Strategia Mantiene un unico albero blu T, che all inizio consiste di un vertice arbitrario Applica per n-1 volte il seguente passo: scegli un arco di costo minimo incidente su T e coloralo blu (applica la regola del taglio), ovvero: aggiungilo all albero Definiamo arco azzurro un arco (u,v) tale che u T, v T, (u,v) ha il costo minimo tra tutti gli archi che connettono v ad un vertice in T: l algoritmo mantiene gli archi azzurri in una coda con priorità da cui è estratto il minimo ad ogni passo

Pseudocodice

Esempio (1/2)

Esempio (2/2)

Analisi Il tempo di esecuzione dell algoritmo di Prim è O(m + n log n) nel caso peggiore (Realizzando la coda con priorità tramite heap di Fibonacci)

Riepilogo Paradigma generale per il calcolo di minimi alberi ricoprenti Applicazione della tecnica golosa Due algoritmi specifici ottenuti dal paradigma generale: Prim e Kruskal L uso di strutture dati sofisticate ci ha permesso di implementare tali algoritmi in modo efficiente