grafurile in viata reala n.
Skip this Video
Loading SlideShow in 5 Seconds..
Grafurile in viata reala PowerPoint Presentation
Download Presentation
Grafurile in viata reala

play fullscreen
1 / 20
Download Presentation

Grafurile in viata reala - PowerPoint PPT Presentation

makara
367 Views
Download Presentation

Grafurile in viata reala

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Grafurile in viata reala Ion Andreea Stefania

  2. Cel mai bun exemplu de aplicatie practica in viata reala a grafurilor neorientate sunt hartile rutiere. Putem afla astfel cel mai scurt drum pana intr-un anumit punct sau care puncte de pe harta sunt cel mai usor accesibil.Nodurile pot fi considerate orase, iar muchiile drumuri; grafurile orientate pot reprezente drumuri cu sens unic intre cladiri. • De asemenea, ne putem reprezenta traiectoria unei calatorii cu ajutorul unui lant al unui graf neorientat.

  3. Grafurile mai pot arata legaturile dintre anuminte grupuri sau oameni; grafuri orientate pot arata transferul de informatii sau a unor bunuri.Un arbore genealogic este de asemena un graf neorientat.

  4. Cablurile de inalta tensiune care pornesc dintr-o centrala pot fi si ele reprezentate cu usurinta cu ajutorul unui graf orientat, indicand si directia de deplasare a curentului. In acest caz centrala este un nod sursa. La fel se poate reprezenta si un sistem de canalizare, de incalzire sau reteaua de apa curenta.

  5. Multitudinea cailor aeriene reprezinta grafuri. Nodurile sunt intersectiile (imaginare) si muchiile sunt rutele (imaginare). Noduri pot fi si aeroporturile.

  6. Teoria grafurilor are numeroase apeluri in chimie, contribuind in mare masura la rezolvarea problemelor de numarare a grafurilor apartinand unor clase speciale. Teoria grafurilor este folosita in domenii variate: de la chimie la economie, de la studiul retelelor electrice la critica textelor de politica, devenind o disciplina majora. • Acum ca am aflat cat de folositoare sunt grafurile, ne punem intrebarea: • Ce sunt GRAFURILE?

  7. Elementeteoretice-structura de tip GRAF • Grafurilesuntstructuri de date care se pot implementeatat ca structuri de date alocate static câtşialocatedinamic. Grafurilesuntutilizateînmodelareaproblemelor legate de activitatiîntâlniteînrealitatea de zi cu zi. Structuraunuigrafreflectăstructurăuneiproblemereale. • Grafurilesuntformate din puncte (numitenodurisauvârfuri - engleza = nodes / vertices) şiconexiuniîntrenoduri (numitemuchii – engleza edges).

  8. Nod=componenta a grafului,siextremitati a muchiilor • Muchie=”drumul” dintre 2 noduri • Lant=o succesiune de 2 noduri cu proprietatea ca oricare 2 noduri consecutive din lantsuntadiacente. DefiniţieNumimmuchiiadiacentedouămuchii cu o extremitatecomună. Pentruexemplul de maisus, muchiile [1,5] şi [5,4] suntmuchiiadiacentepentrucă au ca extremitatecomunănodul 5. • Parcurgereapelatime se efectueazaprinutilizareastructuriinumitacoada,avandgrija ca un nod sa fie vizitat o singura data.

  9. De exemplu, înfigura de maijosavemdouăgrafuri A şi B, fiecare cu câte 5 nodurişinumărdiferit de muchii.

  10. Se numeştegrafneorientat, o perecheordonată de multiminotată G = (V,E), unde V = {v1, v2, …, vn} este o mulţimefinităşinevidă de elementenumitenodurisauvârfuriiar E = {e1,e2,…,en} este o mulţime de perechineordonate de elemente din E numitemuchii. • Se numeştegraforientat o perecheordonată de mulţimi G=(V,E), undeunde V = {v1, v2, …, vn} este o multimefinităşinevidă, numitămulţimeanodurilorsauvârfuri, iar E = {e1,e2,…,en} este o mulţimeformată din perechiordonate de elemente ale lui E, numitămulţimeaarcelor.

  11. Un exemplu de graforientateste: reţeauade străzi a unuioraş. Străzilesuntmuchiiîngraf, iarintersecţiilereprezintăvârfurilegrafului. Întrucâtmergândpejos ne putemdeplasapeoricestradăînambelesensuri, vomspunecă din punctul de vedereal pietonilor, „graful unuioraş” esteneo- rientat.

  12. Cu totulaltfelstaulucrurileînceeacepriveşteconducătorii auto, pentrucăînoriceoraşexistăstrăzi cu sensunic. Pentru un şoferstrăziletrebuiesăprimeascăîngraf o anumităorientare. Desigurcăacele străzi pe care se poatecircula înambele sensurivor primiorientare dublă. Am ajunsastfel la noţiunea de graforientat.

  13. Problema • Un exemplu de graf din lumearealareprezintadrumuriledintreorase. De exemplu, dorescsaafludacaintredouaoraseexista drum care le leaga. Luanddouaorase la intamplare,vremsastimdacaexista drum intreele.

  14. Despreproblema • Se da o tara in care se afla m noduri(orase). Muchiilereprezintadrumuldintreele. Citind de la tastaturamatricea de adiacenta a grafuluisi o insiruire de m noduriaflatidacaexista drum de legaturaintreele. (exista un lant format din nodurilecitite.) Sa se afisezetoateoraselefolosind o metoda de parcurgere.

  15. Modul de rezolvare al problemei • citimmatricea de adiacentasicele m noduri • verificamdacaexista un lant format din cele m noduri • parcurgemgrafulfolosindmetodapelatime • afisamrezultatul

  16. Programulc++ #include<iostream.h> inta[50][50]; intmain() {intn,m,I,j,b[50],ok,prim,ultimo,start,x,y,v[100],c[100]; cout<<”n=”;cin>>n; cout<<”m=”;cin>>m; for(i=1;i<=n;i++) for(j=1;j<=n;j++) {cout<<”a[”<<i<<”][”<<j<<”]=”; cin>>a[i][j]; a[j][i]=a[i][j];} for(i=1;i<=m;i++) {cout<<”b[”<<i<<”]=”; cin>>b[i];} ok=1; for(i=1;i<m;i++) {if(a[b[i]][b[i+1]]==0) ok=0; if(ok) cout<<”Da”; else cout<<”Nu”;} prim=1; ultim=1; cout<<”nodul de pornire”; cin>>start; for(i=1;i<n;i++) for(j=i+1;j<=n;j++) {cout<<”a[”<<i<<”][”<<j<<”]=”; cin>>a[i][j]; a[j][i]=a[i][j];} v[start]=1; c[1]=start; while(prim<=ultim) {for(j=1;j<=n;j++) if(a[c[prim]][j]==1 && v[j]==0) {ultim++; c[ultim]=j; v[j]=1;} prim++;} for(i=1;i<=ultim;i++) cout<<c[i]<<” ”; }

  17. Alteexemple de grafuri din viaţareală • Intr-o fabricasunt n muncitori .Intreacestimuncitoriexistarelatia de colegialitate. a) Sa se reprezinte sub forma de grafmuncitoriifabricii respective sirelatiiledintreeipentru n=6. b) Cefel de grafatiobtinut ?

  18. Rezolvare • a)Reprezentareagrafului. Fiecaremuncitorestecoleg cu ceilalti. • b)Se obtine un grafcomplet.