CONOSCERE CONOSCERSI COMUNICARE Joseph Ceres
Affitto rete telefonica Se una nuova azienda telefonica vuole inserirsi su una rete già esistente, quali collegamenti le conviene affittare per raggiungere i clienti col minor costo? Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Problema Dato un grafo non orientato trovare un sottoinsieme, albero, che raggiunga tutti i vertici al minor costo Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Albero Grafo non orientato connesso senza circuiti. Quale tra questi è un albero? No! circuito No! non connesso Si! albero Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Albero costo minimo (Albero generatore minimo) Minimum Spanning Tree: albero che raggiunge tutti i vertici con un costo minimo Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori L’algoritmo di Dijkstra fornisce un albero che raggiunge tutti i vertici ma non al costo minimo peso tot= 2+2+1+7+2+2+20=18 trovarne uno di peso minore (14) Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Albero generatore minimo Peso = 14 Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Algoritmi Esistono algoritmi anche per trovare gli M.S.T (Minimum Spanning Tree): Algoritmo di Prim per gli alberi generatori Algoritmo di Kruskal per M.S.T Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Algoritmo di Prim Si parte da un qualsiasi nodo e si scrivono i pesi sui nodi ad esso collegato si sceglie il peso minore e si colora il nodo da cui siamo partiti si scrivono i pesi, solo quello attuale, sui nodi ad esso collegato se minore del precedente si ripetono i punti 2 e 3 finché tutti i nodi non sono colorati Esempio: Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Esempio Prim Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Passo 1 Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Passo 2 Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Passo 3 Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Passo 4 Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Passo 5 Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Passo 6 Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Passo 7 Fine peso = 2+2+1+2+4+2+3 = 16 non è il minimo! Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Robert C. Prim Robert Clay Prim (nato 1921 in Sweetwater, Texas) è un matematico e informatico americano. Nel 1941, a 21 anni, si laurea in ingegneria elettronica all’Università di Princeton. Dopo nel 1949, riceve l’Ph.D. in matematica. Robert Prim ha lavorato all’ Università di Princeton dal 1948 al 1949 come ricercatore associato. Durante il periodo della seconda guerra mondiale (1941 – 1944), Prim lovorò come ingegnere per la General Electric. Dal 1944 fino al 1949, fu assunto dai laboratori dell’Artiglieria Navale degli Stati Uniti come ingegnere e successivamente come matematico. Fu direttore della ricerca matematica alla Bell Labobratories dal 1958 al 1961. Qui, Prim sviluppò nel 1957 il famoso Algoritmo di Prim. Dopo Bell Laboratories, Prim diventò vice presidente della ricerca al Sandia National Laboratories. Durante la sua carriera al Bell Laboratories, Robert Prim collaborò con Joseph Kruskal sviluppando due differenti algoritmi, detti algoritmi ingordi (greedy) per trovare il minimum spanning tree in grafo connesso. Successivamente questi furono riscoperti da Dijkstra nel 1959. Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Algoritmo di Kruskal Si scrive una lista dei pesi in ordine crescente Si colora il lato con il peso minore se non si forma un circuito Si termina quando si sono raggiunti tutti i nodi Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Esempio ricerca M.S.T 1 2,2,2,2,2 3,3 4 6 7 Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Passo 1 1 2,2,2,2,2 3,3 4 6 7 Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Passo 2 1 2,2,2,2,2 3,3 4 6 7 Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Passo 3 1 2,2,2,2,2 3,3 4 6 7 Peso = 14 Minimo!! Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Joseph Kruskal Joseph Bernard Kruskal, nato nel 1929 a New York City è un statistico matematico. Studiò alle Università di Chicago e di Princeton; in quest'ultima conseguì nel 1954 il PhD. Nell'ambito dell'informatica contribuì con l'albero minimo di un grafo pesato, l'algoritmo di Kruskal nel 1956. Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Joseph Ceres Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Parole chiave Albero Albero generatore Minimum Spanning Tree Algoritmo Prim Algoritmo Kruskal Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori
Conoscere, conoscersi, comunicare Sonia Fiori Fine quarta parte Parte Quarta Conoscere, conoscersi, comunicare Sonia Fiori