Vortrag

Werbung
Henneberg-Konstruktion
in O(n²)
Konstruktion von Laman-Graphen mittels
Rot-Schwarz-Hierarchien
Marko Walther
WS 07/08
Überblick
1.
2.
3.
4.
Grundlagen und Definitionen
Die Rot-Schwarz-Hierarchie (RSH)
Charakterisierung von Laman-Graphen
mittels der RSH
Berechnung der Henneberg-Konstruktion
mittels der RSH in O(n²)
1.
Grundlagen
Theorem 1
(Charakterisierung von Laman-Graphen):
Ein Graph G(V,E) heißt Laman-Graph
genau dann, wenn:
I.
II.
E  2V 3
E   2 V   3 für jeden Untergraphen
G V , E   von G
Theorem 2 (Henneberg):
Ein Graph ist genau dann ein Laman-Graph,
wenn für ihn eine Henneberg-Konstruktion
existiert.
Theorem 3 (Lovász und Yemini):
Ein Graph G(V,E) mit n Ecken und 2n-3
Kanten ist ein Laman-Graph genau dann, wenn
für jede Kante e aus E der Multigraph G+e, der
durch Hinzufügen einer Kante parallel zu e
entsteht, die Vereinigung von zwei
kantendisjunkten Spannbäumen ist.
Definition 1: 3tree2-Partition
Eine zulässige 3tree2 - Partition eines Graphen
G V , E  ist eine Partition von E in drei Bäume
T1,T2 ,T3 so dass jede Ecke von G zu genau 2
dieser Bäume gehört und kein Teilbaum zweier
verschiedener Ti dieselbe Eckenmenge besitzt.
Beispiel für 3tree2-Partition:
v6
v3
v5
v4
v2
V T1   v1,v 2 ,v 3 ,v 4 , v 5 , v 6 
v1
V T2   v 3 ,v 4 ,v 5 , v 6 
V T3   v1, v 2 
Theorem 4:
Ein Graph G(V,E) ist ein Laman-Graph genau
dann, wenn er eine 3tree2-Partition zulässt.
2. Die Rot-Schwarz-Hierarchie (RSH)
Definitionen:
- Sei T ein Baum und sei L T  die Menge
der Blätter von T.
- Sei G V , E  ein Graph und T= VT ,ET  ein Baum
mit ausgezeichneter Wurzel.
Zwischen L T  und V soll eine 1:1-Abbildung
 existieren.
- Sei  :V  VT und  :E  VT  VT
Definition: Hierarchie
Eine Hierarchie H  G,T,α,β  ist ein Graph
mit Eckenmenge VT und
Kantenmenge ET    e  .
Definition: Hierarchie
Sei e=  u,v  aus E.
 bildet die Kante e auf   e    1  e  ,  2  e  
ab, so dass 1  e  und  2  e  Vorfahren in T
von jeweils   u  und  v  jedoch keine
gemeinsamen Vorfahren von   u  und  v 
sind.
Definition: Hierarchie
Die Knotentiefen von 1  e  und  2  e 
seien in T gleich.
 Daraus folgt sofort, dass   e  keine
Kante in T sein kann.
Man nennt   e  Querkante von H.
Beispiel: Hierarchie
G V , E 
H G,T , ,  
v6
 e 
v3
v5
e  v1,v 5 
v4
v2
v1
v1
v2
  v1 
v3
v4
v5
v6
Definition: Rot-Schwarz-Hierarchie
Eine Rot-Schwarz-Hierarchie ist eine
Hierarchie welche folgenden 4 Regeln
genügt:
1. Wurzel-Regel:
Die Wurzel von T hat genau zwei Kinder.
2. Blatt-Regel:
Eine Ecke v von T ist genau dann das einzige
Kind seines Elternknotens, wenn v ein Blatt ist.
3. Querkanten-Regel:
Die Endecken jeder Querkante haben
denselben Großelternknoten, jedoch
unterschiedliche Elternknoten.
4. Baum-Regel:
Für jede Ecke v aus T bilden die Querkanten,
die inzident zu Enkelknoten von v sind einen
Baum, der alle Enkel von v verbindet.
Färbung der RSH:



Ecken gerader/ungerader Tiefe werden
rot/schwarz eingefärbt.
Kanten können rot oder schwarz gefärbt sein.
Querkanten haben die Farbe ihrer
Endpunkte.
Beispiel: Rot-Schwarz-Hierarchie
Hierarchie H
v1
v1
v2
v3
v2
v3
v4
v5
v6
v4
v5
v6
3. Charakterisierung von LamanGraphen mittels der RSH
Die RSH als Charakterisierung von
Laman-Graphen.
Bezeichnungen:
Sei im Folgenden n= V und m= E .
Lemma 5:
Sei G  V,E  ein Graph für den eine RSH
existiert.
Dann ist m  2n - 3.
Beweis: Lemma 5
Sei H= VH ,EH  eine RSH für G V ,E  .
Sei L die Menge der Blätter und sei GP die Menge der
Großelternknoten in VH .
Sei P = VH - L  GP  die Menge der restlichen Elternknoten.
Daraus folgt sofort: VH = L + P + GP .
Sei GCv die Menge der Enkel des Knotens
v in H.
Sei E  GCv  die Menge der Kanten von
G GCv  in H.
Beweis: Lemma 5
Nach der Blatt-Regel ist P  L  n.
Durch Aufsummierung der GCv ergibt sich:

GCv 

GCv
v GP
v GP
 E GC   1
v GP
v

 E GC 
v GP
v
+
1

v GP
 #Querkanten + GP

GC = m + GP
Es gibt nur 3 Ecken, die keine Enkel sind (die Wurzel und ihre beiden Kinder).
 VH = GC + 3
 m  GC  GP  VH  3  GP  L  P  GP  3  GP  n  n  3  2n - 3
Beweis: Lemma 5
Lemma 5 impliziert auch, dass nicht für jeden
Graphen eine RSH existiert.
Lemma 6:
Sei G V,E  ein Graph, für den eine RSH existiert.
Sei G V  ein durch V   V ( V  2 ) induzierter
Untergraph von G mit Kantenmenge E .
Dann besitzt G V  höchstens 2k - 3 Kanten.
Beweis(Skizze): Lemma 6
Die Eckenmenge V  definiert einen Teilbaum T  in H, dessen Blätter L 
den Ecken in V  entsprechen.
Eine Ecke v aus H gehört genau dann zu T , wenn sie auf einem Pfad
zwischen zwei Ecken aus L  liegt.
Sei H=  VH ,EH  nun die durch T  induzierte Hierarchie.
Für H lässt sich nun analog zum Beweis von Lemma 5 zeigen, dass
E  2V   3.
Dabei ist zu beachten, dass für H nur noch schwächere
Versionen der vier RSH-Regeln gelten.
Für einen ausführlichen Beweis, siehe [2].
Folgerung aus Lemma 5,6:
Graphen, für die eine RSH existiert sind
Laman-Graphen.
Theorem 7:
Sei G=  V,E  ein Laman-Graph.
Dann existiert für G eine RSH und diese
  Zeit konstruiert werden.
kann in O n
2
Beweis: Theorem 7
Der Beweis wird hier nicht geführt.
Nur soviel:
Die RSH wird konstruiert, indem der Graph G in eine
3tree2-Partition zerlegt wird und aus dieser rekursiv die
Unterbäume der Knoten in H sowie die Querkanten erzeugt
werden.
Für einen ausführlichen Beweis, siehe [2].
Laufzeit:
Die 3tree2-Zerlegung kann in O(n²) Zeit
konstruiert werden (siehe [3]).
Die Knoten in H der selben Tiefe werden in
O(n) Schritten bearbeitet.
Da die Höhe der RSH O(n) beträgt, folgt eine
Laufzeit von O(n²).
Folgerung:
Ein Graph ist genau dann ein Laman-Graph,
wenn für ihn eine RSH existiert.
Damit ist die RSH eine weitere
Charakterisierung von Laman-Graphen neben
der 3tree2-Partitionierung z.B. .
Lemma 8 (Validierung der RSH):
Sei H eine Hierarchie für den Graph G.
Es kann in O(n) Schritten überprüft werden, ob
H eine Rot-Schwarz-Hierarchie ist.
Beweis: Lemma 8
Sei H  G,T,,  die Hierarchie für G   V,E  .
Als Erstes wird geprüft, ob m  2n - 3.
Ansonsten existiert für G keine RSH
nach Lemma 5.
Beweis: Lemma 8
Nun wird überprüft, ob H allen 4 Regeln für
RSH genügt.
Beweis: Lemma 8
Die Wurzel-Regel kann in O(1) Zeit überprüft
werden.
Beweis: Lemma 8
Die Blatt-Regel kann für jedes Blatt und
jeden inneren Knoten von H überprüft werden.
Dafür sind O(n) Schritte notwendig.
Beweis: Lemma 8
Die Querkanten-Regel kann in O m  Zeit
überprüft werden, indem die Großelternknoten
von 1  e  und 2  e  für jede Kante e aus G
verglichen werden.
Beweis: Lemma 8
Die Baum-Regel kann in O(m+n) Zeit überprüft
werden.
Es folgt eine Gesamtlaufzeit von O(n).
4. Berechnung der
Henneberg-Konstruktion mittels der
RSH in O(n²)
Henneberg-Operationen:
a
a
v
b
b
Henneberg-Einfüge-Operation vom Typ I
Henneberg-Operationen:
a
a
v
b
b
Henneberg-Einfüge-Operation vom Typ II
Henneberg-Operationen:
Die inversen Operationen werden
Henneberg-Lösch-Operationen vom Typ I
bzw. Typ II genannt.
Theorem 9:
Sei G V,E  ein Laman-Graph mit mindestens 3
Ecken und sei H eine RSH für G.
Durch Ausführung einer Henneberg  Lösch 
Operation wird G in G V ,E   überführt.
Für G kann eine RSH aus H konstruiert werden,
indem höchstens konstant viele Ecken und
Kanten aus H gelöscht bzw. zu H hinzugefügt
werden.
Beweis(Vorbemerkungen): Theorem 9
Sei H  G,T, ,   eine RSH.
Sei Tx der Teilbaum von T mit Wurzel x  T.
Sei GCx die Menge der Enkel eines Knotens
x  T und der Baum, der durch die GC x in H
induziert wird, sei GTx .
Beweis(Vorbemerkungen): Theorem 9
Nach [1] enthält G eine Ecke vom
Grad 2 oder 3.
Beweis: Theorem 9
Der Beweis unterscheidet 4 Fälle.
Fall 1 und Fall 3 werden ausführlich bewiesen,
um die Vorgehensweise aufzuzeigen.
Fall 1, 2 entsprechen einer
Typ I Lösch-Operation,
Fall 3, 4 einer Typ II Lösch-Operation.
Fall 1, 2:
Sei v eine Ecke vom Grad 2 und seien a, b
die zwei zu v adjazenten Ecken.
b
v
a
Fall 1:
Nach Definition der RSH besitzt v einen
Großelternknoten w. Sei u der Elternknoten von v.
Nach der Querkanten-Regel ist weder w noch u adjazent
zu einer Querkante in H.
w
Sei w nun die Wurzel von T.
u
Ausschnitt aus H:
v
Fall 1:
v ist nun inzident zu genau 2 Querkanten  v,a  und  v,b  ,
welche den Kanten  v,a  und  v,b  in G entsprechen.
Sei s nun der zweite Kindknoten von w.
(er existiert nach der Wurzel-Regel)
Nach der Querkanten-Regel ist u nicht der Elternknoten
von a und b. Dieser kann also nur s sein.
Fall 1:
w
u
s
a
b
v
Ta
a
Tb
b
Fall 1:
Durch eine Henneberg-Lösch-Operation vom Typ I wird
die Ecke v sowie die Kanten  v,a  und  v,b  aus G
gelöscht.
In H entspricht das dem Löschen der Knoten
u,v und w sowie der zu ihnen inzidenten Kanten.
Die resultierende RSH H erfüllt danach
immer noch alle 4 Regeln.
Fall 1:
b
b
a
a
v
w
s
s
u
a
a
b
b
Ta
v
Ta
Tb
a
a
Tb
b
b
Fall 2:
w ist nicht die Wurzel von T.
Für einen Beweis siehe [2].
Fall 3,4:
Sei v eine Ecke vom Grad 3 und seien a, b, c
die drei zu v adjazenten Ecken.
b
c
v
a
Fall 3,4:
Es wird nun immer die Kante e ermittelt, die bei der LöschOperation vom Typ II hinzugefügt werden soll:
a
a
c
e
b
c
v
b
Fall 3:
w (der Großelternknoten von v) hat zwei
Kinder.
Fall 3:
Seien im Folgenden die Knoten a, b und c  aus T
Vorfahren der Ecken a,b und c aus G.
V habe einen Ur-Ur-Großelternknoten x.
Sei  v ,c   die Querkante in H, die der Kante  v,c 
in G entspricht.
Nach der Baum-Regel ist a inzident zu mindestens
einer Querkante. Sei diese  v,a .
Fall 3:
Es werden ansonsten die selben Bezeichnungen
wie in Fall 1 benutzt.
Nach der Baum-Regel ist u(Elternknoten von v) inzident zu
mindestens einer Querkante, z.B. u,b  in T, welche der
Kante u,b  in G entspricht.
Fall 3:
3 Spezialfälle werden unterschieden:
3a: s habe zwei Kinder a und c .
3b: s habe ein Kind a und v  = u.
3c: s habe ein Kind a und v  ist ein anderer
Vorfahr von v.
Fall 3a:
S habe nun 2 Kinder: a und c .
Daraus folgt, dass v auch inzident zur Querkante  v,c   in T sein muss.
x
w
u
Ausschnitt aus H für Fall 3:
b‘
s
Tb
v=v‘
a‘
Ta
c‘
Tc 
Fall 3a:
Sei  nun der Pfad von s nach b in GTx .
Sei  s,y   die erste Kante auf diesem Pfad und
(z,y) die zugehörige Kante in G.
y liegt nun entweder in Ta oder Tc  .
x
Liegt y in Ta , so ist e   a,b  .
w
Liegt y in Tc  , so ist e   b,c  .
u
y‘
s
b‘
Ty 
Tc 
v
a‘
Ta
c‘
Tc 
y

Fall 3a:
Diese Prozedur wird als
„Vervollständigung des Baumes vom Typ I“
genannt.
Fall 3a:
2. u und v und alle zu ihnen inzidenten Kanten
werden entfernt.
3. a‘ und c‘ werden zu Kindern von w.
x
x
w
u
w
b‘
s
Tb
v
a‘
Ta
c‘
Tc 
a‘
Ta
c‘
Tc 
b‘
Tb
Fall 3:
4. Für jede Querkante  s,y   und zugehörige Kante  z,y 
in G wird eine neue Querkante, entweder  a,y 
oder  c ,y  erstellt.
Um zu entscheiden, welche von beiden, wird das Blatt z
in einen der beiden Bäume Ta oder Tc gesucht.
Fall 3a:
5.
Füge e in G und die zugehörige Querkante   e 
in H ein.
Ist e   a,b  , dann   e    a,b  ,
sonst   e    b,c   .
Fall 3b:
s habe ein Kind a und v = u.
x
w
u=v‘
s
b‘
Tb
v
a‘=a
c‘
Tc 
Fall 3b:
1. u und v und alle zu ihnen inzidenten Kanten
werden entfernt.
2. s wird durch das Blatt a ersetzt.
Fall 3b:
3. u wird aus GT entfernt.
Durch Entfernen von u zerfällt GTx in zwei Bäume b und c , so dass
b in b und c in c enthalten sind.
s muss in einer dieser Bäume enthalten sein.
w
u=v‘
b
c
b‘
s
Tb
v
a=a‘
c‘
Tc 
Fall 3b:
Ist s  b dann wird e auf  a,c  gesetzt. Sonst auf  a,b  .
Diese Prozedur wird "Vervollständigung des Baumes
vom Typ II" genannt.
x
x
w
u
w
s
b‘
Tb
v
a
c‘
Tc 
a
b‘
Tb
c‘
Tc 
Fall 3c:
s habe ein Kind a und v sei ein Vorfahr von v  u.
x
w=v‘
c‘
Tc 
s
u
b‘
Tb
v
a‘=a
Fall 3c:
1. u und v und alle zu ihnen inzidenten Kanten
werden entfernt.
2. s wird durch das Blatt a ersetzt.
Fall 3c:
3. Die Kante e   a,c  wird in G eingefügt, welche der
Kante  v ,c   in T entspricht.
x
x
w=v‘
c‘
w
c‘
Tc 
Tc 
s
u
b‘
Tb
v
a‘=a
a
b‘
Tb
Fall 3:
In den Fällen 3a, 3b und 3c genügt die
resultierende RSH wieder allen 4 Regeln.
Fall 4:
w hat mehr als zwei Kinder.
Für einen Beweis siehe [2].
Theorem 9:
Die vorherigen 4 Fälle reichen aus.
Theorem 9:
Denn angenommen, keiner der vorherigen 4 Fälle kann angewendet
werden.
Dann beträgt der Grad jeder Ecke aus G mindestens 3.
Da es 2n-3 Kanten gibt, existieren mind. 6 Ecken in H mit Grad 3.
(sieht man durch Konstruktion eines solchen Graphen).
Nach der Wurzel-Regel existiert ein Kindknoten u der Wurzel von T, so
dass mind. 3 Ecken vom Grad 3 Nachfahren von u sind.
Der Großelternknoten kann nach der Blatt-Regel nicht die Wurzel sein.
Also greift hier Fall 3 oder 4.
Theorem 10:
Die Henneberg-Konstruktion eines LamanGraphen mit n Ecken kann in O(n²) Zeit
Berechnet werden.
Beweis: Theorem 10
Es wird eine RSH für den Graphen mit dem Algorithmus aus
Theorem 7 in O(n²) Zeit konstruiert.
Mit dem Algorithmus aus Theorem 9 kann eine Lösch-Operation in
O(n) Zeit berechnet werden.
Da O(n) Lösch-Operationen nötig sind,
folgt daraus die Behauptung.
Quellen:



[1]
R. Haas, D. Orden, G. Rote, F. Santos, B. Servatius, H. Servatius, I. Streinu, D.
Souvaine and W. Whiteley. Planar minimally rigid graphs and pseudo-triangulations.
Comput. Geom. Theory Appl., 31(1-2):31-61, 2005,
http://dx.doi.org/10.1016/j.comgeo.2004.07.003.
[2]
Henneberg-Aufbau in O(n²) Schritten:
S. Bereg. Certifying and constructing minimally rigid graphs in the plane. In Proc. 21st
Annu. Sympos. Comput. Geom., pages 73-80, 2005.
[3]
A.R.Berg und T.Jordan. Algorithms for graph rigidity and scene analysis. In 11th
European Symp. on Algorithms, LNCS 2832, pp. 78-89. Springer-Verlag, 2003.
Herunterladen