Paths, tree and flowers Lezione n°14

Slides:



Advertisements
Presentazioni simili
Il problema del minimo albero ricoprente in un grafo con archi privati
Advertisements

Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°9.
Prof.ssa Rossella Petreschi Lezione del 3 /12/ 2012 del Corso di Algoritmi e Strutture Dati Riferimenti: Capitolo 3 del testo Nishizeki,Chiba “Planar graphs:theory.
Prof.ssa Rossella Petreschi Lezione del 29/10/2012 del Corso di Algoritmi e Strutture Dati Riferimenti: Capitolo 19 del testo Cormen, Leiserson, Rivest,
Prof.ssa Rossella Petreschi Lezione del 1 /12/ 2011 del Corso di Algoritmi e Strutture Dati Riferimenti: capitolo 17 del testo M.H.Alsuwaiyel “Algorithms:
Prof.ssa Rossella Petreschi Lezione del 3/12/2013 del Corso di Algoritmica GRAFI e PLANARITA’ Lezione n°15.
Prof.ssa Rossella Petreschi Lezione del 29 /10/2014 del Corso di Algoritmica Lezione n°8.
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Lezione n°10 Prof.ssa Rossella Petreschi
Cammini minimi in grafi:
Branch and Bound Lezione n°19 Prof.ssa Rossella Petreschi
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Branch and Bound Lezione n°14 Prof.ssa Rossella Petreschi
Reti, flussi e tagli Lezione n°11
Analisi di sequenze di operazioni Union-Find
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi
Lezione n°7 Prof.ssa Rossella Petreschi
La funzione Path e le forme a cespuglio
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Lezione n°17 Prof.ssa Rossella Petreschi
Lezione n°15 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi e Strutture Dati
Il problema del cammino minimo
Complessità ammortizzata degli algoritmi Union Find
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi
Lezione n°14 Reti di flusso Prof.ssa Rossella Petreschi
La gestione degli insiemi disgiunti
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Lezione n°16 Abbinamento Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Usi (meno scontati) della visita DFS
Lezione n°4 Prof.ssa Rossella Petreschi
Algoritmi e Strutture Dati
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
K4 è planare? E K3,3 e K5 sono planari? Sì!
Lezione n°11 Prof.ssa Rossella Petreschi
Lezione n°12 Prof.ssa Rossella Petreschi
UNION FIND Lezione n°8 Prof.ssa Rossella Petreschi
Algoritmi e Strutture Dati
ABBINAMENTO Lezione n°13
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Algoritmi e Strutture Dati
Algoritmi per il flusso nelle reti
Algoritmi per il flusso nelle reti
Lezione n°6 Prof.ssa Rossella Petreschi
Branch and Bound Lezione n°18 Prof.ssa Rossella Petreschi
Schema generale, visita in ampiezza e profondità.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Usi (meno scontati) della visita DFS
Lezione n°14 Prof.ssa Rossella Petreschi
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Automi e stringhe Lezione n°24 Prof.ssa Rossella Petreschi
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Alberi di ricerca Lezione n°4
Cammini minimi in grafi:
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Grafi e problem solving
Lezione n°7 Splay-Trees e Heaps Prof.ssa Rossella Petreschi
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Il problema del flusso nelle reti
Insiemi disgiunti.
Unione per ranghi compressi
Algoritmi e Strutture Dati
Transcript della presentazione:

Paths, tree and flowers Lezione n°14 Prof.ssa Rossella Petreschi Lezione del 28/11/2013 del Corso di Algoritmica

Abbinamento massimo in un grafo bipartito e reti di flusso A partire dal grafo bipartito B(LR,E), si costruisca la rete di flusso G (V, E’, s, p, C) così definita: V = LRs p, con s e p due vertici da aggiungere a quelli di B e che costituiscono la sorgente e il pozzo della costruenda rete; E’ = E  (s,u), u  L  (v,p), v  R; C funzione che associa ad ogni arco (u,v)  E’ una capacità c(u,v) = 1. Lemma: Siano dati B e G come sopra definiti. Per ogni M, abbinamento in B, esiste un flusso f a valori interi in G con valore f = M . In modo analogo vale che per ogni flusso a valori interi in G esiste un abbinamento M in B con cardinalità M = f  2

Prova del Lemma Un abbinamento M in B corrisponde ad un flusso a valori interi in G Dato M abbinamento in B, se (u,v)  M, si ponga f(u,v)=0 se (u,v)  M, allora f(s,u)=f(u,v)=f(v,p) =1 e f(u,s)=f(v,u)=f(p,v)= -1, ovvero ogni arco (u,v) in M corrisponde ad una unità di flusso in G che attraversa il cammino s-u-v-p. Inoltre, i cammini indotti dagli archi in M hanno vertici disgiunti, a meno di s e p e il valore del flusso attraverso il taglio(Ls, Rp)è uguale ad M . Infine per vedere che f gode delle tre proprietà (capacità, conservazione del flusso, antisimmetria) basta osservare che f può essere ottenuto come aumento del flusso lungo ognuno di questi cammini.  3

Prova del Lemma Un flusso a valori interi in G corrisponde ad un abbinamento M in B Dato f flusso a valori interi in G, si consideri M = (u,v): u  L e v  R e f(u,v)>0, vale che: M è un abbinamento perché ogni vertice di L ha un solo arco entrante (s,u) di capacità 1 e un’unità di flusso netto positivo entra in u iff vi è un solo vertice v in R tale che f(u,v)=1. M = f  infatti  u  L, f(s,u)=1e  (u,v)  E-M, f(u,v)=0, da cui: M = f(L,R)= f  4

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 5

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. Chiamiamo inner ed outer, rispettivamente, i vertici a seconda che siano l’origine di uno spigolo dell’abbinamento o no; se si trova un germoglio, ovvero se il cammino alternante diviene un ciclo che unisce un vertice outer ad un altro vertice outer, questo va contratto e l’algoritmo prosegue su G’; se si trova p, cammino aumentante, si incrementi M : M = M  p, se l’abbinamento è stato trovato su G’, si decontraggano i germogli per produrre M su G. Complessità: O(nm) ≤ O(n3) 6

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 7