predavanje_7_-_mreze_i_algoritmi_1
DESCRIPTION
Mreža i algoritmiTRANSCRIPT
Zavod za telekomunikacije
1
Mreže i algoritmiMreže i algoritmi1. dio 1. dio -- minimalno stablo grafaminimalno stablo grafa
Zavod za telekomunikacije
IM – mreže i algoritmi 1 2
Problem planiranja telekomunikacijskih mrežaProblem planiranja telekomunikacijskih mreža
♦ Traženje odgovarajuće topologije� Način na koji su povezani čvorovi u mreži
�Topologija zvjezde�Topologija stabla
�Prstenasta topologija�Topologija rešetke (mesh) itd.
♦ Usmjeravanje u mreži� Kojim putem kroz mrežu se obavlja komunikacija
♦ Problem raspodjele tokova u mreži� Rasporediti tokove u mreži ovisno o raspoloživim
kapacitetima po linkovima
Zavod za telekomunikacije
IM – mreže i algoritmi 1 3
Teorija grafovaTeorija grafova
♦ Prikaz mreže pomoću grafa� Skup čvorova V = {v1, v2,…,vn}, n čvorova� Skup grana E = {e1,e2…,em}, m grana
�Usmjerena�Neusmjerena
� Duljina grane�Euklidska distanca�Manhattan distanca djk = |xj – xk| + |yj – yk|
�Neka druga� Propagacijsko kašnjenje� Pouzdanost� BER i sl.
22 )()( kjkjjk yyxxd −+−=
Zavod za telekomunikacije
IM – mreže i algoritmi 1 4
Stablasta mrežna topologijaStablasta mrežna topologija
♦ n čvorova povezanih s n - 1 granom♦ CILJ: postići minimalnu cijenu mreže
(npr. min. duljine grana)♦ Stablo minimalne cijene naziva se
Minimalno Razapinjuće Stablo (MST – Minimum Spanning Tree)
♦ Primjena:� Ethernet lokalne mreže (STP – protokol
zadužen za sprječavanje petlji u mreži)� zakup telefonskih linija u svrhu
povezivanja većeg broja poslovnica nekog poduzeća (npr. banka)
� formiranje multicast grupe za prijenos video signala od centralnog video poslužitelja prema određenom broju pretplatnika
Zavod za telekomunikacije
IM – mreže i algoritmi 1 5
Primjer 1Primjer 1
♦ Neko poduzeće ima urede u Zagrebu, Varaždinu, Osijeku i Sisku koje je potrebno povezati privatnom telefonskom mrežom. Telekom operator ponudio je sljedeće cijene zakupa linija:
� ZG – VŽ = 7000 kn/mjesečno� ZG – SI = 5000 kn/mjesečno� ZG – OS = 12000 kn/mjesečno� VŽ – OS = 8000 kn/mjesečno� SI – OS = 6000 kn/mjesečno
♦ Na koji način je potrebno povezati urede da bi troškovi zakupa linija bili minimalni ?
Zavod za telekomunikacije
IM – mreže i algoritmi 1 6
Primjer 1Primjer 1
♦ Rješenje ovog problema je vrlo jednostavno, budući se radi o maloj mreži. U općenitom slučaju, kada u mreži postoje deseci ili stotine čvorova potrebni su specijalizirani algoritmi za određivanje minimalnog stabla.
Zavod za telekomunikacije
IM – mreže i algoritmi 1 7
PrimPrim--Dijkstrin algoritamDijkstrin algoritam
� Neka su:� V1 = čvorovi koji su dio stabla (inicijalno prazan skup)� V2 = čvorovi koji nisu dio stabla ali su susjedni nekom čvoru iz V1 (inicijalno prazan
skup)� V3 = ostali čvorovi (inicijalno svi čvorovi)� E1 = Grane koje su dio stabla (inicijalno prazan skup)� E2 = najkraće grane koje povezuju neke čvorove iz V2 sa čvorom u V1 (inicijalno
prazan skup)� E3 = preostale grane (inicijalno sve grane)
� Koraci algoritma1. Proizvoljno odabrati početni čvor v: V1 = V1 + {v}, V3 = V3 – v, V2 i E2 izračunati2. U E2 pronaći granu minimalne duljine. Neka je (x,y) ta grana, pri čemu je x ∈V1, y
∈V2. Dodati x u V1, maknuti x iz V3, E1 = E1 + (x,y), E3 = E3 – (x,y), izračunati V2 i E2
3. Ako je V1 = V (svi čvorovi dodani u skup V1) onda je kraj, inače vrati se na 2.
Zavod za telekomunikacije
IM – mreže i algoritmi 1 8
Primjer 2Primjer 2
Između 7 telefonskih pretplatnika potrebno je generirati minimalno stablo pomoću
algoritma Prim-Dijkstre. Položaji pretplatnika su zadani koordinatama: V1(-6,6),
V2(-5,-3), V3(-4,3), V4(-3,5), V5(-2,-2), V6(-1,1), V7(2,4). Pretpostavite
Manhattan distance.
e1 =10
e2=5
e 6=8e
4=7
e7=3
e9 =6
e11=4
e 12=6
Zavod za telekomunikacije
IM – mreže i algoritmi 1 9
Kruskalov algoritamKruskalov algoritam
1. Sortirati sve grane po rastućim duljinama (od najkraće prema najduljoj)
2. Provodi se uzastopno dodavanje grana u stablo, tako dugo dok stablo ne sadrži točno n - 1 granu. Pri tom se pazi da novo dodana grana ne formira petlju s nekom od prethodno dodanih grana.
Zavod za telekomunikacije
IM – mreže i algoritmi 1 10
Primjer 3Primjer 3
♦ Za mrežu sa slike generirajte minimalno stablo primjenom algoritma Kruskala.
e1 =10
e2=5
e 6=8e
4=7
e7=3
e9 =6
e11=4
e 12=6
Zavod za telekomunikacije
IM – mreže i algoritmi 1 11
Kapacitivno ograničena stablaKapacitivno ograničena stabla
♦ Postavlja se ograničenje na kapacitet. Nije moguće formirati jedno stablo već se radi nekoliko stabala pri čemu svako podstablo zadovoljava kriterij o maksimalnom kapacitetu.
♦ svakom čvoru se pridružuje težina wi, koja primjerice može predstavljati� generirani promet u čvoru� broj telefonskih priključaka (terminala) i dr.
♦ središnji čvor v0 je središte stabla; na njega se spajaju ograničena pod-stabla
♦ ograničenje: ukupna težina pod-stabla mora biti manja ili jednaka graničnoj, tj. . Ukupna težina stabla može biti:� maksimalan broj priključaka� maksimalni promet prema centralnom čvoru
♦ NAPOMENA: cijena centralnog čvora, odnosno njegova težina se ne računa u cijenu pod-stabla
♦ općenito se ne može doći do optimalnog rješenja ⇒ heurističke metode♦ klasični algoritmi (neki su opisani niže) najčešće nisu zadovoljavajuće brzi
Zavod za telekomunikacije
IM – mreže i algoritmi 1 12
Modificirani PrimModificirani Prim--Dijkstra algoritamDijkstra algoritam
1. Stablo sadrži samo korijenski (centralni) čvor2. Odabrati čvor v čija je cijena/duljina povezivanja u stablo
minimalna, zajedno s odgovarajućom granom e3. Provjeriti da li su ispunjen uvjet na kapacitivno
ograničenje:1. ako nisu, označiti cijenu/duljinu izabranog linka s velikim brojem
(beskonačno) → 22. inače → 4
4. Uključiti čvor odabran u koraku (2), zajedno s granom, u stablo.
1. Ako su svi čvorovi dodani u stablo KRAJ,2. inače → 2
5. NAPOMENA: središnji čvor razdvaja podstabla
Zavod za telekomunikacije
IM – mreže i algoritmi 1 13
Modificirani algoritam KruskalaModificirani algoritam Kruskala
1. Svaki čvor tretira se kao segment2. Pronaći granu minimalne težine/duljine e = (vi,vj)
3. Provjeriti da li je zadovoljen uvjet o kapacitivnom ograničenju
1. Ako nije → postavi težinu grane e := ∞, vrati se u korak 22. Ako je → idi na korak 4
4. Segmente povezati u novi segment5. Ako su svi čvorovi povezani KRAJ inače 2
Zavod za telekomunikacije
IM – mreže i algoritmi 1 14
Primjer 4Primjer 4
Položaji korisnika ISDN uluga zadani su koordinatama: v1(0,12), v2(4,12), v3(9,12) i v4(9,6). Intenziteti generiranja zahtjeva za uslugom su slijedeći: w1 = 1 erl/s, w2 = 2 erl/s. w3 = 1 erl/s, w4 = 1 erl/s. Ograničenje intenziteta generiranja poruka po segmentu Wmax = 3 erl/s. Uz pretpostavku da se središnji čvor nalazi u ishodištu odredite kapacitivno ograničena minimalna podstabla i to:
a) primjenom modificiranog Prim-Dijkstrinog algoritmab) primjenom modificiranog Kruskalovog algoritma
10 2 3 4 5 6 7 8 9 10 11 12
12
11
10
9
8
6
5
4
3
2
1
0
7
1 2 3
4
0
Zavod za telekomunikacije
IM – mreže i algoritmi 1 15
EssauEssau--Williams algoritamWilliams algoritam
1. Početna topologija je zvijezda. Svaki čvor predstavlja jedan segment. Svaki segment je povezan direktno sa središnjim čvorom v0.
2. Proračunati matricu dobitka za sve segmente, [T], pri čemu je Tij = Cij – Ci0
što je zapravo cijena povezivanja segmenta i sa segmentom j, umjesto direktno na središnji čvor, odnosno iznos za koji će se smanjiti ukupna cijena mreže.
3. Odabrati element Tij u matrici [T] koji nosi najveći dobitak (negativan i najmanji po iznosu). Ukoliko nema elemenata Tij s negativnom vrijednošću, tj. svi elementi u matrici su ≥ 0, dobili smo rješenje. KRAJ
4. Provjeriti da li su direktnim spajanjem čvora i s čvorom j umjesto sa središnjim čvorom, ispunjena kapacitivna ograničenja:
1. ako nisu, zamijeniti Tij sa velikom vrijednošću (beskonačno), te ponovi proces počevši od koraka (3)
2. inače → 5
5. Poveži segmente i i j u novi segment. Modificiraj T i C matricu, s novim cijenama, odnosno dobicima asociranim s tim povezivanjem. Ponovi korak (3)
Zavod za telekomunikacije
IM – mreže i algoritmi 1 16
Primjer 5Primjer 5
Udaljene pretplatničke stupnjeve je potrebno spojiti na telefonsku centralu. Ako svaki udaljeni pretplatnički stupanj generira promet prema centrali intenziteta 1 erl/s, te ako su njihove koordinate: v1=(6,2), v2=(2,4), v3=(6,5), v4=(4,6), v5=(1,6), povezivanje pretplatničkih stupnjeva na centralu izvedite Esau-Williamsovim algoritmom.NAPOMENA: Centrala se nalazi u ishodištu. Segment je ograničen na 3 erl/s (Manhattan distance)
Zavod za telekomunikacije
IM – mreže i algoritmi 1 17
Algorhyme
I think that I shall never see A graph more lovely than a tree.
A tree whose crucial property Is loop-free connectivity.
A tree which must be sure to span. So packets can reach every LAN. First the Root must be selected
By ID it is elected. Least cost paths from Root are traced
In the tree these paths are placed. A mesh is made by folks like me
Then bridges find a spanning tree.
Radia Perlman