Plangu Ioan Carol Grupa 134

ARBORI PARTIALI IN GRAFURI CU MUCHIILE PONDERATE

1

y) drumul cu w(muchii parcurse) in graful aflat in discutie sau distanta dintre x si y 2 .y) suma ponderilor tuturor muchiilor unui graf suma ponderilor muchiilor dintr-o parcurgere G = (V. functia w:E R+ indicatoare a ponderii muchiilor d(x.y) w(G) w(P) - ponderea drumului (x.E.w) graf ponderat cu V multimea varfurilor. E multimea muchiilor.Plangu Ioan Carol Grupa 134 Notatii w(x.

daca x nu este in E1 R+ Notiuni: Lant optim intre x si y . x) = 0 prin conventie d(x. y). y) => w(Lz1+Lz2) < w(Lz) => Lz nu este lant optim Intr-un graf simplu conex cu w(x) = 1 Excentricitatea unui varf ± distanta maxima catre orice alt varf 3 . w2(x) = w1(x) . Lz1 = lantul corespunzator d(x.y) . z) + d(z. y) > d(x.lantul L cu w(L) minim si x.E1. z) . y) = d(y.suma ponderilor muchiilor lantului optim dintre doua puncte. x) evident d(x.w1) cu functia w pentru pondere si n componente conexe.Plangu Ioan Carol Grupa 134 Definitie: Graful cu muchii ponderate este un graf conex caruia ii este alaturata o functe w:E care atribuie un numar real pozitiv tuturor muchiilor. Lz2 = lantul corespunzator d(z. intodeauna ar exista un graf conex (V1. Observatie: Daca am defini un graf neconex (V1.daca x in E1 ’ . y) ” d(x. z) + d(z. Lz = lantul corespunzator d(x. Proprietati: d(x. y) inegalitatea triunghiului Demonstratie : Presupunem d(x.E1+{n-1 muchii care leaga componentele conexe}.y capete Acesta nu poate contine un ciclu deoarece ar implica existent unui lant mai scurt fara acesta Lanturile incluse in acesta sunt si ele optime deoarece existent unui lant mai scurt intre doua elemente continute ar implica existent uni lant mai scurt prin lantul acesta Distanta dintre doua varfuri .

este adugat varful cu distanta minima fata de toate varfurile introduce in arbore la momentul respective.w) cu proprietatea ca orice x. y din V au aceeasi distanta si T si in G Acesta poate fi generat prin Algoritmul lui Prim Este repetat urmatorul pas pana cand arborele este format (are n-1 muchii) Daca T este arborele economic neformat.y) Arborele economic . keyed by min_distance //WIKIPEDIA 4 .y = capetele diametrului si c = centru atunci w(x.E. Un posibil pseudocod: for each vertex in graph set min_distance of vertex to ’ set parent of vertex to null set minimum_adjacency_list of vertex to empty list set is_in_Q of vertex to true set min_distance of initial vertex to zero add to minimum-heap Q all vertices in graph.este arborele partial T al lui G(V.Plangu Ioan Carol Grupa 134 Raza unui graf ± excentricitatea minima a unui varf din graf Diametrul unui graf-excentricitatea maxima a unui varf dintr-un graf Centrul unui graf-varful cu excentricitatea minima Observatie: Rad(G) ” Diam(G) ” 2*Rad(G) Prima inegalitate rezulta din definitie A doua egalitate rezulta din inegalitatea triunghiului Daca x. y) ” w(x.c) + w(c.

este arborele partial T al lui G(V. Daca da.E. Un posibil pseudocod: function Dijkstra(Graph. 13 alt := dist[u] + dist_between(u.v. varful legat).w) cu proprietatea ca orice x din V are aceeasi distanta fata de varful desemnat in T si in G Acesta poate fi generat prin Algoritmul lui Dijkstra Arborele este format prin desemnarea unui scor pentru drumul minim Este repetat urmatorul pas pana cand arborele este format (are n-1 muchii) Pentru toate varfurile conectate verifica daca scorul varfului selectat + w(varf selectat.Plangu Ioan Carol Grupa 134 Arbore al distantelor unui varf. source): 2 for each vertex v in Graph: // Initializations 3 dist[v] := infinity // Unknown distance function from source to v 4 previous[v] := undefined // Previous node in optimal path from source 5 dist[source] := 0 // Distance from source to source 6 Q := the set of all nodes in Graph // All nodes in the graph are unoptimized .a) 15 dist[v] := alt 16 previous[v] := u 17 return dist[] //WIKIPEDIA 5 . scorul varfului legat devine scorul varfului selectat + w(varf selectat.thus are in Q 7 while Q is not empty: // The main loop 8 u := vertex in Q with smallest dist[] 9 if dist[u] = infinity: 10 break // all remaining vertices are inaccessible from source 11 remove u from Q 12 for each neighbor v of u: // where v has not yet been removed from Q. Ordinea de parcurgere este ca in cazul parcurgerii in latime. varful legat) < scorul varfului legat. v) 14 if alt < dist[v]: // Relax (u.

Sign up to vote on this title
UsefulNot useful