Kruskaluv algoritmus - Seminární práce z predmetu Algoritmy
Transkript
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
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íce1 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íce23 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ícehgfhgfh
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íceLiteratura
[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ícePolynomiá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íceRasterizace 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íceStieltjesu˚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íceVyuº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