ruslan andrejev tm-5/1

30
VILNIAUS GEDIMINO TECHNIKOS UNIVERSITETAS FUNDAMENTINIŲ MOKSLŲ FAKULTETAS MATEMATINIO MODELIAVIMO KATEDRA Ruslan Andrejev TM-5/1 MINIMALAUS TINKLO RADIMAS Vadovas: doc. dr. E. Paliokas

Upload: conroy

Post on 11-Jan-2016

61 views

Category:

Documents


0 download

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

Page 1: Ruslan Andrejev TM-5/1

VILNIAUS GEDIMINO TECHNIKOS UNIVERSITETAS

FUNDAMENTINIŲ MOKSLŲ FAKULTETAS

MATEMATINIO MODELIAVIMO KATEDRA

Ruslan AndrejevTM-5/1

MINIMALAUS TINKLO RADIMAS

Vadovas: doc. dr. E. Paliokas

Page 2: Ruslan Andrejev TM-5/1

Užduotis

Minimalaus tinklo radimas.

Darbo tikslas

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

Page 3: Ruslan Andrejev TM-5/1

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ą.

Page 4: Ruslan Andrejev TM-5/1

Minimalus jungiantysis medis

B

C

A

0 5 10 15

5

10

15

5,10

10,638,54

Page 5: Ruslan Andrejev TM-5/1

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:

Page 6: Ruslan Andrejev TM-5/1

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:

Page 7: Ruslan Andrejev TM-5/1

Toričelio procedūra

B

C

A

Šteinerio taškas

0 5 10 15

5

10

15

5,10

10,638,54

Page 8: Ruslan Andrejev TM-5/1

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 %

Page 9: Ruslan Andrejev TM-5/1

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]

Page 10: Ruslan Andrejev TM-5/1

Toričelio procedūra

B

C

A

[2,10]

[1,5][9,2]

TriangleSteinerCoordinates([ , , ]);

[2.128778272, 5.697540350]

Page 11: Ruslan Andrejev TM-5/1

Trikampio tinkamumas

B

C

A

Page 12: Ruslan Andrejev TM-5/1

Trikampio tinkamumas

B

C

A99,25°

52,50°

28,25°

[2,10]

[1,5]

CheckTriangle([ , , ]);

true

[9,2]

Page 13: Ruslan Andrejev TM-5/1

Toričelio procedūra keturkampiams

A

B

D

C

Šteinerio taškai

Page 14: Ruslan Andrejev TM-5/1

Toričelio procedūra keturkampiams

A

B

D

C

Šteinerio taškai

Page 15: Ruslan Andrejev TM-5/1

Toričelio procedūra keturkampiams

A

B

D

C

PSC([…]);

Page 16: Ruslan Andrejev TM-5/1

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.

Page 17: Ruslan Andrejev TM-5/1

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

Page 18: Ruslan Andrejev TM-5/1

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();

Page 19: Ruslan Andrejev TM-5/1

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.

Page 20: Ruslan Andrejev TM-5/1

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.

Page 21: Ruslan Andrejev TM-5/1

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ų.

Page 22: Ruslan Andrejev TM-5/1

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

Page 23: Ruslan Andrejev TM-5/1

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

Page 24: Ruslan Andrejev TM-5/1

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

Page 25: Ruslan Andrejev TM-5/1

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

Page 26: Ruslan Andrejev TM-5/1

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

Page 27: Ruslan Andrejev TM-5/1

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

Page 28: Ruslan Andrejev TM-5/1

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

Page 29: Ruslan Andrejev TM-5/1

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.

Page 30: Ruslan Andrejev TM-5/1

Ačiū už dėmesį

Prašau klausti