2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
|
|
- Massimiliano Massaro
- 4 anni fa
- Visualizzazioni
Transcript
1 2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
2 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di trasporto e distribuzione di beni e persone, - progetto di reti di comunicazione o di altra natura, - localizzazione di impianti e servizi, - organizzazione degli orari, - pianificazione di processi produttivi... E. Amaldi Fondamenti di R.O. Politecnico di Milano 2
3 2.1 Grafi e algoritmi E. Amaldi Fondamenti di R.O. Politecnico di Milano
4 2.1.1 Grafi Esempio Rete stradale che collega n città n= città nodi, collegamenti lati ( edge ) 4 Modello: un grafo G = (N, E) che consiste in un insieme N={1,2,,4,5} di nodi (vertici) e in un insieme E={[1,2],[1,],[1,4],[1,5],[2,],[2,5],[,4],[,5],[4,5]} N N di lati che li collega. [, ] indicano una coppia non ordinata E. Amaldi Fondamenti di R.O. Politecnico di Milano 4
5 Definizioni Due nodi sono adiacenti se esiste un lato che li collega. Un lato e è incidente in un nodo i se i è un estremo di e. G i nodi 1 e 2 sono adiacenti il lato [1,5] è incidente nei nodi 1 e 5 4 Il grado di un nodo è il numero di lati incidenti. Es: nodo 1 è di grado 4 e il nodo 4 di grado E. Amaldi Fondamenti di R.O. Politecnico di Milano 5
6 Dato un grafo G=(N, E) con n = N e m = E n=4 m=4 v 1 v 2 v N = { v 1, v 2, v, v 4 } E = { [v 1, v 2 ], [v 2, v ], [v 2, v 4 ], [v, v 4 ] } v 4 Una sequenza di lati consecutivi [v 1, v 2 ], [v 2, v ],, [v k-1, v k ] è un cammino che collega in nodi v 1 e v k v 1 v 2 v v k E. Amaldi Fondamenti di R.O. Politecnico di Milano 6
7 v i, v j N sono connessi se esiste un cammino che li collega v j v i G = (N, E) è connesso se v i, v j connessi v i, v j N connesso 4 non connesso E. Amaldi Fondamenti di R.O. Politecnico di Milano 7
8 Se certi collegamenti possono essere percorsi solo in un verso? Un grafo G = (N, A) è orientato se A è un insieme di coppie ordinate (v i, v j ) chiamate archi v i v j (v i, v j ) A 1 2 G 5 4 E. Amaldi Fondamenti di R.O. Politecnico di Milano 8
9 Una sequenza di archi consecutivi (v 1, v 2 ), (v 2, v ),, (v k-1, v k ) è un cammino orientato da v 1 a v k v 1 v 2 v k cammino orientato da 1 a 2 4 E. Amaldi Fondamenti di R.O. Politecnico di Milano 9
10 Un ciclo ( circuito ) è un cammino ( orientato ) con v k = v 1 v 2 v 1 = v k v v k ciclo C 4 E. Amaldi Fondamenti di R.O. Politecnico di Milano 10
11 cut in inglese Dato G = (N, E) non orientato e un insieme di nodi S N, il taglio indotto da S, indicato (S), è il sottoinsieme di lati con un estremo in S e l altro in N \ S. (S) = { (v,w) A : v S, w N \ S o w S, v N \ S } Esempio 1 2 N \ S S (S) = (N \ S ) E. Amaldi Fondamenti di R.O. Politecnico di Milano 11
12 Dato G = (N, A) orientato e un insieme di nodi S N, taglio uscente indotto da S : + (S) = { (v, w) A : v S, w N \ S } taglio entrante indotto da S : - (S) = { (v, w) A : w S, v N \ S} Esempio 1 2 N \ S S E. Amaldi Fondamenti di R.O. Politecnico di Milano 12
13 Modello per relazioni di compatibilità o incompatibilità Esempio incarichi e 2 persone i j N 1 N 2 N 2 = N \ N 1 lato [i, j] indica che l incarico i può essere eseguito dalla persona j Def. G è bipartito se esiste una partizione (N 1, N 2 ) di N t.c. nessun lato collega nodi nello stesso N i (i = 1, 2 ) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
14 Def. G è completo se E = { [v i, v j ] : v i, v j N, i j } n=4 m=6 Proprietà Per qualsiasi grafo G con n nodi, il numero di lati m soddisfa: nn ( 1) m se G non orientato 2 m n(n-1) se G orientato In entrambi i casi, con uguaglianza per i grafi completi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 14
15 Modello per relazioni di precedenza tra entità Un progetto composto da n attività {a i } 1 i n con m relazioni di precedenza tra coppie di attività a i a j ( a j non può iniziare prima del completamento di a i ) Modello 1: grafo orientato nodi attivià archi precedenze k i j a i a k a j a j Modello 2: grafo orientato archi attività nodi attività «uscenti» possono iniziare quando tutte le attività «entranti» sono completate a i a k E. Amaldi Fondamenti di R.O. Politecnico di Milano 15 k i j a j a j
16 Rappresentazione dei grafi Per grafi densi, matrice di adiacenza n x n : a ij = 1 se (i,j) A e a ij = 0 altrimenti Per grafi sparsi, liste dei successori o predecessori: S(1) = { 2, 4 } S(2) = { } S() = { 4 } S(4) = { 2 } E. Amaldi Fondamenti di R.O. Politecnico di Milano 16
17 2.1.2 Raggiungibilità in un grafo Problema Dato un grafo orientato G = (N, A) e un nodo assegnato s, determinare i nodi raggiungibili da s. s Liste dei successori : S(1) = { 2, 4 } S(2) = { 5 } S() = { 5, 6 } S(4) = { 2 } S(5) = { 4 } S(6) = { 2 } E. Amaldi Fondamenti di R.O. Politecnico di Milano 17
18 Algoritmo che permette di determinare tutti i nodi raggiungibili da s? input G = (N, A) con n = N e m = A, descritto mediante le liste dei successori, e un nodo s output Sottoinsieme M N dei nodi di G raggiungibili da s Q = coda dei nodi raggiungibili da s e non ancora elaborati (gestita secondo una politica first-in first-out ) E. Amaldi Fondamenti di R.O. Politecnico di Milano 18
19 Esempio 1 2 Q = { 1 } e M = Ø Q = { 1 } e M = {1} Q = { 2, 4 } e M = M {2} Q = { 4, 5 } e M = M {4} M Q = { 5 } Q = e M = M {5} L insieme M = { 1, 2, 4, 5 } dei nodi che sono stati marcati è l insieme dei nodi raggiungibili da s = 1 NB: Non vi sono archi che escono da M e entrano in N \ M! E. Amaldi Fondamenti di R.O. Politecnico di Milano 19
20 Algoritmo di esplorazione di un grafo output Nodi marcati (in M) raggiungibili da s BEGIN Q := {s}; M := ; END WHILE Q DO /* elabora un nodo raggiungibile h Q */ scegliere un nodo h Q e porre Q := Q \ {h}; M := M {h}; /* marcare h */ FOR EACH j S(h) DO IF j M AND j Q THEN Q := Q {j} END-IF END-FOR END-WHILE Q coda implica una strategia di esplorazione con priorità di ampiezza ( breadth first search ) E. Amaldi Fondamenti di R.O. Politecnico di Milano 20
21 Esempio 1 2 N \ M M L algoritmo di esplorazione termina perché il taglio entrante indotto da M è vuoto, ossia + (M)=Ø - (M) taglio entrante E. Amaldi Fondamenti di R.O. Politecnico di Milano 21
22 2.1. Algoritmi e ordine di complessità Algoritmo: insieme di istruzioni utili per risolvere le istanze (casi specifici) di un problema Poiché il tempo di calcolo dipende dall elaboratore, si considera il numero di operazioni elementari (aritmetiche, confronti,...) considerate tutte dello stesso costo Esempi: 1) Prodotto scalare di a, b R n richiede n moltiplicazioni e n-1 addizioni 2n-1 operazioni elementari 2) Sia A, B due matrici nxn, prodotto AB richiede (2n-1)n 2 operazioni elementari E. Amaldi Fondamenti di R.O. Politecnico di Milano 22
23 In genere è difficile determinare il numero esatto di operazioni elementari (o. e.) in funzione della dimensione dell istanza (n o m) Si considera la rapidità di crescita nel caso peggiore: si cerca una funzione f(n) che fornisca un limite superiore al numero di o. e. necessarie per risolvere ogni istanza di dimensione n numero di o. e. per ogni istanza di dimensione n f (n) E. Amaldi Fondamenti di R.O. Politecnico di Milano 2
24 Si dice che una funzione f (n) è ordine di g(n) e si scrive f (n) = O( g(n) ) se c > 0 tale che f (n) c g(n), per n sufficientemente grande complessità asintotica c g f n 0 Esempi n + n = O(n ) 6n = O(n 2 ) E. Amaldi Fondamenti di R.O. Politecnico di Milano 24
25 Si distingue tra algoritmi che hanno un ordine di complessità (nel caso peggiore) polinomiale: O( n d ) per una data costante d Gli algoritmi polinomiali sono in genere considerati efficienti -anche se uno in O(n 10 ) non lo è molto poco in pratica! esponenziale: O ( 2 n ) E. Amaldi Fondamenti di R.O. Politecnico di Milano 25
26 Crescita polinomiale / esponenziale E. Amaldi Fondamenti di R.O. Politecnico di Milano 26
27 E. Amaldi Fondamenti di R.O. Politecnico di Milano 27
28 Esempio: complessità algoritmo di esplorazione Ad ogni iterazione del ciclo WHILE: si sceglie un nodo h Q non ancora elaborato, lo si estrae da Q e lo si marca inserendolo in M si inseriscono in Q i vertici j non ancora marcati che possono essere raggiunti direttamente da h Poiché ogni nodo h viene inserito in Q al più una volta, ogni arco (h, j) viene considerato al massimo una volta Complessità totale O(n + m), dove n = N e m = A NB: per grafi densi m = O(n 2 ) E. Amaldi Fondamenti di R.O. Politecnico di Milano 28
29 2.1.4 Sottografi, alberi e alberi di supporto Esempio Progettazione di una rete di comunicazione che colleghi n città ( uffici ) Modello: Grafo non orientato G = (N, E) con n = N, m = E 1 2 n=5 5 i lati rappresentano i collegamenti possibili 4 E. Amaldi Fondamenti di R.O. Politecnico di Milano 29
30 Definizione G = (N, E ) è un sottografo di G = (N, E) se N N e E E contiene solo lati con entrambi i nodi in N. G=(N, E) G =(N, E ) N = {1,2,,5} N E = {[1,2],[1,5],[2,],[2,5],[,5]} E E. Amaldi Fondamenti di R.O. Politecnico di Milano 0
31 Requisiti di una rete di comunicazione: 1) ogni coppia di città deve poter comunicare sottografo connesso che contiene tutti i nodi 2) per non sprecare risorse sottografo senza cicli E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
32 Definizioni Un albero G T = (N, T) di G è un sottografo di G connesso e senza cicli. in inglese tree 1 2 G T 5 T={[1,5],[2,5],[,5]} E. Amaldi Fondamenti di R.O. Politecnico di Milano 2
33 G T = (N, T) è un albero di supporto di G = (N, E) se contiene tutti i nodi di G ( ovvero N = N ). 1 2 G T 4 5 Le foglie di un albero sono i nodi di grado 1. E. Amaldi Fondamenti di R.O. Politecnico di Milano
34 Proprietà degli alberi 1 ) Ogni albero con n 2 nodi ha almeno 2 foglie. Dim. Per assurdo: se 0 o 1 foglia, sarebbe possibile percorrere i lati partendo dalla foglia (se c è) o da un qualunque nodo, utilizzando ogni lato una o zero volte. Siccome in un albero non esistono cicli, non si visiterebbe due volte lo stesso nodo. Non essendoci altre foglie, si potrebbe ripartire da ogni nodo. sarebbe possibile un viaggio infinito su un grafo finito! E. Amaldi Fondamenti di R.O. Politecnico di Milano 4
35 2 ) Ogni albero con n nodi ha n 1 lati. Dim. Per induzione: Base induttiva : è vero per n = 1 (1 nodo e 0 lati) Passo induttivo : se è vero per gli alberi con n nodi, lo è per quelli che ne hanno n + 1. Si prenda un albero T 1 con n + 1 nodi. Eliminando una foglia e il lato su essa incidente, rimane un albero T 2 con n nodi. Su T 2 vale per ipotesi la proprietà 2), quindi T 2 ha n 1 lati. T 1, che ha un lato in più di T 2, ha n lati. E. Amaldi Fondamenti di R.O. Politecnico di Milano 5
36 ) Esiste un unico cammino tra una qualsiasi coppia di nodi altrimenti esisterebbe un ciclo! 4 ) Aggiungendo ad un albero un lato che non gli appartiene, si crea un unico ciclo formato dal cammino della proprietà ) e dal nuovo lato E. Amaldi Fondamenti di R.O. Politecnico di Milano 6
37 5 ) Proprietà di scambio Sia G T = (N, T ) un albero di supporto di G = (N, E) Si consideri un lato e T e C l unico ciclo di T {e} (cf. proprietà 4) Per ogni lato f C \ {e} allora T {e} \ {f } è anch esso un albero di supporto di G. G T 4 f e C E. Amaldi Fondamenti di R.O. Politecnico di Milano 7 4 T {e} \ {f }
2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) diffusione di messaggi segreti memorizzazione
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione
Dettagli2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
. Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,
Dettagli3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura
DettagliUniversità Roma Tre - PAS Classe A048 "Matematica Applicata" - Corso di Informatica a.a. 2013/2014
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A08 Matematica Applicata Corso di Informatica Algoritmi su Grafi Marco Liverani (liverani@mat.uniroma.it) Sommario
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica (IN0 Fondamenti) Grafi e alberi: introduzione Marco Liverani (liverani@mat.uniroma.it)
Dettagli2.3.3 Cammini ottimi nei grafi senza circuiti
.. Cammini ottimi nei grafi senza circuiti Sia un grafo G = (N, A) orientato senza circuiti e una funzione di costo che assegna un valore c ij R ad ogni arco (i, j) A circuito Proprietà I nodi di un grafo
DettagliAlgoritmi e Strutture Dati
Introduzione ai grafi Grafi: Definizione e Algoritmi di visita Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2007/08 Introduzione ai
DettagliIntroduzione ai grafi. Introduzione ai grafi p. 1/2
Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G è costituito da una coppia di insiemi (V,A) dove V è detto insieme dei nodi e A è detto insieme di archi ed è un sottinsieme di tutte
DettagliTeoria dei Grafi Parte I. Alberto Caprara DEIS - Università di Bologna
Teoria dei Grafi Parte I Alberto Caprara DEIS - Università di Bologna acaprara@deis.unibo.it Teoria dei Grafi Paradigma di rappresentazione di problemi Grafo G : coppia (V,E) V = insieme di vertici E =
DettagliIntroduzione ai grafi. Introduzione ai grafi p. 1/2
Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G é costituito da una coppia di insiemi (V,A) dove V é detto insieme dei nodi e A é detto insieme di archi ed é un sottinsieme di tutte
DettagliNote per la Lezione 21 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 20 20 Note per la Lezione 2 Ugo Vaccaro In questa lezione introdurremo il concetto di grafo, esamineremo le loro più comuni rappresentazioni ed introdurremo i
DettagliRichiami di Teoria dei Grafi. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena
Richiami di Teoria dei Grafi Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Teoria dei grafi La Teoria dei Grafi costituisce, al pari della Programmazione Matematica, un corpo
Dettagli5.1 Metodo Branch and Bound
5. Metodo Branch and Bound Si consideri il problema min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando una partizione (ricorsiva)
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Grafi e visite di grafi Fabio Patrizi 1 Grafo: definizione Un grafo G=(V,E) consiste in: - un insieme V di vertici (o nodi) - un insieme E di coppie di vertici, detti archi (o
DettagliIntroduzione ai grafi
TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale
DettagliK 4 è planare? E K 3,3 e K 5 sono planari? Sì! No! (Teorema di Kuratowski) K 5. Camil Demetrescu, Irene Finocchi, Giuseppe F.
K 4 è planare? Sì! E K 3,3 e K 5 sono planari? K 5 No! (Teorema di Kuratowski) 1 Un albero è un grafo bipartito? SÌ! Ma un grafo bipartito è sempre un albero?? 2 Algoritmi e Strutture Dati Capitolo 11
DettagliTeoria dei Grafi Parte I
Teoria dei Grafi Parte I Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it Teoria dei Grafi Paradigma di rappresentazione di problemi Grafo G : coppia (V,E) V = insieme di vertici E = insieme
DettagliSoluzioni della settima esercitazione di Algoritmi 1
Soluzioni della settima esercitazione di Algoritmi 1 Beniamino Accattoli 19 dicembre 2007 1 Grafi Un grafo è non orientato se descrivendo un arco come una coppia di vertici (i,j) l ordine è ininfluente
DettagliGrafi Stessa distanza
Grafi Stessa distanza In un grafo orientato G, dati due nodi s e v, si dice che: v è raggiungibile da s se esiste un cammino da s a v; la distanza di v da s è la lunghezza del più breve cammino da s a
DettagliEsempi. non. orientato. orientato
Definizione! Un grafo G = (V,E) è costituito da un insieme di vertici V ed un insieme di archi E ciascuno dei quali connette due vertici in V detti estremi dell arco.! Un grafo è orientato quando vi è
DettagliB.1 I grafi: notazione e nomenclatura
Appendice B Grafi e Reti In questa appendice richiamiamo i principali concetti relativi a grafi e reti; descriviamo inoltre alcune classi di strutture dati che possono essere utilizzate per implementare
DettagliGrafi non orientati. Grafi (non orientati) Rappresentazione di Grafi: matrice delle adiacenze. Tipiche applicazioni di modelli basati su grafi
Grafi non orientati Grafi (non orientati) Notazione. G = (V, E) V = nodi (o vertici). E = archi (o lati) tra coppie di nodi. Modella relazioni definite tra coppie di oggetti. aglia di un grafo: numero
DettagliEsercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016
Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Tong Liu April 14, 2016 Elementi Fondamentali Rappresentazione n = V numero di vertici (nodi) m = E numero di archi Matrice di adiacenza:
DettagliGRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!
G R A F I 1 GRAFI Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! 2 cip: cip: Pallogrammi Pallogrammi GRAFI: cosa sono I grafi sono una struttura matematica fondamentale: servono
DettagliRichiami di matematica discreta: grafi e alberi. Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino
Richiami di matematica discreta: grafi e alberi Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino Grafi Definizione: G = (V,E) V: insieme finito di vertici E: insieme finito di archi,
DettagliG è 2-colorabile se ogni nodo può essere colorato di bianco o di nero in modo che nodi connessi da archi siano colorati con colori distinti.
Grafi Grafi bipartiti Un grafo non orientato G è bipartito se l insieme dei nodi può essere partizionato in due sottoinsiemi disgiunti tali che nessun arco del grafo connette due nodi appartenenti allo
Dettagli5.1 Metodo Branch and Bound
5. Metodo Branch and Bound Consideriamo un generico problema di ottimizzazione min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando
DettagliVisite in Grafi BFS e DFS
Visite in Grafi BFS e DFS Visita di un Grafo Obiettivo: Visitare una sola volta tutti i nodi del grafo. Es.: visitare un porzione del grafo del Web Difficoltà: Presenza di cicli: Marcare i nodi visitati
DettagliIl Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST)
Il Problema dell Albero Ricoprente Minimo (Shortest Spanning Tree - SST) È dato un grafo non orientato G=(V,E). Ad ogni arco e i E, i=1,,m, è associato un costo c i 0 7 14 4 10 9 11 8 12 6 13 5 17 3 2
DettagliGrafi: definizioni e visite
Grafi: definizioni e visite Grafi (non orientati) Grafo (non orientato): G = (V, E) V = nodi (o vertici) E = archi fra coppie di nodi distinti. Modella relazioni fra coppie di oggetti. Parametri della
DettagliOttimizzazione Combinatoria Proprietà dei Grafi. Ottimizzazione Combinatoria
Ottimizzazione Combinatoria Ottimizzazione Combinatoria Proprietà dei Grafi ANTONIO SASSANO Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica Corso di Laurea in Ingegneria Gestionale
DettagliCammini Minimi. Algoritmo di Dijkstra. Cammino in un grafo
Cammini Minimi Algoritmo di Dijkstra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percorso) in G è un insieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v 3 v k In un grafo
DettagliCammini Minimi. Algoritmo di Dijkstra
Cammini Minimi Algoritmo di Dijkstra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percorso) in G è un insieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v 3 v k In un grafo
Dettaglialgoritmi e strutture di dati
algoritmi e strutture di dati grafi m.patrignani nota di copyright queste slides sono protette dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente, immagini,
DettagliComplessità Computazionale
Complessità Computazionale La teoria della Computabilità cattura la nozione di algoritmo nel senso che per ogni problema sia esso decisionale o di calcolo di funzione stabilisce dei criteri per determinare
DettagliDati e Algoritmi 1: A. Pietracaprina. Grafi (II parte)
Dati e Algoritmi 1: A. Pietracaprina Grafi (II parte) 1 Breath-First Search (algoritmo iterativo) Si assume una rappresentazione tramite liste di adiacenza. L ordine con cui si visitano i vicini di un
DettagliIntroduzione alla Teoria dei Grafi
Sapienza Uniersità di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Introduzione alla Teoria dei Grafi Docente: Renato Bruni bruni@dis.uniroma1.it Corso di: Ottimizzazione Combinatoria
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 12 Grafi e visite di grafi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione Un grafo G=(V,E) consiste in: - un insieme V di vertici (o nodi) - un insieme
DettagliAppunti lezione Capitolo 13 Programmazione dinamica
Appunti lezione Capitolo 13 Programmazione dinamica Alberto Montresor 12 Novembre, 2015 1 Domanda: Fattore di crescita dei numeri catalani Vogliamo dimostrare che cresce almeno come 2 n. La nostra ipotesi
DettagliAlgoritmi & Laboratorio
Acknowledgement Lucidi da F. Damiani, a.a. 2004-2005 C. Demetrescu et al, Algoritmi e strutture dati, McGraw-Hill M. Zacchi, a.a. 2003-2004 I lucidi non sono un sostituto per il libro di testo non contengono
DettagliMinimo albero di copertura
apitolo 0 Minimo albero di copertura efinizione 0.. ato un grafo G = (V, E) non orientato e connesso, un albero di copertura di G è un sottoinsieme T E tale che il sottografo (V, T ) è un albero libero.
DettagliEsercitazione 7. Grafi. Rappresentazione e algoritmi di visita
Esercitazione 7 Grafi Rappresentazione e algoritmi di visita Grafo G = (V,E) non orientato 1 1 G = (V,E) orientato 6 Rappresentazione Grafo G = (V,E) metodi standard per la rappresentazione Liste di adiacenza
Dettagli7.1 Progettare un algoritmo per costruire ciclo euleriano di un grafo non orientato.
Capitolo 7 Grafi 7.1 Progettare un algoritmo per costruire ciclo euleriano di un grafo non orientato. 7.3 Un grafo a torneo è un grafo orientato G in cui per ogni coppia di vertici x e y esiste un solo
DettagliAlgoritmi & Laboratorio
lbero ricoprente sia dato un grafo connesso e non orientato un albero ricoprente è un sottografo che contiene tutti nodi è aciclico è connesso cknowledgement Lucidi da. Damiani, a.a. 00-00. Demetrescu
DettagliQuarto allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale
Quarto allenamento Olimpiadi Italiane di Informatica - Selezione territoriale Luca Chiodini luca@chiodini.org - l.chiodini@campus.unimib.it 30 marzo 2017 Programma 1. Lettura e analisi di un problema 2.
DettagliGraf. Progettazione di Algoritmi a.a Matricole congrue a 1. Docente: Annalisa De Bonis. Grafi non direzionati
Graf Progettazione di Algoritmi a.a. 2017-18 Matricole congrue a 1 Docente: Annalisa De Bonis 1 Grafi non direzionati Grafi non direzionati. G = (V, E) V = insieme nodi. E = insieme archi. Esprime le relazioni
DettagliCapitolo 5. Algoritmi di ricerca su grafo. 5.1 Algoritmi di ricerca su grafo
Capitolo 5 Algoritmi di ricerca su grafo Gli algoritmi di ricerca su grafo, oggetto dei prossimi paragrafi, rappresentano tecniche fondamentali per determinare nodi che soddisfino particolari proprietà
DettagliUNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento
UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa Esercizi sul problema dell assegnamento Richiami di Teoria Ricordiamo che, dato un grafo G=(N,A),
DettagliAlgoritmi e Strutture di Dati
Algoritmi e Strutture di Dati I grafi m.patrignani Nota di copyright queste slides sono protette dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente,
DettagliAlgoritmi Avanzati Soluzioni dello scritto del 2 febbraio 2004 (appello straordinario)
Algoritmi Avanzati Soluzioni dello scritto del febbraio 004 (appello straordinario) 1. Tengo nascosto nel taschino della giacca un grafo misterioso di 7 nodi. Vi dico solo che listando le valenze (= numero
DettagliAlgoritmo basato su cancellazione di cicli
Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile
DettagliGrafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);
Algoritmi e Strutture di Dati II 2 Grafi diretti Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove V è u n i n s i e m e d i nodi (o vertici); E µ V V è u n i n s i e m e d i archi. Denotiamo
DettagliOrdinamenti. Grafo : definizione. Un grafo G = (V,E)è composto da: V: insieme di vertici E V V: insieme di archi (edge) che connettono i vertici
Ordinamenti 1 Vittorio Maniezzo Università di Bologna Grafo : definizione Un grafo G = (V,E)è composto da: V: insieme di vertici E V V: insieme di archi (edge) che connettono i vertici Un arco a= {u,v}
DettagliProblema dell albero di cammini minimi (SPT, Shortest Path Tree) o problema dei cammini minimi :
Per almeno una delle soluzioni ottime { P i, i r } del problema generalizzato, l unione dei cammini P i forma un albero di copertura per G radicato in r e orientato, ossia un albero la cui radice è r i
DettagliRicerca Operativa. Claudio Arbib Universitàdi L Aquila. Esercizi di ottimizzazione combinatoria
Claudio Arbib Universitàdi L Aquila Ricerca Operativa Esercizi di ottimizzazione combinatoria 00-006 Grafi 9 Esercizio. Un grafo simmetrico G = (V, E) si dice cubico se tutti i suoi vertici hanno grado
DettagliVisite in Grafi BFS e DFS. PDF created with FinePrint pdffactory trial version
Visite in Grafi BFS e DFS Visita di un Grafo 8Obiettivo: 4Visitare una sola volta tutti i nodi del grafo. 4Es.: visitare un porzione del grafo del Web 8Difficoltà : 4Presenza di cicli: Marcare i nodi visitati
DettagliTeoria dei Grafi Elementi di base della Teoria dei Grafi
L. Pallottino, Sistemi Robotici Distribuiti - Versione del 4 Marzo 2015 42 Teoria dei Grafi Elementi di base della Teoria dei Grafi Definizione 1. Un grafo G = (V, E) è composto da un insieme finito di
DettagliTerzo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale
Terzo allenamento Olimpiadi Italiane di Informatica - Selezione territoriale Luca Chiodini luca@chiodini.org - l.chiodini@campus.unimib.it 22 marzo 2016 Programma 1. Lettura di un problema tratto dalle
DettagliAlberi e arborescenze di costo minimo
Alberi e arborescenze di costo minimo Complementi di Ricerca Operativa Giovanni Righini Dipartimento di Tecnologie dell Informazione - Università degli Studi di Milano Definizioni - 1 Un grafo G = (V,
DettagliGestione della produzione e della supply chain Logistica distributiva. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena
Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena Un algoritmo per il flusso a costo minimo: il simplesso
DettagliRICERCA OPERATIVA (a.a. 2016/17) Nome: Cognome: Matricola:
Secondo appello //0 RICERCA OPERATIVA (a.a. 0/) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL max x x x x x + x x x per via algebrica, mediante l algoritmo del Simplesso Primale a partire
DettagliAlgoritmi e Strutture Dati. Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford
Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford Cammini minimi in grafi: una trilogia Cammini minimi in grafi: Episodio II: cammini minimi a singola sorgente (per grafi
DettagliGestione della produzione e della supply chain Logistica distributiva
Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Convergenza dell algoritmo Se non
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Minimo albero ricoprente Domenico Fabio Savo 1 Albero ricoprente Sia G=(V,E) un grafo non orientato e connesso. Un albero ricoprente di G è un sottografo T G tale che: T è un
Dettagli1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;
1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; c 24 = 15; c 25 = 12; c 34 = 32; c 35 = 55; c 45 = 24 Si calcoli l ottimo duale (formulazione
DettagliAlgoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 1
Algoritmi e Strutture Dati II: Parte B Anno Accademico 004-005 Docente: Ugo Vaccaro Lezione 1 Dalla Teoria della NP-Completezza abbiamo appreso che esiste una classe di problemi (NPhard) per cui non è
DettagliGrafo diretto Università degli Studi di Milano
Grafo diretto Un grafo diretto G è na coppia ordinata (V, E), doe V è l insieme dei ertici {,,,,n} (anche detti nodi). E V V è n insieme di coppie ordinate (,) dette archi diretti 6 V= {,,,4,5,6,7} 7 4
DettagliIntroduzione ai Grafi: Implementazione e operazioni di base
Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ 1 Introduzione ai Grafi: Implementazione e operazioni di base 2 1 Informazione Generali (1)
DettagliGRAFI. fig.1 - GRAFI (1) Si avvisa il lettore che certe definizioni che verranno date differiscono da quelle presenti in letteratura.
GRAFI 1. Definizioni, terminologia, esempi e applicazioni (1) Un grafo orientato (o diretto o di-grafo) G è una coppia (V,E) dove V è un insieme non vuoto ed E una relazione binaria su V, E V V, ossia
DettagliQuinto appello 27/6/ = 4. B b B = 2 b N = 4
Quinto appello // RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si risolva il problema di PL dato applicando l algoritmo del Simplesso Duale, per via algebrica, a partire dalla base B {, }. Per
DettagliEsercizi Union-Find e su Grafi. Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 0 07 Esercizi Union-Find e su Grafi. Ugo Vaccaro. Esercizio: Scrivere pseudocodice per Make-Set, Union, e Find-Set usando la rappresentazione attraverso liste
DettagliAlgoritmi e Strutture Dati Grafi. Daniele Loiacono
lgoritmi e Strutture ati Grafi Riferimenti 2 Questo materiale è tratto dalle trasparenze del corso lgoritmi e Strutture ati del prof. lberto Montresor dell Università di Trento. (http://www.dit.unitn.it/~montreso/asd/index.shtml)
DettagliGrafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill)
Grafi: visite Una breve presentazione Visite di grafi Scopo e tipi di visita Una visita (o attraversamento) di un grafo G permette di esaminare i nodi e gli archi di G in modo sistematico Problema di base
Dettagli4.5 Metodo del simplesso
4.5 Metodo del simplesso min z = c T x s.v. Ax = b x PL in forma standard Esamina una sequenza di soluzioni di base ammissibili con valori non crescenti della funzione obiettivo fino a raggiungerne una
DettagliAlgoritmi e Strutture dati Mod B. Grafi Percorsi Minimi: algoritmi esatti e algoritmi euristici (A*)
Algoritmi e Strutture dati Mod B Grafi Percorsi Minimi: algoritmi esatti e algoritmi euristici (A*) Grafi: Percorsi minimi Un percorso minimo in un grafo G= grafo pesato orientato, con funzione di
DettagliDati e Algoritmi I (Pietracaprina) Esercizi svolti sui Grafi
Dati e Algoritmi I (Pietracaprina) Esercizi svolti sui Grafi Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1 (Esercizio C-14.34 del testo [GTG14]) Sia G = (V, E) un grafo non diretto con n =
DettagliGrafi (non orientati e connessi): minimo albero ricoprente
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 è
Dettagli3.2 Rilassamenti lineari/combinatori e bounds
3.2 Rilassamenti lineari/combinatori e bounds Consideriamo un problema di Ottimizzazione Discreta min{f(x) : x X} e sia z il valore di una soluzione ottima x X. Metodi di risoluzione spesso generano una
DettagliOrdinamenti. Vittorio Maniezzo Università di Bologna
Ordinamenti 1 Vittorio Maniezzo Università di Bologna Grafo : definizione Un grafo G = (V,E)è composto da: V: insieme di vertici E V V: insieme di archi (edge) che connettono i vertici Un arco a= {u,v}
DettagliGrafi e reti di flusso
Grafi e reti di flusso Molti problemi di ottimizzazione sono caratterizzati da una struttura di grafo: in molti casi questa struttura emerge in modo naturale, in altri nasce dal particolare modo in cui
DettagliGrafi. Progettazione di Algoritmi a.a Matricole congrue a 1 Docente: Annalisa De Bonis 3/20/19. Grafi non direzionati
Grafi Matricole congrue a 1 Docente: Annalisa De Bonis 1 Grafi non direzionati Grafi non direzionati. G = (V, E) V = insieme nodi. E = insieme archi. Esprime le relazioni tra coppie di oggetti. Parametri
DettagliEsercitazione 3. Osserviamo che, dato un grafo con pesi distinti, questo ammette un unico MST.
Esercitazione 3 Problema 6: Sia G = (V, E) un grafo con pesi distinti sugli archi ed e E un arco di G. Progettare un algoritmo lineare in grado di determinare se esiste un MST di G che contiene l arco
DettagliLaboratorio di Algoritmi
Laboratorio di Algoritmi Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Martedì 8.30-10.30 in aula 3 Mercoledì 10.30-12.30 in Aula 2 Giovedì 8.30-10.30 in
DettagliGrafi. V = {a, b, c, d} E = {(a, b), (a, c), (c, a), (d, d), (b, d)}
Grafi Grafo orientato (o diretto) = (V,E) V = nodi o vertici - E = archi (edges) V = {a, b, c, d} E = {(a, b), (a, c), (c, a), (d, d), (b, d)} archi uscenti da un nodo x: (x, y) archi incidenti su un nodo
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 3 Cammini minimi: algoritmo di Dijkstra Cammini minimi in grafi: cammini minimi a singola sorgente (senza pesi negativi) Cammini minimi in grafi pesati Sia G=(V,E,w)
DettagliGrafi pesati Minimo albero ricoprente
Algoritmi e Strutture Dati Definizioni Grafi pesati Minimo albero ricoprente 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
DettagliPartizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché
Partizioni intere PARTIZIONAMENTO: Dato un insieme di n interi non negativi rappresentati in binario, trovare un sottoinsieme P! {1,2,..., n } tale che! i"p a i =! i# P a i Es: Dato {38, 17, 52, 61, 21,
DettagliDISPIEGAMENTO CENTRALIZZATO L ACCOPPIAMENTO PERFETTO DI PESO MINIMO IL PROBLEMA DEL SENSORI MOBILI IL PROBLEMA (1)
1 IL PROBLEMA DEL DISPIEGAMENTO CENTRALIZZATO DI SENSORI MOBILI OVVERO L ACCOPPIAMENTO PERFETTO DI PESO MINIMO Prof. Tiziana Calamoneri Corso di Algoritmi per le reti A.A. 2010/11 2 IL PROBLEMA SENSORI
DettagliProblema del cammino minimo
Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Prof. Aniello Murano Grafi: Implementazione ed operazioni di base Corso di Laurea Codice insegnamento Email docente Anno accademico Laboratorio di Algoritmi e
DettagliGrafi (non orientati e connessi): minimo albero ricoprente
.. Grafi (non orientati e connessi): minimo albero ricoprente Una presentazione alternativa (con ulteriori dettagli) Problema: calcolo del minimo albero di copertura (M.S.T.) Dato un grafo pesato non orientato
Dettagli