Komar Lukic ZIS i Teorija Grafova

Embed Size (px)

Citation preview

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    1/26

    Sveuilite u Zagrebu

    Fakultet organizacije i informatike

    Varadin

    Seminarski rad iz kolegija Zemljopisni informacijski sustavi

    ZIS i teorija grafova

    Ivan Komar, 35952/07-R

    Danijel Luki, 35837/07-R

    Varadin, svibanj 2011.

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    2/26

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    3/26

    Sadraj

    Sadraj.................................................................................................................... 3

    Uvod ....................................................................................................................... 4

    Sedam mostova Knigsberga .................................................................................. 5

    Rjeenje .................................................................................................................. 6

    Vanost problema u povijesti matematike i trenutno stanje mostova ...................7

    Graf i podjela grafova .............................................................................................. 7

    Algoritmi za rad nad grafovima ............................................................................... 9

    Primov algoritam .................................................................................................. 9Kruskalov algoritam ........................................................................................... 13

    Dijkstrin algoritam .............................................................................................. 18

    Zakljuak .............................................................................................................. 22

    Literatura .............................................................................................................. 24

    Popis slika ............................................................................................................. 25

    Popis tablica .......................................................................................................... 25

    3

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    4/26

    Uvod

    Teorija grafova je posebna grana matematike koja se bavi prouavanjem grafova i njihovih

    svojstava. Za nas informatiare je to takoer posebno zanimljivo podruje jer ima iroku

    primjenu u informatici. Poznata je primjena grafova kod opisa modela podataka, struktura

    podataka, kod programiranja i u raunalnim mreama. Kod mrea se grafovi koriste za

    modeliranje i analiziranje mrenog prometa te internet prometa. Sve ovo navedeno su neke od

    primjena teorije grafova koje smo dosada spominjali na nekim drugim kolegijima.

    Naravno teorija grafova ima svoju primjenu i u zemljopisno informacijskim sustavima, a ovajseminar e se prvenstveno baviti primjenom teorije grafova u takvim sustavima s posebnim

    naglaskom na algoritmima traenja najkraeg puta.

    Da bismo lake objasnili primjenu grafova u zemljopisnim informacijskim sustavima najprije

    emo definirati osnove pojmove vezane uz graf i teoriju grafova.

    Neusmjereni graf (eng. undirected graph) G je par (V, E), pri emu je V skup vrhova (eng.

    vertices) grafa, a skup neureenih parova elemenata iz V, koji ine skup bridova

    (eng. edges) grafa G.1

    Pojednostavljeno govorei grafovi se sastoje od vrhova(vorova) i grana(linija izmeu njih).

    to se tie primjene teorije grafova u zemljopisnim informacijskim sustavima, grafovi

    prikazuju stvarne fizike mree, kao to su prometnice, plinovodi,

    vodotoci, dravne granice

    Utemeljiteljem teorije grafova smatra se veliki vicarskimatematiar Leonhard Euler(1707 1783) koji je rijeio do tada

    nerijeen problem Knigsberkih mostova. Problem knigsberkih

    mostova ujedno je prvi primjer koritenja teorije grafova i naziva

    se Sedam mostova Knigsberga i objavljen je 1763. godine.

    1

    Divjak, B., Lovreni, A.: Diskretna matematika s teorijom grafova, TIVA-FOI, Varadin, 2005.

    4

    Slika 1. Leonhard Euler

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    5/26

    Sedam mostova Knigsberga

    Primjer je inspiriran stvarnim gradom Knigsbergom.

    Knigsberg je danas poznat pod nazivom Kaliningrad i ruska je enklava na Baltiku smjetena

    izmeu Poljske i Litve. Sam grad je u prolosti stvarno imao sedam mostova koji su povezivali

    dva otoka unutar grada s ostatkom grada. Kako su prema legendi oko 1750. godine brojni

    ugledni stanovnici tadanjeg Knigsberga nedjeljom u svojim popodnevnim etnjama

    pokuavali prijei mostove na opisani nain proizalo je sljedee pitanje: Je li mogue prijei

    preko svakog od mostova samo jednom i vratiti se na poetnu toku? Ovo je pitanjezainteresiralo Leonharda Eulera koji je 1763. godine i dao konaan odgovor na ovo pitanje.

    Slika 2. Sedam mostova Konigsberga

    5

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    6/26

    Rjeenje

    Kako bi doao do svojeg rjeenja, Euler je cijeli problem predstavio u obliku teorije grafova.

    Slika 3 pokazuje kako se to postie. Prvo je izbacio sve karakteristike terena osim samihkopnenih masa i mostova koji ih povezuju. Nakon toga, svaku je zemljanu masu predstavio

    tokom koja se naziva verteks ili vor, i svaki most s linijom, nazvanom rub ili veza (link).

    Izgled samog grafa moe biti izmijenjen na bilo koji nain koji ne mijenja samo graf - u

    smislu da su veze izmeu toaka nepromijenjene. Dakle, nije vano jesu li linije ravne ili

    zakrivljene i slino.

    Slika 3. Prikaz problema pomou grafa

    Euler je shvatio kako bi problem mogao rijeiti promatrajui stupnjeve vorova. to je stupanj

    vora? Najjednostavnije govorei, stupanj nekog vora je jednak broju linija (veza) koje taj

    vor dotiu. Konkretno, u sluaju Knigsberga imamo 3 vora 3. stupnja i jedan vor 5. stupnja.

    Euler je matematiki dokazao kako je eljeni obilazak mogu onda i samo onda ako u sustavu

    ne postoji niti jedan vor koji ima neparan stupanj. Takva je staza onda poznata pod nazivom

    Eulerov krug. Kako graf koji predstavlja problem sedam mostova Konigsberga ima 4 vora sneparnim brojem stupnjeva, tada tvrdimo kako za njega ne postoji Eulerov krug.

    Problem bi se mogao malo prilagoditi pa se moemo pitati postoji li u gornjem sluaju rjeenje

    ako ne zahtijevamo da poetna toka puta mora biti jednaka krajnjoj. Ukoliko postoji, onda se

    takva putanja naziva Eulerovim hodom ili Eulerovom stazom. Takva staza postoji ako i samo

    ako graf nema vorove neparnog stupnja ILI ako postoje tono dva vora nepranog stupnja i

    pod uvjetom da su upravo oni poetna i krajnja toka. Jasno je kako je i ovo nemogue u

    sluaju problema sedam mostova Knigsberga.

    6

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    7/26

    Vanost problema u povijesti matematike i trenutno stanje mostova

    U povijesti matematike, Eulerovo rjeavanje problema mostova Knigsberga se smatra prvim

    teoremom teorije grafova koja je danas prihvaena kao grana kombinatorike (premda su

    problemi kombinatorike razmatrani mnogo ranije).

    Dodatno, Euler je jasno shvatio kako kljuni korak u rjeavanju problema mostova predstavlja

    razmatranje uvjeta krajnjih toaka, a ne njihovog konkretnog poloaja u prostoru. Razlika

    izmeu stvarnog prikaza i shematskog, grafikog, prikaza je dobar primjer kako topologija neobraa pozornost na konkretan i rigidan oblik objekata ve na veze i odnose meu njima.

    Do dananjih dana su se odrala samo dva mosta iz Eulerovog vremena. Dva su mosta unitena

    tijekom saveznikog unitavanja Knigsberga u Drugom svjetskom ratu, druga dva su unitili

    Rusi i zamijenili ih autocestama. Jedan su most tijekom 1935. godine ponovno izgradili

    Nijemci.

    Graf i podjela grafova

    Graf se sastoji od vrhova i bridova koji te vrhove povezuju. Dogovor je da se u teoriji grafova

    vrhovi oznauju sa malim slovima u i v, a bridovi malim slovima e i f. Tako da

    oznaava brid koji spaja vrhove e i f. To se isto moe zapisati i sa e =u v. Bridu se moe

    pridruiti jo jedna vrijednost koja predstavlja njegovu teinu. To se uglavnom koristi pri

    modeliranju problema grafom.

    7

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    8/26

    Slika 4. Primjeri grafova

    Ovdje emo samo ukratko pojasniti sljedee vrste grafova: Usmjereni, neusmjereni, teinski i

    neteinski.

    Usmjeren graf je graf koji na svakom bridu ima dodanu orijentaciju. Kod usmjerenog grafa

    bridovi su predstavljeni ureenim parom vrhova, a kod neusmjerenog grafa bridovi su

    predstavljeni neureenim parom vrhova, tj. dvolanih skupova.

    Kod teinskih grafova granama su pridrueni jedan ili vie realnih brojeva koji mogu

    oznaavati npr. cijenu, udaljenost i sl. Grane neteinskih grafova nemaju pridruene te

    vrijednosti.

    Slika 5. Usmjereni, neusmjereni i teinski grafovi

    8

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    9/26

    Algoritmi za rad nad grafovima

    Osnovna podjela algoritama za rad nad grafovima:

    1. Razapinjajua stabla

    Primov algoritam

    Kruskalov algoritam

    2. Najkrae udaljenosti u grafu

    Dijkstrin algoritam za pronalaenje najkraih putova

    Floydov algoritam za pronalaenje najkraih putova

    3. Maksimalni protok u mrei

    Ford-Fulkersonov algoritam

    Primov algoritam

    Primov algoritam slui za pronalaenje minimalno razapinjujueg stabla za povezani teinski

    graf, tj. algoritam pronalazi podskup grana koji formiraju stablo i ukljuuju sve vorove tako da

    je ukupna teina stabla minimalna. Za otkrie tog algoritma zasluna su tri ovjeka: Vojteh

    Jarnik, Robert Prim, a na njemu je radio i Edsher Dajkstra. Stoga je taj algoritam poznat jo i

    pod nazivom DJP algoritam.

    Osnovna zamisao ovog algoritma je postepeno poveavanje veliine stabla od jednog vora, pa

    sve dok se ne povee sve vorove.

    9

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    10/26

    Sam algoritam ima slijedei redoslijed:

    1. Odabir proizvoljnog poetnog vora

    2. Pronalaenje njemu najblieg vora koji postaje dio grafa

    3. Pronai grafu najblii slobodni vor

    4. Iterativno se ponavlja postupak pod korakom 3. sve dok svi vorovi ne budu ukljueni u

    graf

    Sada slijedi konkretan primjer Primovog algoritma na kojem moemo lake shvatiti kako sam

    algoritam funkcionira po svojim koracima:

    1. korak - odabir poetnog vora

    Na slici 6 prikazan je poetni povezani teinski graf. Brojevi koji se nalaze pokraj pojedinih

    grana oznaavaju njihove teinske

    vrijednosti. U ovom koraku ni jedna

    grana nije posebno izdvojena, odnosno

    obiljeena. Proizvoljno odaberemo vor

    D kao poetnu toku.

    Tablica 1. Primov algoritam, 1, korak

    SUSJEDNI

    VOROVIA,B,E,F

    NESUSJEDNI

    VOROVIC, G

    SKUP RJEENJA D

    2. korak

    U drugom koraku odabiremo drugi vor koji

    je najblii voru D s obzirom na udaljenosti.

    10

    Slika 6. 1.korak Primovog algoritma

    Slika 7. 2. korak Primovog algoritma

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    11/26

    Udaljenosti: D do A = 5, D do B =9, D do E = 15, D do F = 6

    Najmanja udaljenost je dakle 5, te odabiremo vor A i granu DA.

    Tablica 2. Primov algoritam, 2. korak

    SUSJEDNI

    VOROVIB,E,F

    NESUSJEDNI

    VOROVIC, G

    SKUP RJEENJA A,D(zelenom bojom su oznaene odabrane grane, a plavom bojom su oznaene grane koju su bile

    mogua rjeenja)

    3. korak

    U koraku 3 odabire se vor koji je najblii ili

    voru A ili voru D s obzirom na udaljenosti:

    Udaljenosti: B do D=9, B do A =7, E do B = 15,

    F do D = 6

    Najmanja udaljenost je dakle 6, de odabiremo

    vor F i granu DF.

    Tablica 3. Primov algoritam, 3. korak

    SUSJEDNI

    VOROVIB,E,G

    NESUSJEDNI

    VOROVIC

    SKUP RJEENJA A,D,F

    4.korak

    U koraku 4 biramo vor koji je najblii voru A,

    D ili F s obzirom na udaljenosti:

    Udaljenosti: A do B = 7, F do E = 8, F do G

    = 11, D do B = 9, D do E = 15

    11

    Slika 8. 3.korak Primovog algoritma

    Slika 9. 4. korak Primovog algoritma

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    12/26

    Najmanja udaljenost je dakle 7, dakle biramo granu AB.

    Tablica 4. Primov algoritam, 4. korak

    SUSJEDNI

    VOROVI

    C,E,G

    NESUSJEDNI

    VOROVInema

    SKUP RJEENJA A,D,F,B

    5. korak

    U koraku 5 biramo najmanju udaljenostmeu vorovima koji su ostali s obzirom

    na udaljenosti. Ostali su vorovi C, E, G.

    Udaljenosti: B do C = 8, B do E = 7, F

    do E = 8, F do G = 11

    Najmanja udaljenost je dakle 7, pa uzimamo

    granu BE.

    Tablica 5. Primov algoritam, 5. korak

    SUSJEDNI

    VOROVIC,G

    NESUSJEDNI

    VOROVInema

    SKUP RJEENJA A,D,F,B,E

    6. korak

    U koraku 6 kreemo sa posljednjim koracima,

    ostali su jo samo vorovi C i G koje

    usporeujemo prema udaljenostima.

    Udaljenosti: E do C = 5, E do G = 9

    12

    Slika 10. 5.korak Primovog algoritma

    Slika 11. 6.korak Primovog algoritma

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    13/26

    Najmanja udaljenost je 5 pa uzimamo granu EC.

    Tablica 6. Primov algoritam, 6. korak

    SUSJEDNI

    VOROVI

    G

    NESUSJEDNI

    VOROVInema

    SKUP RJEENJA A,D,F,B,E,C

    7. korak

    Doli smo do posljednjeg koraka. Jedini

    vor koji je ostao nepovezan jest vor G.

    Udaljenosti: E do G = 9, F do G = 11

    Biramo granu EG i time dolazimo do rjeenja,

    obiljeeni su svi vorovi. Minimalna teina

    ovog stabla jest:5+6+7+7+5+9=39

    Tablica 7. Primov algoritam, 7. korak

    SUSJEDNI

    VOROVInema

    NESUSJEDNI

    VOROVInema

    SKUP RJEENJA A,D,F,B,E,C,G

    Primov algoritam mogue je upotrijebiti kod optimizacije prometnih ili komunikacijskih veza,

    izgradnja vodovoda (gdje bi vorovi predstavljali kue, a grane cijevi) te za razne druge svrhe.

    Kruskalov algoritam

    Jo jedan algoritam koji slui za traenje minimalno razapinjajueg stabla povezanih i

    neusmjerenih grafova je i Kruskalov algoritam.

    Algoritam se sastoji od slijedeih koraka:

    13

    Slika 12. 7.korak Primovog algoritma

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    14/26

    1. sortiraj sve grane koje su kandidati za ulazak u graf na temelju njihovih teinskih

    vrijednosti

    2. prikljui najmanju granu grafu ako se time ne zatvara ciklus

    3. taj drugi postupak se ponavlja iterativno tako dugo dok sve poetne toke ne postanu dio

    grafa

    1. korak

    Sortiranje grana grafa po njihovim teinskimvrijednostima.

    Tablica 8. Kruskalov algoritam, 1. korak

    GRANA

    AD CE DF AB BE EF BC EG DB FG DE

    TEIN

    A5 5 6 7 7 8 8 9 9 11 15

    2. korak

    Izabire se ona grana koja je prva na sortiranoj

    listi, u ovom sluaju grana AD.

    Tablica 9. Kruskalov algoritam, 2. korak

    GRANA

    AD CE DF AB BE EF BC EG DB FG DE

    14

    Slika 13. 1. korak Kruskalovogalgoritma

    Slika 14. 2. korak Kruksalovogalgoritma

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    15/26

    TEIN

    A5 5 6 7 7 8 8 9 9 11 15

    3. korak

    Slijedea grana koja se dodaje je grana CE koja

    zapoinje novo podstablo zato jer vorovi C i E

    ne pripadaju jo nijednom stablu.

    Tablica 10. Kruskalov algoritam, 3. korak

    GRAN

    AAD CE DF AB BE EF BC EG DB FG DE

    TEIN

    A5 5 6 7 7 8 8 9 9 11 15

    4. korak

    Dodaje se grana DF, ona dodaje novi vor F.

    Tablica 11. Kruskalov algoritam, 4. korak

    GRAN

    AAD CE DF AB BE EF BC EG DB FG DE

    TEIN

    A

    5 5 6 7 7 8 8 9 9 11 15

    15

    Slika 15. 3. korak Kruksalovog

    algoritma

    Slika 16. 4. korakKruksalovog algoritma

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    16/26

    5. korak

    Dodaje se grana AB, ona dodaje vor B.

    Tablica 12. Kruskalov algoritam, 5. korak

    GRAN

    AAD CE DF AB BE EF BC EG DB FG DE

    TEIN

    A5 5 6 7 7 8 8 9 9 11 15

    6. korak

    Dodaje se grana BE, koja sada povezuje dva

    nepovezana stabla.

    Tablica 13. Kruskalov algoritam, 6. korak

    GRAN

    AAD CE DF AB BE EF BC EG DB FG DE

    TEIN

    A5 5 6 7 7 8 8 9 9 11 15

    7. korak

    16

    Slika 17. 5. korak Kruksalovogalgoritma

    Slika 18. 6. korak Kruksalovogalgoritma

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    17/26

    Sljedee grane na listi koje bi se trebale

    dodati su grane EF i BC, ali poto one

    spajaju vorove koji ve pripadaju

    stablu, one se ne prihvaaju kao dio

    minimalno razapinjajueg stabla.

    Tablica 14. Kruskalov algoritam, 7. korak

    GRAN

    AAD CE DF AB BE EF BC EG DB FG DE

    TEIN

    A

    5 5 6 7 7 8 8 9 9 11 15

    8. korak

    Dodaje se grana EG koja dodaje posljednji

    vor G.

    17

    Slika 19. 7. korak Kruksalovogalgoritma

    Slika 20. 8. korak Kruksalovogalgoritma

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    18/26

    Tablica 15. Kruskalov algoritam, 8. korak

    GRAN

    AAD CE DF AB BE EF BC EG DB FG DE

    TEIN

    A5 5 6 7 7 8 8 9 9 11 15

    9. korak

    Tri preostale grane DB,FG i DE su grane

    koje povezuju vorove koji pripadaju istom

    stablu pa ih iz tog razloga ne prihvaamo.

    Samim time doli smo i do konanog

    rjeenja. Minimalno razapinjajue stablo je

    prikazano zelenom bojom (u tablici).

    Minimalna teina stabla je: 39

    Upotreba Kruskalovog algoritma je ista kao i za Primov algoritam.

    Dijkstrin algoritam

    Dijkstrin algoritam je vjerojatno najpoznatiji algoritam traenja najkraeg puta u teinskim

    grafovima. Taj algoritam je 1959. godine osmislio poznati nizozemski matematiar i

    informatiar Edsger W. Dijkstra, koji je inae poznat po mnogim algoritmima iz podruja

    matematike, raunarstva i informatike.

    Ulaz u Dijkstrin algoritam predstavlja teinski graf i dva vrha. Izlaz iz Dijkstrinog algortima

    predstavljaju najkrai put od do .

    U toku algoritma svakom se vrhu u grafu pridruuje ureeni par , gdje d predstavlja

    najkrai put od vrha do vrha , a x je posljednji brid na tom najkraem putu. Zahvaljujui

    prvoj koordinati x vraanjem unazad se moe rekonstruirati itav najkrai put od do .

    Ukoliko se dogodi da vrh nikada nije oznaen, to znai da ne postoji put od do to opet

    znai da graf nije povezan.

    ALGORITAM:

    18

    Slika 21. 9. korak Kruksalovogalgoritma

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    19/26

    1. Pridrui poetnom vrhu oznaku

    2. Dok je vrh neoznaen ili mu nije mogue pridruiti daljnje oznake radi sljedee:

    Za svaki oznaeni vrh i za svaki neoznaeni vrh susjedan s vrhom , izraunaj.

    Pronai i pridrui vrhu oznaku . Ako se vrh moe oznaiti sa

    za vie razliitih vrhova , odaberi bilo koji od tih vrhova .

    PRIMJER DIJKSTRINOG ALGORITMA:

    U ovom primjeru elimo pronai najkrai put od vrha A do svih ostalih vrhova u grafu. Vrh A

    uzimamo kao poetni vrh, te on odmah ulazi u poetno rjeenje jer znamo da je udaljenost od

    vrha A do njega samog 0. Taj vrh emo opisati ureenim parom A(-,0). Iz navedene slike

    moemo vidjeti da vrh A ima 3 susjeda, to su B, D i C. Poto su to izravni susjedi vrha A,

    moemo dobiti udaljenost od vrha A do tih vrhova. Udaljenosti su: B(A,5), C(A,2), D(A,9).

    Dijkstrin algoritam nam govori da uzmemo onaj vrh koji ima najmanju drugu koordinatu, unaem sluaju to e biti vrh C i njega uvrtavamo u rjeenje. Nakon prvog prolaza graf ima

    sljedei oblik:

    19

    A C

    B D

    E

    F

    2 7

    95

    3

    3

    42

    1

    Slika 22. Dijkstrin 1

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    20/26

    Sada se opet gledaju susjedni vrhovi, ali ovaj puta za oba oznaena vrha, te se izraunavaju

    njihove udaljenosti od vrha A. Vrijednosti koje se dobiju su B(A,5), D(A,9),D(C,5),F(C,9).

    Opet uzimamo vrh ija druga koordinata ima najmanju vrijednost. U ovom naem konkretnom

    primjeru imamo dva takva vrha, pa je svejedno kojeg emo uzeti. U ovoj iteraciji kao vrh emo

    u rjeenje staviti vrh B(A,5). Sada imamo sljedei izgled grafa:

    Koraci algoritma se opet ponavljaju, dakle opet izraunavamo vrijednosti susjednih vrhova do

    sad ve oznaenih vrhova. Te vrijednosti su D(A,9), D(B,8), D(C,5), E(B,9),F(C,9). Najmanja

    vrijednost je D(C,5), te vrh D stavljamo u rjeenje. Nakon ove iteracije graf izgleda ovako:

    20

    A C

    B D

    E

    F

    2 7

    95

    3

    3

    42

    1

    A C

    B D

    E

    F

    2 7

    95

    3

    3

    4

    2

    1

    Slika 24. Dijkstrin 3

    Slika 23. Dijkstrin 2

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    21/26

    Vidimo da sada imamo oznaene vrhove A,B,C,D i traimo njihove susjede koji jo nisu

    oznaeni. Dolazimo do sljedeih vrhova: E(B,9), E(D,7), F(C,9). Druga koordinata ima

    najmanju vrijednost kod vrha E(D,7), te i taj vrh uvrtavamo u rjeenje. Nakon ove iteracije graf

    izgleda ovako:

    Jo nam je preostao samo jedan vrh, do njega moemo doi na vie naina: F(E,8), F(C,9).

    Prema algoritmu uzima se rjeenje F(E,8) poto je to zadnji vrh to je i konano rjeenje.

    Konani izgled grafa izgleda ovako:

    21

    A C

    B D

    E

    F

    2 7

    95

    3

    3

    42

    1

    A C

    B D

    E

    F

    2 7

    95

    3

    3

    42

    1

    Slika 25. Dijkstrin 4

    Slika 26. Dijkstrin 5

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    22/26

    Konano rjeenje:

    A(-,0), B(A,5), C(A,2), D(C,5), E(D,7), F(E,8)

    Zakljuak

    U ovom seminarskom radu nastojali smo pokazati kako se teorija grafova primjenjuje u

    informatici, konkretnije u zemljopisnim informacijskim sustavima. Spomenuli smo osnivaa

    22

    A C

    B D

    E

    F

    2

    5 3

    2

    1

    Slika 27. Dijkstrin 6

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    23/26

    teorije grafova Eulera, te njegov primjer Sedam mostova Konigsberga u kojem je on prvi puta

    primjenio teoriju grafova. Zatim smo opisali vrste grafova na temelju kojih su se temeljili neki

    algoritmi (teinski grafovi). Pokazali smo kako se moe doi do minimalno razapinjajueg

    stabla pomou Primovog i Kruskalovog algoritma. Konkretna primjena tih dvaju algoritama je

    kod optimizacije prometnih i komunikacijskih veza, izgradnji vodovoda i sl.

    Takoer smo obradili jedan od najpoznatijih algoritama za traenje najkraeg puta Dijkstrin

    algoritam.

    23

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    24/26

    Literatura

    Divjak, B., Lovreni, A.: Diskretna matematika s teorijom grafova, TIVA-FOI, Varadin,2005.

    Cormen, T.H., Leisterson, C.E., Rivest, R.L.: Introduction to Algorithms, MIT Press, 1999

    INTERNET:

    1. http://e.math.hr/math_e_article/br14/fosner_kramberger(uitano 9.5.2011.)

    2. http://en.wikipedia.org/wiki/Prim%27s_algorithm (uitano 10.5.2011.)

    3. http://en.wikipedia.org/wiki/Kruskal%27s_algorithm (uitano 10.5.2011.)

    4. http://en.wikipedia.org/wiki/Seven_Bridges_of_K%C3%B6nigsberg (uitano 9.5.2011)

    24

    http://e.math.hr/math_e_article/br14/fosner_krambergerhttp://en.wikipedia.org/wiki/Prim's_algorithmhttp://en.wikipedia.org/wiki/Kruskal's_algorithmhttp://en.wikipedia.org/wiki/Seven_Bridges_of_K%C3%B6nigsberghttp://e.math.hr/math_e_article/br14/fosner_krambergerhttp://en.wikipedia.org/wiki/Prim's_algorithmhttp://en.wikipedia.org/wiki/Kruskal's_algorithmhttp://en.wikipedia.org/wiki/Seven_Bridges_of_K%C3%B6nigsberg
  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    25/26

    Popis slika

    Slika 1. Leonhard Euler............................................................................................4

    Slika 2. Sedam mostova Konigsberga..................................................................5

    Slika 3. Prikaz problema pomou grafa....................................................................6

    Slika 4. Primjeri grafova..........................................................................................8

    Slika 5. Usmjereni, neusmjereni i teinski grafovi..........................8

    Slika 6. 1.korak Primovog algoritma....................................................................10

    Slika 7. 2. korak Primovog algoritma....................................................................10

    Slika 8. 3.korak Primovog algoritma.....................................................................11Slika 9. 4. korak Primovog algoritma....................................................................11

    Slika 10. 5.korak Primovog algoritma...................................................................12

    Slika 11. 6.korak Primovog algoritma...................................................................12

    Slika 12. 7.korak Primovog algoritma...................................................................13

    Slika 13. 1. korak Kruskalovog algoritma...............................................................14

    Slika 14. 2. korak Kruksalovog algoritma...............................................................14

    Slika 15. 3. korak Kruksalovog algoritma...............................................................15

    Slika 16. 4. korak Kruksalovog algoritma...............................................................15

    Slika 17. 5. korak Kruksalovog algoritma...............................................................16

    Slika 18. 6. korak Kruksalovog algoritma...............................................................16

    Slika 19. 7. korak Kruksalovog algoritma...............................................................17

    Slika 20. 8. korak Kruksalovog algoritma...............................................................17

    Slika 21. 9. korak Kruksalovog algoritma...............................................................18

    Slika 22. Dijkstrin 1...............................................................................................19

    Slika 23. Dijkstrin 2...............................................................................................20Slika 24. Dijkstrin 3...............................................................................................20

    Slika 25. Dijkstrin 4...............................................................................................21

    Slika 26. Dijkstrin 5...............................................................................................21

    Slika 27. Dijkstrin 6...............................................................................................22

    Popis tablica

    Tablica 1. Primov algoritam, 1, korak....................................................................10

    25

  • 7/31/2019 Komar Lukic ZIS i Teorija Grafova

    26/26

    Tablica 2. Primov algoritam, 2. korak....................................................................11

    Tablica 3. Primov algoritam, 3. korak....................................................................11

    Tablica 4. Primov algoritam, 4. korak....................................................................12

    Tablica 5. Primov algoritam, 5. korak....................................................................12

    Tablica 6. Primov algoritam, 6. korak....................................................................13

    Tablica 7. Primov algoritam, 7. korak....................................................................13

    Tablica 8. Kruskalov algoritam, 1. korak................................................................14

    Tablica 9. Kruskalov algoritam, 2. korak...............................................................14

    Tablica 10. Kruskalov algoritam, 3. korak.............................................................15

    Tablica 11. Kruskalov algoritam, 4. korak.............................................................15

    Tablica 12. Kruskalov algoritam, 5. korak.............................................................16

    Tablica 13. Kruskalov algoritam, 6. korak.............................................................16Tablica 14. Kruskalov algoritam, 7. korak.............................................................17

    Tablica 15. Kruskalov algoritam, 8. korak.............................................................18