5. Gerichtete Graphen und Pfade Definition 5.1. Ein gerichteter

Werbung
5. Gerichtete Graphen und Pfade
Definition 5.1. Ein gerichteter Graph G ist gegeben durch G = (V, E, Φ) mit einer
Knotenmenge V , einer Kantenmenge E und einer Abbildung Φ : E → V × V .
Obwohl die Definition eines gerichteten Graphen auch für unendliche Knotenund Kantenmengen Sinn macht, werden wir im folgenden nur endliche gerichtete
Graphen betrachten, d.h. gerichtete Graphen mit endlichen Knoten- und Kantenmengen.
Für einen gerichteten Graphen G = (V, E, Φ) bezeichnet source : E → V die
Komposition von Φ mit der Projektion auf die erste Komponente. Für e ∈ E
nennen wir source(e) die Quelle der Kante e. Analog bezeichnet sink : E → V
die Komposition von Φ mit der Projektion auf die zweite Komponente. Für e ∈ E
nennen wir sink(e) die Senke der Kante e. Für eine Kante e ∈ E mit Φ(e) = (u, v)
gilt also source(e) = u und sink(e) = v. Oft sind die Kanten eines Graphen schon
durch source und sink festgelegt. Also es gilt: Φ(e) = Φ(e0 ) impliziert schon e = e0 .
Dann können wir eine Kante e also mit Φ(e) identifizieren. Für solche Graphen
schreiben wir G = (V, E), wobei E dann eine Teilmenge von V × V ist.
Definition 5.2. Ein Pfad von v ∈ V nach w ∈ V in einem gerichteten Graphen
G = (V, E, Φ) ist eine Folge p = (e1 , e2 , . . . , en ) von Kanten ei ∈ E, 1 ≤ i ≤ n, mit
source(e1 ) = v, sink(ei ) = source(ei+1 ) für 1 ≤ i ≤ n − 1 und sink(en ) = w. Wir
nennen n die Länge des Pfades p.
Definition 5.3. Eine Gewichtung W für einen gerichteten Graphen G = (V, E, Φ)
ist eine Abbildung W : E → R von der Kantenmenge in einen Ring R. Für einen
Pfad p = (e1 , . . . , en ) bezeichnet W(p) = W(e1 ) · · · W(en ) das Gewicht des Pfades
W. Der leere Pfad erhält das Gewicht 1.
Im folgenden werden wir vor allem Gewichtungen in den komplexen Zahlen R =
C und im nichtkommutativen Polynomring R = ChΣi über einem Alphabet Σ
betrachten. Letzteren füren wir im folgenden ein.
Definition 5.4. Sei Σ ein Alphabet. Auf der Menge
(
)
X
aw ∈ C
ChΣi :=
aw w |
.
aw = 0/; für fast alle w ∈ Σ∗
∗
w∈Σ
definieren wir eine Addition durch:
(
X
aw w) + (
w∈Σ∗
(
X
w∈Σ∗
X
bw w) :=
w∈Σ∗
aw w) · (
X
X
(aw + bw )w.
w∈Σ∗
bw w) :=
w∈Σ∗
X
(
X
au bv )w.
w∈Σ∗ uv=w
Lemma 5.5. Die Menge ChΣi zusammen mit der in Definition 5.4 beschriebenen
Addition und Multiplikation bildet einen Ring mit 1. Für #Σ ≥ 2 ist der Ring nicht
kommutativ.
Beispiel 5.6. Ein endlicher Automat A ist ein Tupel A = (G, W, S, T ). Dabei ist
G ein gewichteter gerichteter Graph G = (V, E, Φ) mit einer Gewichtung W : E →
ChΣi in den Ring ChΣi, so daß W(e) ∈ Σ. Der Knoten S ∈ V heißt Startknoten
und die Teilmenge T ⊆ V heißt Menge der terminalen Knoten oder Endknoten.
1
2
Ein Pfad p von S in einen Endzustand t ∈ T entspricht einem Wort w = W(p).
Die Menge aller Worte W(p) für Pfade p von S zu einem Endknoten t ∈ T heißt
die von A akzeptierte Sprache und wird mit L(A) bezeichnet.
Definition 5.7. Sei G = (V, E, Φ) ein gerichter Graph mit Gewichtung W. Für
v, w ∈ V
P bezeichnet Pv,w (n) die Menge der Pfade der Länge n von v nach w und
avw = e∈E,Φ(e)=(v,w) W(e) die Summe der Gewichte der Kanten von v nach w.
Wir nehmen an, daß #V = m und definieren eine m × m Matrix A = (avw )v,w∈V .
Die Matrix A heißt die (gewichtete) Adjazens-Matrix von G. Ist G = (V, E, Φ)
nicht gewichtet, so definieren wir die Adjazens-Matrix von G analog, indem wir
das natürliche Gewicht W : E → C mit W(e) = 1, e ∈ E, betrachten.
Satz 5.8. Sei A die Adjazens-Matrix des gewichteten gerichteten Graphen G =
(n)
(V, E, Φ). Sei avw = W(Pvw (n)). Dann gilt
An = (a(n)
vw )v,w∈V .
Proof. Wir beweisen die Aussage per Induktion nach n.
Gilt n = 0, so haben wir Pvw (n) = ∅, falls v 6= w und Pvw (n) = {leerer P f ad},
falls v = w. Damit gilt W(Pvw (n)) = 0, falls v 6= w und W(Pvw (n)) = 1, falls
(n)
v = w. Somit ist (avw )v,w∈V die (m × m)-Einheitsmatrix und stimmt damit mit
n
0
A = A überein (für jede quadratische Matrix ist die 0-te Potenz die entsprechende
Einheitsmatrix).
Gilt n = 1, folgt die Behauptung aus der Definition der Adjazens-Matrix.
Sei nun n ≥ 1 und die Aussage bis n bewiesen. Betrachten wir den Eintrag
X
a(n+1)
=
W(p).
v,w
p∈Pvw (n+1)
Es gilt
Pvw (n + 1) =
[
Pvw0 (n) × Pw0 w (1).
w0 ∈V
Damit folgt
X
a(n+1)
=
vw
(n)
avw0 a(1)
vw ,
w0 ∈V
wobei wir benutzen, daß für einen Pfad p = (e1 , . . . , en+1 ) der Länge n + 1 gilt
W(p) = W((e1 , . . . , en ))W(en+1 ). Dies ist aber die Definition des Matrixprodukts:
(1)
(avw0 (n))v,w0 ∈V · (aw0 w )w0 ,w∈V .
Nach Induktionsvoraussetzung gilt nun
(1)
(avw0 (n))v,w0 ∈V = An , (aw0 w )w0 ,w∈V = A1 .
Damit folgt die Behauptung.
Definition 5.9. Sei G = (V, E, Φ) ein gerichteter Graph mit Gewichtung W 0 (e) =
1 für alle e ∈ E und Adjazens-Matrix A. Dann setzen wir F (x) := (fvw (x))v,w∈V
P
(n)
(n)
mit fvw (x) := n≥0 avw xn , wobei An = (avw )v,w∈V .
Beispiel 5.10. Sei A = (G, W, S, T ) ein endlicher Automat. Für t ∈ T sei PS,t (n)
die Menge der Pfade der Länge n von S nach t. Dann ist
X
X
W(PS,t (n)) =
W(p)
t∈T
t∈T,/;p∈PS,t (n)
3
die Summe der Wörter der Länge n, die in L(A) liegen, wobei der Koeffizient
eines Wortes w die Anzahl der akzeptierenden Pfade zählt. Ist A ein eindeutiger
Automat – d.h. zu jedem Wort w ∈ L(A) gibt es genau einen akzeptierenden Pfad
– so sind alle Koeffizienten gleich 1. Dann wiederum aber erhält man die Anzahl
der Pfade dadurch, daß man die Buchtaben durch 1 substituiert. Dieser Prozess
entspricht aber dem Übergang von der Gewichtung W zu der Gewichtung W 0 mit
W 0 (e) = 1 für alle e ∈ E. In diesem Fall ist dann für t ∈ T die erzeugende
P
(n)
Funktion fSt (x) = n≥0 aSt xn die erzeugende Funktion der Folge der Anzahlen
(n)
aSt der Worte der Länge n, die auf einem Pfad von S nach t gelesen werden. Es
ergibt sich daher für an = #{w ∈ L(A) | |w| = n}, daß
X
X
fL(Σ) (x) :=
an xn =
fSt (x).
n≥0
t∈T
Die erzeugende Funktion fL(Σ) (x) heißt auch wortzählende Funktion von L(A).
Wir benutzen nun ein Lemma aus der linearen Algebra.
Lemma 5.11 (Adjunkte Matrix). Sei B eine invertierbare Matrix. Dann gilt:
B −1 = 1/ det(B)((−1)i+j det(B (j,i) ).
Wobei B (j,i) die Matrix ist, die aus B durch Streichen der j-ten Zeile und i-ten
Spalte entsteht.
Definition 5.12. Für eine quadratische Matrix B heißt die Matrix ((−1)i+j det(B (j,i) ))
die zu B adjunkte Matrix.
Satz 5.13 (Transfer-Matrix-Methode). Sei G = (V, E, Φ) ein gerichteter Graph
und W 0 : E → C die Gewichtung. Sei m = #V , Em die m × m Einheitsmatrix.
Seien v, w ∈ V , so daß in einer festen linearen Ordnung auf V , v das i-te und w
das j-te Element von V ist.
fvw (x) = (−1)i+j det((Em − xA)(j,i) )/ det(Em − xA).
P
P
Proof. Es gilt (Em −xA) n≥0 An xn = I. Also n≥0 An tn = (Em −Ax)−1 . Damit
folgt die Behauptung aus der Darstellung der Inversen mit Hilfe der adjunkten
Matrix.
Beispiel 5.14. Sei L die Menge aller Wörter über dem Alphabet Σ = {a, b}, die
kein bb enthalten. Der folgende eindeutige endliche Automat mit Startzustand S =
q0 und Endzuständen T = {q0 , q1 } erkennt genau diese Sprache:
q0
q1
ab
Wir gewichten den Graphen nun durch W 0 (e) = 1 – alternativ können wir erst die
Gewichtung W(e) ∈ {a, b} betrachten und dann die Buchstaben durch 1 substituieren. Die Matrix des Graphen ist gegeben durch
1 1
A=
.
1 0
4
Dabei entsprechen die erste Zeile und Spalte dem Knoten
zweite Zeile
P
Pq0 und die
n
w∈L x , daß fL (x) =
und Spalte dem Knoten q1 . Dann gilt für fL (x) = n≥0
|w|=n
fq0 q0 (x) + fq0 q1 (x). Da det(E2 − Ax) = (1 − x) − x2 , ergibt sich also mit der
Transfer-Matrix Methode
fq0 q0 (x) = (−1)1+1 det((E2 − Ax)(1,1) )/ det(E2 − Ax) = 1/(1 − x − x2 ).
fq0 q1 (x) = (−1)1+2 det((E2 − Ax)(2,1) )/ det(E2 − Ax) = (−1) · (−x)/(1 − x − x2 ).
Also gilt
1+x
.
fL (x) = fq0 q0 (x) + fq0 q1 (x) =
1 − x − x2
Korollar 5.15. Sei L eine Sprache, für die es einen eindeutigen endlichen Automaten A gibt mit L(A) = L (d.h. L ist eine reguläre Sprache). Dann ist fL (x)
eine rationale Funktion in x.
Proof. Der zu einem deterministischen Automaten konstruierte Graph hat für jedes
akzeptierte Wort genau einen Pfad vom Startzustand zu einem Endzustand. Gewichten
wir also alle Kanten mit 1 und summieren die fSt (x) für den Startzustand S und
alle Endzustände t, so erhalten wir die erzeugende Funktion der L = L(A). Da alle
fSt (x) nach Satz 5.13 rational sind, ist auch fL (x) rational.
Die Umkehrung dieses Korollars ist falsch. Die Sprache L = {an bn | n ≥ 0} hat
erzeugende Funktion fL (x) = 1/(1 − x) ist aber nicht regulär – letzteres kann mit
dem Punping-Lemma aus der theoretischen Informatik bewiesen werden. Betrachten wir nun eine weitere Beispielanwendung für die Transfer-Matrix-Methode.
Beispiel 5.16. Sei Σ = {a1 , . . . , ak } ein Alphabet mit k Buchstaben. Sei Lk =
{w = w1 · · · wn ∈ Σ∗ | wi 6= wi+1 , 1 ≤ i ≤ n−1 } und sei bn die Anzahl der Wörter
der Länge n in Lk . Dann ist bn = k(k − 1)n−1 . Man sieht dies elementar oder
durch die Transfer-Matrix-Methode. Sei V = {S, t1 , . . . , tk } eine Knotenmenge.
Es sei S der Startknoten und jeder Knoten in V sei Endknoten, also T = V .
Wir habe Kanten von S nach ti mit Gewicht ai , 1 ≤ i ≤ k, und von ti nach tj ,
1 ≤ i < j ≤ k, mit Gewicht aj . Es gilt Lk = L(A) für den so definierten endlichen
Automaten A. Zudem ist A eindeutig. Substituieren wir alle Gewichte durch 1, so
erhalten wir einen gewichteten gerichteten Graphen, so daß wir, wenn wir Zeilen
Pk
und Spalten mit 1, . . . , k + 1 indizieren, erhalten: fLk (x) = fSS (x) + i=1 fSti (x).
Die Adjazens-Matrix ergibt sich also als


0 1 1 1 ··· 1 1
 0 · · ···
·
· · 


 · · · ···
·
· · 


·
· · 
A=
 · · · ···
.
 · · · ···

·
·
·


 0 1 1 ···
1 0 1 
0 1 1 ···
1 1 0
Man zeigt nun
det(Ek+1 − Ax) = (1 − (k − 1)x)(1 + x)k−1 .
Daraus folgt sofort det((Ek+1 − Ax)(1,1) ) = (1 − (k − 1)x)(1 + x)k−1 . Für 2 ≤ j ≤ n
gilt det((Ek+1 I − Ax)(j,1) ) = 0. Für 2 ≤ i ≤ n zeigt man det((Ek+1 − Ax)(1,i) ) =
(−1)i+1 x(x + 1)k−1 . Damit ist fSS (x) = 1 und für i ≥ 1
fSti (x) = (−1)i · (−1)i x(x + 1)k−1 /((1 − (k − 1)x)(1 + x)k−1 =
5
= t/(1 − (k − 1)x) =
X
(k − 1)n−1 xn .
n≥1
Wiederum ergibt sich bn = k(k − 1)n−1 , n ≥ 1 und b0 = 1.
Betrachten wir nun die Sprache L0k = {w = w1 · · · wn ∈ Lk | w1 6= wn }.
Wir können hier den gleichen Graphen betrachten. Da wir nun aber noch die Einschränkung w1 6= wn haben, sind zu zählende Pfade nur solche, die entweder leer
sind oder mit einer Kante (S, ti ) starten und dann in tj für ein j 6= i enden. Sei
b0n die Anzahl der Worte der Länge n in L0k . Dann ergibt sich b00 = 1, b01 = k und
b0n für n ≥ 2 als Summe der Anzahlen der Pfade der Länge n − 1 von ti nach tj für
1 ≤ i 6= j ≤ k. Wir erhalten also
X
fL0k (x) = 1 + kx + x
fti tj (x).
1≤i6=j≤k
Für fti tj (x), 1 ≤ i 6= j ≤ k, erhalten wir x/(1 − (k − 1)x). Also
X
fL0k (x) = 1 + kx + kx2 /(1 − (k − 1)x) = 1 + kx +
k(k − 1)n−2 xn .
n≥2
Definition 5.17. Ein Graph G = (V, E, Φ) heißt stark zusammenhängend, falls
für alle v, w ∈ V ein Pfad von v nach w existiert. Für V 0 ⊆ V definieren wir
den Graph G|V 0 = (V 0 , E 0 , Φ0 ) durch E 0 = {e ∈ E | Φ(e) ∈ V 0 × V 0 } und Φ0
ist die Einschränkung von Φ auf E 0 . Ein Graph G|V 0 = (V 0 , E 0 , Φ0 ) heißt starke
Zusammenhangskomponente von G, falls G|V 0 stark zusammenhängend ist und für
jedes v ∈ V \ V 0 ein w ∈ V 0 existiert, so daß es entweder keinen Weg von v nach
w oder keinen Pfad von w nach v gibt.
Satz 5.18. Sei G = (V, E, Φ) ein gerichteter Graph und G|V1 = (V1 , E1 , Φ1 ),
. . . , G|Vr = (Vr , Er , Φr ) die starken Zusammenhangskomponenten von G. Dann
ist V1 | · · · |Vr eine S
Mengenpartition von V , d.h. Vi 6= ∅, 1 ≤ i ≤ r, Vi ∩ Vj = ∅,
n
1 ≤ i < j ≤ r und i=1 Vi = V .
Proof. Klareweise liegt jeder Knoten in einer starken Zusammenhangskomponente.
Daher ist nur Vi ∩ Vj = ∅ für 1 ≤ i < j ≤ r zu zeigen. Nehmen wir an für ein
Paar (i, j) mit 1 ≤ i < j ≤ r sei Vi ∩ Vj 6= ∅. Sei v 0 ∈ V1 ∩ Vj ein Knoten.
Da Vi 6= Vj gibt es entwerder ein v ∈ Vi \ Vj oder ein v ∈ Vj \ Vi . Wegen der
Maximalität von starken Zusammenhangskomponenten gilt Vi 6⊆ Vj und Vj 6⊆ Vi .
Ohne Einschränkung sei v ∈ Vi \ Vj . Dann gibt es wegen v 6∈ Vj ein w ∈ Vj , so
daß es entweder in G keinen Pfad von w nach v oder von v nach w gibt. Da Vj eine
starke Zusammenhangskomponente ist und v 0 , w ∈ Vj gibt es ein P einen Pfad p1
von w nach v 0 und einen Pfad p2 von v 0 nach w. Da v, v 0 ∈ Vi giobt es in G einen
Pfad q1 von v 0 nach v und einen Pfad q2 von v nach v 0 . Dann ist aber p1 q1 ein Pfad
von w nach v und q2 p2 ein Pfad von v nach w. Dies ist aber ein Widerspruch und
daher ist die Annahme falsch. Also folgt Vi ∩ Vj = ∅.
Definition 5.19. Sei G = (V, E, Φ) ein gerichteter Graph. Eine Kreis oder Zykel
in G ist ein Pfad p = (e1 , . . . , en ) mit source(e1 ) = sink(en ) und source(ei ) 6=
source(ej ) für 1 ≤ i < j ≤ n.
Definition 5.20. Sei G = (V, E, Φ) ein gerichteter Graph. Dann heißt G ein
Baum mit Wurzel v ∈ V , falls es für jedes w ∈ V genau einen Pfad in G von v
nach w gibt.
6
Lemma 5.21. Sei G = (V, E, Φ) ein Baum mit Wurzel v. Dann impliziert Φ(e) =
Φ(e0 ) schon e = e0 .
Proof. Seien e, e0 ∈ E mit Φ(e) = Φ(e0 ) = (u, w). Sei p der eindeutige Pfad von in
G von v nach u. Dann sind sowohl pe als auch pe0 Pfade von v nach w. Wegen der
Eindeutigkeit des Pfades von v nach w folgt e = e0 .
Aufgrund von Lemma 5.21 kann ein Baum G = (V, E, Φ) nach Identifikation von
e und Φ(e) auch als G = (V, E) mit E ⊆ V × V geschrieben werden. Wir werden
im folgenden diese Konvention auf Bäume anwenden.
Lemma 5.22. Sei G = (V, E) ein Baum mit Wurzel v, dann gilt für w ∈ V schon
(w, w) 6∈ E.
Proof. In G gibt es einen eindeutgen Pfad p von v nach w. Falls e = (w, w) ∈ E,
dann ist mit p auch pe ein Pfad von v nach w. Dies wäre eine Widerspruch zur
Eindeutigkeit von p. Daher folgt (w, w) 6∈ E.
Lemma 5.23. Sei G = (V, E) ein Baum mit Wurzel v. Ist G = (V, E) auch ein
Baum mit Wurzel w, so gilt v = w.
Proof. Da v und w wurzeln sind gibt es in G einen eindutigen Pfad p von v nach w
und einen eindeutigen Pfad q von w nach v. Dann ist aber pqp ebenfalls ein Pfad
von v nach w. Also gilt pqp = p. Dies kann aber nur sein, wenn p = q der leere
Pfad ist. Dann ist aber w = v.
Definition 5.24. Sei G = (V, E, Φ) ein gerichteter Graph. Für einen Knoten
v ∈ V definieren wir outdeg(w) = #{e ∈ E | source(e) = v} und indeg(v) =
#{e ∈ E | sink(e) = v}. Ist G = (V, E) ein Baum, dann heißt ein Knoten v mit
outdeg(v) = 0 ein Blatt von G. Mit deg(v) = indeg(v) + outdeg(v) bezeichnen wir
den Grad von v.
Lemma 5.25. Sei G = (V, E) ein Baum mit Wurzel v. Dann gilt:
(i) indeg(w) ≤ 1 für w ∈ V .
(ii) indeg(w) = 0 genau dann wenn w = v die Wurzel von G ist.
(iii) Es gibt mindestens ein Blatt in G.
(i) Nehmen wir an es gibt einen Knoten w mit indeg(w) ≥ 2. Seinen ale
e1 , e2 zwei verschiedenen Kanten mit sink(e1 ) = sink(e2 ) = w. Seien v1 =
source(e1 ) und v2 = source(e2 ). Nach Definition gibt es einen eindeutigen
Weg p1 von der Wurzel v nach v1 und einen eindeutigen Weg p2 von der
Wurzel v nach v2 . Dann sind aber wegen e1 6= e2 die Wege p1 e1 und
p2 e2 zwei verschiedene Wege von v nach w. Diese ist ein Widerspruch zur
Definition des gerichteten Baums und daher ist die Annahme falsch. Die
Behauptung folgt.
(ii) Sei w ein Knoten von G mit indeg(w) = 0. Nach Definition gibt es genau
einen gerichteten Pfad p von der Wurzel v nach w. Da wegen indeg(w) = 0
keine Kante mit sink(w) existiert muß p der leere Pfad sein. Es folgt dann
v = w.
Wir müssen jetzt noch zeigen, daß indeg(v) = 0 für die Wurzel v. Annahme es gibt eine Kante e mit sink(e) = v. Sei u = source(e), Nach
Definition gibt es einen eindeutigen Pfad p von v nach u. Dann ist aber
auch pe ein Pfad von v nach v. Damit sind pe und der leere Pfad, Pfade von
Proof.
7
v nach v. Dies ist ein Widerspruch zur Definition des gerichteten Baums.
Also ist die Annahme folsh und es folgt indeg(v) = 0.
(iii) Sei p = (e1 , . . . , er ) ein Pfad maximale Länge in G und w = sink(er ). Wir
zeigen, daß w ein Blatt von G ist. Gilt outdeg(w) ≥ 1, so gibt es eine
Kante e mit source(e) = w. Dann ist aber p = (e1 , . . . , er , e) ein Pfad der
Länge r + 1 in G. Ein Widerspruch zur Maximalität von p. Damit ist die
Annahme falsch und die Behauptung folgt.
Lemma 5.26. Sei G = (V, E) ein Baum mit Wurzel v. Dann gilt #E = #V − 1.
Proof. Nach Lemma 5.25 (iii) gibt es einen Knoten w mit outdeg(w) = 0. Wegen
Lemma 5.25 (i), (ii) folgt dann entweder v = w oder indeg(w) = 1. Ist v = w,
so gilt V = {v} und E = ∅ und die Behauptung folgt. Sei nun indeg(w) = 1.
Entfernen wir aus G den Knoten w und die einzige Kante mit Senke w, so erhalten
wir einen Graphen G0 = (V 0 , E 0 ). Da w ein Blatt von G ist, liegt w nur auf dem
Pfad von v nach w. Daher ist G0 wieder ein gerichteter Baum mit Wurzel v. Nach
Induktion über #V folgt
#E − 1 = #E 0 = #V 0 − 1 = #(V \ {w}) − 1 = #V − 2.
. Damit folgt #V − 1 = #E.
Lemma 5.27. Sei G = (V, E) ein gerichteter Baum mit Wurzel v. Dann gilt
X
deg(v) = 2#V − 2.
v∈V
Proof. Nach Lemma 5.26 gibt es in einem gerichteten Baum #V − 1 Kanten. Jede
dieser Kanten e erhöht den Grad von source(e) und sink(e) um jeweils 1. D.h. jede
Kante trägt 2 zur Gradsumme bei. Daher gilt alse:
X
deg(v) = 2#E = 2#V − 2.
v∈V
Lemma 5.28.
Pn Sei n ≥ 2 und V = {v1 , . . . , vn }. Seien di ≥ 1, 1 ≤ i ≤ n, natürliche
Zahlen mit i=1 di = 2n − 2. Dann gibt es genau
n(n − 2)!
(d1 − 1)! · · · (dn − 1)!
gerichtete Bäume G = (V, E) mit deg(vi ) = d1 .
Proof. Für 1 ≤ j ≤ n sei Tj die Menge der Bäume G = (V, E) mit Wurzel vj und
deg(v` ) = d` , 1 ≤ ` ≤ n.
Behauptung 1: #T1 = · · · = #Tn . / Wir definieren eine Abbildung φij von Ti nach
Tj für 1 ≤ i < j ≤ n. Ist G = (V, E) ∈ Ti dann gibt es in G genau einen Pfad P =
(e1 , . . . , er ) von der Wurzel vi nach vj . Für e = (u, v) ∈ V × V setzen wir e = (v, u).
Man zeigt nun, daß der Graph G0 = (V ; E 0 ) mit E 0 = E \ {e1 , . . . , er } ∪ {e1 , . . . , er }
ein Baum mit Wurzel vj ist. Da in G0 = φij (G) der eindeutige Pfad von vj nach
vi der Pfad p = (e1 , . . . , pr ) ist, folgt sofort φji ◦ φij = idVi . Damit ist phiij eine
Bijektion und die Behauptung folgt. .
Die Aussage des Satzes ist damit bewiesen, wenn wir folgende Behauptung zeigen
können:
8
Behauptung 2:
#T1 =
(n − 2)!
(d1 − 1)! · · · (dn − 1)!
/ Wir beweisen die Aussage per Induktion nach n.
Induktionsanfang: Ist n = 2, so ist d1 = d2 = 1 die einzig mögliche Gradfolge
und in T1 liegt genau ein Baum. Da 1 = (n − 2)!/((d1 − 1)!(d2 − 1)!) folgt die
Behauptung.
Induktionsschluß: Sei nun n ≥ 3. Betrachten wir den Knoten vn in einem G ∈ T1 .
Da vn nicht die Wurzel ist folgt nach Lemma 5.25 (i) und (ii), daß vn Senke genau
einer Kante in G ist. Sei vj die Quelle dieser Kante. Sei T1 (j) die Menge der Bäume
in T1 , in denen eine Kante mit Quelle vj und Senke vn existiert.
Wir betrachten folgende Operation of T1 (j). Zu einem G ∈ T1 (j) definieren wir
ein G00 = (V 00 , E 00 ) folgendermaßen. V 00 = V \ {vn } und
E 00 = E \ {e ∈ E | vn ∈ {sink(e), source(e)} ∪ {(vj , v` )|(vn , v` ) ∈ E}.
Dann ist G00 ein Baum auf V 0 mit Wurzel v1 und Gradfolge d00i = di falls 1 ≤ i ≤
n−1, i 6= j und d00j = dj +dn −2. D.h. wir erhalten einen gerichteten Baum auf n−1
Knoten mit Wurzel v1 mit dieser Gradfolge. Man kann leicht sehen, daß jeder dieser
gerichteten Bäume aus einem G ∈ T1 (j) entsteht. Nach Induktionsvoraussetzung
gibt es davon
(n − 3)!
(d1 − 1)! · · · (dj + dn − 3)! · · · (dn−1 − 1)!
viele.
Betrachten wir nun zwei Fälle:
Fall 1: j = 1. Dann ist vj = v1 die Wurzel von G. Dann haben in G00 alle
n −2
d1 + dn − 2 an v1 angrenzende Kanten Quelle v1 . Es gibt dann d1d+d
viele
n −1
Möglichkeiten aus diesen Kanten dn − 1 Kanten auszuwählen, so daß diese die beim
Übergang von G nach G00 aus (dn −1) Kanten mit Quelle vn entstanden sind. Damit
folgt nach Induktionsvoraussetzung:
#T1 (1) =
d1 + dn − 2
(n − 3)!
(d1 + dn − 3)!(d2 − 1)! · · · (dn−1 − 1)!
dn − 1
n −3
Fall 2: j > 1 und vj is tnicht die Wurzel von G. Dann gibt es djd+d
viele
n −1
Möglichkeiten wie G00 aus eine G entstanden sein kann. Damit folgt
T1 (j) =
dj + dn − 3
(n − 3)!
(d1 − 1)! · · · (dj + dn − 3)! · · · (dn−1 − 1)!
dn − 1
9
Betrachten wir nun die Summe #T1 = #T1 (1) + · · · + #T1 (j), so folgt:
d1 + dn − 2
(n − 3)!
#T1 =
+
dn − 1
(d1 − 1)! · · · (dj + dn − 3)! · · · (dn−1 − 1)!
n−1
X dj + dn − 3
(n − 3)!
(d
−
1)!
·
·
·
(d
+
dn − 3)! · · · (dn−1 − 1)!
d
−
1
1
j
n
j=2
=
n−1
X
(n − 2)!
((d1 + dn − 2) +
(dj − 1))/(n − 2)
(d1 − 1)! · · · (dn − 1)!
j=2
=
n
X
(n − 2)!
(
dj − 2 − (n − 2))/(n − 2)
(d1 − 1)! · · · (dn − 1)! j=1
=
=
(n − 2)!
(2n − 2 − n)/(n − 2)
(d1 − 1)! · · · (dn − 1)!
(n − 2)(n − 2)!
(d1 − 1)! · · · (dn − 1)!
Satz 5.29. Sei V eine Menge mit n Elementen. Dann gilt :
n
o
# (G, v) | G = (V, E) ist Baum mit Wurzel v = nn−1 .
Proof.
Sei V = {v1 , . . . , vn }. Für jede Folge di , 1 ≤ i ≤ n, von Zahlen di ≥ 1 mit
Pn
i=1 di = 2n − 2 gibt es nach Lemma 5.28 genau:
n(n − 2)!
(d1 − 1)! · · · (dn − 1)!
gerichtete Bäume mit deg(vi ) = di für 1 ≤ i ≤Pn. Setzen wir nun d0i := di − 1 so
n
erhalten wir eine Folge von Zahlen d0i ≥ 0 mit i=1 d0i = n − 2. D.h. wir erhalten
eine schwache Komposition von n − 2 mit n Teilen. Es gilt :
n−2
n(n − 2)!
=n 0
.
(d1 − 1)! · · · (dn − 1)!
d1 · · · d0n
Der Multinomialkoeffizient d0n−2
zählt nach Kapitel 2 die Anzahl der Wöter
0
1 ···dn
der Länge n − 2 über einem Alphabet mit n Buchtaben a1 , . . . , an in denen ai
genau d0i mal vorkommt. Summieren wir nun den Multinomialkoeffizienten über
alle schwachen Kompositionen von n − 2 auf, so erhalten wir dei Anzahl der Wörter
der Länge n über a1 , . . . , an . Das sind aber genau nn−2 . D.h. wenn wir die Anzahl
der gerichteten Bäume mit Gradfolge d1 , . . . , dn über alle Gradfolgen aufsummieren
erhalten wir nnn−2 = nn−1 .
Herunterladen