Download - Prima algoritms

Transcript
Page 1: Prima algoritms

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

Page 2: Prima algoritms

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt Algoritma

pielietošanas mērķis:atrast karkasu, kura

summārais loku garums ir minimāls

11

Page 3: Prima algoritms

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt

Katram lokam piešķirts svars-

skaitlis, kas apzīmē attālumu starp abām

virsotnēm, kuras saista loks

11

Page 4: Prima algoritms

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt

Algoritma pielietošanas gaitā tiek izmantotas 2 kopas: T- tā satur virsotnes, kuras pieder minimālajam karkasam, un Q-

tā satur minimālā karkasa lokus.

11

T

Q

Page 5: Prima algoritms

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt

Algoritmam beidzot darbību kopā Q ir n-1 loki, kur n- virsotņu

skaits grafā

11

T

Q

Page 6: Prima algoritms

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt

Algoritma darbības rezultāts nav atkarīgs no sākuma virsotnes

izvēles

11

T

Q

Page 7: Prima algoritms

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt

Algoritma darbības laikā katrai virsotnei xi tiek piešķirtas divdaļīgas iezīmes [ai, bi], kur ai-

virsotne no kopas T, kura atrodas vistuvāk virsotnei xi, bet bi- attālums (ai, xi)

11

T

Q

Page 8: Prima algoritms

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt

Par sākuma virsotni

uzskatīsim virsotni V1

11

T

Q

Iterācija: 1 Solis: 1

Page 9: Prima algoritms

Iterācija: 1 Solis: 1

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1

QVirsotni V1

ievieto kopā T

Page 10: Prima algoritms

Iterācija: 1 Solis: 1

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1

Q ØKopa Q

pagaidām ir tukša

Page 11: Prima algoritms

[V1, 11]

V7[0, ∞]

10

Iterācija: 1 Solis: 2

Prima algoritms

V1

V2

V3

V4

V5 V6

6

15

818

8

5

9

7

15

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1

Q Ø

Grafa virsotnēm

tiek piešķirtas iezīmes

[V1, 6]

[V1, 5] [0, ∞]

[0, ∞]

Page 12: Prima algoritms

Iterācija: 1 Solis: 2

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1

Q Ø

Virsotnēm, kurām nav loku, kas tās savienotu ar kādu

no kopā T ietilpstošām

virsotnēm, piešķir iezīmi [0, ∞]

[V1, 6]

[V1, 11]

[V1, 5]

[0, ∞]

[0, ∞]

[0, ∞]

Page 13: Prima algoritms

[0, ∞]

[0, ∞]

Iterācija: 1 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1

Q Ø

No visām grafa virsotnēm tiek

izvēlēta virsotne, kurai bi ir

vismazākais

[V1, 6]

[V1, 11]

[V1, 5]

[0, ∞]

Page 14: Prima algoritms

[0, ∞]

[0, ∞]

Iterācija: 1 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5

Q Ø

Šo virsotni pievieno kopai T

[V1, 6]

[V1, 11]

[V1, 5]

[0, ∞]

Page 15: Prima algoritms

[0, ∞]

[0, ∞]

Iterācija: 1 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5

Q (V1, V5) Kopai Q pievieno loku

(V1, V5)

[V1, 6]

[V1, 11]

[V1, 5]

[0, ∞]

Page 16: Prima algoritms

[V5, 15]

[V5, 9]

Iterācija: 1 Solis: 4

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5

Q (V1, V5)

Tiek atjaunotas virsotņu iezīmes

[V1, 6]

[V1, 11]

[0, ∞]

Page 17: Prima algoritms

[V5, 15]

[V5, 9]

Iterācija: 2 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5

Q (V1, V5)

[V1, 6]

[V1, 11]

[0, ∞]

No visām grafa virsotnēm tiek

izvēlēta virsotne, kurai bi ir

vismazākais

Page 18: Prima algoritms

[V5, 15]

[V5, 9]

Iterācija: 2 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2

Q (V1, V5)

[V1, 6]

[V1, 11]

[0, ∞]

Šo virsotni pievieno kopai T

Page 19: Prima algoritms

[V5, 15]

[V5, 9]

Iterācija: 2 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2

Q (V1, V5), (V1, V2)

[V1, 6]

[V1, 11]

[0, ∞]

Kopai Q pievieno loku (V1, V2)

Page 20: Prima algoritms

[V5, 15]

[V5, 9]

Iterācija: 2 Solis: 4

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2

Q (V1, V5), (V1, V2)

[V1, 11]

[V2, 15]

Tiek atjaunotas virsotņu iezīmes

Page 21: Prima algoritms

[V5, 15]

[V5, 9]

Iterācija: 3 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2

Q (V1, V5), (V1, V2)

[V1, 11]

[V2, 15]

No visām grafa virsotnēm tiek

izvēlēta virsotne, kurai

bi ir vismazākais

Page 22: Prima algoritms

[V5, 15]

[V5, 9]

Iterācija: 3 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7

Q (V1, V5), (V1, V2)

[V1, 11]

[V2, 15]

Šo virsotni pievieno kopai T

Page 23: Prima algoritms

[V5, 15]

[V5, 9]

Iterācija: 3 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7

Q (V1, V5), (V1, V2), (V5, V7)

[V1, 11]

[V2, 15]

Kopai Q pievieno loku (V5, V7)

Page 24: Prima algoritms

[V5, 15]

Iterācija: 3 Solis: 4

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7

Q (V1, V5), (V1, V2), (V5, V7)

[V7, 7]

[V2, 15]

Tiek atjaunotas virsotņu iezīmes

Page 25: Prima algoritms

[V5, 15]

Iterācija: 4 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7

Q (V1, V5), (V1, V2), (V5, V7)

[V7, 7]

[V2, 15]

No visām grafa virsotnēm tiek

izvēlēta virsotne, kurai

bi ir vismazākais

Page 26: Prima algoritms

[V5, 15]

Iterācija: 4 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7, V4

Q (V1, V5), (V1, V2), (V5, V7)

[V7, 7]

[V2, 15]

Šo virsotni pievieno kopai T

Page 27: Prima algoritms

[V5, 15]

Iterācija: 4 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7, V4

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4)

[V7, 7]

[V2, 15]

Kopai Q pievieno loku (V7, V4)

Page 28: Prima algoritms

[V4, 10]

Iterācija: 4 Solis: 4

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7, V4

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4)

[V4, 8]

Tiek atjaunotas virsotņu iezīmes

Page 29: Prima algoritms

[V4, 10]

Iterācija: 5 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7, V4

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4)

[V4, 8]

No visām grafa virsotnēm tiek

izvēlēta virsotne, kurai

bi ir vismazākais

Page 30: Prima algoritms

[V4, 10]

Iterācija: 5 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7, V4, V3

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4)

[V4, 8]

Šo virsotni pievieno kopai T

Page 31: Prima algoritms

[V4, 10]

Iterācija: 5 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7, V4, V3

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3)

[V4, 8]

Kopai Q pievieno loku (V4, V3)

Page 32: Prima algoritms

[V4, 10]

Iterācija: 5 Solis: 4

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7, V4, V3

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3)

Tiek atjaunotas virsotņu iezīmes

Page 33: Prima algoritms

[V4, 10]

Iterācija: 6 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7, V4, V3

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3)

No visām grafa virsotnēm tiek

izvēlēta virsotne, kurai

bi ir vismazākais

Page 34: Prima algoritms

[V4, 10]

Iterācija: 6 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7, V4, V3, V6

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3)

Šo virsotni pievieno kopai T

Page 35: Prima algoritms

[V4, 10]

Iterācija: 6 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7, V4, V3, V6

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3), (V4, V6)

Kopai Q pievieno loku (V4, V3)

Page 36: Prima algoritms

Iterācija: 6 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7, V4, V3, V6

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3), (V4, V6)

Algoritms darbu beidz, jo kopa T satur visas

grafa virsotnes un loku skaits kopā Q ir n-1, kur n- virsotņu

skaits grafā

Page 37: Prima algoritms

Iterācija: 6 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7, V4, V3, V6

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3), (V4, V6)

Atrastais minimālais

karkass

Page 38: Prima algoritms

Iterācija: 6 Solis: 3

Prima algoritms

V1

V2

V3

V4

V5 V6

V7

6

15

818

8

5

9

7

15

10

Nākošais

Iepriekšējais

Beigt

Pauze

Turpināt 11

T V1, V5, V2, V7, V4, V3, V6

Q (V1, V5), (V1, V2), (V5, V7), (V7, V4), (V4, V3), (V4, V6)

Minimālā karkasa kopējais garums: 5+6+9+7+8+10=45


Top Related