Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Spannbaum

Ein Spannbaum eines Graphen kann in linearer Zeit entweder durch Tiefensuche oder durch Breitensuche gefunden werden. Beide Algorithmen untersuchen den …

Inhalt4 Abschnitte
  1. 1. Grundidee und Voraussetzungen
  2. 2. Verwandte Formen und minimale Spannbäume
  3. 3. Berechnung von Spannbäumen
  4. 4. Praktische Anwendungen

Grundidee und Voraussetzungen

Ein Spannbaum, auch aufspannender Baum oder Gerüst, ist in der Graphentheorie ein Teilgraph eines ungerichteten Graphen. Er ist ein Baum, enthält also keine Zyklen, und enthält zugleich alle Knoten des ursprünglichen Graphen. Spannbäume existieren nur bei zusammenhängenden Graphen.

Für den vollständigen Graphen Kₙ gibt die Cayley-Formel die Anzahl verschiedener Spannbäume an: n^(n−2). Für K₄ gibt es daher 4^(4−2) = 16 Spannbäume.

Verwandte Formen und minimale Spannbäume

Ein Spannwald, auch Gerüst oder aufspannender Wald, enthält für jede Zusammenhangskomponente eines Graphen einen Spannbaum. Deshalb kann ein Spannwald auch für einen nicht zusammenhängenden Graphen gebildet werden. In einem zusammenhängenden Graphen sind Gerüst und Spannbaum identisch; für unzusammenhängende Graphen existiert dagegen per Definition kein Spannbaum.

In einem kantengewichteten Graphen ist das Gewicht eines Graphen die Summe seiner Kantengewichte. Ein minimaler Spannbaum ist ein Spannbaum, für den kein anderer Spannbaum desselben Graphen ein geringeres Gewicht besitzt. Übliche Abkürzungen sind MST (Minimum Spanning Tree) und MCST (Minimum Cost Spanning Tree). Bei einem Gerüst spricht man auch von Minimalgerüst oder einem Gerüst kleinsten Wertes. Ist die Kantengewichtungsfunktion injektiv, also haben keine zwei Kanten dasselbe Gewicht, dann ist der minimale Spannbaum eindeutig.

Ein k-Spanner ist ein aufspannender Teilgraph, in dem die Distanz jedes Knotenpaares höchstens das k-Fache seiner Distanz im ursprünglichen Graphen beträgt. Bei einem gradbeschränkten Spannbaum ist außerdem begrenzt, wie viele Kanten an einem Knoten zusammenlaufen dürfen.

Berechnung von Spannbäumen

Für einen Graphen G = (V,E) kann ein nicht minimaler Spannbaum mit Breiten- oder Tiefensuche in O(|V| + |E|) gefunden werden. Beide Verfahren starten bei einem beliebigen Knoten und untersuchen schrittweise Nachbarn bereits gefundener Knoten. Jeder neu gefundene Knoten wird mit dem Knoten verbunden, von dem aus er entdeckt wurde; dieser Startknoten ist die Wurzel des entstehenden Baums.

Der Unterschied liegt in der Datenstruktur für noch zu untersuchende Knoten: Die Tiefensuche verwendet einen Stapelspeicher, die Breitensuche eine Warteschlange. Die resultierenden Bäume heißen entsprechend Tiefensuchbaum beziehungsweise Breitensuchbaum.

Minimale Spannbäume lassen sich unter anderem mit den Algorithmen von Prim, Kruskal und Borůvka berechnen. Sie erweitern jeweils iterativ eine Teilmenge der Kanten E zu einem minimalen Spannbaum, unterscheiden sich jedoch in ihren Ansätzen zur parallelen Berechnung. Ein weiteres Verfahren ist der Algorithmus von Chazelle. Mit einer linearen Anzahl von Prozessoren kann das Problem in O(log n) Zeit gelöst werden. Bader und Cong beschreiben einen Algorithmus, der auf acht Prozessoren minimale Spannbäume fünffach schneller berechnet als ein optimierter sequentieller Algorithmus. Für das External-Memory-Modell gibt es spezialisierte Verfahren, die laut ihren Autoren nur 2–5-mal langsamer als Algorithmen sind, die ausschließlich im Hauptspeicher arbeiten.

Für Parallelrechner und verteilte Systeme sind die gewöhnliche Tiefen- und Breitensuche nicht gut geeignet; dafür wurden spezialisierte Algorithmen entwickelt. Bei endlichen Punktmengen in einem geometrischen Raum werden Punktabstände als Kantengewichte verwendet. Ein euklidischer minimaler Spannbaum entspricht damit einem minimalen Spannbaum eines vollständigen Graphen mit euklidischen Kantengewichten. Der vollständige Graph muss aber nicht erzeugt werden: In der euklidischen Ebene kann zunächst eine Delaunay-Triangulierung gebildet und darauf ein linearer MST-Algorithmus für planare Graphen angewendet werden. Die Laufzeit liegt dann in der Größenordnung O(n · log n).

Praktische Anwendungen

Minimale Spannbäume helfen, kostengünstige zusammenhängende Netzwerke zu planen, etwa Telefonnetze oder elektrische Netze. Städte können so verbunden werden, dass beispielsweise möglichst wenig Kabelkosten entstehen. In Rechnernetzen mit redundanten Wegen verhindern Spannbäume durch das Spanning Tree Protocol Paketverdopplungen, die durch Broadcasts entstehen können.

MST-Algorithmen sind außerdem Bausteine komplexerer Algorithmen, etwa von Approximationsalgorithmen für das Problem des Handlungsreisenden (travelling salesman problem, TSP; MST-Heuristik) und für das Steinerbaumproblem. Das Steinerbaumproblem verallgemeinert die Suche nach einem minimalen Spannbaum.

Bei der algorithmischen Erzeugung von Labyrinthen steht ein Knoten des Spannbaums für ein Feld und eine Kante für einen möglichen Übergang zu einem Nachbarfeld. Eine fehlende Kante entspricht einer Wand. Weil jeder Spannbaum zyklenfrei ist, besitzt ein auf diese Weise erzeugtes Labyrinth stets genau einen Lösungsweg.

Lernvideos zu Spannbaum

Weiterlesen

Falscher Freund Englische falsche Freunde ; undertaker, Unternehmer, Bestatter (beachte aber: undertaking = Unternehmen) ; warehouse, Warenhaus, Lager(halle), Großmarkt ; website … Graphentheorie Die Graphentheorie (seltener auch Grafentheorie) ist ein Teilgebiet der diskreten Mathematik und der theoretischen Informatik. Betrachtungsgegenstand der … Baum (Graphentheorie) Ein Baum ist in der Graphentheorie ein spezieller Typ von Graph, der zusammenhängend ist und keine geschlossenen Pfade enthält, d. h. ein Graph, … Graph (Graphentheorie) Ein Graph ist in der Graphentheorie eine abstrakte Struktur, die eine Menge von Objekten zusammen mit den zwischen diesen Objekten bestehenden Verbindungen … Breitensuche Breitensuche (englisch breadth-first search, BFS) ist ein Verfahren in der Informatik zum Durchsuchen bzw. Durchlaufen der Knoten eines Graphen. Tiefensuche Tiefensuche (englisch depth-first search, DFS) ist in der Informatik ein Verfahren zum Suchen von Knoten in einem Graphen. Sie zählt zu den uninformierten … Algorithmus von Prim Der Algorithmus von Prim dient der Berechnung eines minimalen Spannbaumes in einem zusammenhängenden, ungerichteten, kantengewichteten Graphen. Algorithmus von Kruskal Der Algorithmus von Kruskal ist ein Greedy-Algorithmus der Graphentheorie zur Berechnung minimaler Spannbäume von ungerichteten Graphen. Der Graph muss dazu … Algorithmus von Borůvka Der Algorithmus von Borůvka gilt als erster Algorithmus zum Auffinden minimaler Spannbäume in ungerichteten Graphen. Er wurde 1926 von dem tschechischen … External Memory Minimaler Spannbaum Ein externer minimaler Spannbaum bezeichnet in der Informatik einen minimalen Spannbaum, der für einen in den Sekundärspeicher ausgelagerten Graphen G = ( V … Algorithmus Algorithmen bestehen aus endlich vielen, wohldefinierten Einzelschritten. ... Damit können sie zur Ausführung in ein Computerprogramm implementiert, aber auch in … Datenstruktur In der Informatik und Softwaretechnik ist eine Datenstruktur ein Objekt, welches zur Speicherung und Organisation von Daten dient. Es handelt sich um eine …