1 / 27

Problem uparivanja

Problem uparivanja. Dušan Jeremić 12049 Marko Nešić 11568 Milovan Novaković 12025. Sadržaj. Uvod Uvod u teoriju grafova Uparivanje u grafovima – osnovni pojmovi BFS algoritam (generalni algoritam za prelaženje grafova) Hungarian algoritam. Uvod u teoriju grafova.

salma
Download Presentation

Problem uparivanja

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. Problem uparivanja Dušan Jeremić 12049 Marko Nešić 11568 Milovan Novaković 12025 Teorija grafova 2009 – Problem uparivanja

  2. Sadržaj • Uvod • Uvod u teoriju grafova • Uparivanje u grafovima – osnovni pojmovi • BFS algoritam (generalni algoritam za prelaženje grafova) • Hungarian algoritam Teorija grafova 2009 – Problem uparivanja

  3. Uvod u teoriju grafova • Teorija grafova je bez sumnje jedna od najmlađih i najnaprednijih grana u matematici. • Popularnost teorije grafova leži isključivo u velikoj primeni u kompjuterskim naukama. • Činjenica je da se veliko bogatstvo teorije grafova nije dogodilo sve do planuća kompjutera pre nekih 50 godina. • Sadržina ove prezentacije je poprilično interesantan problem u teoriji grafova, a govori o pronalaženju različitih uparivanja u raznim grafovima. Teorija grafova 2009 – Problem uparivanja

  4. Uvod u teoriju grafova • Graf G predstavlja uredjeni skup (V, E), gde je skup V čvorova (vertices), a Eskup ivica (edges), u kome svaka ivica predstavlja par (x,y) čvorova iz V. • Dva čvora su susedna(adjacent) ako i samo ako postoji ivica koja ih spaja, i takođe da je čvor v susedan (incident) ivici eako i samo ako je vjedan od čvorova spojenih ivicom e. Broj ivica koje su susedne sa nekom čvorom je stepen (degree) tog čvora. • Graf može biti neusmeren (undirected) ili usmeren (directed), kod koga svaka ivica ima i svoj smer (znači ako je vpovezano sa w, ne mora biti i da je wpovezano sa v) • Graf može biti i težinski (weighted) ako svaka ivica ima sebi dodeljenu neku vrednost (težinu) Teorija grafova 2009 – Problem uparivanja

  5. Uvod u teoriju grafova • Put (path) od čvora x do nekog drugog čvora y je niz ivica koji spaja ova dva čvora, u kome se svaka ivica iz grafa pojavljuje najviše jedanput. Ako neki niz ivica spaja čvor x sa samim sobom, onda se takav niz zove krug (cycle). Drvo (tree) je graf koji nema krugova. • Bipartitan (bipartite) graf G=(V, E) je graf u kome se mogu uočiti dva disjunktna skupa čvorova, U c V i W c V, tako da svaka ivica iz E spaja jedan čvor iz U sa jednim cvorem iz W. • Pokrivac ivica (vertex cover) grafa G=(V, E) je skup U c V, takav da je svaka ivica iz E susedna sa bar jednim čvorom iz U. Teorija grafova 2009 – Problem uparivanja

  6. G M Uparivanje u grafovima – osnovni pojmovi • Uparivanje Mu grafu G je skup disjunktnih ivica od kojih nikoje dve nemaju nijedan zajednički čvor. Teorija grafova 2009 – Problem uparivanja

  7. G M Uparivanje u grafovima – osnovni pojmovi • Tačke susudne sa ivicama uparivanja M su zasićene (saturated) od M; druge su nezasićene (kažemo M-zasićeno i M-nezasićeno). • Savršeno uparivanje u grafu G je uparivanje koje ima zasićenu svaku tačku. Teorija grafova 2009 – Problem uparivanja

  8. Uparivanje u grafovima – osnovni pojmovi • Maksimalno (maximal)uparivanje u grafu G je uparivanje koje ne može biti prošireno dodavanjem ivica. Maksimum (maximum) uparivanje je uparivanje maskimalne veličine među svim uparivanjima u grafu. • Maximal ≠ maximum Teorija grafova 2009 – Problem uparivanja

  9. Uparivanje u grafovima – osnovni pojmovi • Dato je uparivanje M, M-alternativna putanja je putanja koja naizmenično prolazi ivice u M i ivice koje nisu u M. !M !M M M Teorija grafova 2009 – Problem uparivanja

  10. Uparivanje u grafovima – osnovni pojmovi • M-proširena (augmenting)putanja je M-alternativna putanja čije su krajnje tačke nezasićene od M. • M-proširena (augmenting)putanja može biti korišćena za proširenje uparivanja. !M !M M M !M Teorija grafova 2009 – Problem uparivanja

  11. BFS (Breadth-first search) algoritam • Breadth-first search (BFS) je generalna tehnika za prelaženje grafa • Posećuje sve tačke i ivice od G • Otkriva da li je G konektovano • Proračunava konektovane komponente grafa G • Proračunava širinu šume (spanning forest) • Algoritam koristi mehanizam setovanja i uzimanja “oznaka” tačaka i ivica • BFS na grafu sa n tačaka i m ivica traje O(n + m)vremena • BFS može biti dalje proširen za rešavanje drugih problema u grafu • Nalaženje i izveštavanje staze sa najmanjim brojem ivica između 2 tačke • Nalaženje jednostavnog ciklusa (cycle), ako postoji Teorija grafova 2009 – Problem uparivanja

  12. L0 A L1 B C D E F BFS – Primer neistražene tačke A posećene tačke A neistražene ivice otkrivene ivice ukrštene ivice L0 L0 A A L1 L1 B C D B C D E F E F Teorija grafova 2009 – Problem uparivanja

  13. L0 L0 A A L1 L1 B C D B C D L2 E F E F L0 L0 A A L1 L1 B C D B C D L2 L2 E F E F BFS – Primer (nastavak) Teorija grafova 2009 – Problem uparivanja

  14. L0 L0 A A L1 L1 B C D B C D L2 L2 E F E F BFS – Primer (nastavak) L0 A L1 B C D L2 E F Teorija grafova 2009 – Problem uparivanja

  15. Setovanje/uzimanjetačke/iviceoznake uzima O(1)vremena Svaka tačka je označena dva puta jednom kao NEOTKRIVENA jednom kaoPOSEĆENA Svaka ivica je označena dva puta jednom kao NEOTKRIVENA jednom kaoPOSEĆENA ili UKRŠTENA Svaka tačka je ubačena jednom u sekvencuLi Metoda incidentEdges je pozvana jednom za svaku tačku BFS - Analiza Teorija grafova 2009 – Problem uparivanja

  16. BFS - Primena • Korišćenjem templejt metod šablona, možemo specijalizovati BFS prelaženje grafa Gza rešavanje sledećih problema uO(n + m)vremenu • Proračunava konektovane komponente grafa G • Proračunava širinu šume (spanning forest) • Pronalazi jednostavan ciklus(cycle)uG, ili izveštava da je Gšuma • Ako su date 2 tačke u G, nalazi stazu uGizmeđu njih sa minimalnim brojem ivica, ili izveštava da takva putanja ne postoji Teorija grafova 2009 – Problem uparivanja

  17. Hungarian metod • Matrica troškova: c11 c12 c13 ···c1n c21 c22 c23 ···c2n = C : : : : cn1 cn2 cn3 ···cnn • Na primer: cij = je plata isplaćena i -tom radniku za j -ti zadatak. Mi zelimo da zaposlimon  radnika da završe n zadataka uz minimalne troškove, npr. moramo da izaberemo tačno jedan element iz svakog reda i kolone matrice troškova C na takav način da je suma troškova najmanja. Teorija grafova 2009 – Problem uparivanja

  18. Hungarian metod: algoritam • 1. Oduzmemo sve elemente svakog reda sa najmanjim elementom tog reda. • Svaki red ima barem po jednu nulu. • Svi elementi reda su pozitivni ili nula. • 2. Oduzmemo sve elemente svake kolone sa najmanjim elementom te kolone. • Svaki red i svaka kolona ima badem po jednu nulu. • 3. Selektujemo određene redove i kolone linijama tako da su sve nule pokrivene i da nije upotrebljeno više linija nego što je potrebno. • 4. Proveravamo optimalnost. • (i) Ako je broj linija n, biramo kombinaciju iz modifikovane matrice troškova tako da je njihova suma nula. • (ii) Ako je broj linija manji od n idemo na 5. korak. • 5. Trazimo najmanji element koji nije pokriven ni jednom linijom. Onda ga oduzimamo od svakog elementa koji nije pokriven linijama i dodajemo ga svakom elementu koji je pokriven sa dve linije. Vraćamo se na korak 3. • Ako umesto minimizacije imamo problem maksimizacije, množimo matricu C sa -1 i radimo je po po stavkama 1 – 5. Ako C nije kvadratna matrica, moramo proširiti C dodavajući redove ili kolone čiji su elementi nule. Teorija grafova 2009 – Problem uparivanja

  19. Hungarian algoritam primer Gradiliste • Građevinska firma poseduje 4 krana od kojih se svaki nalazi na određenom rastojanju (km) od 4 različita gradilišta kao što je prikazano u tabeli: Kran Potrebno je postaviti kranove (po jedan na svako gradilište) na takav način da je transport kranova najmanji Teorija grafova 2009 – Problem uparivanja

  20. Hungarian algoritam primer 1. korak: Za svaki red nalazimo minimalan element i oduzimamo ga od ostalih elemenata u tom redu. Teorija grafova 2009 – Problem uparivanja

  21. Hungarian algoritam primer 2. korak: Za svaku kolonu nalazimo minimalan element i oduzimamo ga od svih elemenata u toj koloni. Teorija grafova 2009 – Problem uparivanja

  22. Hungarian algoritam primer 3. korak: Crtamo linije preko redova i kolona na takav nacin da pokrijemo sve nule u matrici a da pri tome upotrebimo minimalan broj linija (u ovom slucaju linije su povucene preko 1. i 3. reda i preko 1. kolone). Teorija grafova 2009 – Problem uparivanja

  23. Hungarian algoritam primer • 4. korak: Proveravamo optimalnost;Ako je broj linija koje smo nacrtali n (broj redova matrice troškova), onda smo završili. Ako je broj linija < n, idemo na korak 5. • Sada je broj linija 3 < n = 4. Teorija grafova 2009 – Problem uparivanja

  24. Hungarian algoritam primer • 5. korak: Nalazimo najmanji element koji nije pokriven linijama i u našem slučaju to je (2,3)-element 20, i oduzimamo ga od svakog elementa koji nije pokriven linijama a sabiramo ga sa svakim elementom koji je pokriven sa vertikalnom i horizontalnom linijom. Sada se vraćamo na korak 3. Teorija grafova 2009 – Problem uparivanja

  25. Hungarian algoritam primer • 3. korak: Crtamo linije preko nula • (1. i 3. kolona, 1.red)       • 4. korak: Broj linija je = 3 < n =>da idemo na korak 5 i onda na korak 3 (najmanji element je 5) Teorija grafova 2009 – Problem uparivanja

  26. Hungarian algoritam primer • 3. korak: Crtamo linijepreko nula (1. i 3. kolona, 1. i 3. red)       • 4. korak: Broj linija je = 4 = n=> Završili smo. Pozicije 0 odredjuju moguće kombinacije. Imamo dva izbora: Rešenje: Kran1 - Gradiliste4, Kran2 - Gradiliste3, Kran3 - Gradiliste2, Kran4 - Gradiliste1 ( => sveukupno rstojanje je 275 km)iliKran1 - Gradiliste2, Kran2 - Gradiliste4, Kran3 - Gradiliste4, Kran4 - Gradiliste1 ( => sveukupno rstojanje je 275 km) Teorija grafova 2009 – Problem uparivanja

  27. THE END • HVALA NA PAŽNJI!!! Teorija grafova 2009 – Problem uparivanja

More Related