La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi

Presentazioni simili


Presentazione sul tema: "Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi"— Transcript della presentazione:

1 Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Il problema dell’abbinamento Lezione n°11 Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi ASD a.a.2010/2011- Lezione 11

2 L’abbinamento Abbinamento (accoppiamento) in un grafo connesso non orientato (e privo di loop) è un qualsiasi insieme M di archi a due a due non incidenti. La cardinalità di M è la cardinalità dell’abbinamento. Un nodo si dice saturo (esposto) se è (non è) estremo di un qualche arco in M. M è un abbinamento massimale se non è sottoinsieme proprio di alcun abbinamento in G. M è un abbinamento massimo se non esiste un altro abbinamento in G con cardinalità maggiore di quella di M. M è un abbinamento perfetto se non lascia alcun nodo esposto. ASD a.a.2010/2011- Lezione 11

3 Proprietà dell’abbinamento
Grafi qualunque G ( V, E ), V = n Ogni abbinamento massimo è massimale Ogni abbinamento perfetto è massimo Un abbinamento massimo non è detto sia perfetto In un grafo possono esistere distinti abbinamenti perfetti Un abbinamento può avere al più n/2 archi Un abbinamento è perfetto se e solo se ha n/2 archi Se un grafo ha un abbinamento perfetto, allora ha un numero pari di nodi Grafi bipartiti G(XUY,E) La cardinalità di un abbinamento massimo è al più il minimo fra la cardinalità di X e quella di Y G non può avere un abbinamento perfetto se X ≠ Y ASD a.a.2010/2011- Lezione 11

4 Cammini alternanti/aumentanti
Dato G (V,E) ed M abbinamento su G si definisce p: cammino M-alternante un cammino che alterna archi in M con archi in E/M p: cammino M-aumentante un cammino M-alternante che inizia e termina con un nodo esposto ASD a.a.2010/2011- Lezione 11

5 L’Operatore XOR M1 , M2 abbinamenti,  M1  = r,  M2  = s, s > r
p: cammino M1-aumentante si definisce M1  M2 = (M1M2) - (M1M2) = (M1-M2)  (M2 -M1) vale M1  p è un abbinamento di dimensione r+1 M1 è massimo sess nel grafo non esistono cammini M1- aumentanti (Petersen1891, Berge 1957, Norman-Rabin1959) M1  M2 contiene almeno k=s-r cammini M1-aumentanti a nodi disgiunti prova Le componenti connesse di G(V, M1  M2 ) possono essere vertici isolati,cicli pari o cammini, sia pari che dispari. Cicli e cammini pari non sono M1-aumentanti. I restanti k cammini dispari sono M1-aumentanti. ASD a.a.2010/2011- Lezione 11

6 Sui grafi bipartiti Teorema del matrimonio (Jacobi 1890, Frobenius 1917, Hall 1935) G(XUY, E) ha un abbinamento perfetto sse X = Y S ≤ N(S)  per ogni S in X Teorema di Konig-Egervary (Konig 1930, Egervary1931) In ogni grafo bipartito la cardinalità massima di un abbinamento è uguale alla cardinalità minima di un ricoprimento (insieme di nodi che copre tutti gli archi del grafo) ASD a.a.2010/2011- Lezione 11

7 Albero ungherese (coniato da Kuhn nel 1955 in onore di Konig e Egervary )
G(XUY,E), X+Y=n, E=m, M’ abbinamento arbitrario in G Sia r un vertice esposto in X. T, albero alternante radicato in r (ovvero albero in cui ogni cammino dalla radice ad una foglia sia alternante) si costruisce nella seguente maniera: a partire da r, si aggiunga a T un arco non in M’, sia (r,y). Per ogni z adiacente ad y, si aggiunga l’arco (y,z) in M’(se esiste). Si ripeta il procedimento finchè: o si incontra un nodo z esposto; e quindi un cammino aumentante o l’albero non può più crescere; in tal caso si ha un albero ungherese. NOTE In un albero ungherese l’unico nodo esposto è r nessun cambiamento all’interno di un albero ungherese può cambiare la cardinalità dell’abbinamento. ASD a.a.2010/2011- Lezione 11

8 Abbinamento in grafi bipartiti
Input: G(XUY,E), X+Y=n, E=m, M’ abbinamento arbitrario in G (M può essere l’insieme vuoto) Output: M massimo abbinamento Algoritmo: finchè esistono due vertici esposti, uno in X e uno in Y, costruisci un albero alternante T, radicato in r (in X), tramite visita in ampiezza; se T è ungherese, rimuovi T da G altrimenti M = M  p, dove p è il cammino aumentante trovato Complessità: O(nm) ≤ O(n3) O(m) costruzione di un albero alternante con visita in ampiezza; al più O(n) alberi DA RICORDARE un grafo bipartito non contiene cicli dispari ASD a.a.2010/2011- Lezione 11

9 La contrazione del germoglio (Paths,trees and flowers Edmonds,1965)
Germoglio: ciclo dispari costituito da una alternanza di spigoli appartenenti e non appartenenti all’abbinamento. In un germoglio si individua la base e lo stelo. Edmonds’ idea: ogni germoglio va compresso in un supernodo Teorema: Sia G(V,E) un grafo non orientato e sia G’ il grafo ottenuto da G comprimendo un germoglio in un supernodo. G’ contiene un cammino aumentane sse G lo contiene ASD a.a.2010/2011- Lezione 11 9

10 Abbinamento in grafi qualunque
Input: G(V,E), V=n, E=m, M’ abbinamento arbitrario in G (M può essere l’insieme vuoto) Output: M massimo abbinamento Algoritmo: finchè esistono due vertici esposti, x e y, si costruisca un cammino alternante T, se trovi un germoglio, contrailo e prosegui l’algoritmo su G’ se trovi p, cammino aumentante, incrementa M : M = M  p, se l’abbinamento è stato trovato su G’, decontrai i germogli e produci M su G Complessità: O(nm) ≤ O(n3) ASD a.a.2010/2011- Lezione 11 10

11 Algoritmi di abbinamento massimo
Grafo bipartito: O(n3/2(m/logn)1/2) Alt, Blum, Mehlhorn, Paul 1991 O(n1/2(m+n) (log(1 + n2/m))/logn) Feder, Motwani 1991 Grafo qualunque O(mn1/2) Micali, Vazirani 1980 ASD a.a.2010/2011- Lezione 11 11

12 Applicazioni Grafo bipartito
In una azienda n nuovi assunti da assegnare ad n differenti lavori Scegliere far i componenti di una squadra di nuoto il team giusto da portare ad una gara in modo da poter partecipare a tutte le discipline Grafo qualunque Scegliere opportunamente coppie di persone a cui far condividere una stanza d’albergo. Una compagnia aerea multiculturale deve scegliere i due piloti dello stesso aereo in modo che abbiano lo stesso tipo di addestramento e parlino una lingua comune e poi abbinamenti di strutture chimiche, scheduling parallelo di differenti lavori su diverse macchine, assegnamento di turni in una fabbrica………. ASD a.a.2010/2011- Lezione 11 12


Scaricare ppt "Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi"

Presentazioni simili


Annunci Google