Poučak 56 Osnovna svojstva stabala i primjena na problem spajanja Jan Berger 1 i Mario Krnić 2 Prema bolonjskom načinu studiranja, studenti Fakulteta

Слични документи
MARKOVLJEVI LANCI Prvi kolokvij 28. studenog Zadatak 1. (a) (5 bodova) Za Markovljev lanac (X n ) i njegovo stanje i S neka T (n) i u stanje i.

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr

Sveučilište u Zagrebu

Diskretna matematika Sveučilište u Rijeci ODJEL ZA INFORMATIKU Radmile Matejčić 2, Rijeka Akademska 2017./2018.godina DISKRETNA MATEMATIKA Studij: Pre

Konacne grupe, dizajni i kodovi

Microsoft PowerPoint - SamoorganizirajuceNN_2

IZBORNO NATJECANJE ZA IMC - RJEŠENJA Zadatak 1. Odredite sve polinome f i g s realnim koeficijentima koji zadovoljavaju jednakost (f(x))

SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Mihael Maltar MATRICE UDALJENOSTI U GRAFOVIMA Diplomski rad Voditelj rada:

JMBAG IME I PREZIME BROJ BODOVA 1. (ukupno 6 bodova) MJERA I INTEGRAL 1. kolokvij 4. svibnja (Knjige, bilježnice, dodatni papiri i kalkulatori n

Microsoft Word - 6ms001

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL 2. kolokvij 29. lipnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1. (

Microsoft Word - Trigonometrijski oblik kompleksnog broja.doc

SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc.

Neprekidnost Jelena Sedlar Fakultet građevinarstva, arhitekture i geodezije Jelena Sedlar (FGAG) Neprekidnost 1 / 14

JMBAG IME I PREZIME BROJ BODOVA MJERA I INTEGRAL završni ispit 6. srpnja (Knjige, bilježnice, dodatni papiri i kalkulatori nisu dozvoljeni!) 1.

Microsoft Word - 15ms261

UDŽBENIK 2. dio

UAAG Osnovne algebarske strukture 5. Vektorski prostori Borka Jadrijević

AV3-OE2-stručni PRIJELAZNE POJAVE Dr.sc. Venco Ćorluka 3. PRIJELAZNE POJAVE 3.1.Prijelazne pojave u mreži s otporom i induktivitetom Serijski spoj otp

Planovi prijema za numeričke karakteristike kvaliteta

Sadržaj 1 Diskretan slučajan vektor Definicija slučajnog vektora Diskretan slučajan vektor

MAT-KOL (Banja Luka) XXIV (3)(2018), DOI: /МК A ISSN (o) ISSN (o) ZAŠTO K

PLAN I PROGRAM ZA DOPUNSKU (PRODUŽNU) NASTAVU IZ MATEMATIKE (za 1. razred)

Elementarna matematika 1 - Oblici matematickog mišljenja

Logičke izjave i logičke funkcije

Microsoft Word - predavanje8

Microsoft Word - 3. G Markovic D Teodorovic.doc

Skalarne funkcije više varijabli Parcijalne derivacije Skalarne funkcije više varijabli i parcijalne derivacije Franka Miriam Brückler

GEOMETRIJSKE KARAKTERISTIKE PRESEKA POPREČNOG PRESEKA GREDE PRIMERI

Упутство за пријављивање испита путем интернета Да би студент могао да пријави испит путем интернета мора прво да се пријави. Пријављивање се врши у п

Maksimalni protok kroz mrežu - Ford-Fulkerson, Edmonds-Karp

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

SKUPOVI TOČAKA U RAVNINI 1.) Što je ravnina? 2.) Kako nazivamo neomeđenu ravnu plohu? 3.) Što je najmanji dio ravnine? 4.) Kako označavamo točke? 5.)

Elektroenergetski sustav je zajedništvo: generatora, transformatora, vodova i trošila (potrošača)

Slide 1

KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA

Popoviciujeva nejednakost IZ NASTAVNE PRAKSE Popoviciujeva nejednakost Radomir Lončarević 1 Rumunjski matematičar Tiberie Popoviciu ( ) doka

(Microsoft Word - Rje\232enja zadataka)

8. razred kriteriji pravi

Microsoft Word - diplomski1.doc

Microsoft Word - 12ms121

Newtonova metoda za rješavanje nelinearne jednadžbe f(x)=0

Matematika 1 - izborna

OSNOVNA ŠKOLA, VI RAZRED MATEMATIKA

Skripte2013

75 Bolyai - Gerwienov teorem Margita Pavleković Sažetak.Bolyai-Gerwienov teorem ima veliku primjenu u nastavi geometrije u osnovnoj školi. Ovaj teorem

knjiga.dvi

Орт колоквијум

OBAVIJEST PZZ KORISNICIMA Poštovani korisnici programskog rješenja Last2000. Za Vas smo pripremili sljedeće novosti u programu: NOVOSTI

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica

Microsoft Word - privitak prijedloga odluke

(Microsoft Word - Dr\236avna matura - svibanj osnovna razina - rje\232enja)

Problemi zadovoljavanja ogranicenja.

(Microsoft Word - MATB - kolovoz osnovna razina - rje\232enja zadataka)

Teorija skupova - blog.sake.ba

6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe

Smjernice za korištenje sustava online prijava Ukoliko imate pristupno korisničko ime i lozinku ili ste navedeno dobili nakon zahtjeva za otvaranje no

2. Globalna svojstva realnih funkcija Denicija 2.1 Za funkciju f : A kaemo da je:! R; A R ome dena odozgor ako postoji M 2 R takav da je (8x 2 A) (f (

Recuva CERT.hr-PUBDOC

Pripreme 2016 Indukcija Grgur Valentić lipanj Zadaci su skupljeni s dva predavanja na istu temu, za učenike od prvog do trećeg razreda i za MEMO

Algoritmi

Agencija za odgoj i obrazovanje Hrvatska zajednica tehničke kulture 58.ŠKOLSKO NATJECANJE MLADIH TEHNIČARA PISANA PROVJERA ZNANJA - 5. razred Za

Grupiranje podataka: pristupi, metode i primjene, ljetni semestar 2013./ Standardizacija podataka Predavanja i vježbe 8 Ako su podaci zadani

Natjecanje 2016.

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

Hej hej bojiš se matematike? Ma nema potrebe! Dobra priprema je pola obavljenog posla, a da bi bio izvrsno pripremljen tu uskačemo mi iz Štreberaja. D

SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Igor Sušić LOKALNA IZRAČUNLJIVOST Diplomski rad Voditelj rada: doc.dr.sc.

MAT-KOL (Banja Luka) XXIV (2)(2018), DOI: /МК S ISSN (o) ISSN (o) Klasa s

2. Globalna svojstva realnih funkcija Denicija 2.1 Za funkciju f : A kaemo da je:! R; A R ome dena odozgor ako postoji M 2 R takav da je (8x 2 A) (f (

Sveučilište J.J.Strossmayera u Osijeku Odjel za matematiku Preddiplomski studij matematike Margareta Tvrdy Banachovi prostori Završni rad Osijek, 2013

P11.3 Analiza zivotnog veka, Graf smetnji

Slide 1

P9.1 Dodela resursa, Bojenje grafa

SVEUČILIŠTE U ZAGREBU RUDARSKO-GEOLOŠKO-NAFTNI FAKULTET Diplomski studij naftno rudarstvo SIMULACIJA POTROŠNJE ENERGIJE NA NAFTNIM POSTROJENJIMA Diplo

Funkcionalna specifikacija za provođenje elektroničkog glasovanja

Agencija za odgoj i obrazovanje Hrvatska zajednica tehničke kulture 57. ŽUPANIJSKO/KLUPSKO NATJECANJE MLADIH TEHNIČARA PISANA PROVJERA ZNANJA 5.

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4

NIAS Projekt e-građani KORISNIČKA UPUTA za aplikaciju NIAS Verzija 1.1 Zagreb, srpanj 2014.

Računarski praktikum I - Vježbe 01 - Uvod

12-7 Use of the Regression Model for Prediction

ŽUPANIJSKO NATJECANJE IZ MATEMATIKE 28. veljače razred - rješenja OVDJE SU DANI NEKI NAČINI RJEŠAVANJA ZADATAKA. UKOLIKO UČENIK IMA DRUGAČIJI

R u z v e l t o v a 5 5, B e o g r a d, t e l : , e - m a i l : p r o d a j p s i t. r s, w w w. p s i t. r s

(Microsoft Word - Dr\236avna matura - kolovoz ni\236a razina - rje\232enja)

s2.dvi

MATEMATIČKA ANALIZA I primjeri i zadaci Ante Mimica 8. siječnja 2010.

Algoritmi SŠ P1

CIJELI BROJEVI 1.) Kako još nazivamo pozitivne cijele brojeve? 1.) Za što je oznaka? 2.) Ispiši skup prirodnih brojeva! 3.) Kako označavamo skup priro

Microsoft Word - Svrha projekta.doc

7. predavanje Vladimir Dananić 14. studenoga Vladimir Dananić () 7. predavanje 14. studenoga / 16

MATEMATIKA viša razina MATA.29.HR.R.K1.24 MAT A D-S MAT A D-S029.indd :30:29

8 2 upiti_izvjesca.indd

Microsoft Word - Kruno Kantoci-NDU.doc

Primjena neodredenog integrala u inženjerstvu Matematika 2 Erna Begović Kovač, Literatura: I. Gusić, Lekcije iz Matematike 2

MPRA Munich Personal RePEc Archive Product of nation and macroaggregates in constant prices as its real values Rajko Bukvić Geographical Institute Jov

Uvod u obične diferencijalne jednadžbe Metoda separacije varijabli Obične diferencijalne jednadžbe Franka Miriam Brückler

Транскрипт:

Poučak 56 Osnovna svojstva stabala prmjena na problem spajanja Jan Berger 1 Maro Krnć 2 Prema bolonjskom načnu studranja, student Fakulteta elektrotehnke računarstva završavaju preddplomsk studj takozvanm završnm radom. U članku [2] dan je prmjer jednog takvog rada z matematke. Naravno, ukolko je student za završn rad odabrao temu z matematke, osm teorje očekujemo prmjenu u struc, blo da je rječ o elektrotehnc l računarstvu. U ovome članku zložt ćemo djelove završnog rada studenta Jana Bergera [1] sa studja Računarstva (modul Računarska znanost). U spomenutom završnom radu obrađena je jedna klasa jednostavnh grafova, odnosno stabla. Kao prmjene, promatraju se nek praktčn problem koj se rješavaju uz pomoć stabala. Rad lakšeg snalaženja čtatelja, u prvoj točk ovog rada navodmo osnovne defncje oznake koje susrećemo u teorj grafova. U drugoj točk skazujemo dokazujemo osnovna svojstva karakterzacje stabala. Nadalje, formulramo takozvan problem spajanja te dajemo odgovarajuć algortam pomoću kojeg se spomenut problem rješava. Dakako, pr tome korstmo prethodno zloženu teorjsku pozadnu. Konačno, u trećoj točk dajemo odgovarajuću programsku mplementacju za spomenut algortam. 1. Osnovn pojmov oznake Rad boljeg razumjevanja ovoga rada, prvo ćemo se prsjett osnovnh pojmova z teorje grafova, a zatm ćemo uvest oznake koje ćemo korstt. Defncja 1. Jednostavn graf G sastoj se od nepraznog konačnog skupa vrhova V(G) te konačnog skupa brdova E(G) (skup dvočlanh podskupova skupa V(G)). U jednostavnom grafu sključena je mogućnost da su dva vrha spojena s vše brdova, l da postoj brd koj spaja vrh sa samm sobom. Ako to dopustmo, tada govormo o općem grafu l, kraće, samo grafu. 1 Jan Berger, Fakultet elektrotehnke računarstva, Zagreb 2 Maro Krnć, Fakultet elektrotehnke računarstva, Zagreb 4 Poucak 56.ndd 4 1.1.2014. 10:16:12

Osnovna svojstva stabala... Skup vrhova označavat ćemo s V(G), a ako je jasno da se rad o grafu G, označavat ćemo ga kraće, samo s V. Broj vrhova označavat ćemo s v(g) l v. Slčno, E(G) odnosno E je skup brdova, a broj brdova u grafu označavat ćemo s e(g) odnosno s e. Defncja 2. Podgraf grafa G je graf čj vrhov prpadaju skupu V(G), a brdov skupu E(G). Defncja 3. Za brd e= uv, kažemo da spaja vrhove u v (kraće još možemo psat e = uv). Tada kažemo da su vrhov u v grafa G susjedn. Također, kažemo da su vrhov u v ncdentn s brdom e. Jedno od važnjh svojstava grafa je svojstvo povezanost. Da bsmo ga defnral, prvo ćemo uvest pojam unje grafova. ( ) ( ) ( ) Defncja 4. Unja grafova G1 = V( G1), E( G1) G2 V( G2), E( G2) ( ) ( ), ( ) ( ) G G= V G V G E G E G. 1 2 1 2 1 2 = je graf Defncja 5. Graf je povezan ako se ne može prkazat kao unja dvaju dsjunktnh grafova. U suprotnom kažemo da je graf nepovezan. Očto, svak se nepovezan graf može prkazat kao unja povezanh grafova. Svak član te unje zovemo komponentom povezanost. Broj komponent povezanost grafa G označavat ćemo s ( G). Ako je graf povezan, onda se može šetat po njemu, odnosno prelazt z vrha u vrh ukolko su vrhov susjedn. Sada ćemo preczno defnrat šetnju, te pojmove usko vezane uz nju. Defncja 6. Šetnja u grafu G je netrvjalan konačan nz vevev... 0 1 1 2 2 ev n n čj su članov nazmjence vrhov v brdov e, tako da su krajev od e vrhov v 1 v za svako, 1 n. Defncja 7. Šetnja u kojoj nema ponavljanja brdova nazva se staza. Staza koja nema ponavljanja vrhova je put. Put kod kojeg je početn vrh v 0 jednak završnome vrhu v n zove se cklus. Napomenmo još kako se cklus koj se sastoj od jednog brda nazva petlja. Brd koj nje petlja zovemo prav brd l karka. Uvedmo još velčnu koja kazuje kolko susjednh vrhova ma svak pojedn vrh u grafu. Defncja 8. Stupanj vrha v grafa G, u oznac d(v) broj je brdova koj su ncdentn s v. Vrh stupnja 0 zovemo zolran vrh, dok je vrh stupnja 1 krajnj vrh. 2. Stabla Osnovna svojstva stabala Stablo je povezan acklčk graf, odnosno povezan graf koj ne sadrž ckluse. Acklčk grafov još se nazvaju šume, pa z toga sljed da su stabla povezan djelov šume. U nastavku navodmo dokazujemo neka važna svojstva stabala. 5 Poucak 56.ndd 5 1.1.2014. 10:16:13

Poučak 56 6 Slka 1. Prmjer stabla TEOREM 1. Svaka dva vrha u stablu povezana su jednstvenm putem. Dokaz. Kontradkcjom. Neka je G stablo. Kako je G povezan, zmeđu svakog para vrhova postoj put. Ako b postojala dva razlčta puta zmeđu neka dva vrha, tada b unja th dvaju putova tvorla zatvorenu šetnju koja b sgurno sadržavala barem jedan cklus, što je kontradkcja. TEOREM 2. Ako je G stablo, onda je e = v 1. Prje dokaza Teorema 2, navedmo jedan pomoćn rezultat. LEMA 1. Svako netrvjalno stablo ma vrh v čj je stupanj dv ( ) = 1. Dokaz Leme 1. Krenmo od nekog vrha v 1. Ako je njegov stupanj d(v 1 ) = 1, gotov smo. Ako je pak d(v 1 ) > 1, pomčemo se z v 1 duž nekog brda do susjednog vrha v 2. Ako je d(v 2 ) = 1, gotov smo, a ako je pak d(v 2 ) > 1, produžmo dalje do v 3 duž nekog drugog brda. Nastavljajuć tako, dolazmo do puta v 1 v 2 v 3 u grafu G. Vrhov toga puta se ne ponavljaju jer bsmo nače dobl cklus koj stablo nema. Skup vrhova je konačan, pa stoga taj nz vrhova mora stat u nekom vrhu. Taj vrh u kojemu je nz stao mora bt stupnja 1 zbog toga što smo u njega ušl, a ne možemo ga napustt. Dokaz Teorema 2. U ovome dokazu uvest ćemo tzv. Eulerovu karakterstku grafa G tj. ( G) = v e + 1. Tvrdmo da za svako stablo G vrjed ( G ) = 2. Prema Lem 1, postoj v VG ( ) za koj je dv ( ) = 1. Izbacmo taj vrh brd koj je ncdentan s v. Tada opet dobvamo stablo G 1 = G v. Očto, vrjed ( G ) = ( v 1) ( e 1) + 1 = v e+ 1 = ( G). 1 Sada, opet prema Lem 1, u stablu G 1 postoj vrh stupnja 1 pa uklanjanjem toga vrha ncdentnog brda dobvamo stablo G 2 opet je ( G2) = ( G1). Nastavljajuć taj proces, dobvamo stablo sa samo jednm vrhom v, a njegova Eulerova karakterstka je ( v) = v e + 1= 1 0+ 1= 2. Iz toga sljed da svako stablo u tom procesu ma Eulerovu karakterstku 2, pa je e = v 1. Navedmo sada jedno svojstvo koje vrjed za blo koj graf. TEOREM 3. Za svak graf vrjed dv ( ) = 2e. v V Dokaz. Jednakost se dokazuje prebrojavanjem svh ncdencja u grafu. Krenemo l od vrhova, za svak pojedn vrh, takvh ncdencja ma točno kolko je stupanj odgovarajućeg vrha. S druge strane, svak brd ma dva kraja, pa ncdencja ukupno ma 2e. Poucak 56.ndd 6 1.1.2014. 10:16:13

Osnovna svojstva stabala... Sada, kao posljedcu mamo sljedeć: KOROLAR 1. a) Za svako stablo G vrjed dv ( ) = 2 v 2. v V b) Svako netrvjalno stablo ma bar dva vrha stupnja 1. Dokaz. a) Iz Teorema 2 3 sljed dv ( ) = 2e = 2 v 2. v V b) Ako je G netrvjalno stablo, onda je dv ( ) 1, v VG ( ). Tada z a) odmah sljed tvrdnja. Uočmo da je stablo, u neku ruku, najmanj povezan graf. LEMA 2. Za svak brd e z stabla G, preostal graf G e nje povezan. Dokaz. Prema Teoremu 2, G ma v 1 brdova. Ako zbacmo brd, preostal graf ne može bt stablo jer ma v vrhova v 2 brdova. Uklanjanjem brda ne mogu se stvort nov cklus, pa preostal graf G e nje povezan. LEMA 3. Ako je G povezan graf za koj je e = v 1, tada je G stablo. Dokaz. Ako povezan graf nje stablo, on mora mat cklus. Uklonmo l blo koj brd e z nekog cklusa, graf G e dalje će bt povezan. Tako nastal graf G' = G e ma također v vrhova, al je e ( G') = v 2. Graf G ' je povezan pa, ako dalje nje stablo, mora mat nek cklus. Uklonmo ponovno nek brd z toga cklusa. Dobjemo dalje povezan graf G '' td. Konačno, doć će stuacja kada se vše neće moć uklanjat brd z cklusa, a da preostal graf bude povezan. Kada se to dogod, doć ćemo do stabla. Ako se to dogod u k-tom koraku, stablo će mat v vrhova v 1 k brdova. Prema Teoremu 2 dobvamo da je k = 0, pa z toga sljed da je polazn graf bo stablo. LEMA 4. Ako graf G nema cklusa vrjed e = v 1, onda je G stablo. Dokaz. Dovoljno je pokazat da je G povezan. Neka su G1, G2,..., G k komponente povezanost grafa G te neka je v = vg ( ), = 1, 2,..., k. Tada je v 1 + v 2 +... + vk = v. Svaka je komponenta povezana nema cklus jer ga n G nema. Stoga je svak G stablo. Prema Teoremu 2, e ( G ) = v 1. Ukupan broj brdova u G je ( v1 1) + ( v2 1) +... + ( vk 1) = v1 + v2 +... + vk k = v k. Kako je e ( G) = v 1, sljed da je k = 1, pa G ma samo jednu komponentu. Dakle, G je stablo. Konačno, z prethodnh lema sljed važan rezultat u kojemu su opsane karakterzacje stabla. TEOREM 4. Neka je G graf. Tada su sljedeće tvrdnje ekvvalentne: ) G je stablo; ) zmeđu svaka dva vrha z G postoj jednstven put; ) G je povezan e = v 1; v) G je acklčk e = v 1. 7 Poucak 56.ndd 7 1.1.2014. 10:16:13

Poučak 56 Rezn brdov razapnjuće stablo Izbacvanjem blo kojega brda z stabla dobvamo nepovezan graf. U tu svrhu, promotrmo općentju defncju. Defncja 9. Rezn brd grafa G je takav brd e EG ( ) za koj je ( G e) > ( G), odnosno brd čjm se zbacvanjem graf G raspada na vše komponent povezanost. Na donjoj slc prkazan je graf na kojemu su podebljano staknut rezn brdov: Slka 2. Graf s staknutm reznm brdovma TEOREM 5. Brd e EG ( ) je rezn ako samo ako e nje brd nt jednog cklusa od G. Dokaz. Þ: Neka je e rezn brd. Tada je ( G e) > ( G), pa postoje vrhov uv, VG ( ) koj su povezan u G, a nsu u G e. Stoga postoj ( uv, )-put P u G, koj prolaz brdom e. Neka su x y krajev od e tako da x prethod vrhu y na putu P. Vrh u je u G e povezan x djelom puta P, dok je y u G e povezan v djelom puta P. Kada b e bo u cklusu C, onda b x y bl povezan u G e putem C e. Zbog toga b u v bl povezan u G e, a to je kontradkcja. Ü: Pretpostavmo da e = xy nje rezn brd od G. Tada je ( G e) = ( G). Kako postoj (x, y)-put (brd xy) u G, to su x y u stoj komponent od G. Iz toga sljed da su x y u stoj komponent od G e pa zbog toga postoj (x, y)-put u G e. No, tada je e u cklusu P + e od G, što je kontradkcja. TEOREM 6. Povezan graf G je stablo ako samo ako je svak brd u G rezn brd. Dokaz. : Neka je G stablo e EG ( ). Kako je G acklčk, e nje sadržan u cklusu, pa je, prema Teoremu 5, e rezn brd od G. : Pretpostavmo da je G povezan, al da nje stablo. Tada G sadrž cklus C. Prema Teoremu 5, nt jedan brd od C ne može bt rezn brd od G. Defncja 10. Razapnjuće stablo grafa G je razapnjuć podgraf (sadrž sve vrhove) koj je stablo. Na slc 3. podebljano je označeno razapnjuće stablo zadanoga grafa. Slka 3. Graf s staknutm razapnjućm stablom 8 Poucak 56.ndd 8 1.1.2014. 10:16:14

Osnovna svojstva stabala... KOROLAR 2. Svak povezan graf ma razapnjuće stablo. Dokaz. Neka je graf G povezan, a T njegov mnmaln povezan razapnjuć podgraf. Prema defncj je ( T ) = 1 ( T e) > 1 za svak e EG ( ). Iz toga sljed da je svak brd od T rezn pa, kako je T povezan, z Teorema 6 sljed da je T stablo. KOROLAR 3. Ako je G povezan graf, onda je e v 1. Dokaz. Kako je G povezan, prema Korolaru 2 G sadrž razapnjuće stablo T. Stoga korštenjem Teorema 2 dobvamo e( G) e ( T) = vt ( ) 1 = vg ( ) 1. TEOREM 7. Neka je T razapnjuće stablo povezanoga grafa G, e EG ( )\ ET ( ). Tada T + e sadrž jednstven cklus. Dokaz. Kako je T acklčk, svak cklus od T + e sadrž e. Nadalje, C je cklus od T + e ako samo ako je C e put u T koj spaja krajeve brda e. Prema Teoremu 1, postoj jednstven takav put u T. Prema tome, T + e sadrž jednstven cklus. Napomenmo još kako postoj jednostavna elegantna rekurzja pomoću koje se računa broj razapnjućh stabala u nekome grafu. Detaljnje o tome čtatelj može vdjet u [1] [5]. Prmjena stabala na problem spajanja Kruskalov algortam Problem spajanja jedan je od najpoznatjh problema za čje se rješavanje korste stabla. Promotrmo taj problem. Neke gradove treba povezat mrežom prometnca. Prtom je dana cjena c j drektne veze među gradovma v v j, a to treba učnt tako da trošak zgradnje prometnca bude mnmalan. Svak je grad vrh težnskog grafa s težnama w( vv j ) = cj te je taj problem ekvvalentan problemu nalaženja povezanog razapnjućeg podgrafa mnmalne težne u zadanom težnskom grafu G. Težne grafa su troškov koj su već l jednak nul, pa stoga nema smsla zatvarat ckluse jer će ukupna težna bt veća. Iz toga zaključujemo da će dobven podgraf bt neko razapnjuće stablo T od G. Razapnjuće stablo mnmalne težne u težnskome grafu G još se zove optmalno stablo. Ako je we () = 1za svak e EG ( ), tada je optmalno stablo zapravo razapnjuće stablo s mnmalnm brojem brdova. Buduć da svako razapnjuće stablo ma jednak broj brdova v 1, dovoljno je nać jedno razapnjuće stablo. Imamo sljedeć nduktvn algortam za ovaj poseban slučaj: ) Odaber karku e 1 ; ) ako su brdov e 1,..., e već odabran, odaber e+ 1 E\ e1,..., e, tako da je G e1,..., e + 1 acklčan; ) zaustav postupak kada se korak ) vše ne može provest. Ovaj će algortam dat jedno razapnjuće stablo jer je maksmaln acklčk podgraf povezanog grafa nužno razapnjuće stablo. 9 Poucak 56.ndd 9 1.1.2014. 10:16:14

Poučak 56 Prethodn algortam poopćo je Joseph Kruskal 1956. godne kako b rješo opć problem koj vrjed za prozvoljne težne. Kruskalov algortam ) Odaber karku e 1 tako da je we ( 1) mnmalno; ) ako su brdov 1,..., a) G e1,..., e + 1 acklčan we ( + ) mnmalno pod uvjetom a); b) 1 1 e e odabran, odaber e E\ e,..., e + 1 1 tako da je: ) zaustav postupak kada se korak ) vše ne može zvršt. Prmjenmo Kruskalov algortam na sljedeć težnsk graf: 10 Slka 4. Određvanje optmalnog stabla Kruskalovm algortmom Kruskalov algortam očto daje razapnjuće stablo, no sljedeć teorem osgurava da takvo stablo uvjek bude optmalno. * TEOREM 8. Svako razapnjuće stablo T = G e1, e2,..., ev 1 konstrurano Kruskalovm algortmom optmalno je stablo. * Dokaz. Kontradkcjom. Za svako razapnjuće stablo T od G, T T, označmo * f( T): = mn e ET ( ). Pretpostavmo da T nje optmalno, dok je T optmalno stablo od G za koje je f( T ) najveće moguće. * Neka je f( T) = k. Tada su e1, e2,..., e k 1 ET ( ) ET ( ), al ek ne prpada skupu ET ( ). Prema Teoremu 7, T + ek sadrž jednstven cklus C. * Neka je e ' k brd u cklusu C koj je u T, al nje u T. Iz Teorema 5 sljed da e ' k nje rezn brd od T + ek. Zbog toga je T' = ( T + ek) e' k povezan graf s v 1 brdova, pa prema Teoremu 4 ) ) sljed da je T ' također razapnjuće stablo od G. Očto je wt ( ') = wt ( ) + we ( k) we ( ' k). No u Kruskalovom algortmu e k je bo odabran kao brd s najmanjom težnom, tako da je G e,..., 1 ek acklčan. Isto tako je G e1,..., ek 1, e' k podgraf Poucak 56.ndd 10 1.1.2014. 10:16:14

Osnovna svojstva stabala... od T, acklčan. Stoga je, po zboru e k z Kruskalovog algortma optmalnost od T, we ( ) we ('). k k Iz prethodnh dvju relacja sljed wt ( ') wt ( ). Prema tome, kako je T optmalno, T ' je optmalno stablo. Međutm, f( T') > k= f( T), što je u kontradkcj s * * zborom od T. Zbog toga je T = T pa je T dosta optmalno stablo. Kruskalov algortam prmjer je tzv. pohlepnog algortma. On u svakome koraku dodaje brd najmanje težne tako da s već odabranm brdovma ne tvor cklus. Taj se postupak ponavlja sve dok se ne odabere v 1 brdova. Pohlepnost vd samo prv duć korak, pa takav algortam rad tako da uvjek naprav lokalno najbolje što može. No, takav algortam nje prkladan za sve probleme, tako npr. za određvanje najkraćeg puta pohlepn algortam ne mora dat najkrać put. 3. Programska podrška za Kruskalov algortam Nakon razrade teorjskog djela napravljen je program koj mplementra Kruskalov algortam za dobvanje optmalnog stabla z zadanog težnskog grafa. Prvo ćemo objasnt korštenje programa, a nakon toga sljed objašnjenje važnjh djelova programa. Upotreba programske podrške Pokretanjem programa prvo se otvara početn prozor (Slka 5.) na kojemu mamo dvje tpke (Unos grafa Generraj optmalno stablo). Ispod tpk nalaz se prostor za sps optmalnog stabla, dok se u najdonjem prozoru ono scrtava. Slka 5. Početn prozor aplkacje 11 Poucak 56.ndd 11 1.1.2014. 10:16:15

Poučak 56 Na početku rada, prvo trebamo unjet težnsk graf pa je stoga potrebno prtsnut tpku za unos novog grafa, nakon čega se otvara nov prozor za unos (Slka 6.): 12 Slka 6. Prozor za unos grafa U prv prostor za unos teksta unose se sv vrhov težnskoga grafa tako da se svak nov vrh upsuje u nov red. U donj prostor za unos teksta unose se veze zmeđu vrhova s njhovm težnama. Format unosa mora bt sljedeć: prvvrhveze, drugvrhveze, težnaveze. Svaka veza upsuje se u nov redak. Kada je završo unos, mamo dvje tpke s opcjama. Tpka Odustan prtšće se ukolko korsnk žel odustat od unesenog grafa, odnosno ako se žel vratt u početn prozor bez spremanja novoga grafa. Ako pak korsnk žel spremt unesene podatke, tada treba prtsnut tku Potvrd. Prtskom tpke Potvrd korsnk pokreće algortme za ažurranje unesenh podataka, te se vraća na početn prozor. Nakon što je graf uspješno unesen, korsnk može pokrenut optmzranje grafa te sps scrtavanje optmalnog stabla prtskom na tpku Generraj optmalno stablo. Ako je tpka prtsnuta, nakon pozadnskog zvođenja svh potrebnh algortama, u bjelom prostoru spod tpk spsuju se sve veze optmalnog stabla u sljedećem oblku: prvčvor, drugčvor, težnaveze te se konačno u najdonjem prostoru scrtava optmalno stablo (Slka 7.). Slka 7. Početn prozor nakon unosa težnskoga grafa pokretanja generranja optmalnog stabla Poucak 56.ndd 12 1.1.2014. 10:16:15

Osnovna svojstva stabala... Izrada programske podrške Programska podrška napravljena je pomoću alata za razvoj Vsual Studo te programskog jezka C#. U nastavku će bt objašnjena mplementacja najvažnjh djelova programa. Na početku zvođenja programa unose se vrhov grafa njegove veze. Nakon što su upsan vrhov veze, te nakon prtska tpke Potvrd, pokreće se čtanje unesenh vrjednost te njhova obrada spremanje u spremnke podataka u potrebnom oblku. Obrada unosa vrhova: prvate vod octajvrhove() strng[] grancnk = new strng[] \r\n ; strng[] vrhov = uctanvrhov.splt(grancnk, StrngSpltOptons.RemoveEmptyEntres); foreach (strng vrh n vrhov) lstavrhova.add(vrh); Obrada unosa veza: prvate vod octajveze() strng[] grancnkveza = new strng[] \r\n ; strng[] grancnkunutarveze = new strng[], ; const nt ndexprvogvrha = 0; const nt ndexdrugogvrha = 1; const nt ndextezneveze = 2; strng[] vezevrhova = uctanevezevrhova.splt(grancnkveza, StrngSpltOptons.RemoveEmptyEntres); foreach (strng veza n vezevrhova) strng[] zdvojenaveza = veza.splt(grancnkunutarveze, StrngSpltOptons.RemoveEmptyEntres); f (Vrhov.Contans(zdvojenaVeza[ndexPrvogVrha]) && Vrhov.Contans(zdvojenaVeza[ndexDrugogVrha])) KeyValuePar<strng, strng> parvrhva = new KeyValuePar<strng, strng>(zdvojenaveza[ndexprvogvrha], zdvojenaveza[ndexdrugogvrha]); 13 Poucak 56.ndd 13 1.1.2014. 10:16:15

Poučak 56 rjecnkveza.add(parvrhva,nt.parse(zdvojenaveza[ndextezneveze])); else throw new Excepton( Nespravno je unesen graf!! ); Nakon unosa težnskoga grafa sljed optmzranje grafa Kruskalovm algortmom: prvate vod optmzacja() Dctonary<KeyValuePar<strng, strng>, nt> kopjaveza = veze; KeyValuePar<strng, strng> kljucmnveze; whle (optmraneveze.count < (vrhov.count - 1)) kljucmnveze = nadvezunajmanjetezne(kopjaveza); bool vrhovpostoje = vrhov.contans(kljucmnveze.key) & vrhov.contans(kljucmnveze.value); bool nemacklusa = sptvanjecklusa(kljucmnveze); f (vrhovpostoje & nemacklusa) optmraneveze.add(kljucmnveze, kopjaveza[kljucmnveze]); kopjaveza.remove(kljucmnveze); else kopjaveza.remove(kljucmnveze); Prema algortmu, optmzacja se obavlja sve dok stablo ne sadrž v 1 veza. Ako je to stnto, tada se prvo pronalaz veza s najmanjom težnom. Nakon toga sptuje se tvor l ta nova veza s već ranje odabranm vezama - cklus. Ako ne tvor, tada se odabrana veza dodaje u skup (Dctonary) optmzranh veza te se z pomoćnog 14 Poucak 56.ndd 14 1.1.2014. 10:16:15

Osnovna svojstva stabala... skupa veza (koj nam služ za pronalazak preostalh veza s najmanjom težnom) zbrše odabrana veza. Ukolko pak odabrana veza s već ranje odabranm vezama tvor cklus, tada se ona odbacuje obrše z pomoćnog skupa veza. Metoda za pronalaženje veze s najmanjom težnom zgleda ovako: prvate KeyValuePar<strng, strng> nadvezunajmanjetezne (Dctonary<KeyValuePar<strng, strng>, nt> veze) nt teznatrenutneveze = 0; nt mntezna = 0; KeyValuePar<strng, strng> kljucmnveze = new KeyValuePar<strng,strng>(); foreach (KeyValuePar< KeyValuePar<strng, strng>, nt > vrhovveze n veze) teznatrenutneveze = vrhovveze.value; f (teznatrenutneveze < mntezna mntezna == 0) mntezna = teznatrenutneveze; kljucmnveze = vrhovveze.key; return kljucmnveze; Algortam de po spremnku svh preostalh veza provjerava je l težna trenutne veze manja od do tada najmanje težne. Ukolko jest, tada najmanja težna poprma vrjednost težne te veze, pa se zapamt koja je to veza. Metoda za pronalaženje cklusa: prvate bool sptvanjecklusa(keyvaluepar<strng, strng> veza) bool nemacklusa = false; strng prvvrhveze = veza.key; strng drugvrhveze = veza.value; f (vrhovzaoptmzacju[veza.key]!= vrhovzaoptmzacju[veza.value]) nemacklusa = true; 15 Poucak 56.ndd 15 1.1.2014. 10:16:15

Poučak 56 nt oznakamanjegpodstabla = Math.Mn(vrhovZaOptmzacju[veza.Key], vrhovzaoptmzacju[veza.value]); nt oznakavecegpodstabla = Math.Max(vrhovZaOptmzacju[veza.Key], vrhovzaoptmzacju[veza.value]); Dctonary<strng, nt> pomocnvrhovzaoptmzacju = new Dctonary<strng, nt>(); foreach (KeyValuePar<strng, nt> vrh n vrhovzaoptmzacju) f (vrh.value == oznakavecegpodstabla) pomocnvrhovzaoptmzacju.add(vrh.key, oznakamanjegpodstabla); Value); else pomocnvrhovzaoptmzacju.add(vrh.key, vrh. vrhovzaoptmzacju = pomocnvrhovzaoptmzacju; return nemacklusa; Spremnk podataka vrhovzaoptmzacju sadrž pops svh vrhova, te njma prdružene ndekse (na početku svak vrh ma jednstven ndeks). Ukolko dva vrha veze maju razlčte ndekse, to znač da se nalaze u razlčtm komponentama povezanost (ndeks predstavlja komponentu povezanost) te da njhovm povezvanjem neće doć do stvaranja cklusa. Ako vrhov odabrane veze zadovoljavaju taj uvjet, tada se uzma manj od njhovh ndeksa za ndeks novonastale komponente povezanost te se ažurraju ndeks svh vrhova koj su postal do te nove komponente. Na kraju, metoda vraća logčku vrjednost postojanja l nepostojanja cklusa. 4. Zaključak U ovom članku dokazana su osnovna svojstva stabala te je kao prmjena rješen problem spajanja pomoću Kruskalovog algortma. Napomenmo da su u završnome radu [1] obrađen još nek računarsk problem za čje se rješavanje korste stabla. 16 Poucak 56.ndd 16 1.1.2014. 10:16:15

Osnovna svojstva stabala... Detaljnje o tome čtatelj može nać u [1]. Konačno, možemo zaključt da su stabla vrlo važan do teorje grafova, te da je njhovo korštenje učestalo u rješavanju raznh računarskh problema, al problema z stvarnog žvota. Jedna od glavnh zadaća tjekom zrade programske mplementacje bla je kako napravt grafčko sučelje programa što jednostavnje za uporabu blže korsncma. Na takav načn, studentma elektrotehnke računarstva sama matematčka pozadna problema postaje zanmljvja. Na kraju, napomenmo da je ovaj završn rad svakako spuno zahtjeve koj su bl postavljen studentu - teorjsku pozadnu praktčnu prmjenu, u ovom slučaju, opsanu programsku podršku. Dakako da sa slčnm projektma treba nastavt u budućnost. 5. Lteratura 1. J. Berger: Svojstva stabala prmjene na neke algortme, završn rad, FER, 2011. 2. M. Krnć, S. Šan: Jospov problem programska podrška, Poučak - časops za metodku nastavu matematke, 42, 2010. 3. Z. Mtrovć: Dskretna matematka, http://www.scrbd.com/doc/39328935/dis- KRETNA-MATEMATIKA, 2011. 4. M. O. Pavčevć: Uvod u teorju grafova, Element, Zagreb, 2009. 5. D. Veljan: Kombnatorka s teorjom grafova, Školska knjga, Zagreb, 1989. 6. Rezn brdov vrhov, http://www.math.unr.hr/~ajurasc/d-peto.pdf, 2011. 17 Poucak 56.ndd 17 1.1.2014. 10:16:15