Lezione n°11 Prof.ssa Rossella Petreschi

Slides:



Advertisements
Presentazioni simili
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Advertisements

Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°10.
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 Avanzati a.a.2015/2016 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
Branch and Bound Lezione n°14 Prof.ssa Rossella Petreschi
Reti, flussi e tagli Lezione n°11
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2013/2014 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
Cammini minimi tra tutte le coppie
Algoritmi e Strutture Dati
Il problema del cammino minimo
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 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi e Strutture Dati
Usi (meno scontati) della visita DFS
Lezione n°4 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
Paths, tree and flowers Lezione n°14
K4 è planare? E K3,3 e K5 sono planari? Sì!
per rappresentare grafi
Lezione n°12 Prof.ssa Rossella Petreschi
Lezione n°18 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
Algoritmi e Strutture Dati
Cammini di costo minimo su un grafo pesato
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
Algoritmi Avanzati a.a. 2010/11
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
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Il problema del flusso nelle reti
Insiemi disgiunti.
Algoritmi e Strutture Dati
Transcript della presentazione:

Lezione n°11 Prof.ssa Rossella Petreschi Lezione del 12/11/2014 del Corso di Algoritmica

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 2

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. 3

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. 4

Grafi bipartiti e albero ungherese 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 5

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 6

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) 7

Rete di flusso Una rete di flusso è un grafo orientato e pesato R (V, E, s, p, C), tale che:  s vertice sorgente (da s escono solo archi e non ne entra alcuno);  p vertice pozzo (in p entrano solo archi e non ne esce alcuno);  C (C funzione da V2 a R+) che associa ad ogni arco (u,v) una capacità c(u,v) ≥ 0, ovvero c(u,v) > 0 se (u,v)  E, c(u,v) = 0 se (u,v)  E;  v  V,  un cammino da s a p passante per v Notare che R è connesso e che |E| ≥ |V| -1 8

Flusso nella rete Un (assegnamento) di flusso in una rete R(V, E, s, p, C), è una funzione f tale che: f: V xV R+ 0 vale il vincolo di capacità : f (u,v) ≤ c(u,v),  u,v  V xV; vale il vincolo di antisimmetria : f (u,v) = - f (v,u),  u,v  V xV; vale il vincolo di conservazione del flusso : ∑f (u,v) = 0,  u  V -s,p e v  V ; Notare che f (u,u) = 0  u  V 9