Minimum udspændende Træer (MST)
|
|
|
- Eva Bjerregaard
- 9 år siden
- Visninger:
Transkript
1 Minimum udspændende Træer (MST)
2 Træer Et (frit/u-rodet) træ er en uorienteret graf G = (V, E) som er Sammenhængende: der er en sti mellem alle par af knuder. Acyklisk: der er ingen kreds af kanter. Træ Skov Graf med kreds (ikke træ) (Uorienteret, acyklisk graf = skov af træer.).
3 Træer Sætning (B.2): For uorienteret graf G = (V, E) er flg. ækvivalent (gælder det ene, gælder det andet): G er et træ (dvs. sammenhængende og acyklisk). G er sammenhængende, men er det ikke hvis nogen kant fjernes. G er sammenhængende og m = n 1. G er acyklisk, men er det ikke hvis nogen kant tilføjes. G er acyklisk og m = n 1. Mellem alle par af knuder er der præcis een vej. Bevis (ikke pensum): se appendix B.5. Læs (pensum) appendix B.4 og B.5 for basale definitioner for grafer.
4 Minimum Spanning Tree (MST) Udspændende træ for sammenhængende graf G = (V, E): En delgraf T = (V, E ), E E, som er et træ (NB: samme knudemængde V ). Iflg. sætning ovenfor har alle udspændende træer samme antal kanter (m = n 1). Minimum udspændende Træ (MST) for en vægtet sammenhængende graf G: et udspændende træ for G som har mindst mulig sum af kantvægte (intet udspændende træ har mindre sum). Motivation: forbind punkter i et forsyningsnetværk (elektricitet, olie,... ) billigst muligt. Kant = mulig forbindelse, vægt = pris for at etablere forbindelse. Dette var motivationen for den første algoritme for problemet (Bor uvka, 1926, Østrig-Ungarn, nu Tjekkiet).
5 Algoritmer for MST Grundidé: Byg MST ved at vælge kanterne een efter een. Vedligehold følgende Invariant: Der findes et MST som indeholder de valgte kanter A. Safe kant for A: kant som kan tilføjes uden at ødelægge invarianten (mindst een må findes når invarianten gælder og A < n 1). Initialisering: Enhver sammenhængende graf har et mindst eet ST (via sætningen fra B.5, punkt 2 - fjern kanter til betingelsen nås), og har derfor et MST. Dette indeholder mængden. Vedligeholdelse: Per definition af safe. Terminering: ethvert (M)ST indeholder præcis n 1 kanter. Da A vokser med een kant per iteration, giver invarianten at algoritmen terminerer, og at A da er et MST (A er indeholdt i et MST, og har samme antal kanter som dette, er derfor lig dette).
6 Cut-sætning Cut: En delmængde S af knuderne. Kan ses som en to-deling af knuderne i to mængder S og V S. Kant henover cut: en kant i S (V S).
7 Cut-sætning Sætning: Hvis så der eksisterer et MST som indeholder A, S er et cut som A ikke har kanter henover, e er en letteste kant blandt kanterne henover cuttet, er e safe for A (dvs. der der eksisterer et MST som indeholder A {e}).
8 Cut-sætning Bevis: Der findes et MST T som indeholder A. Vi skal lave et MST T som indeholder A {e}. Lad e = (u, v) være en letteste kant henover cuttet S. Da T er sammenhængdende, må der være en sti i T mellem u og v, hvorpå der er mindst een kant (x, y) henover cuttet S. Lad T være T med (x, y) udskiftet til e = (u, v):
9 Cut-sætning Lad T være T med (x, y) udskiftet til e = (u, v): Som T er T stadig sammenhængende (i alle stier kan (x, y) erstattes af resten af stien fra u til v, samt kanten (u, v)), og har T n 1 kanter. Det er derfor et træ (pga. sætning tidligere). Det er klart stadig udspændende. Det kan kun være lettere end T. Det indeholder A {e} (da fjernede kant (x, y) ikke er i A).
10 Prim-Jarnik MST-algoritmen (Prim 1957, Jarnik 1930) A er eet træ. Bruger cut-sætningen med S = alle knuder i A.
11 Prim-Jarnik MST-algoritmen (Prim 1957, Jarnik 1930) A er eet træ. Bruger cut-sætningen med S = alle knuder i A. Invariant: En knude v V S opbevarer information om sin korteste kant henover cut i v.key og v.π. V S opbevares i en (min-)prioritetskø. Korrekthed: via cut-sætningen og invarianten. Køretid: n Insert, n ExtractMin, m DecreaseKey på prioritetskø af størrelse O(n), i alt O(m log n).
12 Kruskal MST-algoritmen (1956) A er en skov. Bruger cut-sætningen med S = knuderne i eet af træerne i A. Forsøger at tilføje kanter til A i letteste-først-orden. Tilføjer kun kant (u, v) til A hvis der ikke laves en kreds, dvs. hvis u og v ligger i forskellige træer. Hvis (u, v) tilføjes, vil disse to træer blive til eet bagefter.
13 Kruskal MST-algoritmen (1956)
14 Kruskal MST-algoritmen (1956)
15 Kruskal MST-algoritmen (1956) Tilføjer kun kant (u, v) til A hvis der ikke laves en kreds, dvs. hvis u og v ligger i forskellige træer. Hvis (u, v) tilføjes, vil disse to træer blive til eet bagefter. Vedligeholder opdelingen i træer i A ved hjælp af en disjoint-set datastruktur på V : Make-Set(x), Union(x, y) Find-Set(x)
16 Kruskal MST-algoritmen (1956) Lemma: der findes en datastruktur for disjoint-sets hvor n Make-Set(x) n 1 Union(x, y) m Find-Set(x) tager i alt O(m + n log n) tid.
17 Kruskal MST-algoritmen (1956) Invariant: 1. Der er en sti fra v til u af kanter i A u og v ligger i samme mængde i Disjoint-Set datastrukturen. 2. Når en kant forsøges tilføjet A, har enhver tidligere forsøgt kant begge sine endepunkter i samme mængde i Disjoint-Set datastrukturen.
18 Kruskal MST-algoritmen (1956) Korrekthed: Via cut-sætningen og del 2) af invarianten, som viser at en tilføjet kant (u, v) er en letteste henover et cut (nemlig cuttet givet ved knudemængden Find-Set(u)), ses at A altid er indeholdt i et MST. Når algoritmen stopper, kan der kun være een mængde tilbage i Disjoint-Set datastrukturen, af del 1) af invarianten (da den oprindelige graf er sammenhængende), ellers er der en kant, som ikke er blevet testet. Derfor er der lavet n 1 unions, og dermed er A = n 1, så A er selv dette MST. Køretid: Sortér m kanter, lav n Make-Set, n 1 Union, m Find-Set. I alt O(m log m).
Minimum udspændende Træer (MST)
Minimum udspændende Træer (MST) Træer Et (frit/u-rodet) træ er en uorienteret graf G = (V, E) som er Sammenhængende: der er en sti mellem alle par af knuder. Acyklisk: der er ingen lukket kreds af kanter
Mindste udspændende træ
Mindste udspændende træ Introduktion Repræsentation af vægtede grafer Egenskaber for mindste udspændende træer Prims algoritme Kruskals algoritme Philip Bille Mindste udspændende træ Introduktion Repræsentation
Mindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion
Philip Bille Introduktion (MST). Udspændende træ af minimal samlet vægt. Introduktion (MST). Udspændende træ af minimal samlet vægt. 0 0 Graf G Ikke sammenhængende Introduktion (MST). Udspændende træ af
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 22. juni 2012, kl. 9.00-13.00 Eksamenslokale: Finlandsgade
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET
INSTITUT FOR ATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Algoritmer og atastrukturer (00-ordning) Antal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Fredag den. august 0,
Grådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grafer og graf-gennemløb
Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Figur: Terminologi: n = V, m = E (eller V og E (mis)bruges som V og E ).
Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Skriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.
Sammenhængskomponenter i grafer
Sammenhængskomponenter i grafer Ækvivalensrelationer Repetition: En relation R på en mængde S er en delmængde af S S. Når (x, y) R siges x at stå i relation til y. Ofte skrives x y, og relationen selv
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 6. juni 2016, kl. 15:00 19:00 Besvarelsen skal afleveres elektronisk. Se
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Tirsdag den 24. juni 2014, kl. 10:00 14:00 Besvarelsen skal afleveres elektronisk. Se
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET
INSTITUT FOR DTOI, RUS UNIVERSITET Science and Technology ESEN lgoritmer og Datastrukturer (00-ordning) ntal sider i opgavesættet (incl. forsiden): (elleve) Eksamensdag: Fredag den. juni 0, kl. 9.00-.00
Prioritetskøer og hobe. Philip Bille
Prioritetskøer og hobe Philip Bille Plan Prioritetskøer Træer Hobe Repræsentation Prioritetskøoperationer Konstruktion af hob Hobsortering Prioritetskøer Prioritetskø Vedligehold en dynamisk mængde S af
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2010 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 24. april, 2010 (let justeret 10. maj og 21. maj 2010) Dette projekt udleveres i tre
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
Algoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er)
Algoritmeanalyse Identificer essentiel(le) operation(er) Øvre grænse for algoritme Find øvre grænse for antallet af gange de(n) essentielle operation(er) udføres. Øvre grænse for problem Brug øvre grænse
DMG Bachelor Maj/Juni 2002
Indholdsfortegnelse 1 INDLEDNING... 2 1.1 PROBLEMFORMULERING... 2 1.2 FORMÅL... 2 1.3 MÅL... 2 2 PROBLEMANALYSE... 3 2.1 INDLEDNING... 3 2.2 TRANSPARENTE BROER I COMPUTERNETVÆRK... 3 2.3 ROUTERE I COMPUTERNETVÆRK...
Forén og find. Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter.
Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening Stikompression Dynamiske sammenhængskomponenter Philip Bille Forén og find Introduktion Hurtig find Hurtig forening Vægtet forening
P2-projektforslag Kombinatorik: grafteori og optimering.
P2-projektforslag Kombinatorik: grafteori og optimering. Vejledere: Leif K. Jørgensen, Diego Ruano 1. februar 2013 1 Indledning Temaet for projekter på 2. semester af matematik-studiet og matematikøkonomi-studiet
Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomiel tid
6 april Løsning af N P -hårde problemer Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomiel tid Oversigt Grænseværdier (repetition) Branch-and-bound algoritmens komponenter Eksempler
02105 Eksamensnoter. Lasse Herskind S maj Sortering 3
02105 Eksamensnoter Lasse Herskind S153746 12. maj 2017 Indhold 1 Sortering 3 2 Analyse af algoritme 4 2.1 Køretid.......................................... 4 2.2 Pladsforbrug.......................................
Grafteori, Kirsten Rosenkilde, september 2007 1. Grafteori
Grafteori, Kirsten Rosenkilde, september 007 1 1 Grafteori Grafteori Dette er en kort introduktion til de vigtigste begreber i grafteori samt eksempler på opgavetyper inden for emnet. 1.1 Definition af
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 29. april, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
DATALOGI 0GB. Skriftlig eksamen tirsdag den 6. januar 2004
Københavns Universitet bacheloruddannelsen i datalogi side 1 af 6 DATALOGI 0GB Skriftlig eksamen tirsdag den 6. januar 2004 Dette opgavesæt består af 6 nummererede sider. Eksamensdeltagerne bør straks
Danmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk
Vægtede grafer. I en vægtet graf har enhver kant tilknyttet en numerisk værdi, kaldet kantens vægt
Korteste veje 1 Vægtede grafer HNL I en vægtet graf har enhver kant tilknyttet en numerisk værdi, kaldet kantens vægt Vægte kan repræsentere afstande, omkostninger, o.s.v. Eksempel: I en flyrutegraf repræsenterer
Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse
Bevisteknikker Bevisteknikker (relevant både ved design og verifikation) Bevisførelse ved modstrid (indirekte bevis) Antag, at det givne teorem er falsk Konkluder, at dette vil føre til en modstrid Teorem:
Borgerhenvendelse 1. Til Ringsted kommune TU. Vedr. kørsel til Kilden i store Bøgeskov.
Borgerhenvendelse 1 Til Ringsted kommune TU Vedr. kørsel til Kilden i store Bøgeskov. Vi er mange borgere, som primært bor i Sorø kommune, der færdes i vore skove og andre rekreative områder Bl. a. i Store
Kapitel 9: Netværksmodeller
Kapitel 9: Netværksmodeller Terminologi: Et netværk eller en graf bestar af et sæt punkter samt et sæt linier, der forbinder par af punkter; netværket betegnes som komplet, hvis ethvert par af punkter
Divide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
Kapitel 9: Netværksmodeller
Kapitel 9: Netværksmodeller Terminologi: Et netværk eller en JUDI bestar af et sæt punkter samt et sæt linier, der forbinder par af punkter; netværket betegnes som komplet, hvis ethvert par af punkter
Divide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer (af samme type). 2. Løs delproblemerne ved rekursion (dvs. kald algoritmen
Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er
Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er en unik simpel vej mellem ethvert par af punkter i
DM02 opgaver ugeseddel 2
DM0 opgaver ugeseddel af Fiona Nielsen 16. september 003 Øvelsesopgaver 9/9, 10/9 og 11/9 1. Vis, at 1 3 + 3 3 + 5 3 +... + (n 1) 3 = n 4 n. Omskriver til summationsformel: (i 1) 3 = n 4 n Bevis ved induktion
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 15. marts, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Kom i gang-opgaver til differentialregning
Kom i gang-opgaver til differentialregning 00 Karsten Juul Det er kortsigtet at løse en opgave ved blot at udskifte tallene i en besvarelse af en tilsvarende opgave Dette skyldes at man så normalt ikke
DM72 Diskret matematik med anvendelser
DM72 Diskret matematik med anvendelser En hurtig gennemgang af de vigtigste resultater. (Dvs. ikke alle resultater). Logik Åbne udsagn 2 + 3 = 5 Prædikater og kvantorer P (x) := x er et primtal x N : n
Divide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)
Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 3 Januar 2011, kl. 9 13 Alle sædvanlige hjælpemidler
