29.06.2013 Views

Curs 8 - Drumuri de cost minim [pdf] - Andrei

Curs 8 - Drumuri de cost minim [pdf] - Andrei

Curs 8 - Drumuri de cost minim [pdf] - Andrei

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Floyd-Warshall (Roy-Floyd)<br />

Algoritm prin care se calculează distanțele <strong>minim</strong>e<br />

intre oricare 2 noduri dintr-un graf (drumuri optime<br />

multipunct multipunct-multipunct).<br />

multipunct)<br />

Exemplu clasic <strong>de</strong> programare dinamică.<br />

I<strong>de</strong>e: la pasul k se calculează cel mai bun <strong>cost</strong> intre u<br />

si v folosind cel mai bun <strong>cost</strong> u..k si cel mai bun <strong>cost</strong><br />

k..v calculat până in momentul respectiv.<br />

Se aplică pentru grafuri ce nu conțin cicluri <strong>de</strong> <strong>cost</strong><br />

negativ.<br />

Notații<br />

G = (V,E); V = {1,2,..n};<br />

Proiectarea Algoritmilor 2010<br />

w:VxV->ℜ; w:VxV >ℜ; w(i,i) w(ii) = =0;w(ij)=∞ 0; w(i,j) = ∞ dacă (i (i,j)∉E; j)∉E;<br />

d k (i,j) = <strong>cost</strong>ul drumului i..j construit astfel încât drumul trece doar<br />

prin noduri din mulțimea {1,2,..,k};<br />

δ(i,j) = <strong>cost</strong>ul drumului optim i..j; δ(i,j) = ∞ dacă i..j;<br />

δ k (i,j) = <strong>cost</strong>ul drumului optimi i..j ce trece doar prin noduri din<br />

mulțimea {1,2,..,k}; δ k (i,j) = ∞ dacă i..j;<br />

p k (i,j) = pre<strong>de</strong>cesorul lui j pe drumul i..j ce trece doar prin noduri<br />

din mulțimea {1,2,..,k}.<br />

Proiectarea Algoritmilor 2010<br />

5/8/2010<br />

10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!