Kurs:Algorithmen und Datenstrukturen/Vorlesung/Spannbäume1

Aus testwiki
Zur Navigation springen Zur Suche springen

Vorlage:Navigationsleiste/Algorithmen und Datenstrukturen

Spannbäume

Auf dieser Seite werden Spannbäume und in diesem Zusammenhang der Algorithmus von Prim behandelt.

Beispiel Kommunikationsnetz

Zwischen n Knotenpunkten v1...vn soll ein möglichst billiges Kommunikationsnetz geschaltet werden, so dass jeder Knotenpunkt mit jedem anderen verbunden ist, ggf. auf einem Umweg über andere Knotenpunkte. Bekannt sind die Kosten cij für die direkte Verbindung zwischen vi und vj1i,jn. Alle Kosten cij seien verschieden und größer Null. Die Modellierung geschieht somit als gewichteter, ungerichteter und vollständiger Graph mit einer Gewichtungsfunktion c.

Kommunikationsnetz
Kommunikationsnetz

G=(V,E)

V={v1,...,v5}

E={(v1,v2),(v1,v3),(v1,v4),(v1,v5),(v2,v3),(v2,v4),(v2,v5),(v3,v4),(v3,v5),(v4,v5)}

c((v1,v2))=6,c((v1,v3))=7 etc; abgekürzt c1,2=6,c1,3=7 etc

Problemstellung: Finde minimal aufspannenden Baum

Einige Definitionen für ungerichtete Graphen:

Ein Graph G=(V,E) heißt zusammenhängend, wenn für alle v,w∈V ein Pfad von v nach w in G existiert.

Ein Graph G=(V,E) enthält einen Zyklus, wenn es unterschiedliche Knoten v1,...,vnV gibt, so dass {v1,v2},...,{vn1,vn},{vn,v1}E. Ein Graph G=(V,E) heißt Baum, wenn er zusammenhängend ist und keinen Zyklus enthält.

Ein Graph G’=(V’,E’) heißt Teilgraph von G=(V,E), wenn VV und EE(VxV).

Ein Graph G’=(V’,E’) heißt induzierter Teilgraph von G=(V,E) bzgl. VV, wenn E=E(VxV)

Ein Graph G‘=(V‘,E‘) heißt Spannbaum von G=(V,E), wenn V'=V und G' ein Teilgraph von G und ein Baum ist.

Das Gewicht einen Graphen G=(V,E) ist C(G)=(i,j)Eci,j.

Ein Graph G'=(V',E') ist ein minimaler Spannbaum von G=(V,E), wenn G' ein Spannbaum von G ist und G' unter allen Spannbäumen von G das minimalste Gewicht hat.  


Discussion