No SQL baze Graf orijentisane baze Uvodna razmatranja
No. SQL baze Graf orijentisane baze Uvodna razmatranja Prof. dr Branko Perišić, redovni profesor
Agenda �Osnovi teorije grafova �Pojam graf orijentisanih baza �Osnovni koncepti graf orijentisanih baza podataka �Pregled graf orijentisanih SUBP �Neo 4 j – graf baza sa kojom implementiramo projekat u delu rukovanju grafovima 6. 6. 2021. Prof. dr Branko Perišić 2
Graf orijentacija - Motivacija �Grafovi su pogodni za pretstavljanje podataka koji se javljaju u realnim sistemima. �To je osnovni razlog da se oni skladište u formi koja direktno korespondira sa njihovom semantikom. �Iako je grafove moguće efikasno skladištiti u sklopu relacionih baza podataka, večina ključnih operacija nad grafovima. �Koncept graf orijentisanih baza podataka je formulisan sa ciljem rešavanja navedenih problema. 6. 6. 2021. Prof. dr Branko Perišić 3
Graf orijentacija - Motivacija � Danas večina podataka postoji u formi povezanih objekata. Često su VEZE značajnije od PODATAKA koje povezuju. � Relacione baze podataka skladište visoko strukturirane podatke kod kojih više zapisa skladište iste tipove podataka tako da podržavaju skladištenje STRUKTURIRANIH PODATAKA ali ne skladište veze između podataka. � Graf orijentisane baze skladište VEZE i SPOJNICE kao ENTITETE PRVOG REDA. � Model podataka graf orijentisanih baza je mnogo jednostavniji nego modeli podataka drugih baza koje se koriste za podršku OLTP (On Line Transaction Processing) sistemima. � Podržavaju svojstva TRANSAKCIONE ORIJENTACIJE i OPERATIVNE RASPOLOŽIVOSTI. 6. 6. 2021. Prof. dr Branko Perišić 4
Grafovi – domen problema 5
Grafovi – domen problema 6
Grafovi – domen problema 7
Grafovi – domen problema 8
Za šta su grafovi pogodni? � Preporuke (Recommendations) � Poslovna inteligencija (Business intelligence) � Društvene mreže (Social computing) � Geoprostorni sistemi (Geospatial) � Upravljanje sistemima (Systems management) � Web stvari (Web of things) � Analiza porekla (Genealogy) � Obrada vremenskih serija (Time series data) � Katalogiziranje proizvoda (Product catalogue) � Analitika upotrebe web-a (Web analytics) � Bioinformatika (Scientific computing - especially bioinformatics) � Indeksiranje RDBMS (Indexing slow RDBMS). . .
Za šta su grafovi pogodni?
Za šta su grafovi pogodni?
Za šta su grafovi pogodni?
Za šta su grafovi pogodni?
Za šta su grafovi pogodni?
Za šta su grafovi pogodni?
Grafovi – primene u računarskim naukama 16
Grafovi – primene u računarskim naukama 17
Graf - definicije �Apstraktna predstava skupa objekata (čvorova) kod koga su neki parovi povezani (veze). Objekat (Vertex, Node) Veza (Edge, Arc, Relationship)
Graf - definicije �Graf je slikovita pretstava skupa objekata kod koga su neki objekti povezani Vezama. �Čine ga dva elementa: ČVOROVI (nodes) i VEZE (links). �Graf baza je baza podataka zasnovana na graf-modelu podataka kod koje su ČVOROVI – ENTITETI a RELACIJE asocijacije između čvorova. 6. 6. 2021. Prof. dr Branko Perišić 19
Graf - pojmovi �Stepen čvora (degree of vertex) – pretstavlja broj grana koje dodiruju jedan čvor. �Regularni graf (Regular graph) – pretstavlja graf kod koga svi čvorovi imaju isti broj suseda. (istovalentni grafovi) �Lema rukovanja (Hand shaking lemma) – svaki konačni neusmereni graf ima paran broj čvorova koji poseduju neparan stepen. (kolokvijalno – na žurki na kojoj se ljudi rukuju PARAN broj ljudi se morao rukovati sa neparnim brojem ruku drugih ljudi). 20
Graf – matematičke definicije Definicija 2. 1. Graf G predstavlja trojku (V; E; f) kod koje elementi skupa V predstavljaju čvorove grafa G a ementi skupa E ivice grafa G. Funkcija f je preslikavanje koje opisuje dodelu svake ivice grafa G paru čvorova iz skupa V. Definicija 2. 2. Prolazak kroz graf je konačna neprazna sekvenca čvorova i grana koja počinje iz jednog čvora a završava u drugom tako da su sadržani čvorovi i veze opisuju putanju. Pod dužinom prolaska podrazumeva se kardinalitet veza (broj koje on sadrži). 21
Graf - matematičke definicije Definicija 2. 3. Por pojmom trag podrazumeva se prolazak kod koga su sve sadržane ivice različite. Definicija 2. 4. PUTANJA ILI JEDNOSTAVNA PUTANJA je otvoreni prolazak (početak i kraj nisu isti) kod kog se svaki sadržani čvor pojavljuje samo jednom. Definicija 2. 5. Pod Ojlerovom putanjom podrazumeva se putanja u grafu koja prolazi kroz sve čvorove grafa SAMO JEDNOM. 22
Graf - definicije Definicija 2. 6. Zatvorena putanja (krug) je putanja koja se završav a u istom čvoru iz koga počinje. Definicija 2. 7. Graf koji sadrži bilo Ojlerovu putanju bilo Ojlerovu zatvorenu putanju naziva se Ojlerov graf. Definicija 2. 8. Putanja koja samo jednom prolazi kroz sve čvorove grafa naziva se Hamiltonova putanja. 23
Graf - definicije Definicija 2. 9. Zatvorena putanja koja sadrži samo jedan primerak svakog čvora grafa sa izuzetkom početnog i krajnjeg naziva se Hamiltonov krug. Definicija 2. 10. Graf koji sadrži bilo Hamiltonov krug bilo Hamiltonovu putanju naziva se Hamiltonov graf. 24
Graf - definicije Definicija 2. 11. Di-graf ili usmereni graf se sastoji od skupa čvorova V i skupa veza E takvog kod koga je svakoj vezi pridružen uređeni par čvorova (S). U sklopu (Sof) f predstavlja funkciju koja dodjeljuje vezu uređenom paru čvorova. 25
Vrste grafova �Neusmereni �Usmereni �Pseudo �Multi graf �Hiper graf
Vrste grafova �Neusmereni graf je graf kod koga veze nemaju �Pseudo orijentaciju. Veza od (a, b) je �Multi graf IDENTIČNA vezi od (b, a). �Usmereni �Hiper graf
Vrste grafova �Neusmereni �Usmereni Kod usmerenog �Pseudo grafa veze �Multi graf poseduju orijentaciju. Graf je �Hiper graf uređeni par (V, A).
Vrste grafova �Neusmereni �Usmereni �Pseudo graf je graf �Multi graf koji sadrži petlje. �Hiper graf
Vrste grafova �Neusmereni �Usmereni Multigraf je graf koji dozvoljava uspostavljanje �Pseudo više veza između čvorova. �Multigraf �Hiper graf
Vrste grafova �Neusmereni Hiper �Usmereni graf je graf kod koga jedna veza povezuje više od dva čvora. �Pseudo �Multi graf �Hiper graf
Vrste grafova �Težinski �Labelirani �Graf sa svojstvima
Vrste grafova �Težinski graf omogućava definisanje vrednosti pridružene vezi. �Graf sa svojstvima �Labelirani
Vrste grafova �Težinski �Labelirani graf omogućava semantičkog �Graf sa definisanje svojstvima markera (labele) čvorovima i vezama.
Vrste grafova �Težinski Graf sa svojstvima poseduje ključeve i vrednosti dodeljene čvorovima i �Labelirani vezama. �Graf sa svojstvima
Graf – definicija 2 Skup tačaka i linija koje te tačke spajaju. v 1 G=(V, E), e 6 Formalno: V-čvorovi, Ev 4 veze v 3 e 1 e 2 e 3 e 5 v 2 e 4 v 5 Vv 2 i v 3 su susedi , e 2 je incidentan sa v 2. 36
Graf – prikaz 6. 6. 2021. Prof. dr Branko Perišić 37
Graf – formalni opis (G) 6. 6. 2021. Prof. dr Branko Perišić 38
Graf – formalni opis (H) 6. 6. 2021. Prof. dr Branko Perišić 39
Pretstavljanje grafova �Šematski v 3 e 2 v 4 e 3 v 2 �Matrica incidencije e 1 e 2 e 3 e 4 e 5 e 6 v 1 1 0 0 2 v 2 1 1 0 0 v 3 0 1 1 0 v 4 0 0 0 v 5 0 0 1 1 1 0 e 4 e 1 e 5 v 5 e 6 v 1 40
Pretstavljanje grafova �Matrica susedstva v 1 v 2 v 3 v 4 v 5 v 1 2 1 0 0 0 v 2 1 0 1 v 3 0 1 0 0 2 v 4 0 0 0 v 5 0 1 2 0 0 41
Usmereni grafovi v 3 e 2 �Matrica susedstva v 1 v 2 v 3 v 4 v 5 v 1 1 0 0 v 2 1 0 0 v 3 0 0 1 v 4 0 0 0 v 5 0 1 1 0 0 v 4 e 3 v 2 e 4 e 1 v 5 e 6 e 5 v 1 42
Težinski grafovi v 3 2 v 4 �Matrica susedstva v 1 v 2 v 3 v 4 v 5 v 1 3 0 0 v 2 1 0 2 0 0 v 3 0 0 2 v 4 0 0 0 v 5 0 3 3 0 0 2 5 v 2 3 1 v 5 3 v 1 43
Graf – osnovni algoritmi �Algoritmi i teorija grafova: ◦ Osnovna uloga teorije grafova u računarskim primenama predstavlja izgradnju algoritama nad strukturom podataka koja je predstavljena u formi grafa. 6. 6. 2021. Prof. dr Branko Perišić 44
Graf – osnovni algoritmi �Primeri nekih algoritama: 1. Određivanje najkraće putanje u mreži 2. Pronalaženje minimalnog stabla razdvajanja 3. Utvrđivanje planarnosti grafova 4. Algoritmi za pronalaženje matrice susedstva. 5. Algoritmi za utvrđivanje povezanosti 6. Algoritmi za pronalaženje cirkularnih putanja 7. Algoritmi za pronalaženje informacionog sadržaja u strukturi podataka 45 6. 6. 2021. Prof. dr Branko Perišić
Grafovi kao modeli Mreže: saobraćaj, mape puteva, računara, elektromreže i sl. � 46
Grafovi kao modeli Povezivanje osoba (povezivanje ljudi i poslova, organizacija venčanja, pronalaženje cimera, . . . ) �Društvene mreže. � 47
Podgrafovi � Podgrafa G = (V, E) je graf H =(V’, E’) gde je V’ podskup V a E’ podskup E. Primer : Rešavanje podproblema unutar grafa Primer predstavljanja: V = {u, v, w}, E = ({u, v}, {v, w}, {w, u}}, Definišite: H 1 , H 2 u v w G u u w v H 1 v H 2
Podgrafovi �G = G 1 U G 2 gde je E = E 1 U E 2 i V = V 1 U V 2, G, G 1 i G 2 jednostavni podgrafovi grafa G Primer: G 1 G 2 G = G 1 U G 2 V 1 = {u, w}, E 1 = {{u, w}} V 2 = {w, v}, E 2 = {{w, v}} V = {u, v , w}, E = {{{u, w}, {{w, v}} u u w G 1 w v G 2 w v G
Izomorfizam grafova � Za grafove G 1 = (V 1, E 2) i G 2 = (V 2, E 2) kažemo da su izomorfni ako: ◦ Postoji preslikavanje f iz V 1 u V 2 takvo da vredi da su ◦ a i b susedi u G 1 ako i samo ako su f(a) i f (b) susedi u G 2, za bilo koje a i b iz V 1. � Funkcija f se naziva izomorfnom. Primer: U hemiji, potrebno je pronaći dva jedinjenja koja imaju istu strukturu.
Izomorfizam grafova Primer: G 1 = (V 1, E 1) , G 2 = (V 2, E 2) f(u 1) = v 1, f(u 2) = v 4, f(u 3) = v 3, f(u 4) = v 2, u 1 u 2 u 3 u 4 G 1 v 2 v 4 v 3 G 2
Povezanost �Osnovna ideja: Da li je neki čvor dostupan iz drugog čvora prolaskom kroz veze? Primeri upotrebe: 1. Međumesni saobračaj, da li se od nekog mesta može doći do drugog korišćenjem putne infrastrukture? 2. Da li je proruku moguće proslediti od računara a do računara b upotrebom raspoložive računarske mreže? 3. Efikasno rutiranje paketa na Internetu.
Povezanost – Putanja Primer: G = (V, E), Putanja P od u do v je: {{u, 1}, {1, 4}, {4, 5}, {5, v}} 2 1 v 3 u 4 5
No. SQL baze Grafovi uvodna razmatranja ?
- Slides: 54