predavanje_7_-_mreze_i_algoritmi_1

17
Zavod za telekomunikacije 1 Mreže i algoritmi Mreže i algoritmi 1. dio 1. dio - minimalno stablo grafa minimalno stablo grafa

Upload: lumenstrumpf

Post on 14-Jan-2016

212 views

Category:

Documents


0 download

DESCRIPTION

Mreža i algoritmi

TRANSCRIPT

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