La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Prof. Cerulli – Dott.ssa Gentili

Presentazioni simili


Presentazione sul tema: "Prof. Cerulli – Dott.ssa Gentili"— Transcript della presentazione:

1 Prof. Cerulli – Dott.ssa Gentili
Lezioni di Ricerca Operativa Corso di Laurea in Informatica ed Informatica Applicata Università di Salerno Lezione n° 17: Maggio 2009 Algoritmo di Kruskal Algoritmo di Prim Problema del Flusso a Costo Minimo: Formulazione Anno accademico 2008/2009 Prof. Cerulli – Dott.ssa Gentili

2 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

3 Esempi di applicazioni:
determinare la rete di comunicazione più affidabile determinare la connessione tra n centri a costo minimo (e.g., distribuzione del gas) Due algoritmi: l’algoritmo di Kruskal (Greedy Algorithm) l’algoritmo di Prim

4 Algoritmo di Kruskal (Minimum Spanning Tree)
(1) E’ dato il grafo G=(V,E) con n nodi ed m archi. Si ordinano gli archi e1, e2,..., em in modo che i costi associati non siano decrescenti (c1£c2£... £cm ). Si pone E0=Æ, k=1 ed il grafo ST0=(V, Æ) (2) Se (V, Ek-1È{ek}) è un grafo aciclico allora STk=(V,Ek) con Ek=Ek-1È{ek}, altrimenti Ek=Ek-1 e STk= STk-1 (3) Se úEkú=n-1 l’algoritmo si ferma ed STk è l’albero ricoprente cercato, altrimenti k=k+1 e continuare col passo (2).

5 Esempio: n=9 m=17 7 14 4 10 9 17 8 1 3 2 11 12 6 13 16 15 5

6 Algoritmo di Prim (Minimum Spanning Tree)
(1) E’ dato il grafo G=(V,E) con n nodi ed m archi. Si sceglie un vertice arbitrario di G, V0={vs}, si pone E0=Æ e k=1 (2) Si connette un nodo viÎVk-1 con un nodo vhÎV- Vk-1 tale che il costo dell’arco (vi,vh) sia e si pone Vk=Vk-1È {vh} e Ek=Ek-1È {(vi,vh)} (3) Se úEkú=n-1 l’algoritmo si ferma e ST=(Vk,Ek) è l’albero ricoprente cercato, altrimenti k=k+1 e continuare col passo (2).

7 Esempio: n=6 m=12 7 17 10 10.5 9 7.5 11 8 12 16 9.5 19 L’algoritmo di Prim O(úV|2) è più efficiente di quello di Kruskal (O(úEúlogúEú)).

8 Matrici di Incidenza dei Grafi
Dato G=(V,E) grafo non orientato, AG=[aij], con i=1,...,n e j=1,...,m è la matrice di incidenza di G, dove n=úVú ed m=úEú, e tale che

9 matrice di incidenza di un grafo non orientato
Esempio v4 v1 v2 v3 e1 e2 e3 e4 e5 matrice di incidenza di un grafo non orientato

10 Dato G=(V,E) grafo orientato, AG=[aij], con i=1,. ,n e j=1,
Dato G=(V,E) grafo orientato, AG=[aij], con i=1,...,n e j=1,...,m è la matrice di incidenza di G, dove n=úVú ed m=úEú, e tale che

11 matrice di incidenza di un grafo orientato
Esempio v3 v1 v2 v4 e1 e2 e3 e4 e5 matrice di incidenza di un grafo orientato

12 Problema del Flusso a costo Minimo
FORMULAZIONE

13 Problema del Flusso a costo Minimo
FORMULAZIONE In forma matriciale: NOTA: 1. La matrice A(m,n) è la matrice di incidenza nodo-arco, ogni colonna è associata ad un arco, il singolo elemento della matrice è dato da: (ei vettore colonna con tutti 0 eccetto un 1 in posizione i-ma.) 2. Il rango di questa matrice è: r(A)=m-1


Scaricare ppt "Prof. Cerulli – Dott.ssa Gentili"

Presentazioni simili


Annunci Google