1 / 8

Teoria grafurilor orientate si modul in care l-au ajutat pe aladin

Teoria grafurilor orientate si modul in care l-au ajutat pe aladin. Intr -o pestera intunecata Aladin a gasit o lampa fermecata . Nu stia cui apartine asa ca a furat -o, iesind in fuga in noaptea instelata . La lumina lunii a stat si s-a gadit :

elma
Télécharger la présentation

Teoria grafurilor orientate si modul in care l-au ajutat pe aladin

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teoriagrafurilor orientate simodul in care l-au ajutatpealadin Intr-o pesteraintunecata Aladin a gasit o lampafermecata. Nu stia cui apartineasa ca a furat-o, iesind in fuga in noapteainstelata. La luminalunii a stat si s-a gadit: “La cesafolosesclampa cu aurpoleit’? Stand pe o piatra a inceput s-o frecenestiindputereaeimagica.

  2. Un duh magic a iesit din lampa, era albastrusi cam grasiarAladin s-a speriat. Acestai-a promisindeplinirea a 3 dorinte. Aladinneincrezator in putereaduhului a cerut-o chiarpefrumoasaprinteza din castel. Atunciduhuli-a spus : “Problemataesteusor de rezolvat, solutiatasta in grafuri”. Aladini-a cerutsa I le explice…

  3. Grafuri: noţiuni de bază Definiţia Un graf orientat este un cuplu G(X,U), unde X este o mulţime finită şi nevidă de elemente numite vîrfuri, şi UXX este o mulţime de elemente numite arce. Fie un arc u=(x,y)U. Spunem că arcul u are sensul (sau orientarea) de la x la y. Vîrful x este extremitate iniţială şi predecesorul lui y, şi vîrful y este extremitate finală şi succesorul lui x. Deci în precizarea unui arc contează ordinea vîrfurilor. Două vîrfuri sînt adiacente dacă între ele există un arc. Două arce distincte sînt adiacente dacă au o extremitate comună. Fiind dat un graf orientat G(X,U), un drum în graful G este o succesiune de arce cu proprietatea că extremitatea terminală a unui arc coincide cu extremitatea iniţială a arcului următor din drum. Un drum se poate defini şi prin succesiunea de vîrfuri care sînt extremităţi ale arcelor ce compun drumul: o succesiune de vîrfuri cu proprietatea că orice două vîrfuri consecutive sînt unite printr-un arc. Să observăm că într-un drum toate arcele au aceeaşi orientare, de la vîrful iniţial la vîrful final. În schimb într-un lanţ fiecare arc poate avea orice orientare.

  4. Aladin a inceputsaisidesenezehartasisadecidace drum artrebuisaaleaga. • Problemaceluimaiscurt drum • Presupunem ca avem un grafcecontine n nodurinumerotate de la 1 la n. Notam cu A(i) multimeanodurilor • j pentru care exista un arc (i, j) de la noduli. Nodul 1 este un nod special numitdestinatie. Presupunme • ca A(1) estevida. Pentrufiecare arc (i, j) avem un scalar aij care reprezintalungimeaarcului. Lungimea • drumului {(i, i1), . . . ,(ik, j)} care incepe din nodulisi se termina in nodul j prinsuma aii1 + · · · + aikj. Se • puneproblemagasiriideluimaiscurt drum sau a unui drum de lungime minima pornind din fiecare nod i. • Presupunem ca exista un drum de la fiecare nod i = 2, . . . , n la noduldestinatie 1 si ca fiecareciclu are • lungimepozitiva. • Drumul de lungimeminmareprezintasolutiasistemului .

  5. Aladintrebuiesaajunga din nodul 2 in nodul 1. Pentru a determinacelmai rapid drum acestailroagape duh sa ii aratealgoritmul. AstfelduhulilinvataAlgoritmulFloyd-Warshall.

  6. Algoritmul Floyd-Warshall Algoritmul Floyd-Warshall Incepe cu conditiileinitiale: x0ij ={aij, dacaj ∈ A(i) ∞, altfel sigenereazasecventialpentru k = 0,1, . . . , n − 1 sipentrutoatenodurileisi j xk+1ij ={min{xkij, xkik+1 + xkk+1j}, dacaj ̸= I ∞, altfel} • Algoritmul de dublareestedat de urmatoareleformule: x1ij ={aij, daca j ∈ A(i) 0, dacai = j ∞, altfel} xk+1ij ={min m{xkim + xkjm}, daca j ̸= I; 0, dacai = j} Acum ca Aladinstiealgoritmulpoate merge dupafrumoasaluiprintesa.

  7. Matricea drumurilor. Este o matrice d cu n linii şi n coloane, în care fiecare element d[i,j] este : -         1, dacă există drum de la nodul i la nodul j în graf; -         0, în caz contrar. Algoritmul de determinare a matricei drumurilor Matricea drumurilor se obţine aplicând matricei de adiacenţă transformări succesive. Vom spune că există drum de la nodul i la nodul j, dacă găsim un nod k (diferit de i, j) cu proprietatea că există drum de la i la k şi drum de la j la k. Astfel: un element a[i, j] care este 0, devine 1, dacă există un nod k astfel încât a[i, k]=1 şi a[k, j]=1. Pentru a găsi arcele nodului k, trebuie parcurse pe rând în varianta k toate nodurile 1, 2, …, n. for k:=1 to n do for i:=to n do       {i≠k} for j:=1 to n do   {j≠k} if (a[i, j]=0) and (i<>k) and (j<>k) then a[i, j]:=a[i,k]*a[k, j]; Atribuirea a[i, j]:=a[i,k]*a[k, j] este o scriere elegantă a regulii de mai sus: în cazul în care unul din elementele a[i,k], a[k, j] este 0, a[i, j] va rămâne 0; dacă a[i, k]=1 şi a [k, j]=1, atunci a[i, j] devine 1.

  8. Cu ajutorulgrafurilor orientate aladinsi-a salvatprintesasi au zburatamandoipecovorul magic. SFARSIT.

More Related