Co-Graph

Aus testwiki
Zur Navigation springen Zur Suche springen

In der Informatik ist ein Co-Graph ein ungerichteter Graph G=(V,E), welcher sich mit bestimmten elementaren Operationen konstruieren lässt. Auf Co-Graphen lassen sich viele schwere Probleme wie z. B. CLIQUE und das damit eng verwandte UNABHÄNGIGE MENGE sowie KNOTENÜBERDECKUNG in Linearzeit lösen.

Definition

Abbildung eines Co-Graphen. Wie man sieht, ist kein induzierterP4 enthalten.
Dieser Graph ist kein Co-Graph, da ein induzierterP4 enthalten ist.

Ein Graph G=(V,E) ist ein Co-Graph, falls er sich mit den folgenden drei Operationen konstruieren lässt:

  1. Der Graph K1 mit genau einem Knoten ist ein Co-Graph (in Zeichen K1=).
  2. Für zwei Co-Graphen G1=(V1,E1) und G2=(V2,E2) ist die disjunkte Vereinigung G1G2:=(V1V2,E1E2) ein Co-Graph.
  3. Für zwei Co-Graphen G1=(V1,E1) und G2=(V2,E2) ist die disjunkte Summe G1×G2:=(V1V2,E1E2{{u,v}|uV1,vV2}) ein Co-Graph.

Äquivalente Charakterisierungen

Für einen Graphen G sind folgende Aussagen äquivalent:

  1. Jeder Graph K1 mit genau einem Knoten ist ein Co-Graph.
  2. Für zwei Co-Graphen G1 und G2 ist die disjunkte Vereinigung G1G2 ein Co-Graph.
  3. Für einen Co-Graphen G ist auch der Komplementgraph G¯ ein Co-Graph.

Co-Baum

Um auf Co-Graphen effizient schwere Probleme lösen zu können, kann man sie mithilfe von Co-Bäumen darstellen. Ein Co-Baum ist ein binärer Baum, dessen Blätter mit und dessen innere Knoten mit bzw. × markiert sind.

Ein Co-Baum T ist wie folgt definiert:

  1. Der Co-Baum T zu dem Co-Graphen G= ist der Baum mit einem Knoten, der mit markiert ist.
  2. Seien G1 und G2 Co-Graphen mit den Co-Bäumen T1 und T2. Der Co-Baum T zu der disjunkten Vereinigung von G1 und G2 besteht aus einem mit markierten Wurzelknoten mit den Kindern T1 und T2.
  3. Seien G1 und G2 Co-Graphen mit den Co-Bäumen T1 und T2. Der Co-Baum T zu der disjunkten Summe von G1 und G2 besteht aus einem mit × markierten Wurzelknoten mit den Kindern T1 und T2.

Beispiel

Das nachfolgende Beispiel skizziert die Konstruktion eines Co-Graphen G5 mit zugehörigem Co-Baum T5:

Co-Graph Darstellung des Co-Graphen Darstellung des Co-Baumes Co-Baum
G1= T1
G2=G1G1 T2
G3=G1×G2 T3
G4=G3G3 T4
G5=G1×G4 T5

Weitere Beispiele für Co-Graphen sind vollständige Graphen und vollständig unzusammenhängende Graphen.

Eigenschaften von Co-Graphen

Es ist leicht einzusehen, dass Co-Graphen unter Komplementbildung abgeschlossen sind. Um den Komplementgraphen zu erzeugen, müssen im zugehörigen Co-Baum lediglich die Operationen und × vertauscht werden.

Weiterhin ist die Menge der Co-Graphen unter Bildung induzierter Teilgraphen abgeschlossen.

Ebenfalls ist bekannt, dass jeder Co-Graph ein perfekter Graph ist.

Anwendung in der Algorithmik

Einige schwere Graphenprobleme lassen sich auf Co-Graphen in Linearzeit lösen. Dazu zählen u. a. die Probleme UNABHÄNGIGE MENGE, CLIQUE und KNOTENÜBERDECKUNG.

Mithilfe von dynamischer Programmierung auf den zugehörigen Co-Bäumen lassen sich einfach und elegant Lösungen für die genannten Probleme finden.

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