ruslan andrejev tm-5/1

Post on 11-Jan-2016

61 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

VILNIAUS GEDIMINO TECHNIKOS UNIVERSITETAS FUNDAMENTINIŲ MOKSLŲ FAKULTETAS MATEMATINIO MODELIAVIMO KATEDRA. Ruslan Andrejev TM-5/1. MINIMALAUS TINKLO RADIMAS. Vadovas: doc. dr. E. Paliokas. U žduotis. Minimalaus tinklo radimas. Darbo tikslas. - PowerPoint PPT Presentation

TRANSCRIPT

VILNIAUS GEDIMINO TECHNIKOS UNIVERSITETAS

FUNDAMENTINIŲ MOKSLŲ FAKULTETAS

MATEMATINIO MODELIAVIMO KATEDRA

Ruslan AndrejevTM-5/1

MINIMALAUS TINKLO RADIMAS

Vadovas: doc. dr. E. Paliokas

Užduotis

Minimalaus tinklo radimas.

Darbo tikslas

Sukonstruoti algoritmus, kurie optimizuotų minimalius tinklus plokštumoje, panaudojant papildomus vidinius taškus, vadinamus Šteinerio taškais.

Uždaviniai

Aptarti teorines žinias apimančias Šteinerio taškų radimą.

Rasti būdus teorinėms žinioms perteikti praktiškai Maple 12 paketo terpėje.

Sugalvoti bei realizuoti algoritmus, optimizuojančius minimalius tinklus.

Atlikti bandymus su atsitiktinai sugeneruotais pilnaisiais grafais bei atlikti rezultatų palyginimą.

Minimalus jungiantysis medis

B

C

A

0 5 10 15

5

10

15

5,10

10,638,54

Minimalus jungiantysis medis

B

C

A

0 5 10 15

5

10

15

5,10

10,638,54

5,10 + 8,54 = 13,64

Minimalaus jungiančiojo medžio ilgis:

Minimalus jungiantysis medis

B

C

A

0 5 10 15

5

10

15

5,10

10,638,54

5,10 + 8,54 = 13,64

Minimalaus jungiančiojo medžio ilgis:

Toričelio procedūra

B

C

A

Šteinerio taškas

0 5 10 15

5

10

15

5,10

10,638,54

Toričelio procedūra

B

C

A

Šteinerio taškas

Optimizuoto tinklo ilgis:13,43

Minimalaus jungiančiojo medžio ilgis:

13,64

13,64 - 13,43 = 0,21

1,54 %

Toričelio procedūra

B

C

A

Optimizuoto tinklo ilgis:13,43

Minimalaus jungiančiojo medžio ilgis:

13,64

13,64 - 13,43 = 0,21

1,54 %

0 5 10 15

5

10

15

[2,10]

[1,5][9,2]

Toričelio procedūra

B

C

A

[2,10]

[1,5][9,2]

TriangleSteinerCoordinates([ , , ]);

[2.128778272, 5.697540350]

Trikampio tinkamumas

B

C

A

Trikampio tinkamumas

B

C

A99,25°

52,50°

28,25°

[2,10]

[1,5]

CheckTriangle([ , , ]);

true

[9,2]

Toričelio procedūra keturkampiams

A

B

D

C

Šteinerio taškai

Toričelio procedūra keturkampiams

A

B

D

C

Šteinerio taškai

Toričelio procedūra keturkampiams

A

B

D

C

PSC([…]);

Keturkampio tinkamumas

A

B

D

C

X1X2

Tiesė X1X2 kerta keturkampio kraštinę AB, o kraštinės CD nekerta, todėl toks daugiakampis nėra tinkamas optimizavimui. Realizuota procedūra PSC tokiu atveju grąžins reikšmę false.

Formos su trečio laipsnio viršūnėmis

0 5 10 15

5

10

15

A

B

C

D

[2,10]

[9,4]

[1,5]

[2.5,7]

Tinklo ilgis: 12.70

Formos su trečio laipsnio viršūnėmis

A

B

C

D

[2,10]

[9,4]

[1,5]

[2.5,7]

Tinklo ilgis: 12.70

VSC([ , , ]);,

Naujas tinklo ilgis: 12.61

VSC();

Realizuotos procedūros:

CheckForm3();

ConvertToPolygon();

Realizuotos procedūros TriangleSteinerCoordinates CheckTriangle PSC VSC CheckForm3 ConvertToPolygon

Medis – tinklo vaizdavimas MinimalusMedis – minimalaus jungiančiojos medžio radimas Dar 8 papildomos dažnai naudojamos procedūros, reikalingos

algoritmų konstravimui.

Optimizuoto tinklo radimo problema

Nėra algoritmo, kuris garantuotų trumpiausio Šteinerio tinklo radimą.

Maple paketo terpėje algoritmus sukūrėme ir realizavome patys. Pasinaudojome Toričelio procedūra bei patobulintuoju jos variantu.

Uždavinio susiaurinimas

Optimizuosime pilnųjų grafų minimaliuosius jungiančiuosius medžius (praktiniuose taikymuose tokie grafai dažniausiai pasitaiko).

Nagrinėsime juos Dekarto koordinačių sistemoje, kurioje kraštinių svoriai reikš realius atstumus tarp viršūnių.

Optimizuosime grafus, turinčius iki 100 viršūnių.

Realizuoti algoritmai

Algoritmas SteinerTree1- paprasčiausias ir greičiausias.

Algoritmas SteinerTree1K – įvertina tinklo svorio vieneto kainą bei Šteinerio taško įvedimo kainą.

Algoritmas SteinerTree – 5 variacijos

Algoritmas SteinerTree2

SteinerTree1 algoritmas

6

2

8

1

14

1110

9

4

312

13

5

7

15

0 100 200 300

100

200

300

0

Minimalaus jungiančiojo medžio ilgis: 1135,34

Antro laipsnio viršūnė 2 sudaro trikampį, tinkamą optimizavimui. Įvedamas Šteinerio taškas, turintis numerį 16.

16

x

y

SteinerTree1 algoritmas

6

2

8

1

14

1110

9

4

312

13

5

7

15

0 100 200 300

100

200

300

0

Minimalaus jungiančiojo medžio ilgis: 1135,34

Trečio laipsnio viršūnė 6 sudaro formą tinkamą optimizavimui. Panaudojama procedūra VSC. Įvedamas Šteinerio taškas, turintis numerį 17.

16 17

x

y

SteinerTree1 algoritmas

6

2

8

1

14

1110

9

4

312

13

5

7

15

0 100 200 300

100

200

300

0

Minimalaus jungiančiojo medžio ilgis: 1135,34

Trečio laipsnio viršūnė 11 sudaro formą tinkamą optimizavimui. Panaudojama procedūra VSC. Įvedamas Šteinerio taškas, turintis numerį 18.

16 17

18

x

y

SteinerTree1 algoritmas

6

2

8

1

14

1110

9

4

312

13

5

7

15

0 100 200 300

100

200

300

0

Minimalaus jungiančiojo medžio ilgis: 1135,34

Trečio laipsnio viršūnė 13 sudaro formą tinkamą optimizavimui. Panaudojama procedūra VSC. Įvedamas Šteinerio taškas, turintis numerį 19.

16 17

1819

x

y

SteinerTree1 algoritmas

6

2

8

1

14

1110

9

4

312

13

5

7

15

0 100 200 300

100

200

300

0

Minimalaus jungiančiojo medžio ilgis: 1135,34

Gauto tinklo ilgis: 1119,14

16 17

1819

1135,34 - 1119,14 = 16,2

1,43 %

Algoritmo vykdymo laikas 0,359 sekundės.

x

y

Algoritmų vykdymo laikų palyginimas

Algoritmų vykdymo laikai

0,000

100,000

200,000

300,000

400,000

500,000

600,000

20 30 60 80

Viršūnių skaičius

Vy

kd

ym

o la

ika

s,[

s] SteinerTree( 1 variacijos

vykdymo laikas)

SteinerTree( 2 variacijosvykdymo laikas)

SteinerTree( 3 variacijosvykdymo laikas)

SteinerTree( 4 variacijosvykdymo laikas)

SteinerTree( 5 variacijosvykdymo laikas)

SteinerTree2 vykdymo laikas

Rezultatai

Sukonstravome automatizuotas Maple priemones, leidžiančias

optimizuoti minimalius jungiančiuosius medžius panaudojant

papildomus Šteinerio taškus.

Galimas praktinis panaudojimas Elektros linijų tinklų optimizavimas. Internetinių tinklų optimizavimas. Kompiuterinių tinklų optimizavimas. GSM tinklų optimizavimas. Dujotiekio tinklų optimizavimas.

Ačiū už dėmesį

Prašau klausti

top related