Kruskaluv algoritmus - Seminární práce z predmetu Algoritmy

Transkript

Kruskaluv algoritmus - Seminární práce z predmetu Algoritmy
Kruskalův algoritmus
Seminárnı́ práce z předmětu Algoritmy
Michal Řepı́k
Pedagogická fakulta
Univerzita Karlova v Praze
ZS 2013/2014
Michal Řepı́k (BM)
Kruskalův algoritmus
Algoritmy
1 / 10
Definice (Neorientovaný graf)
Neorientovaný graf je dvojice G = [V, E], kde V je množina uzlů
(vrcholů) a E ⊆ {[x, y]; x, y ∈ V, x 6= y} je množina hran.
Definice (Ohodnocený graf)
Ohodnocený neorientovaný graf (G, ψ) je neorientovaný graf G spolu
s reálnou funkcı́ ψ : E → h0, ∞). Je-li h ∈ E hrana, pak se čı́slo ψ(h)
nazývá ohodnocenı́ nebo váha hrany h.
Definice (Minimálnı́ kostra grafu)
Minimálnı́ kostra souvislého ohodnoceného grafu G je takový podgraf
na množině všech uzlů V , který je stromem, a součet ohodnocenı́
jednotlivých jeho hran je minimálnı́.
Michal Řepı́k (BM)
Kruskalův algoritmus
Algoritmy
2 / 10
Algoritmus (Kruskalův)
Je dán souvislý neorientovaný ohodnocený graf (G, ψ) s m vrcholy a n
hranami. Úkolem je nalézt minimálnı́ kostru. Očı́slujme hrany
h1 , h2 , . . . , hn ∈ E tak, aby
ψ(h1 ) ≤ ψ(h2 ) ≤ . . . ≤ ψ(hn ).
Označme E0 , E1 , . . . ⊆ E množiny hran jenž konstruujeme následovně:
1
E0 = ∅
2
Ei = Ei−1 ∪ {hi }, jestliže graf (V, Ei−1 ∪ {hi }) neobsahuje kružnici.
Ei = Ei−1 jinak.
Algoritmus se zastavı́ v okamžiku, kdy |Ei | = m − 1, nebo i = n.
Necht’ Ek je množina hran na konci algoritmu. Potom [V, Ek ] je
minimálnı́ kostra grafu G.
Michal Řepı́k (BM)
Kruskalův algoritmus
Algoritmy
3 / 10
DG
2
CF
3
GC
4
CE
4
AB
5
BF
5
FE
6
BC
7
AG
8
AC
9
GE
10
DE
15
B
5
5
7
9
A
F
3
6
4
8
2
G
C
10
4
E
15
D
Michal Řepı́k (BM)
Kruskalův algoritmus
Algoritmy
4 / 10
DG
2
CF
3
GC
4
CE
4
AB
5
BF
5
FE
6
BC
7
AG
8
AC
9
GE
10
DE
15
B
5
5
7
9
A
F
3
6
4
8
2
G
C
10
4
E
15
D
Michal Řepı́k (BM)
Kruskalův algoritmus
Algoritmy
5 / 10
DG
2
CF
3
GC
4
CE
4
AB
5
BF
5
FE
6
BC
7
AG
8
AC
9
GE
10
DE
15
B
5
5
7
9
A
F
3
6
4
8
2
G
C
10
4
E
15
D
Michal Řepı́k (BM)
Kruskalův algoritmus
Algoritmy
6 / 10
DG
2
CF
3
GC
4
CE
4
AB
5
BF
5
FE
6
BC
7
AG
8
AC
9
GE
10
DE
15
B
5
5
7
9
A
F
3
6
4
8
2
G
C
10
4
E
15
D
Michal Řepı́k (BM)
Kruskalův algoritmus
Algoritmy
7 / 10
DG
2
CF
3
GC
4
CE
4
AB
5
BF
5
FE
6
BC
7
AG
8
AC
9
GE
10
DE
15
B
5
5
7
9
A
F
3
6
4
8
2
G
C
10
4
E
15
D
Michal Řepı́k (BM)
Kruskalův algoritmus
Algoritmy
8 / 10
DG
2
CF
3
GC
4
CE
4
AB
5
BF
5
FE
6
BC
7
AG
8
AC
9
GE
10
DE
15
B
5
5
7
9
A
F
3
6
4
8
2
G
C
10
4
E
15
D
Michal Řepı́k (BM)
Kruskalův algoritmus
Algoritmy
9 / 10
DG
2
CF
3
GC
4
CE
4
AB
5
BF
5
FE
6
BC
7
AG
8
AC
9
GE
10
DE
15
B
5
5
7
9
A
F
3
6
4
8
2
G
C
10
4
E
15
D
Michal Řepı́k (BM)
Kruskalův algoritmus
Algoritmy
10 / 10

Podobné dokumenty

Zobrazen´ı kruznice v pravoúhlé axonometrii

Zobrazen´ı kruznice v pravoúhlé axonometrii průsečı́k H půlkružnice l s axonometrickou průmětnou ρ, který splývá se svým axonometrickým průmětem H a , tj. H a = H; navı́c můžeme sestrojit bod půlkružnice l, který je souměr...

Více

1 Základy 2 Výroková logika 3 Formáln´ı axiomatický systém logiky

1 Základy 2 Výroková logika 3 Formáln´ı axiomatický systém logiky hxi = hSi = {xk | k ∈ Z} je podgrupa grupy A generovaná prvkem x. Pro abelovské grupy platı́ h{x1 , . . . , xn }i = {xk11 ·. . .·xknn | ki ∈ Z} popř. h{x1 , . . . , xn }i = {k1 x1 +. . .+kn xn |...

Více

23 Neorientovaný plošný integrál

23 Neorientovaný plošný integrál 1. Necht’ Γ : M → R3 a f : Rm → R. Dělenı́ D oblasti M indukuje dělenı́ plochy na Γ(M1 ), . . . , Γ(Mk ). Označme

Více

hgfhgfh

hgfhgfh s indexy a jinými danými symboly (např. A0 , B1 , C 2 , D ′, E ∗ , F ). Pro určité množiny čísel používáme standardní označení. Množinu přirozených čísel značíme N (číslo nulu počítáme mezi přiroze...

Více

Literatura

Literatura [2] S.Kračmar, F. Mráz, J.Neustupa: Sbı́rka přı́kladů z Matematiky I. Skriptum Strojnı́ fakulty. Vydavatelstvı́ ČVUT, Praha 2013. [3] F. Mráz: Opakovacı́ kurs středoškolské matematiky (vyb...

Více

Polynomiáln´ı redukce 3SAT na k

Polynomiáln´ı redukce 3SAT na k Předpokládejme, že ϕ je splnitelná formule. Pak existuje ohodnocenı́ proměnných x1 , . . . xn takové, aby ϕ platila, tj. aby v každé klauzuli Ci byl alespoň jeden z literálů ohodnocen t...

Více

Rasterizace objektů

Rasterizace objektů Jedná se o přı́růstkový algoritmus pro výpočet bodů úsečky. Postup spočı́vá v tom, že postupně zvedáme o jeden pixel hodnoty na x-ové souřadné ose a dopočı́táváme odpovı́dajı́cı...

Více

Stieltjesu˚v integra´l (Kurzweilova teorie) Milan Tvrdy´

Stieltjesu˚v integra´l (Kurzweilova teorie) Milan Tvrdy´ na Přı́rodovědecké fakultě Palackého univerzity v Olomouci v rámci výuky matematické analýzy. Jsem vděčen Katedře matematické analýzy a aplikacı́ matematiky Přı́rodovědecké fakulty...

Více

Vyuºití evolu£ních technik v léka°°ské diagnostice

Vyuºití evolu£ních technik v léka°°ské diagnostice mnoho jiných optimalizačnı́ch metod pracuje algoritmus cyklicky. Jednotlivé kroky jsou zde stručně popsány. Vytvořenı́ počátečnı́ populace. Klasické optimalizačnı́ metody obvykle vychá...

Více