„Baum (Graphentheorie)“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Tippfehler entfernt
weitere Eigenschaften hinzugefügt
Zeile 1: Zeile 1:
Ein '''Baum''' ist in der [[Graphentheorie]] ein spezieller Typ von [[Graph (Graphentheorie)|Graph]], der zusammenhängend ist und keine geschlossenen [[Weg (Graphentheorie)|Pfade]] enthält, d. h. damit lässt sich eine [[Monohierarchie]] modellieren. Je nachdem, ob die [[Kante (Graphentheorie)|Kanten]] des Baums eine ausgezeichnete (und einheitliche) Richtung besitzen, lassen sich graphentheoretische Bäume unterteilen in [[Ungerichteter Baum|ungerichtete Bäume]] und [[Gewurzelter Baum|gewurzelte Bäume]], und für gewurzelte Bäume in [[Out-Tree]]s, bei denen die Kanten von der Wurzel ausgehen, und [[In-Tree]]s, bei denen Kanten in Richtung Wurzel zeigen.
Ein '''Baum''' ist in der [[Graphentheorie]] ein spezieller Typ von [[Graph (Graphentheorie)|Graph]], der zusammenhängend ist und keine geschlossenen [[Weg (Graphentheorie)|Pfade]] enthält, d. h. damit lässt sich eine [[Monohierarchie]] modellieren. Je nachdem, ob die [[Kante (Graphentheorie)|Kanten]] des Baums eine ausgezeichnete (und einheitliche) Richtung besitzen, lassen sich graphentheoretische Bäume unterteilen in [[Ungerichteter Baum|ungerichtete Bäume]] und [[Gewurzelter Baum|gewurzelte Bäume]], und für gewurzelte Bäume in [[Out-Tree]]s, bei denen die Kanten von der Wurzel ausgehen, und [[In-Tree]]s, bei denen Kanten in Richtung Wurzel zeigen.


Ein Baum ist ein [[Wald (Graphentheorie)|Wald]] mit genau einer [[Zusammenhangskomponente (Graphentheorie)|Zusammenhangskomponente]].<ref name=":0">{{Literatur |Autor=Diestel, Reinhard. |Titel=Graphentheorie |Hrsg= |Sammelwerk= |Band= |Nummer= |Auflage=3., neu bearb. und erw. Aufl |Verlag=Springer |Ort=Berlin |Datum=2006 |ISBN=3-540-21391-0 |Seiten=14}}</ref>
[[Datei:Caylrich-first-trees.png|mini|Darstellung aller Bäume<ref group="Anm.">Einige der dargestellten Bäume sind [[Isomorphie von Graphen|isomorph]] zueinander; nämlich beide Bäume in Fig. 2 sowie in Fig. 3 (von links gezählt) die Bäume 1 und 3 sowie 2 und 4.</ref> mit einer, zwei oder drei Kanten bei der ersten mathematischen Modellierung von Bäumen durch [[Arthur Cayley]] (1857)]]


[[Datei:Caylrich-first-trees.png|mini|Darstellung aller Bäume<ref group="Anm.">Einige der dargestellten Bäume sind [[Isomorphie von Graphen|isomorph]] zueinander; nämlich beide Bäume in Fig. 2 sowie in Fig. 3 (von links gezählt) die Bäume 1 und 3 sowie 2 und 4. Es sind nur ungerichtete Bäume dargestellt. Fasst man den obersten Knoten als Wurzel auf, so ergeben sich entsprechend unterschiedliche (heteromorphe) gewurzelte Bäume.</ref> mit einer, zwei oder drei Kanten bei der ersten mathematischen Modellierung von Bäumen durch [[Arthur Cayley]] (1857)]]
Durch Entfernen einer Kante zerfällt ein Baum in zwei ''Teilbäume'' und bildet damit einen [[Wald (Graphentheorie)|Wald]] mit zwei Komponenten. Durch Hinzufügen einer Kante (zwischen zwei vorhandenen Knoten oder auch von einem zu ihm selbst) entsteht ein [[Kreis (Graphentheorie)|Kreis]].<ref>{{Literatur |Autor=Hußmann, Stephan; Lutz-Westphal, Brigitte |Titel=Kombinatorische Optimierung erleben : in Studium und Unterricht |Hrsg= |Sammelwerk= |Band= |Nummer= |Auflage=1. Aufl |Verlag=Vieweg |Ort=Wiesbaden |Datum=2007 |ISBN=978-3-528-03216-6 |Seiten=47}}</ref>


== Definitionen ==
== Definitionen ==
Zeile 18: Zeile 18:
Werden die Richtungen aller Kanten eines solchen Graphen invertiert, so wird er zu einem [[In-Tree]]. Dieser wird ebenfalls als gewurzelter Baum angesehen.
Werden die Richtungen aller Kanten eines solchen Graphen invertiert, so wird er zu einem [[In-Tree]]. Dieser wird ebenfalls als gewurzelter Baum angesehen.


Man kann jeden ungerichteten Baum an einem beliebigen Knoten <math>w</math> fassen und „schütteln“ – die Schwerkraft gibt allen Kanten eine definierte Richtung von <math>w</math> weg, die aus dem ursprünglich ungerichteten Baum einen gewurzelten macht mit <math>w</math> als Wurzel.
Man kann jeden ungerichteten Baum an einem beliebigen Knoten <math>w</math> fassen und „schütteln“ – die Schwerkraft gibt allen Kanten eine definierte Richtung von <math>w</math> weg, die aus dem ursprünglich ungerichteten Baum einen gewurzelten machen mit <math>w</math> als Wurzel.


Den <math>m</math> Kanten eines ungerichteten Baums kann man <math>2^m</math> verschiedene Richtungen geben und so <math>2^m</math> gerichtete Bäume ableiten. Genau <math>n = m+1</math> davon sind Out-Trees und ebenso viele sind In-Trees. Entfernt man umgekehrt bei einem gerichteten Baum die Orientierung der Kanten, so erhält man einen (ungerichteten) Baum.
Den <math>m</math> Kanten eines ungerichteten Baums kann man <math>2^m</math> verschiedene Richtungen geben und so <math>2^m</math> gerichtete Bäume ableiten. Genau <math>n = m+1</math> davon sind Out-Trees und ebenso viele sind In-Trees. Entfernt man umgekehrt bei einem gerichteten Baum die Orientierung der Kanten, so erhält man einen ungerichteten Baum.


== Äquivalente Charakterisierungen von Bäumen ==
== Äquivalente Charakterisierungen von Bäumen ==
Zeile 33: Zeile 33:


== Weitere Eigenschaften ==
== Weitere Eigenschaften ==
Durch Entfernen einer Kante zerfällt ein Baum in zwei ''[[Teilgraph|Teilbäume]]'' und bildet damit einen [[Wald (Graphentheorie)|Wald]] mit zwei Komponenten. Durch Entfernen eines Knoten zerfällt ein Baum in einen Wald aus k Bäumen, mit k als Gradzahl des entfernten Knotens<ref>{{Literatur |Autor=Steger, Angelika. |Titel=Diskrete Strukturen. Bd. 1. Kombinatorik, Graphentheorie, Algebra. |Hrsg= |Sammelwerk= |Band=1 |Nummer= |Auflage=2. Aufl |Verlag=Springer |Ort=Berlin |Datum= |ISBN=978-3-540-46660-4 |Seiten=65}}</ref>. Entfernt man von einem Baum ein Blatt (k=1), so ist der Rest immer noch ein Baum (eine Komponente).<ref name=":0" />
Bäume sind aufgrund der Kreisfreiheit stets auch [[Bipartiter Graph|bipartit]].

Durch Hinzufügen einer Kante zwischen zwei vorhandenen Knoten entsteht (im ungerichteten Baum) ein [[Kreis (Graphentheorie)|Kreis]].<ref>{{Literatur |Autor=Hußmann, Stephan; Lutz-Westphal, Brigitte |Titel=Kombinatorische Optimierung erleben : in Studium und Unterricht |Hrsg= |Sammelwerk= |Band= |Nummer= |Auflage=1. Aufl |Verlag=Vieweg |Ort=Wiesbaden |Datum=2007 |ISBN=978-3-528-03216-6 |Seiten=47}}</ref>

Bäume sind aufgrund der Kreisfreiheit stets auch [[Bipartiter Graph|bipartit]] und können [[Topologische Sortierung|topologisch sortiert]] werden.

Bäume sind [[Planarer Graph|planar]].


== Spezielle Bäume ==
== Spezielle Bäume ==

Version vom 30. Januar 2020, 23:55 Uhr

Ein Baum ist in der Graphentheorie ein spezieller Typ von Graph, der zusammenhängend ist und keine geschlossenen Pfade enthält, d. h. damit lässt sich eine Monohierarchie modellieren. Je nachdem, ob die Kanten des Baums eine ausgezeichnete (und einheitliche) Richtung besitzen, lassen sich graphentheoretische Bäume unterteilen in ungerichtete Bäume und gewurzelte Bäume, und für gewurzelte Bäume in Out-Trees, bei denen die Kanten von der Wurzel ausgehen, und In-Trees, bei denen Kanten in Richtung Wurzel zeigen.

Ein Baum ist ein Wald mit genau einer Zusammenhangskomponente.[1]

Darstellung aller Bäume[Anm. 1] mit einer, zwei oder drei Kanten bei der ersten mathematischen Modellierung von Bäumen durch Arthur Cayley (1857)

Definitionen

Ungerichteter Baum mit vier inneren Knoten (schwarz) und fünf Blättern (weiß)

Ein (ungerichteter) Baum ist ein zusammenhängender kreisfreier ungerichteter Graph. Die Knoten mit Grad 1 heißen Blätter, die übrigen Knoten heißen innere Knoten.

Gewurzelter Baum (hier: Out-Tree) mit einer Wurzel (umrandet), vier inneren Knoten (schwarz) und fünf Blättern (weiß)

Ein gerichteter Baum ist ein gerichteter Graph, der ein (ungerichteter) Baum ist, wenn man die Richtungen der Kanten ignoriert. Er ist also ein gerichteter schwach zusammenhängender kreisfreier Graph. Bei vielen Autoren müssen die Richtungen einheitlich von einem Knoten weg oder auf einen Knoten zu orientiert sein. Dafür gibt es aber auch den (schärferen) Begriff des gewurzelten Baums.

Ein gewurzelter Baum ist ein gerichteter von einem Knoten aus stark zusammenhängender kreisfreier Graph. Der den starken Zusammenhang definierende Knoten wird Wurzel genannt. Er hat Eingangsgrad 0 und ist der einzige Knoten mit dieser Eigenschaft. Alle Knoten mit Ausgangsgrad 0 heißen Blätter. Alle Knoten mit positivem Ausgangsgrad heißen innere Knoten. So geht die Definition eines Out-Trees.

Werden die Richtungen aller Kanten eines solchen Graphen invertiert, so wird er zu einem In-Tree. Dieser wird ebenfalls als gewurzelter Baum angesehen.

Man kann jeden ungerichteten Baum an einem beliebigen Knoten fassen und „schütteln“ – die Schwerkraft gibt allen Kanten eine definierte Richtung von weg, die aus dem ursprünglich ungerichteten Baum einen gewurzelten machen mit als Wurzel.

Den Kanten eines ungerichteten Baums kann man verschiedene Richtungen geben und so gerichtete Bäume ableiten. Genau davon sind Out-Trees und ebenso viele sind In-Trees. Entfernt man umgekehrt bei einem gerichteten Baum die Orientierung der Kanten, so erhält man einen ungerichteten Baum.

Äquivalente Charakterisierungen von Bäumen

Ein endlicher Graph mit Knoten und Kanten kann durch folgende äquivalente Aussagen als Baum definiert werden:

  • Zwischen je zwei Knoten von gibt es genau einen Pfad.
  • ist zusammenhängend und enthält keinen Kreis
  • ist leer oder ist zusammenhängend und es gilt . (Es gibt immer eine Kante weniger als Knoten.)
  • ist leer oder enthält keinen Kreis und es gilt .
  • ist minimal zusammenhängend, das heißt ist zusammenhängend, aber nicht mehr zusammenhängend, sobald man eine beliebige Kante daraus entfernt.
  • ist maximal azyklisch, das heißt ist kreisfrei, aber jede weitere Kante zwischen zwei beliebigen Knoten erzeugt einen Kreis.

Im Falle unendlicher Graphen müssen hier die dritte und vierte Bedingung aus der Äquivalenz ausgenommen werden.

Weitere Eigenschaften

Durch Entfernen einer Kante zerfällt ein Baum in zwei Teilbäume und bildet damit einen Wald mit zwei Komponenten. Durch Entfernen eines Knoten zerfällt ein Baum in einen Wald aus k Bäumen, mit k als Gradzahl des entfernten Knotens[2]. Entfernt man von einem Baum ein Blatt (k=1), so ist der Rest immer noch ein Baum (eine Komponente).[1]

Durch Hinzufügen einer Kante zwischen zwei vorhandenen Knoten entsteht (im ungerichteten Baum) ein Kreis.[3]

Bäume sind aufgrund der Kreisfreiheit stets auch bipartit und können topologisch sortiert werden.

Bäume sind planar.

Spezielle Bäume

Es existiert eine Vielzahl von Begriffen, die Bäume näher spezifizieren. So gibt es zum Beispiel

Zeichnen von Bäumen

Die grafische Ausgabe eines Baums ist ein nicht triviales Problem. Allgemein gilt, dass jeder Baum planar, das heißt ohne Überschneidungen der Kanten gezeichnet werden kann. Je nach Anwendungszweck gibt es weitere Wünsche an die Art der Ausgabe:

  • alle Kanten sind gerade Linien
  • alle Knoten haben ganzzahlige Koordinaten
  • möglichst kleiner Platzbedarf bei möglichst ästhetischem Ergebnis
  • alle Kanten vom Elternelement zum Kind streng monoton fallend

Es gibt verschiedene Algorithmen, deren Ergebnisse recht verschieden aussehen. Meist lösen sie nur einige, aber nicht alle Wünsche an die Ausgabe. Bekannte Algorithmen sind die HV-Bäume (Horizontal-Vertikal) und der Algorithmus von Walker.

Anzahl von Bäumen

Es gibt verschiedene bezeichnete Bäume mit Knoten. Diese Aussage ist als Cayley-Formel bekannt. Einen einfachen Beweis liefert der Prüfer-Code, der eine Bijektion zwischen allen möglichen Codes der Länge und allen bezeichneten Bäumen auf Knoten ermöglicht.

Spannbäume

Jeder ungerichtete, zusammenhängende Graph enthält einen ihn aufspannenden Baum als Teilgraphen. Minimale Spannbäume haben eine möglichst kleine Anzahl von Kanten oder eine möglichst kleine Summe der Kantengewichte. Die Berechnung minimaler Spannbäume findet direkte Anwendung in der Praxis, beispielsweise für die Erstellung von kostengünstigen zusammenhängenden Netzwerken, wie beispielsweise Telefonnetze oder elektrische Netze.

Verallgemeinerungen

Wald

Ein Wald ist ein ungerichteter Graph, dessen Zusammenhangskomponenten Bäume sind.

k-Baum

Ein ungerichteter Graph heißt -Baum, wenn er wie folgt rekursiv erzeugbar ist:

  • Der vollständige Graph ist ein -Baum.
  • Fügt man zu einem -Baum einen neuen Knoten hinzu, indem man mit allen Knoten einer Clique der Größe aus verbindet, so ist dieser neue Graph ebenfalls ein -Baum.

Ein partieller -Baum entsteht durch die Entfernung von Kanten aus einem -Baum: Ist ein -Baum, so ist mit ein partieller -Baum.[4][5][6][7]

Durch die angegebene Definition haben partielle k-Bäume immer mindestens k Knoten, was nicht immer wünschenswert ist. Darum gibt es auch die folgende Definition:

Eine weitere Eigenschaft ist, dass die Menge der partiellen k-Bäume gleich der Menge der Graphen mit Baumweite höchstens k ist.[11][12]

Siehe auch

Anmerkungen

  1. Einige der dargestellten Bäume sind isomorph zueinander; nämlich beide Bäume in Fig. 2 sowie in Fig. 3 (von links gezählt) die Bäume 1 und 3 sowie 2 und 4. Es sind nur ungerichtete Bäume dargestellt. Fasst man den obersten Knoten als Wurzel auf, so ergeben sich entsprechend unterschiedliche (heteromorphe) gewurzelte Bäume.

Literatur

  • Frank Gurski, Irene Rothe, Jörg Rothe, Egon Wanke: Exakte Algorithmen für schwere Graphenprobleme. Springer-Verlag, Berlin / Heidelberg 2010, ISBN 978-3-642-04499-1.
  • Sven Krumke, Hartmut Noltemeier: Graphentheoretische Konzepte und Algorithmen. 3. Auflage. Springer Vieweg Verlag, Wiesbaden 2012, ISBN 978-3-8348-1849-2.

Weblinks

Commons: Baumstrukturen – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. a b Diestel, Reinhard.: Graphentheorie. 3., neu bearb. und erw. Auflage. Springer, Berlin 2006, ISBN 3-540-21391-0, S. 14.
  2. Steger, Angelika.: Diskrete Strukturen. Bd. 1. Kombinatorik, Graphentheorie, Algebra. 2. Auflage. Band 1. Springer, Berlin, ISBN 978-3-540-46660-4, S. 65.
  3. Hußmann, Stephan; Lutz-Westphal, Brigitte: Kombinatorische Optimierung erleben : in Studium und Unterricht. 1. Auflage. Vieweg, Wiesbaden 2007, ISBN 978-3-528-03216-6, S. 47.
  4. Frank Gurski, Irene Rothe, Jörg Rothe, Egon Wanke: Exakte Algorithmen für schwere Graphenprobleme. Springer-Verlag, Berlin/Heidelberg 2010, ISBN 978-3-642-04499-1.
  5. Sven Krumke, Hartmut Noltemeier: Graphentheoretische Konzepte und Algorithmen. Vieweg+Teubner Verlag, 2012, ISBN 978-3-8348-2264-2.
  6. Daniel Granot: On some optimization problems on k-trees and partial k-trees. In: Discrete Applied Mathematics. Elsevier, 1994.
  7. Janka Chlebı́ková: Partial k-trees with maximum chromatic number. In: Discrete Applied Mathematics. 2002.
  8. XiaoZhou, Shin-ichi Nakano, Takao Nishizeki: Edge-Coloring Partial k-Trees. In: Journal of Algorithms. Nr. 21, 1996, S. 598–617.
  9. Ton Kloks: Treewidth. Springer-Verlag, Berlin/Heidelberg 1994, ISBN 978-3-540-48672-5.
  10. A. Yamaguchi, H. Mamitsuka: Finding the Maximum Common Subgraph of a Partial k-Tree and a Graph with a Polynomially Bounded Number of Spanning Trees. Springer, Berlin / Heidelberg, ISBN 978-3-540-24587-2.
  11. Hans L. Bodlaender: A partial k-arboretum of graphs with bounded treewidth. Hrsg.: Theoretical Computer Science. 1998, S. 1–45.
  12. Jan van Leeuwen: Algorithms and Complexity Theory. In: Handbook of Theoretical Computer Science. vol.A. North Holland, Amsterdam 1990, S. 527–631.