Prima algoritms

Post on 11-Jan-2016

93 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Prima algoritms. Nākošais. V2. 15. Iepriekšējais. 6. 18. V3. Pauze. 8. 11. V1. 8. Turpināt. V4. Beigt. 7. 5. 10. V7. 9. 15. V6. V5. Prima algoritms. Nākošais. V2. 15. Iepriekšējais. 6. 18. V3. Pauze. Algoritma pielietošanas mērķis: - PowerPoint PPT Presentation

Transcript

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

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

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

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

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

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

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

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

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

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

[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, ∞]

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, ∞]

[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, ∞]

[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, ∞]

[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, ∞]

[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, ∞]

[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

[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

[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)

[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

[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

[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

[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)

[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

[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

[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

[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)

[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

[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

[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

[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)

[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

[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

[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

[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)

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ā

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

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