Norme per inviare contributi
Spedire i contributi alla discussione per e-mail a malucell@elet.polimi.it.
I contributi devono essere sintetici,
riportare nel subject "Forum"
e la data del quesito, e l'identificazione
chiara del mittente.
In una rete di flusso è presente un arco (i,j) con costo negativo. Come modificare la rete in modo da mantenere l'equivalenza?
Modificare l'algoritmo di Dijkstra per determinare il cammino con peso minimo degli archi massimo.
Valutare la complessità computazionale dell'algoritmo dei cammini aumentanti applicato al caso di grafo bipartito con capacità unitarie (problema di assegnamento di cardinalità massima).
Si vogliono accoppiare i nodi facenti parte di due insiemi,
Ns (insieme di partenza) ed Nt (insieme di arrivo).
Formuliamo il problema come rete di flusso ed aggiungiamo il nodo
sorgente (s) ed il nodo destinazione (t).
Dal nodo sorgente partono archi di capacità massima 1 verso
i nodi dell'insieme Ns (uno verso ogni nodo).
Dagli archi dell'insieme Nt partono archi verso il nodo t (uno
da ogni nodo).
Immaginiamo che |Ns|=|Nt| =n. Inoltre poniamo |A| = m, dove A
è l'insieme che comprende tutti gli archi del grafo.
Utilizziamo l'algoritmo dei cammini aumentati.
Ad ogni iterazione il flusso aumenta esattamente di un'unità,
per un massimo di n unità, e, nel caso pessimo, saremo
costretti ad esaminare tutti gli m archi del grafo.
In tal caso la complessità dell'algoritmo è THETA(m*n).
Nel caso più generale in cui |Ns|!=|Nt| allora sappiamo
che il flusso può aumentare al massimo di una quantità
minore o uguale al min(|Ns|,|Nt|).
In tal caso la complessità dell'algoritmo diventa THETA(m*min(|Ns|,|Nt|)).
Formulare il problema di taglio di capacità minima tra due nodi s e t di un grafo orientato con capacità sugli archi:
(nota: nella soluzione proposta vi sono dei vincoli ridondanti, vista la natura della funzione obiettivo, quali?)
Che differenza c'e' tra un albero di copertura di peso minimo e l'albero dei cammini minimi? fornire un esempio in cui le soluzioni dei due problemi sono diverse.
Nell'allegato presente riporto il mio esempio sottolineando in
verde l'albero di copertura minimo e in rosso l'albero dei cammini
minimo.
La differenza base è che nel caso dell'albero dei
cammini minimi il peso di un arco utilizzato per due
cammini (ad esempio) viene contato due volte.
Spero che la mia risposta le sia chiara e che sia esatta.
distinti saluti Lorenzo D'Ercole