24
Probl Probl é é m h m h ľ ľ adania adania najkrat najkrat š š ej cesty ej cesty Ivan Brezina

Probl ém h ľadania najkrat šej cesty...Cesta - postupnosťuzlov a hrán medzi nejakými dvoma uzlami. Sie ť – súvislý, kone čný, orientovaný, hranovo ohodnotený graf, ktorý

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

  • ProblProbléém hm hľľadania adania

    najkratnajkrat ššej cestyej cesty

    Ivan Brezina

  • 2

    � Formulácia problému hľadania najkratšej cesty

    � Základné pojmy teórie grafov

    � Hľadanie najkratšej cesty na báze LP

    � Hľadanie najkratšej cesty z jedného uzla do všetkých uzlov v sieti – Dijkstrov a Dantzigov algoritmus

    � Hľadanie najkratšej cesty medzi všetkými uzlami v sieti – Floydov algortitmus a operácia minimálneho sčítania matíc

  • 3

    Prečo teória grafov?

  • 4

    Prečo teória grafov?

  • 5

    Základné pojmy teórie grafov

    � Graf G - útvar, znázornený v rovine pomocou uzlov U a hrán H.

    � Orientovaný graf– graf s orientovanými hranami.

    � Ohodnotený graf– graf s ocenenými hranami (cij), sú tovzdialenosti medzi vrcholom i a vrcholom j.

    � Cesta - postupnosť uzlov a hrán medzi nejakými dvoma uzlami.

    � Sieť – súvislý, konečný, orientovaný, hranovo ohodnotený graf, ktorý má v určitom vrchole začiatok a v inom koniec.

  • 6

    Problém hľadania najkratšej cesty

    � dopravná (železničná, cestná) sieť - sieť, kde uzly ui a uj sú spojené hranami hij, ktoré súohodnotené hodnotami cij

    � cieľ - nájsť najkratšiu cestu medzi začiatočným uzlom u1 a koncovým uzlom un, cestu T, ktoráspája uzly u1 a un a tvoria ju hrany T = {h1i, hip, ..., hqj, hjn}

    � pričom min c(T) = c1i+ cip + ... + cqj + cjn

  • 7

    Bratislava – Starý Smokovec

  • 8

    Mapa SR – BA – Starý Smokovec

    TN – NR – ZH – BB – BR –PP

    TN – NR – ZH – BB – RK –LM – PP

    TN – NR – PD – MT – RK –LM – PP

    TN – ZA – MT – RK – LM –PPBratislava

    Starý Smokovec

    VzdialenosťCez

  • 9

    Optimalizácia prepravných trás

    � hľadanie najkratšej cesty

    � na báze teórie grafov

    � na báze matíc susednosti

    � na báze lineárneho programovania

    � hľadanie najkratšej okružnej cesty

    � na báze lineárneho programovania

    � na báze kombinatorických prístupov celočíselného programovania

    � na báze heuristických prístupov

  • 10

    Hľadanie najkratšej cesty

    � úloha lineárneho programovania� špeciálny prípad priraďovacieho problému

    � algoritmy na báze teórie grafov� Ford - Fulkersonov� Dantzigov� Dijkstrov� Tabourierov

    � algoritmy na základe matíc susednosti� stromy minimálnych vzdialeností� operácia minimálneho sčítania� Floydov algoritmus

  • 11

    Hľadanie najkratšej cesty

    � z východiskového uzla do všetkých uzlov v sieti (single-source shortest-path problem) – algoritmy: � Dijkstrov� Ford - Fulkersonov� Dantzigov

    � medzi všetkými uzlami v sieti (all-pairs shortest – pathproblem)� operácia minimálneho sčítania matíc� Floydov algoritmus

  • 12

    Bratislava – mesto v SR

  • 13

    Hľadanie najkratšej cesty - LP

  • 14

    Bratislava – mesto v SR

  • 15

    Bratislava – mestá SR

  • 16

    Dijkstrov algoritmus

    1. 1. Začiatočný vrchol ur, kde vr = 0.� 2. Zápis vzdialeností pre priame cesty z vrcholu ur do ostatných

    vrcholov v sieti dj, ak neexistuje, potomM.� 3. Min djk, označíme ju * a zapíšeme do stĺpca min j označenie

    príslušného stĺpca. Do riadka D zapíšeme hodnotu djk.� 4. Ohodnotíme vrcholy, do ktorých vedie priama cesta z vrcholu

    ujk, pričom aktualizujeme hodnoty na základe vzťahu:� § ak platídjk + cjk,j < dj, potomdj nahradenédjk + cjk,j� § ináč ostávadj� 5.Najkratšia cesta do daného vrcholu je vj = vπ + cπj� 6.Návrat na 3.

  • 17

    Dijkstrov algoritmus

    π

    D

    k

    ...

    2

    1

    Iteráciamin jun...u2u1

    Vrchol

  • 18

    Príklad

  • 19

    Príklad

    66

    78

    77

    164

    BR

    120

    159

    164

    KE

    55

    156

    159

    77

    LC

    86

    25

    39

    54

    MT

    103

    80

    156

    85

    NR

    62

    79

    80

    54

    PD

    79

    120

    78

    PP

    73

    79

    39

    RK

    79

    25

    202

    ZA

    66BR

    KE

    55LC

    86MT

    10385NR

    62PD

    PP

    73RK

    202ZA

    ZV

    BA

    ZVBA

  • 20

    Príklad BA – mestá SRDijkstrov algoritmus

    16585D

    M

    M

    KE

    241

    M

    LC

    M

    M

    MT

    BA

    -

    85

    NR

    NR

    165

    M

    PD

    M

    M

    PP

    M

    M

    RK

    202

    202

    ZA

    188

    M

    ZV

    PDM2

    3

    4

    5

    6

    7

    8

    9

    10

    π

    NRM1

    min jBR

    85D

    M

    KE

    M

    LC

    M

    MT

    BA

    85

    NR

    M

    PD

    M

    PP

    M

    RK

    202

    ZA

    M

    ZV

    2

    3

    4

    5

    6

    7

    8

    9

    10

    π

    NRM1

    min jBR

    18816585D

    M

    M

    M

    KE

    241

    241

    M

    LC

    219

    M

    M

    MT

    BA

    -

    -

    85

    NR

    NR

    -

    165

    M

    PD

    M

    M

    M

    PP

    M

    M

    M

    RK

    202

    202

    202

    ZA

    PD

    188

    188

    M

    ZV

    PDM2

    ZVM3

    4

    5

    6

    7

    8

    9

    10

    π

    NRM1

    min jBR

    18820216585D

    M

    M

    M

    M

    KE

    241

    241

    241

    M

    LC

    219

    219

    M

    M

    MT

    BA

    -

    -

    -

    85

    NR

    NR

    -

    -

    165

    M

    PD

    M

    M

    M

    M

    PP

    261

    M

    M

    M

    RK

    BA

    202

    202

    202

    202

    ZA

    PD

    -

    188

    188

    M

    ZV

    PDM2

    ZVM3

    ZA2544

    5

    6

    7

    8

    9

    10

    π

    NRM1

    min jBR

    18820216585219D

    M

    M

    M

    M

    M

    KE

    241

    241

    241

    241

    M

    LC

    PD

    219

    219

    219

    M

    M

    MT

    BA

    -

    -

    -

    -

    85

    NR

    NR

    -

    -

    -

    165

    M

    PD

    M

    M

    M

    M

    M

    PP

    261

    261

    M

    M

    M

    RK

    BA

    -

    202

    202

    202

    202

    ZA

    PD

    -

    -

    188

    188

    M

    ZV

    PDM2

    ZVM3

    ZA2544

    MT2545

    6

    7

    8

    9

    10

    π

    NRM1

    min jBR

    18820216585219241D

    M

    M

    M

    M

    M

    M

    KE

    NR

    241

    241

    241

    241

    241

    M

    LC

    PD

    -

    219

    219

    219

    M

    M

    MT

    BA

    -

    -

    -

    -

    -

    85

    NR

    NR

    -

    -

    -

    -

    165

    M

    PD

    M

    M

    M

    M

    M

    M

    PP

    258

    261

    261

    M

    M

    M

    RK

    BA

    -

    -

    202

    202

    202

    202

    ZA

    PD

    -

    -

    -

    188

    188

    M

    ZV

    PDM2

    ZVM3

    ZA2544

    MT2545

    LC2546

    7

    8

    9

    10

    π

    NRM1

    min jBR

    18820216585219241254D

    400

    M

    M

    M

    M

    M

    M

    KE

    NR

    -

    241

    241

    241

    241

    241

    M

    LC

    PD

    -

    -

    219

    219

    219

    M

    M

    MT

    BA

    -

    -

    -

    -

    -

    -

    85

    NR

    NR

    -

    -

    -

    -

    -

    165

    M

    PD

    M

    M

    M

    M

    M

    M

    M

    PP

    258

    258

    261

    261

    M

    M

    M

    RK

    BA

    -

    -

    -

    202

    202

    202

    202

    ZA

    PD

    -

    -

    -

    -

    188

    188

    M

    ZV

    PDM2

    ZVM3

    ZA2544

    MT2545

    LC2546

    BR2547

    8

    9

    10

    ZVπ

    NRM1

    min jBR

    18820225816585219241254D

    400

    400

    M

    M

    M

    M

    M

    M

    KE

    NR

    -

    -

    241

    241

    241

    241

    241

    M

    LC

    PD

    -

    -

    -

    219

    219

    219

    M

    M

    MT

    BA

    -

    -

    -

    -

    -

    -

    -

    85

    NR

    NR

    -

    -

    -

    -

    -

    -

    165

    M

    PD

    332

    M

    M

    M

    M

    M

    M

    M

    PP

    MT

    258

    258

    258

    261

    261

    M

    M

    M

    RK

    BA

    -

    -

    -

    -

    202

    202

    202

    202

    ZA

    PD

    -

    -

    -

    -

    -

    188

    188

    M

    ZV

    PDM2

    ZVM3

    ZA2544

    MT2545

    LC2546

    BR2547

    RK-8

    9

    10

    ZVπ

    NRM1

    min jBR

    18820225833216585219241254D

    400

    400

    400

    M

    M

    M

    M

    M

    M

    KE

    NR

    -

    -

    -

    241

    241

    241

    241

    241

    M

    LC

    PD

    -

    -

    -

    -

    219

    219

    219

    M

    M

    MT

    BA

    -

    -

    -

    -

    -

    -

    -

    -

    85

    NR

    NR

    -

    -

    -

    -

    -

    -

    -

    165

    M

    PD

    BR

    332

    332

    M

    M

    M

    M

    M

    M

    M

    PP

    MT

    -

    258

    258

    258

    261

    261

    M

    M

    M

    RK

    BA

    -

    -

    -

    -

    -

    202

    202

    202

    202

    ZA

    PD

    -

    -

    -

    -

    -

    -

    188

    188

    M

    ZV

    PDM2

    ZVM3

    ZA2544

    MT2545

    LC2546

    BR2547

    RK-8

    PP-9

    10

    ZVπ

    NRM1

    min jBR

    18820225833216585219241400254D

    LC

    400

    400

    400

    400

    M

    M

    M

    M

    M

    M

    KE

    NR

    -

    -

    -

    -

    241

    241

    241

    241

    241

    M

    LC

    PD

    -

    -

    -

    -

    -

    219

    219

    219

    M

    M

    MT

    BA

    -

    -

    -

    -

    -

    -

    -

    -

    -

    85

    NR

    NR

    -

    -

    -

    -

    -

    -

    -

    -

    165

    M

    PD

    BR

    -

    332

    332

    M

    M

    M

    M

    M

    M

    M

    PP

    MT

    -

    -

    258

    258

    258

    261

    261

    M

    M

    M

    RK

    BA

    -

    -

    -

    -

    -

    -

    202

    202

    202

    202

    ZA

    PD

    -

    -

    -

    -

    -

    -

    -

    188

    188

    M

    ZV

    PDM2

    ZVM3

    ZA2544

    MT2545

    LC2546

    BR2547

    RK-8

    PP-9

    KE-10

    ZVπ

    NRM1

    min jBR

  • 21

    Dantzigov algoritmus

    1. Pre ľubovoľnéui položíme vi = 0.2. Určíme pre i a j vr = min(vi + cij)

    hranu, ktorá tvorí minimálne spojenie, výrazne označíme a z celej tabuľky vylúčime všetky ostatnéhrany, ktoré smerujú do uzla ur.

    3.Podľa bodu 2 pokračujeme, kým neohodnotíme všetky uzly v sieti, t. j. kým nevypočítame aj hodnotu vn.

    4.Hodnota vn udáva dĺžku najkratšej cesty z východiskového uzla do uzla un.

  • 22

    Dantzigov algoritmus

    cij

    n...21i

    vr

  • 23

    Príklad BA – mestá SRDantzigov algoritmus

    RK 73

    PD 62

    NR 103

    ZV 62

    ZV 103

    ZV 86

    ZV 55

    ZV 66

    MT 86

    PD 79

    ZV 73

    RK 79

    ZA 79

    PD 80

    ZA 25

    NR 156

    PP 120

    PP 78

    cij

    LC 55

    MT 25

    PP 79

    KE 120

    NR 80

    LC 156

    RK 39

    KE 159

    LC 159

    LC 77

    ZA202

    BR 66

    BA 202

    MT 39

    BR 78

    MT 54

    BA 85

    PD 54

    BR 77

    BR 164

    KE 164

    NR85

    ZVZARKPPPDNRMTLCKEBRBAi

    vr

    RK 73

    PD 62

    NR 103

    ZV 62

    ZV 103

    ZV 86

    ZV 55

    ZV 66

    MT 86

    PD 79

    ZV 73

    RK 79

    ZA 79

    PD 80

    ZA 25

    NR 156

    PP 120

    PP 78

    cij

    LC 55

    MT 25

    PP 79

    KE 120

    NR 80

    LC 156

    RK 39

    KE 159

    LC 159

    LC 77

    202ZA202

    BR 66

    BA 202

    MT 39

    BR 78

    MT 54

    BA 85

    PD 54

    BR 77

    BR 164

    KE 164

    85NR85

    ZVZARKPPPDNRMTLCKEBRBAi

    850vr

    RK 73

    PD 62

    NR 103

    ZV 62

    188ZV 103

    ZV 86

    ZV 55

    ZV 66

    MT 86

    PD 79

    ZV 73

    RK 79

    ZA 79

    165PD 80

    ZA 25

    NR 156

    PP 120

    PP 78

    cij

    LC 55

    MT 25

    PP 79

    KE 120

    NR 80

    241LC 156

    RK 39

    KE 159

    LC 159

    LC 77

    202ZA202

    BR 66

    BA 202

    MT 39

    BR 78

    MT 54

    BA 85

    PD 54

    BR 77

    BR 164

    KE 164

    85NR85

    ZVZARKPPPDNRMTLCKEBRBAi

    165850vr

    RK 73

    PD 62

    NR 103

    227ZV 62

    188ZV 103

    ZV 86

    ZV 55

    ZV 66

    MT 86

    PD 79

    ZV 73

    RK 79

    244ZA 79

    165PD 80

    ZA 25

    NR 156

    PP 120

    PP 78

    cij

    LC 55

    MT 25

    PP 79

    KE 120

    NR 80

    241LC 156

    RK 39

    KE 159

    LC 159

    LC 77

    202ZA202

    BR 66

    BA 202

    MT 39

    BR 78

    219MT 54

    BA 85

    PD 54

    BR 77

    BR 164

    KE 164

    85NR85

    ZVZARKPPPDNRMTLCKEBRBAi

    188165850vr

    261RK 73

    PD 62

    NR 103

    227ZV 62

    188ZV 103

    ZV 86

    ZV 55

    ZV 66

    274MT 86

    PD 79

    ZV 73

    RK 79

    244ZA 79

    165PD 80

    ZA 25

    NR 156

    PP 120

    PP 78

    cij

    243LC 55

    MT 25

    PP 79

    KE 120

    NR 80

    241LC 156

    RK 39

    KE 159

    LC 159

    LC 77

    202ZA202

    254BR 66

    BA 202

    MT 39

    BR 78

    219MT 54

    BA 85

    PD 54

    BR 77

    BR 164

    KE 164

    85NR85

    ZVZARKPPPDNRMTLCKEBRBAi

    188202165850vr

    261RK 73

    PD 62

    NR 103

    227ZV 62

    188ZV 103

    ZV 86

    ZV 55

    ZV 66

    274MT 86

    PD 79

    ZV 73

    RK 79

    244ZA 79

    165PD 80

    ZA 25

    NR 156

    PP 120

    PP 78

    cij

    243LC 55

    227MT 25

    PP 79

    KE 120

    NR 80

    241LC 156

    RK 39

    KE 159

    LC 159

    LC 77

    202ZA202

    254BR 66

    BA 202

    MT 39

    BR 78

    219MT 54

    BA 85

    PD 54

    BR 77

    BR 164

    KE 164

    85NR85

    ZVZARKPPPDNRMTLCKEBRBAi

    188202165852190vr

    261RK 73

    PD 62

    NR 103

    227ZV 62

    188ZV 103

    ZV 86

    ZV 55

    ZV 66

    274MT 86

    PD 79

    ZV 73

    RK 79

    244ZA 79

    165PD 80

    ZA 25

    NR 156

    PP 120

    PP 78

    cij

    243LC 55

    227MT 25

    PP 79

    KE 120

    NR 80

    241LC 156

    258RK 39

    KE 159

    LC 159

    LC 77

    202ZA202

    254BR 66

    BA 202

    MT 39

    BR 78

    219MT 54

    BA 85

    PD 54

    BR 77

    BR 164

    KE 164

    85NR85

    ZVZARKPPPDNRMTLCKEBRBAi

    188202165852192410vr

    261RK 73

    PD 62

    NR 103

    227ZV 62

    188ZV 103

    ZV 86

    ZV 55

    ZV 66

    274MT 86

    PD 79

    ZV 73

    RK 79

    244ZA 79

    165PD 80

    ZA 25

    NR 156

    PP 120

    PP 78

    cij

    243LC 55

    227MT 25

    PP 79

    KE 120

    NR 80

    241LC 156

    258RK 39

    400KE 159

    LC 159

    LC 77

    202ZA202

    254BR 66

    BA 202

    MT 39

    BR 78

    219MT 54

    BA 85

    PD 54

    318BR 77

    BR 164

    KE 164

    85NR85

    ZVZARKPPPDNRMTLCKEBRBAi

    188202165852192412540vr

    261RK 73

    PD 62

    NR 103

    227ZV 62

    188ZV 103

    ZV 86

    ZV 55

    ZV 66

    274MT 86

    PD 79

    ZV 73

    RK 79

    244ZA 79

    165PD 80

    ZA 25

    NR 156

    PP 120

    332PP 78

    cij

    243LC 55

    227MT 25

    PP 79

    KE 120

    NR 80

    241LC 156

    258RK 39

    400KE 159

    LC 159

    LC 77

    202ZA202

    254BR 66

    BA 202

    MT 39

    BR 78

    219MT 54

    BA 85

    PD 54

    318BR 77

    BR 164

    418KE 164

    85NR85

    ZVZARKPPPDNRMTLCKEBRBAi

    188202258165852192412540vr

  • 24

    Príklad BA – mestá SRDantzigov algoritmus

    261RK 73

    PD 62

    NR 103

    227ZV 62

    188ZV 103

    ZV 86

    ZV 55

    ZV 66

    274MT 86

    PD 79

    ZV 73

    RK 79

    244ZA 79

    165PD 80

    ZA 25

    NR 156

    PP 120

    332PP 78

    cij

    243LC 55

    227MT 25

    PP 79

    KE 120

    NR 80

    241LC 156

    258RK 39

    400KE 159

    LC 159

    LC 77

    202ZA202

    254BR 66

    BA 202

    MT 39

    BR 78

    219MT 54

    BA 85

    PD 54

    318BR 77

    BR 164

    418KE 164

    85NR85

    ZVZARKPPPDNRMTLCKEBRBAi

    188202258165852192412540vr