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...
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 |...
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
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...
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...
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...
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ı...
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...
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á...