Mitschrift der Vorlesung

Werbung
Ausgewählte Graphenalgorithmen
17. Januar 2008
Gehalten im
Wintersemester 2007 / 2008
von
Prof. Dr. Michael Kaufmann
und
Dr. Katharina Zweig
Mitschrift von
Till Helge Helwig
und
Bastian Brodbeck
1
1
Ausgewählte Graphenalgorithmen
1
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Teilgraphen mit besonderen Eigenschaften
Zum Aufbau der Vorlesungsmitschrift in diesem Teil
Wir werden im Lauf der Vorlesung immer wieder natürlichsprachliche Formulierungen formalisieren und
auf der anderen Seite Formalisierungen wieder in natürlichsprachliche Formulierungen umformen. Bitte bearbeiten Sie zur Übung dieser Fähigkeit die vielen kleinen Extraaufgaben, die in die Vorlesung und in dieses
Skript eingearbeitet wurden. Wann immer Sie eine natürlichsprachliche Formulierung sehen, versuchen Sie,
selber eine Formalisierung zu nden, und umgekehrt. Legen Sie sich zum Lernen auf die Klausur ein Blatt
Papier und Bleistift neben das Skript und machen Sie sich immer wieder kleine Beispiele, an denen Sie Ihr
Verständnis des Textes erproben können.
Wenn
G dicht ist, d.h., viele der im ungerichteten Fall n(n−1)/2 möglichen Kanten existieren, werden in manchen
O(n) oder O(log n) Kanten) gesucht, die gewisse Eigenschaften
Applikationen dünne Teilgraphen (mit nur
haben, zum Beispiel in den folgenden Situationen:
1.
Soziale Netzwerkanalyse:
Soziologen beschäftigen sich seit mehreren Jahrzehnten mit der Frage, wie soziale Netzwerke beschaen
sind. Sie untersuchen beispielsweise das Datingverhalten an amerikanischen Schulen [2] oder das Kollaborationsverhalten von Naturwissenschaftlern [9]. In diesem Gebiet gibt es viele spannende Teilfragen, zum
Beispiel die nach dem 'wichtigsten' Teilnehmer in einem solchen Netzwerk, z.B., in der Untersuchung nach
dem ersten HIV-Inzierten in Amerika. Sehr auällig ist bei sozialen Netzwerken, dass die meisten Knoten einer oder mehreren Gruppen von Knoten zugeordnet werden können, deren Elemente untereinander
wesentlich stärker vernetzt sind als Knoten unterschiedlicher Gruppen. Solche dichten Teilgraphen werden
auch
2.
Cluster genannt.
Minimale Spannbäume (MST):
Minimale Spannbäume wurden schon in der Grundlagenvorlesung vorgestellt: Gegeben ein gewichteter
1
oder ungewichteter Graph suchen wir einen Spannbaum , dessen Gewicht, also die Summe der in ihm
enthaltenen Kanten, minimal ist. Dieses Problem ist polynomiell lösbar mit einem Algorithmus, dessen
Laufzeit in
3.
Om log m
liegt.
Kommunikationsnetzwerk:
In vielen Kommunikationsnetzwerken erfolgt die Kommunikation (wenigstens annähernd) über kürzeste
Wege und oftmals sinkt die Qualität der Kommunikation mit der Zahl der Zwischenstationen. Es wäre daher zwar wünschenswert, aber einfach zu teuer, alle Teilnehmer direkt miteinander zu verbinden
. In einer solchen Situation ist ein Teilgraph gesucht, der für die meisten Kommunikationspartner die
Kommunikation über nicht allzu viele Zwischenstationen routen kann, dessen 'Umwege' also für die Kommunikationspartner klein sind. Wenn die Kosten für den Bau des Netzwerkes sehr hoch sind, muss im
Extremfall ein Spannbaum gefunden werden, der diese Bedingung erfüllt.
4.
Zusätzliche Komplikation:
Wenn nun in einem solchen Netzwerk Kommunikation immer nur exklusiv auf einer Kante stattnden
kann, also Mehrfachnutzung derselben Verbindung nicht möglich ist, dann suchen wir nicht so sehr nach
einem dünnen Teilgraphen mit wenig Umwegen, sondern nach einem, der für viele Kommunikationsparter
möglichst viele kantendisjunkte Pfade enthält.
Die oben genannten Beispiele sind sprachlich wiedergegeben und wecken sicherlich bei jedem ähnliche, im
Detail aber unterschiedliche Assoziationen. Diese Situation ist sehr häug im Arbeitsleben eines Algorithmikers
und daher ist eine konsistente und verständliche Formalisierung des Problems unerlässlich, da erst auf der
mathematisch-formalen Ebene Probleme gleichzeitig kurz und eindeutig benannt werden können. In der Realität
ist die Formalisierung eines Problems häug ein iterativer Prozess, d.h., eine erste Formalisierung muss im
1 Also
einen Teilgraphen von G, der mit nur
n−1
Kanten alle
2
n
Knoten des Graphen miteinander verbindet.
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Verlauf des Algorithmendesigns präzisiert oder sogar leicht verändert werden, um überhaupt noch eine eziente
Lösung des Problems zu garantieren. Oftmals gehen also diese beiden Prozesse, der des Formalisierens und des
Lösens des Problems, Hand in Hand. Wir beschränken uns im Folgenden auf Probleme der folgenden Art:
Gegeben ein Graph
G = (V, E),
gibt es einen Teilgraphen mit Eigenschaft
E?
Für die Formalisierung dieser Art von Problem müssen meistens die beiden Fragekomplexe 'welcher Art ist
der Graph (gewichtet, gerichtet, einfach?)' und 'welche Eigenschaften soll der Teilgraph haben' geklärt werden.
Wurde das Problem formalisiert, gibt es im Wesentlichen folgende Möglichkeiten:
1.
Existenzbeweis
und
Charakterisierung des Lösungsraumes:
Es kann gezeigt werden, unter wel-
chen Parameterkombinationen es einen solchen Teilgraphen überhaupt geben kann: Wenn wir z.B. einen
Spannbaum mit bestimmten Eigenschaften suchen, aber der Graph noch nicht einmal zusammenhängend
ist, kann es auch keinen Spannbaum geben.
2.
NP-Härte-Beweis: Durch Reduktion eines bekanntermaÿen NP-harten Problems auf das neue Problem
kann gezeigt werden, dass im allgemeinen Fall die Lösung des Problems nicht ezient berechnet werden
kann (solange
•
P 6= N P ).
In diesem Fall gibt es wieder mehrere Möglichkeiten [6, Kapitel 8]:
Spezialfälle suchen, in denen das Problem ezient gelöst werden kann. In graphentheoretischen Problemen sind das häug einfache Graphenklassen wie Ketten, Kreise, Cliquen, Bäume, planare Graphen.
•
Approximationsalgorithmen suchen, die garantieren, dass sie eine Lösung nden, die in einem bestimmten Verhältnis zum Optimum stehen. Natürlich ist es hier so, dass die Güte der Lösung mit
der dafür benötigten Laufzeit im Verhältnis steht!
•
Manchmal lässt sich ein Problem noch nicht einmal approximieren, aber es ist möglich, eine obere
Schranke für die Eigenschaft des Teilgraphen zu geben. Wenn z.B. ein Spannbaum gesucht wird, so
dass die Endknoten derjenigen Kanten, die nicht im Spannbaum sind, in der Summe einen möglichst
kurzen Abstand zueinander haben, so ist dieses Problem nicht approximierbar, aber wir wissen, dass
es für jeden Graphen einen Spannbaum gibt, so dass die Summe in
3.
O(m log2 n log log n)
liegt.
Angabe eines ezienten Algorithmus: Ein Algorithmus, der eine polynomielle Laufzeit hat, wird als
ezient
bezeichnet und beweist, dass das Problem in
P
liegt.
G = (V, E) ein Graph.
V 0 ⊆ V , dann bezeichne G(V 0 ) den durch V 0 induzierten Teilgraphen G(V 0 ) = (V 0 , E 0 ) mit E 0 = {(v1 , v2 }|v1 , v2 ∈
V 0 ∧ (v1 , v2 ) ∈ E}.
Sei
Sei
Extra-Aufgabe 1:
Geben Sie den durch die Teilmenge
1.1
V 0 = {A, C, E, F, G}
induzierten Teilgraphen gezeigten Graphen an.
Beispiel Formalisierung (3.)
Im dritten Fallbeispiel war eine Menge von Personenpaaren gegeben, die gerne miteinander kommunizieren
würden. Natürlich könnte die Kommunikationsgesellschaft einfach jedes Paar von Personen direkt (z.B. durch
ein Kabel) miteinander verbinden, das ist aber häug zu teuer. Wir nehmen trotzdem als Ausgangspunkt den
Graph, in dem jede Person mit allen anderen Personen direkt verbunden ist, mit denen sie gerne kommunizieren
möchte, und nennen diesen Graphen
G.
3
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Extra-Aufgabe 2:
Für die folgenden Diskussionen ist der Begri der Distanz zwischen zwei Knoten in einem Graph wichtig.
Bitte denieren Sie die Distanz
dG (v, w) zweier Knoten in einem Graphen G = (V, E) so genau wie möglich.
Die Denition der Distanz zweier Knoten in einem Graphen ist Grundlagenwissen. Sollten Sie nicht mehr
so genau wissen, wie die Distanz deniert ist, dann gucken Sie bitte in einschlägigen Lehrbüchern nach und
stellen Sie sicher, dass Ihnen die genaue Denition bekannt ist. Literatur: [3].
Wir nehmen nun an, dass Kommunikation über Personen geroutet werden kann, dass aber die Kommunikation
umso schlechter ist, über je mehr Punkte sie geroutet wird. Damit ist nun die Frage, ob wir einen Teilgraphen
G0
in
G
nden können, so dass die meisten Personen zufrieden mit der Qualität ihrer Kommunikation sind.
Diese 'Qualität' des Teilgraphens
1.
P
P
2.
minmaxdG0 (v, w)
v∈V
w∈V
dG0 (v, w)
v∈V w∈V
3. Stretch(v, w)
:=
G0
kann nun beispielsweise wie folgend formalisiert werden:
soll klein sein (Wiener Index).
soll klein sein (Radius).
dG0 (v, w)
dG (v, w)
soll für alle Paare
v, w
klein sein. Hier gibt es natürlich wieder verschiedene
Möglichkeiten: z.B. könnten wir fordern, dass entweder das Maximum oder die Summe der Stretch-Werte
klein sein sollen. Auÿerdem könnte man noch die Menge der Paare
die in
G
direkt miteinander verbunden waren, also: für alle Paare
v, w auf diejenigen Paare einschränken,
v, w ∈ E .
Extra-Aufgabe 3:
Machen Sie sich die Bedeutung der oben genannten Formeln klar. Der beste Weg dafür ist immer, sich
ein kleines Beispiel für
G
und
G0
aufzumalen und dann die Werte für
G0
per Hand zu berechnen. Wie
unterscheiden sich die Qualitätsmaÿe? Wenn Sie wählen könnten, wären Sie lieber in einem Netz, das bei
gleichen Kosten das erste, zweite oder dritte Maÿ optimiert?
Formalisierungen sind nicht immer eindeutig zu nden. Das ist insbesondere bei Problem 1. der Fall, wir werden
uns daher im Folgenden eingehender damit beschäftigen.
1.2
Clustern von Graphen
1.2.1 Ein erster Ansatz [10]
Ein Clustering eines Graphen ist erstmal einfach eine Partitionierung von
Schritt durch ein sogenanntes
Clusteringmaÿ
V,
deren Qualität in einem zweiten
beurteilt werden kann.
Definition 1: Partition
Eine Partitionierung ist die Untergliederung von
Vi
ist eine
Element der Partition
oder ein
V
in disjunkte Teilmengen
V1 , ..., Vz ,
so dass
∪Vi = V .
Cluster.
Wir suchen Cluster, in denen die Knoten innerhalb des Clusters nahe beieinander sind, und die Cluster untereinander nur dünn vernetzt sind. Damit haben wir zwei verschiedene Qualitätseigenschaften gefordert. Wie
können diese Forderungen formalisiert werden? Für die geforderte dünne Vernetzung unter den Clustern führen
Gc
Metagraph
G induziert durch eine Partition C , in dem jeder Cluster Vi
vi , vj , i 6= j genau dann miteinander verbunden
werden, wenn es in G mindestens eine Kante e = (x, y) mit x ∈ Vi , y ∈ Vj gibt. Wir fordern nun, dass die Anzahl
0
dieser Kanten |E(Gc )| klein ist. Wenn wir für G nur eine bestimmte Anzahl von Kanten erlauben, suchen wir
0
im Allgemeinen denjenigen Teilgraphen G , der dieses Maÿ optimiert.
wir das folgende Maÿ ein: sei
ein
von
durch einen Knoten repräsentiert wird, und in dem zwei Knoten
4
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Extra-Aufgabe 4:
Was genau bedeutet diese Formalisierung? Machen Sie sich die Wirkung dieses Maÿes an einem kleinen
Beispiel klar. Was genau wird hier minimiert? Ist es wirklich die Anzahl der Kanten zwischen den Clustern
oder etwas anderes?
Die folgenden Maÿe quantizieren die Qualität einer Partition bezüglich der kurzen Distanz der Knoten innerhalb der Cluster:
Definition: Exzentrizität
ecc(v)
Die Exzentrizität
eines Knotens ist deniert als:
ecc(v) := max {dG (v, w)}
w∈V
Definition:Radius
Der Radius eines Graphen ist
Rad(G) := min {ecc(v)}
v∈V
Bemerkung: Als den
Durchmesser
eines Graphen bezeichnet man die maximale Exzentrizität aller seiner Knoten.
Extra-Aufgabe 5:
Welcher Knoten im obigen Graphen hat die kleinste Exzentrizität? Welche(r) Knoten bestimmen den Radius
des Graphen und welche den Durchmesser?
Theorem 1 [10]: Partition
Gegeben ein ungewichteter Graph
C = {V1 , . . . Vz },
G = (V, E) mit n Knoten und eine Zahl k ≥ 1. Es existiert eine Partition
so dass
1.
Rad(Vi ) ≤ k − 1 ∀Vi ∈ C
2.
|E(GC )| ≤ n1+ k
1
Beweis:
Deniere
N (V 0 )
für
V0 ⊆ V
als die Menge der Nachbarn von Knoten aus
V 0,
die selber nicht in
V0
enthalten
sind.
5
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Extra-Aufgabe 6:
Formalisieren Sie die oben gegebene sprachliche Denition von
{A, B, E}
N (V 0 )
und geben Sie
N (V 0 )
für
V0 =
im obigen Graphen an.
Der folgende Algorithmus BASIC_PART leistet das Gewünschte:
1. Setze C ← ∅
2. while V 6= ∅ do
3. Wähle einen beliebigen Knoten v
4. Setze V 0 ← {v}
1
5.while |N (V 0 )| > n k |V 0 | do
6. setze V 0 ← V 0 ∪ N (V 0 )
7.endwhile
8. Setze C ← C ∪ V 0 ,
9. V ← V \ V 0
10.endwhile
Extra-Aufgabe 7:
Zeigen Sie, dass der Radius eines Clusters höchstens
k−1
ist.
2
Wenn Sie einen Tip benötigen, lesen Sie diese Fuÿnote .
Extra-Aufgabe 8:
Zeigen Sie, dass Algorithmus Basic_Part eine Partition erzeugt.
Hier die Skizze der Lösung:
Nach der ersten while-Schleife gilt:
Wenn die
i-te
1
|V 0 | > n k
i
|V 0 | > n k (oder wir haben gestoppt)
0
= n, also dass V 0 mehr als n Knoten
der k -ten Schleife würde gelten: |V | > n
0
der Annahme, dass V eine Teilmenge von V ist.
Schleife erreicht und durchlaufen wird, gilt:
Nach Durchlauf
Widerspruch zu
k
k
enthielte im
Extra-Aufgabe 9:
E(GC ) zuerst selbst zu bestimmen, bevor Sie weiterlesen!
V 0 in GC höchstens
1
1+ k
geben? Kommen Sie auf n
viele?
Versuchen Sie die maximale Anzahl der Kanten in
Wieviele Kanten kann ein durch den oben genannten Algorithmus gebildeter Cluster
haben? Wieviele Cluster kann es höchstens
2 Tip:
Der Radius von
Vi
kann nicht gröÿer sein als die Exzentrizität seines Startknotens
6
v.
Wie groÿ kann diese werden?
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
Anzahl der Kanten in
E(Gc )
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Wenn die while-Schleife in Zeile 5 stoppt, dann hat
V0
viele Nachbarn. Selbst wenn jeder dieser Nachbar einen eigenen Cluster bildet, ist dadurch die Zahl
gebildeten Kanten in
Gc
1
n k |V 0 |
0
der von V
höchstens
limitiert:
|E(Gc )|
1
X
≤
n k |Vi |
Vi ∈C
1
X
= nk
|Vi |
Vi ∈C
| {z }
=n (Part.)
1
1
= nn k = n1+ k
Damit haben wir gezeigt, dass der oben genannte Algorithmus in ezienter Weise eine Partition mit den
gewünschten Eigenschaften berechnen kann.
Extra-Aufgabe 10:
Wieviele Interclusterkanten (d.h.,
|E(GC )|) bleiben maximal übrig, wenn k = 2 ist? Wieviele, wenn k = log n
ist?
1.2.2 Ein zweiter Ansatz [10]
In der nach dem ersten Ansatz gebildeten Partition ist zwar
Kanten zwischen den Clustern (den sogenannten
|E(Gc )| klein, oft würde man lieber die Menge aller
inter-cluster edges) beschränken, also die folgende Menge:
{(x, y)|x ∈ Vi , y ∈ Vj , i 6= j, (x, y) ∈ E(G)}
Wir nennen diese Menge
Eout (G, C).
Theorem 2 [10]:
In jedem ungewichteten Graphen
G
1.
Rad(Vi ) ≤ x log m ∀ Vi ∈ C
2.
|Eout (G, C)| ≤
und für jeden Parameter
x≥1
gibt es eine Partition
C,
so dass
m
x.
Der PARTITION-Algorithmus liefert die Partition des Graphen nach genau diesem Theorem.
Setze C ← ∅
while V 6= ∅ do
1. Wähle einen beliebigen Startknoten v ∈ V
2. Setze V 0 ← {v}
|Eout (V 0 )|
1
3. while
>
do
0
|Ein (V )|
x
Setze V 0 ← V 0 ∪ N (V 0 )
endwhile
4. Setze C ← C ∪ V und V ← V \ V 0
endwhile
Beweis
Wir beweisen zuerst, dass Rad(Vi )
≤ x·log m ∀ Vi ∈ C , dass es also in jedem Cluster Vi einen Knoten
x · log m ist. Wir
gibt, dessen maximaler Abstand zu allen anderen Knoten innerhalb dieses Clusters kleiner als
denieren dazu
der
j -ten
Ein (j) als die Anzahl der innerhalb des Clusters verlaufenden Kanten (Intraclusterkanten) nach
Schleife in Zeile 5 (falls der Algorithmus nicht vorher stoppt)
7
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
1.
Ein (0) = 1 ≥
1
x
2.
Ein (1) ≥ 1 +
1
x
3.
Ein (2) ≥ Ein (1) +
j.
Ein (j) ≥ Ein (j − 1)(1 + x1 ) = (1 + x1 )j
Ein (1)
=1+
x
1
x
+
1
1+ x
x
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
=1+2·
1
x
+ ( x1 )2
Nach dem wievielten Schleifendurchlauf würde ein wachsender Cluster
V0
mehr als
m
Kanten enthalten, ab
wann gilt also:
(1 + x1 )j ≥ m
?
⇒ j · ln(1 + x1 ) ≥ ln m
ln m
≥ x · ln m
⇒j≥
ln(1 + x1 )
Das sieht schon fast so aus, wie in Theorem 2 angegeben. Im letzten Schritt müssen wir nun noch zeigen, dass
ln(1 + x1 ) ≤
1
x ist:
Behauptung: ln(1 + x1 ) ≤ x1
Bekannt: limn→∞ (1 + n1 )n = e
⇒ (1 + x1 )x < e
⇒ x · ln(1 + x1 ) < 1
⇒ ln(1 + x1 ) <
1
x
Damit gilt nun für
j ≥ x · ln m,
d.h., spätestens nach dem j-ten Schleifendurchlauf ist die geforderte Bedingung
für die Durchführung der Schleife nicht mehr gewährleistet und der Algorithmus stoppt. Da wir im i-ten Schleifendurchlauf alle Knoten hinzunehmen, die von dem gewählten Startknoten aus Distanz
i haben, ist somit auch
gewährleistet, dass der Radius des Clusters diese Grenze einhält.
|Eout (G, C)| ≤
Wir beweisen nun, dass
m
x.
Extra-Aufgabe 11:
Beweisen Sie:
|Eout (G, C)| ≤
Für jeden einzelnen Cluster
m
x nach dem Muster für den Algorithmus Basic_Part.
Vi ∈ C
gilt:
1
x
Eout (Vi ) ≤ · Ein (V
Pi )
⇒ Eout (G, C) =
Eout (Vi )
Vi ∈C
X
⇒ Eout (G, C) = x1
Ein (Vi ) =
m
x
Vi ∈C
|
{z
m
}
Damit haben wir bewiesen, dass der PARTITION-Algorithmus eine Partition mit den in Theorem 2 beschriebenen Eigenschaften bildet.
8
www.bioinfoblog.de
Ausgewählte Graphenalgorithmen
1
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
1.2.3 Ein dritter Ansatz
Wir haben bisher zwei Algorithmen vorgestellt: Der erste konstruiert eine Partitionierung in Cluster, die nicht
mit allzuvielen anderen Clustern verbunden sind, der zweite resultiert in eine Partition, in der die Gesamtzahl
der Kanten zwischen den Clustern klein ist. Oft werden solche Partitionen dazu benutzt, um einen sehr groÿen
Graphen zu approximieren, indem der oben erwähnte Metagraph
GC
gebildet wird. In diesem Fall ist es manch-
mal wünschenswert, dass nicht allzuviele Cluster entstehen, die jeweils auch nicht zu groÿ sein sollten. Dies kann
bei den beiden oben genannten Algorithmen nicht gewährleistet werden.
Extra-Aufgabe 12:
Überlegen Sie sich, wieviele Cluster bei den beiden bisher vorgestellten Algorithmen entstehen könnten.
Wie müsste jeweils eine Graphfamilie aussehen, die eine hohe Anzahl von Clustern erzeugt?
Wie könnte diese Forderung formalisiert werden?
Definition: k-dominating Set
D
∃d ∈ D
Eine Teilmenge
von Knoten ist ein
v∈V
mit
gilt:
k-dominating Set
eines (ungewichteten) Graphen
G,
falls für alle
dG (v, d) ≤ k .
Extra-Aufgabe 13:
Für welche
k
bildet die Menge der schwarz gefärbten Knoten ein
Wenn eine solche Menge gefunden wurde, wird
C
k -dominating
Set des gezeigten Graphen?
wie folgend deniert:
v ∈ V − D und d ∈ D: dG (v, d)
Vi = {di } ∪ vi ∈ V − D|dG (dj , vj ) = min {dG (dk , vj )} , wobei Gleichstände mit einer geeigneten Regel
1. Berechne für jedes Paar
2.
dk ∈D
Tie-Breaking-Rule ) entschieden werden müssen.
(
Extra-Aufgabe 14:
Bilden Sie aus dem angegebenen Dominating-Set eine Partition.
Wir zeigen jetzt, dass es in jedem Graphen ein k-dominating Set mit wenigen Knoten gibt:
Theorem 3 [7]:
In jedem zusammenhängenden Graphen und für jedes
max 1,
n
k+1
k≥1
gibt es ein
k -dominating
Set mit weniger als
Knoten.
9
www.bioinfoblog.de
Ausgewählte Graphenalgorithmen
1
Beweis
G
Fall 1:
Fall 2:
Sei
T
ein beliebiger Spannbaum von
Wenn
k ≥ h,
bildet
w
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
mit Wurzel
w
und sei
h
seine Tiefe bezüglich der Wurzel
w.
ein einelementiges k-dominating Set.
k<h
Wir bilden die folgenden Mengen
Ti :
Ti = {vj ∈ V |dT (w, v) = i}
Extra-Aufgabe 15:
Geben Sie für jeden Knoten in dem oben gezeigten Graphen und den darin markierten Spannbaum (rote
Kanten) dasjenige
i
an, so dass
v
in
Ti
enthalten ist.
Extra-Aufgabe 16:
Finden Sie eine umgangssprachliche Formulierung für diese Mengen
Jede Menge
Ti
Ti .
T jeweils denselben Abstand zu w haben. Nun vereinigen wir
Ti+j(k+1) , also Ti und jedes (k + 1)ste darauolgende Level. Dadurch
enthält also alle Knoten, die in
diese Teilmengen wie folgend:
S
Dj =
j≥0
entstehen
k+1
paarweise disjunkte Mengen, also eine Partition. Da jeder Knoten nur in einer Menge
kann mind. eine Menge
Dk
höchstens
j
n
k+1
k
Dj
liegt,
Knoten enthalten.
Extra-Aufgabe 17:
Warum kann mindestens eine dieser Menge nicht mehr als
Antwort: Die Aussage gilt wegen des
insgesamt mehr als
Diese Menge
Dk
n
j
n
k+1
k
Knoten enthalten?
Schubladenprinzips : wenn alle k+1
Mengen mehr Knoten enthielten, wären
Knoten verteilt worden. Da die Mengen paarweise disjunkt sind, kann das nicht sein.
bildet ein k-dominating Set.
Extra-Aufgabe 18:
Machen Sie sich klar, dass tatsächlich alle anderen Knoten höchstens Abstand k zu einem der Knoten im
dominating-Set haben!
Extra-Aufgabe 19:
Geben Sie eine Graphenfamilie an, in der das k-dominating Set nicht weniger als
n
O( 2k+1
) Knoten enthalten
kann.
Tip: Versuchen Sie bei einer solchen Frage immer erstmal sehr einfache Graphenfamilien, wie z.B. Cliquen,
Kreise, Pfade. Auch wenn die u.U. nicht die geforderten Eigenschaften haben, zeigen sie meistens ob man z.B.
eher einen dichten oder eher einen dünnen Graphen konstruieren muss.
Anmerkung: Ein minimales (1)-dominating-Set zu nden ist NP-hart [11].
10
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
Zusammenfassung:
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Wir haben jetzt Algorithmen für drei verschiedene Partitionierungen angegeben, also für
Aufteilungen eines Graphen in Teilgraphen, die bestimmte Eigenschaften erfüllen. Diese Eigenschaften werden
hier noch einmal überblicksartig angegeben:
≤k−1
1
|E(GC )| ≤ n1+ k
1. Rad(Vi )
BASIC_PART
≤ x · log m
|Eout (G, C)| ≤ m
PARTITION
x
2. Rad(Vi )
3. Rad(Vi )
|C| ≤
≤k
n
k+1
Spannbaummethode
Extra-Aufgabe 20:
Überlegen Sie sich für alle drei Methoden, mit Hilfe welcher Datenstrukturen Sie die Algorithmen implementieren würden und welche Laufzeit sie dann haben.
1.3
Spanner
Bei den oben beschriebenen Partitionierungsalgorithmen entstehen zwangsläug meistens nicht miteinander
zusammenhängende Teilgraphen. Oftmals ist es aber wünschenswert, dass ein Teilgraph gefunden wird, der
alle Knoten beinhaltet, den Graphen also
spannt,
und gleichzeitig andere Eigenschaften hat. Gesucht sind
insbesondere oftmals möglichst dünne Teilgraphen, die entweder für alle Knotenpaare oder für eine bestimmte
Auswahl daraus nur kurze Umwege in Bezug auf ihre Distanz im Originalgraphen erzeugen. Solche Teilgraphen
werden
Spanner genannt.
Formalisierung
Auch hier gibt es wieder verschiedene Möglichkeiten der Formalisierung. Wir denieren zuerst den sogenannten
Stretch :
Definition:
Stretch
Der Stretch eines Knotens für einen gegebenen Teilgraphen
stretchG0 (x, y) :=
Wenn
G0
G'
eines Graphens
G
ist deniert als:
dG0 (x, y)
.
dG (x, y)
aus dem Kontext eindeutig hervorgeht, kann der Index entfallen.
Extra-Aufgabe 21:
Was können Sie über den Abbildungsbereich der Funktion
stretch ganz allgemein sagen? Überlegen Sie sich
auf solche Fragen die Extremfälle: gibt es eine untere oder obere Grenze für die Werte?
11
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Extra-Aufgabe 22:
Berechen Sie für den angegebenen Graphen G, den farbig markierten Teilgraphen G' und für jedes Paar
von Knoten den
stretch.
Damit können wir nun eine erste Denition für Spanner geben:
Definition:
k-Spanner
Ein Teilgraph
G0 = (V, E 0 )
eines Graphen
G = (V, E)
ist ein k-Spanner genau dann, wenn
∀e = (x, y) ∈ E
gilt:
stretchG0 (x, y) ≤ k
Extra-Aufgabe 23:
k -Spanner
Machen Sie sich klar, dass es nicht immer möglich ist, einen
um einen 3-Spanner zu konstruieren? Und für allgemeines
k mit z.B. nur m/2
m), die erhalten bleiben könnte,
für gegebenes
Kanten zu bilden. Was ist die maximale Kantenanzahl (in Abhängigkeit von
k?
Extra-Aufgabe 24:
G0 mit n − 1
w ∈ V gilt.
Geben Sie eine Methode an, mit der ein Teilgraph
dG (v, w)∀v ∈ V
und einen gegebenen Knoten
Kanten gebildet wird, so dass
dG0 (v, w) =
Antwort: Einen solchen Teilgraphen, der natürlich ein aufspannender Baum sein muss und z.B. mit Hilfe der
Breitensuche von
w
aus gefunden werden kann, nennt man in
w verwurzelten, distanzerhaltenden Spannbaum.
Extra-Aufgabe 25:
Zeigen Sie, dass für einen solchen in
O(eccG (w))-Spanner
w
verwurzelten, distanzerhaltenden Spannbaum gilt, dass er ein
ist!
Antwort: Die kleinste Distanz, die zwei beliebige Knoten
x, y
in einem ungewichteten Graphen haben können,
ist 1 (direkte Kante zwischen ihnen). Nun ist die maximale Distanz, die die Wurzel
durch
ecc(w)
gegeben. Ein Baum
T,
der die Distanzen zu
x, y im Baum höchstens der zweifachen Exzentrizität
2 · ecc(w) für beliebige Knoten x, y in G.
von
w
w
w
zu
x
und
y
haben kann
erhält, stellt somit sicher, dass die Distanz von
entspricht. Damit ist der
stretchT (x, y)
höchstens
Theorem 4 [10]:
Für jeden ungewichteten Graphen
G
und für jedes
k≥1
existiert ein
O(k)-Spanner
mit höchstens
1
n1+ k
Kanten.
Beweis
Sei
C
eine Partition, die mit Algorithmus BASIC_PART und Parameter
jeweils der Startknoten von
Spannbaum.
G0
Vi ∈ C .
Wir legen jetzt in Cluster
Vi
einen in
vi
k
berechnet wurde. Sei
vi
gewurzelten, Distanz erhaltenden
besteht aus diesen Spannbäumen, vereinigt mit der folgenden Menge:
Für je zwei Cluster
Vi , Vj , i 6= j ,
die mindestens eine Kante
eine dieser Kanten und fügen sie zu
E0
e = (x, y)
mit
x ∈ Vi ∧ y ∈ V j
, teilen, wählen wir
hinzu.
12
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Extra-Aufgabe 26:
Zeigen Sie, dass der so konstruierte Teilgraph
G0
die im Theorem geforderten Eigenschaften erfüllt.
Antwort: Wie in Extra-Aufgabe 1.3 gezeigt, haben alle Knotenpaare innerhalb eines solcherart denierten Spann-
stretch von höchstens stretchT (x, y) ≥ 2·ecc(w). Die Exzentrizität des Startknotens ist gegeben
k − 1, damit ist der stretch für alle Knotenpaare innerhalb eines
Clusters in O(ecc(w)) = O(k). Was ist nun mit Knotenpaaren, von denen ein Knoten im Cluster Ci und der
andere im Cluster Cj liegt?
baumes
T
einen
durch den Radius des Clusters, liegt also bei
Damit haben wir einen ersten spannenden Graphen gefunden, der einen niedrigen maximalen Stretch garantiert.
1.4
Spannbäume mit niedrigem, durchschnittlichem Stretch
Ein gewurzelter, Distanz erhaltender Spannbaum erhält zwar für
w
optimale Routen, ist aber nicht unbedingt
T
optimal für alle Knoten. Wir denieren daher für jeden Spannbaum
X
Q(T ) :=
dT (x, y)
in
G
das folgende Qualitätsmaÿ:
(Tree-Distance-Sum)
e=(x,y)∈E
Dann ist der durchschnittliche Stretch gegeben durch
Savg (G, T ) =
Q(T )
m . Wir denieren
Sopt (G) := min {Savg (G, T )} ,
T ∈T
wobei
T
die Menge aller Spannbäume in
immer eine obere Grenze für
Sopt (G)
G
beschreibt. Damit gibt
Savg (T )
für einen beliebigen Spannbaum
T
an.
Extra-Aufgabe 27:
Überlegen Sie sich einfache untere Grenzen für
Q(T ).
Antwort: Eine einfache untere Grenze ist gegeben durch die Tatsache, dass die Endpunkte jeder Kante, die nicht
in T ist, ihre Distanz in T mindestens verdoppeln. Daher gilt:
Q(T ) ≥ 2(m − n + 1).
Auf Übungsblatt 5 wurde
die sogenannte edge vitality eingeführt. Können Sie in Abhängigkeit von diesen Werten eine untere Grenze für
Q(T )
angeben?
Als einfache untere Grenze für
Q(T ) kann auch die Denition des Girth (der Taillenweite) hinzugezogen werden,
für die wir wiederum die Denition des Kreises benötigen:
Definition:
Sei
C ⊆ E
Kreis (Cycle)
eine Teilmenge von Kanten in einem Graphen
induzierte Graph, dann beschreibt
ist. Die
C
G
und
G(C) = (V, C)
der durch diese Menge
einen Kreis genau dann, wenn der Grad aller Knoten in
G(E 0 )
gerade
Länge des Kreises |C| entspricht der Summe der in ihm enthaltenen Kanten (bzw. der Anzahl der
darin enthaltenen Kanten im ungewichteten Fall).
Extra-Aufgabe 26:
Erstellen Sie Beispielgraphen, die Kreise sind. Denken Sie dabei insbesondere an Extrembeispiele. Muss
G(E 0 )
beispielsweise zusammenhängend sein?
13
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
Definition:
Als Girth
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Girth (Taillenweite)
g(G)
bezeichnet man die Länge des kleinsten Kreises in
G.
Lemma:
In einem ungewichteten Graphen
Beweis:
Um in
G
G
ist
Sopt (G) ≥
(m−(n−1))·g(G)
m
=g−
n−1
m g.
einen Spannbaum zu konstruieren, müssen alle Kreise 'aufgeschnitten' werden, denn ein
Spannbaum enthält ja keinen Kreis mehr. Die Kante im Kreis, die nicht in
Stretch von
g(G).
Da im Spannbaum nur
mind. einen Stretch von
n−1
T
liegt, hat also mindestens einen
Kanten enthalten sind, haben alle anderen
m−n+1
Kanten
g(G).
Wir betrachten jetzt für einfache Graphenfamilien
G(n)
jeweils den Spannbaum, der
Sopt (G(n))
erzielt.
Extra-Aufgabe 28:
Geben Sie Spannbäume
T
an, die bezüglich
Q(T )
für Cliquen und Ringe optimal sind. Beweisen Sie die
Optimalität der von Ihnen angegebenen Bäume!
Clique:
Sei
Kn
eine Clique mit
n
T darin ein Stern,
Savg (T, Kn ):
X
X
Q(T ) =
1+
2
Knoten und sei
d.h., ein Knoten, der mit den
n−1
anderen Knoten direkt verbunden ist, dann gilt für
e∈T
e∈E\T
| {z }
n−1
Savg (T, Kn )
=
2−
| {z }
m−(n−1)
2
n
Optimalität: Jede Nichtbaumkante wird nur um den Faktor 2 verlängert und damit ist der Baum optimal.
Abbildung 1: Ein Stern, der für die Clique den optimalen Spannbaum bezüglich
Q(T )
darstellt.
Ring
Im Ring kann es nur eine Art von Baum geben, nämlich eine Kette mit
n−1
Kanten. Der einzige Freiheitsgrad
besteht darin, die Kante, die nicht in der Kette enthalten ist, zu bestimmen. Im ungewichteten Fall ist es
klar, dass ein solcher Baum optimal sein muss, da alle Bäume zueinander isomorph sind und jeweils dieselbe
Qualität bezüglich
Q(T ) aufweisen.
ω(e) trägt.
Daher betrachten wir nun einen gewichteten Ring, in der jede Kante
e
ein
reellwertiges Gewicht
Sei nun
T ∗ = V − e∗ ,
wobei
e∗ die
Kante mit dem maximalen Gewicht ist, dann gilt:

Savg (T ? ) ≤

1
ω(Cn ) − ω(e) 
(n − 1) ·1 +

n | {z }
ω(e)
e∈T
=
2
2n − 2
=2−
n
n
14
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Denn es gilt:
ω(Cn ) − ω(e)
(n − 1) · ω(e)
≤
= (n − 1)
ω(e)
ω(e)
Extra-Aufgabe 29:
Beweisen Sie, dass
T ∗ auch
der optimale Baum ist.
Gitter
Der in Abb. 2 gezeigte Baum hat in einem
√
n×
√
n
Gitter einen
Savg
von
O(log n).
Abbildung 2: Asymptotisch optimale Spannbäume für Gitter.
Anmerkung:
Man kann zeigen, dass für diese
⇒ Sopt ∈ Θ(log n)
√
√
n× n-Gitter alle Spannbäume einen Savg
in
Ω(log n) haben.
[1].
Wir verallgemeinern jetzt die Frage: Gegeben ein beliebiger Graph G, nde den Spannbaum, der Q(T) minimiert.
3 .
Wir zeigen, dass diese Frage NP-hart ist
Extra-Aufgabe 30:
Nennen Sie ein paar NP-harte Probleme.
Definition: Problem
PQT
Gegeben: ungewichteter Graph G
Gesucht: Spannbaum T , der Q(T ) minimiert.
Extra-Aufgabe 31:
Ein bekanntes NP-hartes Problem ist das Folgende:
Dominating Set [Problem GT2 in [11]:
3 Falls
Sie sich nicht mehr gut an diese Komplexitätsklasse erinnern, lesen Sie sich nochmal ein. Empfehlenswert: Kapitel 3 im
Schöning [13], Kapitel 8 im Kleinberg/Tardos [6]oder, falls Sie sich gründlich einlesen wollen, direkt den Garey/Johnson [11]. Alle
diese Quellen sind sehr gut verständlich.
15
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Gegeben: Graph G = (V, E), positive Zahl k ≤ |V |, k ∈ N.
Gesucht: Teilmenge C 0 ⊆ V mit |C 0 | ≤ k, so dass ∀u ∈ V − C 0 ∃v ∈ C 0 mit {u, v} ∈ E.
Wenn das Dominating-Set-Problem NP-hart ist, warum konnten wir dann für das k-Dominating-Set einen
polynomiellen Algorithmus angeben?
Anmerkung: Die obige Formulierung des Dominating-Set-Problems ist die
Viele dieser Probleme können auch als
Optimierungsproblem
Entscheidungsproblem -Variante.
dargestellt werden, also als Suche nach Lösung
mit minimalem/maximalem Wert. In diesem Fall lautet die Optimierungsproblemformulierung: Gesucht ist
die Teilmenge
C0
mit
minimaler Kardinalität, so dass ...
Extra-Aufgabe 32:
Shortest Total Path Length Spanning Tree [Problem ND3 in [11]]
Gegeben:
G = (V, E), B ∈ Z+ .
Gesucht: Spannbaum
T
kleiner oder gleich
T , so dass
B ist.
die Summe (über alle Paare
Wie unterscheidet sich dieses Problem von
PQT
u, v ∈ V )
über die Pfadlänge von
v
in
ist NP-hart, d.h., alle NP-harten Probleme können darauf (polynomiell) reduziert werden. Um dies zu
PQT
zu reduzieren [13], d. h., wir geben
einen Algorithmus mit polynomieller Laufzeit an, der aus jeder Instanz des NP-harten Problems
PQT
nach
PQT ?
zeigen, reicht es, ein einziges bekanntermaÿen NP-hartes Problem auf
von
u
PQT
herstellt, so dass die Lösung der Instanz
0
I(P )
von
P
0
P0
eine Instanz
in Polynomzeit aus der Lösung der Instanz von
berechnet werden kann:
Algo
? Lösungszeit
∀I(P 0 ) −−−→ I(QT ) −−−−−−−−−−→ Lösung
in P
von
Algo'
I(QT ) −−−−→ Lösung
in P
von
I(P 0 ).
Extra-Aufgabe 33:
Wieso kann
PQT
P
nicht in
sein, wenn ein
N P -hartes
Problem in dieser Weise darauf reduzierbar ist?
I(QT ) kann jetzt nur dann polynomiell sein, wenn alle Probleme
PQT eine eziente Lösungsmöglichkeit nden, haben wir ja
0
gleichzeitig auch eine polynomielle Lösungsvorschrift für P und damit für alle anderen N P -harten Probleme
0
gefunden, indem wir die Instanz aus P erst polynomiell in eine Instanz von PQT überführen, diese dann
0
polynomiell lösen, und die Lösung wieder in polynomieller Laufzeit in eine Lösung für I(P ) umwandeln. Die
Frage, ob P = N P ist, ist seit mehreren Jahrzehnten oen und ihre Antwort wird mit einer Million Dollar
Antwort: Die uns unbekannte Lösungszeit von
in
NP
auch gleichzeitig in
P
liegen: wenn wir für
belohnt.
Theorem [14]:
PQT
ist NP-hart.
Beweis:
Reduktion des
Definition:
Exact-3-Cover -Problems auf PQT :
Exact-3-Cover
Gegeben: eine Menge von 3n Elementen X = {x1 , x2 , ...x3n } und eine Menge C von Tripeln Cj ⊂ X×X×X
(ohne Mehrfachelemente)
Gesucht: Eine Teilmenge C 0 ⊂ C
mit
|C 0 | = n
und
S
Ci = X
Ci ∈C
16
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
Annahme: Jedes
xi
ist in mindestens einem
Cj
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
enthalten (sonst Lösung trivial, weil es dann keine solche
Teilmenge gibt).
Wir bauen nun aus ansonsten beliebiger Instanz
I(P 0 )
den folgenden Graphen
G(P 0 ):
V = {r} ∪ {ci , 1 ≤ i ≤ |C|} ∪ {xi , 1 ≤ j ≤ 3n}.
Extra-Aufgabe 34:
Beschreiben Sie die Zusammensetzung der Knotenmenge in eigenen Worten!
Die Kantenmenge setzt sich wie folgend zusammen:
1. r ist mit allen
2. Jeder
C -Knoten
C -Knoten
verbunden. Diese Teilmenge bezeichnen wir als r-C-Kanten.
ist mit den
X -Knoten
verbunden, die das entsprechende Tripel enthält. Diese Teilmenge
bezeichen wir als C-X-Kanten.
3. Jeder
Tripel
X -Knoten ist mit allen X -Knoten verbunden, mit denen er mindestens
ci enthalten ist. Diese Teilmenge bezeichnen wir als X-X-Kanten.
einmal zusammen in einem
r
C1
a
c
C3
d
C2
b
e
f
Idee:
Der bisher vorgestellte Graph stellt ein Basisskelett dar, das noch verstärkt werden muss, um die Menge der
möglichen Lösungen für T einzuschränken. Solange noch sehr viele verschiedene Arten von Spannbäumen optimal
sein könnten, ist es schwierig, zu zeigen, dass sich aus dem optimalen Baum
T∗
nachher auch in einfacher Art
und Weise eine Lösung für das zugrundeliegende Exact-3-Cover-Problem berechnet werden. Die Idee ist, dass
Q(T ) minimaler Spannbaum T ∗ gezwungen werden soll, nur R-C und C-X-Kanten benutzen sollte,
0
und zwar so, dass, genau dann wenn I(P ) ein Exact-3-Cover hat, von jedem C -Knoten entweder alle oder keine
∗
X-C-Kante in T enthalten ist.
ein bezüglich
17
www.bioinfoblog.de
Ausgewählte Graphenalgorithmen
1
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Extra-Aufgabe 35:
Wenn ein gegebener Baum
T
in
G(P 0 ) nur aus r-C und C-X-Kanten besteht und zudem von jedem C-Knoten
entweder alle C-X-Kanten oder aber keine einzige C-X-Kante enthält, wie kann dann daraus die Lösung des
dazugehörigen exact-3-Covers berechnet werden?
Antwort: Wenn das so ist, besteht die Lösung von
alle in
T
I(P 0 )
aus der Teilmenge an Tripeln
Ci ,
deren C-X-Kanten
enthalten sind.
Problem: Im bisher denierten Graphen G(P 0 ) können auch in einem optimalen Baum X-X-Kanten enthalten
sein.
Extra-Aufgabe 36:
Finden Sie ein einfaches Beispiel, das diese Behauptung beweist!
Die Idee ist, die gewünschten r-C-Kanten und C-X-Kanten so 'teuer' zu machen, dass der ein Spannbaum nur
dann optimal sein kann, wenn er nur aus diesen Kanten besteht. Dazu führen wir sogenannte
Schutzkanten
ein.
Eine Schutzkante besteht im Wesentlichen einfach aus einem weiteren Knoten, der mit den beiden Endknoten der
zu schützenden Kante verbunden ist. Insgesamt bilden Schutzkante und zu beschützende Kante damit einfache
Dreiecke (s. Abb. 3). Damit der Knoten auf der Schutzkante in den Spannbaum eingebunden ist, gibt es nur zwei
prinzipiell unterschiedliche Möglichkeiten: Entweder die zu schützende Kante und eine der beiden Kanten des
Schutzes ist in T, oder beide Kanten der Schutzkante sind in T (Abb. 4). Sei nun eine Kante mit j Schutzkanten
geschützt. Im ersten Fall tragen alle Schutzkanten-Kanten, die nicht in T enthalten sind, mit einem Wert von 3
zu Q(T) bei, im zweiten Fall dagegen tragen j-1 der Schutzkanten-Kanten mit jeweils 4 zu Q(T) bei. Damit ist
schon mal klar, dass es für
j≥2
in keinem Baum vorteilhaft ist, eine zu schützende Kante nicht aufzunehmen
und statt dessen ihre Schutzkanten zu nehmen. Zweitens trägt damit jede r-C- oder C-X-Kante, die nicht in
einem Baum T enthalten ist, j-1 mehr zu Q(T) bei, als wenn sie in T enthalten wäre.
Die Idee ist nun, zu verhindern, dass X-X-Kanten in den Baum aufzunehmen, indem soviele Schutzkanten um
die r-C- und C-X-Kanten gelegt werden, dass sie selbst den gröÿtmöglichen Vorteil der X-X-Kanten aufwiegen.
Dazu müssen wir zuerst bestimmen, um wieviel besser ein Baum im Basisskelett von G(P') sein kann, der auch
X-X-Kanten enthält.
Abbildung 3: Einführung von Schutzkanten
18
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Abbildung 4: Auswirkung der Schutzkanten
Sei
j
also die Anzahl von Schutzkanten auf jeweils einer r-C- oder C-X-Kante.
Frage: Wie hoch muss j sein , um X-X-Kanten in T ∗ auszuschlieÿen?
Sei also
e = (xi , xj )
eine Kante in einem optimalen Baum
T∗
im Basisskelett von
G(P 0 ).
Um wieviel kann sich
Q(T) höchstens verbessern gegenüber einem Baum, in dem diese Kante durch eine r-C- oder C-X-Kante ersetzt
wird?
Fall 1:
Die Elemente
Die von
Ck
xi , xj
sind nur in einem Tripel
Ck
enthalten.
dT 2 oder 3.
dT 3 oder 4
Q(T ∗ ), wenn wir in T 0 xi xj
ausgehenden C-X-Kanten haben entweder
Ihre Schutzkanten haben dementsprechend mindestens
Widerspruch! Wenn
j > 2,
wäre
Q(T 0 )
kleiner als
über die C-X-Kanten
anbinden. Also müssen wir nur noch den zweiten Fall betrachten.
Fall 2:
Sei nun in der vereinigten Nachbarschaft von
xj , xj
mehr als ein
C -Knoten. Damit gibt es den Kreis
(s. Abb. 5):
xi − ck − r − cl − xj − xi
T
dT (e) ≥ 4
e0 haben dT (e0 ) ≥ 5
Mind. eine Kante davon ist nicht in
⇒
⇒
für diese Kante
e
gilt
deren Schutzkanten
, könnten aber eine
tree distance
von 2 haben, wenn
'ihre' Kante im Baum wäre!
⇒ −3
pro Schutzkante Verschlechterung
19
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
Abbildung 5:
Da
T∗
Fall 2, in dem die Elemente
xi , xj
in mehreren Tripeln
Ck , Cl
nach Annahme optimal ist, muss der Beitrag, den diese Schutzkanten zu
kleinere
⇒
⇒
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
treedistance
vorkommen.
Q(T ∗ )
beitragen, durch die
von anderen Kanten ausgeglichen werden.
Beobachtung: nur X-X-Kanten protieren davon, dass X-X-Kanten im Baum sind
Bester Fall: Es gibt einen
X -Knoten,
der mit allen anderen
X -Knoten
Knoten mit seinen Kanten im Baum ist, haben alle anderen X-X-Knoten
direkt verbunden ist. Wenn dieser
tree distance
2:
Abbildung 6: Links: best-case für X-X; Rechts: worst-case für X-X-Kanten, wenn keine X-X-Kanten in T sind.
Anzahl möglicher X-X-Kanten:
3n(3n − 1)
2
Extra-Aufgabe 37:
Überlegen Sie sich, unter welchen Umständen es zu sovielen X-X-Kanten kommen kann.
Best-Case-Beitrag zu
Q(T ) ⇒ 2 ·
Worst-Case-Beitrag zu
Q(T )
3n(3n − 1)
2
(wenn
T
keine X-X-Kanten enthält)
20
⇒4·
3n(3n − 1)
2
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Daraus folgt, dass eine X-X-Kante, die nicht in den Baum kommt, Q(T) um höchstens +2 erhöht, wohingegen
jede Schutzkanten Q(T) um +3 erhöht, wenn 'ihre' Kante nicht in T ist. Um daher sicherzustellen, dass nur
r-C- und C-X-Kanten im Baum sind, und niemals eine X-X-Kante, reichen
Wie sieht
Q(T )
j>
3n(3n − 1)
2
viele aus.
in einer solchen Instanz aus?
Ein Teil der Kanten ist x im Baum, z.B. die R-C-Kanten, und diese
tragen einen Anteil zu Q(T) bei, der nur von der Anzahl an Tripeln
abhängt.
Alle R-C-Kanten sind in
3n
C-X-Kanten in
3 |C| − 3n
T ? : |C| · 1 +
j · |C| · 2
| {z }
Schutzkanten
T ? : 3n · 1 +
j · 3n · 2
| {z }
Schutzkanten
∈
/ T : 3(|C| − n) · 3
C-X-Kanten
Anders ist es bei den X-X-Kanten. Wenn es möglich ist, für alle C-Knoten entweder alle C-X-Kanten oder keine
einzige Kante in den Baum aufzunehmen, dann haben 3n X-X-Kanten eine
alle anderen X-X-Kanten eine
tree distance
tree distance
von 2, ansonsten haben
von 3.
Extra-Aufgabe 38:
Geben Sie eine kleine unlösbare exact-3-Cover-Instanz an und machen Sie sich am entsprechenden Graphen
G(P 0 )
klar, wie dafür der optimale Baum aussieht.
X-X-Kanten:
3n
X-X-Kanten haben
tree distance
2
⇔∃
exact-3-cover in
I(P 0 )
Damit wurde eine eindeutige Äquivalenz der Lösungen bewiesen, die es erlaubt, in polynomieller Zeit die eine
Lösung in die andere umzurechnen, und damit ist die Reduktion gezeigt.
Trotzdem es nicht möglich ist, den Spannbaum mit minimalem
Grenzen für das
Q(T )
Q(T )
ezient zu berechnen, können obere
angegeben werden, wie wir im Kapitel über Kreisbasen zeigen (2).
1.5
Dünne Teilgraphen, die den Zusammenhang erhalten
Bevor wir zu den Kreisbasen übergehen, wollen wir noch das letzte Beispiel aus der Einleitung behandeln.
Da ging es um die Frage, ob wir dünne Teilgraphen nden können, die möglichst viele kantendisjunkte Pfade
zwischen den Knoten erhalten. Dazu denieren wir zuerst den Begri
Definition:
Ein Graph
Zusammenhang.
Zusammenhang (Connectivity )
G = (V, E)
heiÿt
k -fach zusammenhängend ,
k Knoten
k -fach kantenzu-
wenn nur das Löschen von mindestens
den Graph in mehrere Zusammenhangskomponenten zerlegt. Ein Graph
G = (V, E)
heiÿt
sammenhängend , wenn nur das Löschen von mindestens k Kanten den Graph in mehrere Zusammenhangskomponenten zerlegt.
Es gilt das folgende Theorem:
Mengers Theorem:
Ein Graph ist
k
k -fach
kantenzusammenhängend, wenn es zwischen allen Knotenpaaren
x, y ∈ V
mindestens
kantendisjunkte Pfade gibt.
Wir bezeichnen mit
λ(x, y, G)
die Anzahl der kantendisjunkten Pfade zwischen
21
x
und
y
in
G.
www.bioinfoblog.de
Ausgewählte Graphenalgorithmen
1
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Extra-Aufgabe 39:
Beweisen Sie, dass die Rückrichtung dieses Theorems gilt, dass also, wenn es zwischen allen Knotenpaaren
mindestens
k
kantendisjunkte Pfade gibt, der Graph dann
k -fach
kantenzusammenhängend ist.
Beweis:
Der vollständige Beweis wird im Abschnitt Netzwerkuss erbracht werden, da er eine neue Terminologie erfordert. Die Rückrichtung ist aber sofort einsichtig: wenn
λ(x, y, G) ≥ k
für alle Knotenpaare
x, y
gilt, dann muss
auf jedem dieser Pfade mindestens eine Kante entfernt werden, um den Zusammenhang zu zerstören.
Hinweis: Der in der Vorlesung angegebene Beweis für die Hin-Richtung ist unvollständig und betrachtet einen
wichtigen Fall nicht.
Extra-Aufgabe 40:
Betrachten Sie Ihre schriftlichen Ausarbeitungen und nden Sie ein Gegenbeispiel für den Beweis.
Wir suchen jetzt einen möglichst dünnen Teilgraphen, der zwischen alle Knotenpaaren mindestens k-kantendisjunkte
Pfade aufweist, oder wenigstens soviele, wie im vollständigen Graphen zwischen ihnen existierten.
Wir denieren dafür als maximal aufspannenden Wald
F = (V, E 0 )
in einem Graphen
G
die Vereinigung von
Spannbäumen aller Zusammenhangskomponenten. Besteht eine Zusammenhangskomponente aus nur einem
Knoten, trägt sie nicht zum Wald bei. Sei nun
Fi = (V, Ei )
der maximal aufspannende Wald im Graphen
G \ E0 ∪ E1 ∪ · · · ∪ Ei−1 .
{z
}
|
Ei−1 :=
S
i−1
k=0
Ek
Beachten Sie, dass wir
Ei
als die Vereinigung aller Kantenmengen
Ej
von
0
bis
i
denieren.
Extra-Aufgabe 41:
Berechnen Sie maximal aufspannende Wälder
Fi
im abgebildeten Graphen
G bis G − Ei
keine Kanten mehr
enthält.
Theorem :
Der Teilgraph
Gi = (V, Ei )
erfüllt für alle
x, y ∈ V : λ(x, y, Gi ) ≥ min{λ(x, y, G), i}.
22
www.bioinfoblog.de
1
Ausgewählte Graphenalgorithmen
TEILGRAPHEN MIT BESONDEREN EIGENSCHAFTEN
Extra-Aufgabe 42:
Überlegen Sie sich, was genau die Formulierung
λ(x, y, Gi ) ≥ min{λ(x, y, G), i}bedeutet. Warum reicht eine
der beiden Bedingungen nicht aus? Geben Sie für beide Bedingungen jeweils einen Graphen an.
Beweis per Induktion:
Induktionsanfang:
i = 1:
T1
ist maximal aufspannender Wald
⇒
alle Knoten einer Zusammenhangskomponente sind mit-
einander verbunden, und damit sind alle Knotenpaare, die vorher durch mindestens einen Pfad
verbunden waren, auch in
T1
miteinander verbunden.
Induktionsannahme:
Gj
Für alle
mit
j≤i
gelte die Aussage.
Induktionsschritt:
Sei nun
x, y ∈ V
und
i
so, dass
λ(x, y, Gi ) ≥ min {λ(x, y, G), i}
und
λ(x, y, Gi+1 ) < min {λ(x, y, G), i + 1}, sei
Gi ein Teilgraph von Gi+1 ist, kann die
also i+1 die erste Phase, in der das Theorem nicht mehr stimmt. Da
Anzahl der kantendisjunkten Pfade sich in
Damit gilt:
Gi+1
höchstens erhöhen.
λ(x, y, Gi ) ≤ λ(x, y, Gi+1 ) ≤ λ(x, y, G)
IV
⇒ min {λ(x, y, G), i} ≤ λ(x, y, Gi ) ≤ λ(x, y, Gi+1 ) < min {λ(x, y, G), i + 1}
Da ja nun λ(x, y, G) auf beiden Seiten der Ungleichung steht und natürlich
derselbe Wert nicht echt gröÿer als
er selbst sein kann, muss gelten:
⇒ λ(x, y, Gi ) = λ(x, y, Gi+1 ) = i
Da
Gi+1
ja nun der erste Graph sein soll, indem für
i+1
nicht vollständig in
und
λ(x, y, G)
Gi+1
muss es in
enthalten ist. Sei
G
x, y
weniger kantendisjunkte Pfade enthalten sind als das
x, y geben, der noch
G, der noch nicht in
Gi+1 enthalten ist. Es fehlt mindestens eine Kante e = (p, r) in E i . Da jede zu P ? fehlende Kante in G \ E i
?
enthalten ist und Fi+1 ein maximaler aufspannender Wald ist, muss Fi+1 entweder einen zu P alternativen Pfad
zwischen p, r enthalten und damit einen Pfad zwischen x, y schlieÿen oder hätte die Kante (p, r) noch aufnehmen
Minimum von
P?
mindestens einen weiteren Pfad zwischen
also der Pfad (zwischen
x
und
y)
in ganz
können, ohne einen Kreis zu schlieÿen. Im ersten Fall gilt wegen der Induktionsannahme, dass sich die Anzahl
der kantendisjunkten Pfade zwischen
x, y
von
Gi
nach
Gi+1
erhöht hat (Widerspruch zur Schlussfolgerung), und
im zweiten Fall besteht ein Widerspruch zur Forderung, dass
Fi+1
ein maximal aufspannender Wald ist. Damit
muss die zum Widerspruch führende Behauptung falsch sein und damit ist für den Induktionsschritt gezeigt,
dass die ursprüngliche Behauptung gilt. Damit gilt die Behauptung auch für alle Graphen
Gi .
Extra-Aufgabe 43:
Wieviele Kanten hat ein solcher Teilgraph
G = (V, Ei )
höchstens?
Damit haben wir insgesamt das folgende Theorem gezeigt [8]:
Theorem:
G enthält
min{λ(x, y, G), k} gilt.
Jeder Graph
einen Teilgraphen
G0
mit höchstens
Ein Algorithmus, der alle maximal aufspannenden Wälder in
O(k · n)
O(m)
Kanten, so dass
λ(x, y, G0 ) ≤
berechnet, wurde auf Aufgabenblatt 6
vorgestellt und besprochen. Der dazugehörige Artikel wurde auf der Webseite verlinkt [8].
23
www.bioinfoblog.de
2
Ausgewählte Graphenalgorithmen
MINIMALE KREISBASEN
Extra-Aufgabe 44:
Stellen Sie sicher, dass Sie diesen Algorithmus verstanden haben!
2
Minimale Kreisbasen
In vielen Anwendungen der Graphentheorie spielen die Kreise in gegebenen Graphen oder Netzwerken eine
zentrale Rolle. Ein besonders vielversprechendes Hilfsmittel, um über die Kreise eines Graphen zu sprechen,
ist die Formulierung/Formalisierung als Vektorraum. Damit steht zum einen der gesamte Apparat der linearen
Algebra für Analyse und Formulierung zur Verfügung, zum anderen liefert vor allem der Begri der Basis eine
Möglichkeit etwas über "alle" Kreise eines Graphen auszusagen, ohne tatsächlich alle Kreise aufzuzählen. Die
folgenden Fragestellungen können mit Hilfe von Kreisbasen gelöst werden:
Elekrotechnik: Für alle elektrischen Netzwerke müssen die Kirchhoschen Gesetze gelten. Für die
1.
Planung solcher Netzwerke ist es daher notwendig nachzuprüfen, ob sich tatsächlich alle Ströme so
verhalten. Dabei werden unter anderem die Maschen des Netzwerks (also die Kreise) berücksichtigt.
Mithilfe der Kreisbasen ist es hier jedoch möglich, den notwendigen Aufwand deutlich zu reduzieren,
da, wenn die Kirchhoschen Gesetze auf den Elementen der Kreisbasis gelten, sie dann auch für die
Menge aller Kreise des Graphen gelten.
Bioinformatik: In der Bioinformatik ist die Strukturuntersuchung verschiedener (organischer) Ver-
2.
bindungen ein sehr wichtiges Thema. Dabei sind die Kreisstrukturen innerhalb des Moleküls ein
wichtiger erster Indikator für die Vorhersage seiner Ähnlichkeit mit anderen Stoen. Das heiÿt, es
werden in den darauf spezialisierten Datenbanken oftmals direkt die Kreisstrukturen abgespeichert,
damit Vergleiche schnell durchgeführt werden können. In diesem Szenario helfen Kreisbasen den
enormen Speicherbedarf deutlich zu reduzieren. Sie schaen so eine gute Zwischenlösung zwischen
schnellstem Zugri (alle Kreise werden gespeichert) und ezientem Platzbedarf (nur das Molekül
wird gespeichert und die Kreise bei jeder Anfrage neu berechnet). Hier sind besonders die Kreisbasen
niedrigen Gewichts von groÿem Nutzen (siehe 2.2).
Fahrplanerstellung im öentlichen Nahverkehr: Auch hier können Kreisbasen verwendet wer-
3.
4
den, um die Algorithmen , die einen solchen Fahrplan erstellen, deutlich zu beschleunigen. Dieses
Beispiel steht stellvertretend für eine ganze Reihe von Problemen, die sich mit der Planung periodisch auftretender Aufgaben befassen. Durch eine geeignete Wahl der Kreisbasis (wobei auch hier
ein möglichst kleines Gewicht den gröÿten Nutzen verspricht) lassen sich die betrachteten Probleme
sehr kompakt beschreiben, so dass die entsprechenden Lösungsalgorithmen eine reduzierte Laufzeit
aufweisen.
2.1
Kreisbasen
Was ist ein Kreis in einem Graphen
G = (V, E)?
Naiv denkt man erst einmal an eine Knotenfolge, in der auÿer
Start- und Enknoten jeder Knoten nur einmal vorkommt und in der aufeinanderfolgende Knoten mit einer Kante
verbunden sind:
v1 , v2 , . . . , vk = v1 , (vi , vi+1 ) ∈ E, ∀ 1 < i ≤ k − 1, vi 6= vj ∀i 6= j, i, j ≤ k − 1
Diese Art von Kreis stellt einen Spezialfall der allgemeineren Denition von Kreisen dar und wird
Kreis
einfacher
genannt. Wir wiederholen noch einmal die Denition des Kreises:
Denition: Kreis
Ein Teilgraph
C = (Vc , Ec ) von G = (V, E) heiÿt Kreis
genau dann, wenn alle Knoten von
C
einen geraden
Grad haben.
4 Meistens
werden solche Probleme als mixed-integer-Program formuliert, die dann mit geeigneten Solvern gelöst bzw. approxi-
miert werden.
24
www.bioinfoblog.de
2
Ausgewählte Graphenalgorithmen
MINIMALE KREISBASEN
Extra-Aufgabe 45:
Zeigen Sie an einem Beispiel, dass es induzierte Teilgraphen eines Graphen
und
G(E2 ) = (V2 , E2 )
V1 = V2 ,
gibt, so dass
aber
E1 6= E2
G = (V, E) mit G(V1 ) = (V1 , E1 )
gilt.
Abbildung 7: Abbildung für Extra-Aufgabe 46.
Extra-Aufgabe 46:
Welche
der
folgenden
(Kanten)-Vektoren
beschreiben
Kreise
in
Abb.
7?
V1 =(111110010000),
V2 =(111000100111), V3 =(100010011111), V4 =(10101100101), V5 =(01111100000).
Wir werden den Teilgraphen C durch seine Kantenmenge Ec beschreiben (von Ec induzierter Graph ist wieder
C ). Sei die Kantenmenge E eines Graphen nun beliebig aber fest sortiert, d.h., jeder Kante wird ein fester Index
von 0 bis m − 1 zugeordnet. Dann kann man jede Teilmenge Et ⊆ E als m-dimensionalen Vektor über {0, 1}
E
darstellen, indem wir den Vektor X t denieren als:
(
1 , falls ei ∈ Et
XiEt :=
0 , sonst
Insbesondere kann man alle Kreise
C
eines Graphen als Vektoren
XC
über
F2 = ({0, 1}, ·, ⊕), dem Körper mit
zwei Elementen, darstellen. Die Addition der Elemente in diesem Körper ist äquivalent zur XOR-Verknüpfung,
und die zweier oder mehrerer
Vektoren äquivalent zur jeweiligen XOR-Verknüpfung der Elemente an derselben
Koordinate. Eine äquivalente Mengenoperation ist damit wie folgend gegeben:
c1 ⊕ c2
=
(EC1 ∪ EC2 ) \ (EC1 ∩ EC2 )
Dann erhalten wir den Kreisraum von
G (die Menge C
denierten Operationen), indem wir den Vektorraum
(XOR-Operation)
G zusammen mit den auf ihnen
C ∈ C über F2 bilden.
aller möglichen Kreise in
5 aller Vektoren
XC
für
Extra-Aufgabe 47:
Zeigen Sie die Abgeschlossenheit der Addition
⊕,
d.h., zeigen Sie, dass
C1 ⊕ C2
wieder einen Kreis ergibt,
∀C1 , C2 ∈ C .
Die Menge aller Kreise eines Graphens kann exponentiell groÿ sein und ist es auch häug. Daher ist es in
vielen Applikationen wünschenswert, nur eine Teilmenge von Vektoren zu speichern, mit denen alle anderen
Kreise erzeugt werden können. Eine solche Menge an Vektoren wird
Erzeugendensystem
oder
Basis
genannt.
Wir wiederholen kurz einige Eigenschaften von Basisvektoren:
5 Der
Vektorraum ist deniert als die Menge aller zulässigen Vektoren zusammen mit der auf ihnen denierten Verknüpfung. Es
muss sichergestellt werden, dass aus der Verknüpfung zulässiger Vektoren nur weitere zulässige Vektoren entstehen (Abgeschlossen-
heit des Vektorraums ).
25
www.bioinfoblog.de
2
Ausgewählte Graphenalgorithmen
1. Die Basis
B
eines Vektorraumes
2. Eine Teilmenge
ten von
E
E ⊆V
V
MINIMALE KREISBASEN
ist ein linear unabhängiges Erzeugendensystem von
heiÿt Erzeugendensystem, wenn sich alle
v∈V
V.
als Linearkombination aus Elemen-
schreiben lassen. Formal:
∀v ∈ V : v = k1 v1 ⊕ k2 v2 ⊕ · · · ⊕ kr vr , ki ∈ F2 , vi ∈ E.
3. Eine Menge von
U ⊆V
heiÿt linear unabhängig, wenn sich kein Element
den anderen Elementen aus
U
u∈U
als Linearkombination aus
schreiben lässt.
4. Alle Basen eines (endlich dimensionalen) Vektorraums haben die gleiche Anzahl von Elemten (Austauschsatz von Steinitz).
5. Die Dimension eines Vektorraums ist gegeben durch die Gröÿe der Basis.
Definition: Kreisbasis
linear unabhängige Menge von Kreisen des Graphen G, die den gesamten Kreisraum aufspannt, heiÿt
Kreisbasis (cycle base (CB )) von G.
Eine
Extra-Aufgabe 48:
Wie genau sieht die Linearkombination einer Teilmenge von Kreisen aus? Was bewirken die Skalare
ki ? Wie
können Sie, bei gegebener Teilmenge von Kreisen, konkret testen, ob diese Menge linear unabhängig ist?
C an
Ci erzeugen
kann, indem alle seine Mitglieder mit ⊕ addiert werden. Mit anderen Worten: Eine Menge C = {C1 , C2 , C3 , · · · }
Antwort: Lineare Unabhängigkeit lässt sich beispielsweise testen, indem man für eine gegebene Menge
Kreisen und jeden darin enthaltenen Kreis
Ci
testet, ob eine beliebige Teilmenge
C0 ⊆ C
den Kreis
von Kreisen ist linear unabhängig, wenn gilt:
M
C 0 6= Cj
∀Cj ∈ C ∧ ∀C 0 ⊆ C.
Ci ∈C 0
Spezielle Kreisbasen:
Es ist schnell einzusehen, dass ein gegebener Graph eine Unzahl von Kreisbasen haben kann. Hier beschreiben
wir eine einfache Methode, eine Kreisbasis für einen Graphen zu bestimmen:
1. Bestimme einen maximal aufspannenden Wald (bzw. Baum, falls G zusammenhängend)
von
T = (VT , ET )
G
2. Für jede Nichtbaumkante
Pfad von
v
nach
w
ei = (v, w), ei ∈ E\ET bilde den Kreis Ci : PT (v, w) ∪ ei , wobei PT (v, w)
T beschreibt. Diese Kreise nennen wir Fundamentalkreise zu ei .
den
im Baum
3. Die Menge all dieser Kreise
Ci
bildet eine Kreisbasis von
G.
Extra-Aufgabe 49:
Zeigen Sie, dass die Menge aller durch T induzierten Fundamentalkreise linear unabhängig ist.
Beweis
1. Die Menge
B
aller so konstruierten Kreise ist linear unabhängig.
26
www.bioinfoblog.de
2
Ausgewählte Graphenalgorithmen
G
2. Alle Kreise in
beliebigen Kreis
lassen sich als Linearkombination aus Kreisen
C
mit zugehörigem Vektor
die Nicht-Baumkanten
ei
C
aus
XC.
Sei nun
C0
Ci ∈ B
MINIMALE KREISBASEN
darstellen. Betrachte dazu einen
gewählt als die Menge aller Kreise, die durch
induziert werden, sei also:
C 0 = {C | ei ∈ C ∧ ei 6∈ ET }.
Wir denieren
C∗ =
L
Ci
und behaupten, dass
C∗ = C
ist.
ei ∈C\ET
Wir zeigen, dass durch die Linearkombination der resultierende Vektor
der Kanten in
in
ET
C
∗
nachher genau an den Indices
eine 1 enthält. Für den Beweis unterscheiden wir vier Fälle, je nachdem, ob eine Kante
und/oder in
C
ist:
Kante ist in C , aber nicht in ET : Für alle Kanten ei ∈ C\ET
(a)
XC
bination enthalten und
ei
ist in keinem anderen Kreis in
B
ist der Kreis
Ci
in der Linearkom-
und damit auch nicht in einem anderen
Kreis in der Linerkombination enthalten.
Also hat
XC
?
an der Stelle
ei
eine 1.
Kante ist in ET , aber nicht in C : Für jede Kante a = (u, v) ∈ ET \C , zerfällt der Baum T
ohne a
u ∈ Ku , v ∈ Kv . Als Schnitt bezeichnen wir die Menge aller Kanten,
deren einer Endknoten im Baumteil Ku und deren anderer im Baumteil Kv liegt.
C enthält eine gerade Anzahl von Kanten ej aus dieser Teilmenge (ansonsten wäre C kein Kreis, denn
C würde sonst in einem der Teilbäume verbleiben!). Für jede dieser Kanten ej gibt es einen Kreis
Cj ∈ B , der in der Linearkombination vorkommt. Jeder dieser Cj beinhaltet Kante a. Damit wird
C?
an der Stelle a in X
eine gerade Anzahl von Einsen aufsummiert und damit eine 0 eingetragen.
(b)
in zwei Teile
Ku und Kv ,
wobei
Kante ist in ET und in C : Für jede Kante b ∈ ET ∩C zerfällt T ohne b in zwei Teile. Wieder enthält
(c)
C
b.
C eine ungerade Anzahl von Nichtbaumkanten über den Schnitt, und damit enthält
?
C 0 auch eine ungerade Anzahl von Kreisen, die Kante b enthalten. Daher zeigt X C
eine gerade Anzahl aus dem resultierenden Schnitt, aber eine dieser Kanten ist die Baumkante
Daher enthält
die Teilmenge
an der Stelle
b
eine 1.
Kante ist weder in
(d)
der
Damit hat
XC
d
?
enthält; also
ET noch in C : Für keine Kante d ∈ E\ (ET ∪ C)
C?
hat X
an dieser Stelle einen Eintrag 0.
für alle Kanten aus dem Kreis
C einen
gibt es in
Eintrag 1 und sonst einen Eintrag 0.
→
C0
einen Kreis,
Damit bildet
B
ein CB.
Korollar:
Dimension der Kreisbasis
Die Dimension des Kreisraumes zu einem Graphen
wobei
K(G)
Beweis:
G = (V, E) mit |V | = n, |E| = m, ist ν = m − n + K(G),
G ist.
die Anzahl der Zusammenhangskomponenten von
Folgt direkt aus der Konstruktion von Spannbaum-induzierten Kreisbasen und dem Austauschsatz
von Steinitz.
2.1.1 Dierenzierung von Kreisbasen
In manchen Applikationen ist es wichtig, dass die verwendete Kreisbasis weitere Eigenschaften aufweist. Eine
wichtige Eigenschaft ist die sogenannte
Fundamentalität.
1. Eine spezielle CB erhalten wir, wenn wir zusätzlich fordern, dass es eine Ordnung der Kreise in der CB
gibt, so dass für jeden Kreis
Ci ∈ CB
vorkommt.
Eine solche Kreisbasis nennen wir
eine Kante
e ∈ Ci
Cj
mit
j<i
schwach fundamental.
B mit der Eigenschaft, dass für jede Ordnung der Kreise
e∈
/ Cj mit j =
6 i und Cj ∈ B , nennen wir stark fundamental.
2. Eine Kreisbasis
mit
enthalten ist, die in keinem Kreis
27
in
B
gilt: Für
Ci ∈ B ∃e ∈ E
www.bioinfoblog.de
2
Ausgewählte Graphenalgorithmen
MINIMALE KREISBASEN
Extra-Aufgabe 50:
Beweisen Sie, dass eine Kreisbasis, die durch einen beliebigen Spannbaum
T
in einem zusammenhängenden
Graphen deniert wurde, stark fundamental ist.
Extra-Aufgabe51:
Zeigen Sie, dass eine schwach fundamentale Menge
C
mit
ν = m−n+1
fvielen Kreisen in einem zusam-
menhängenden Graphen automatisch auch eine Kreisbasis ist!
Antwort: Wir behaupten das Gegenteil, dass es nämlich eine Teilmenge
Verknüpfung in einen der Kreise
ej
kann, denieren wir als
Ci
aus
C
C0
C 0.
Dann ist der Kreis
ez
C 0.
resultierende Menge
von der Wahl von
2.2
Cj
zum ersten Mal auftaucht (falls es mehrere davon
nur Kreise mit kleinerem Index als
der resultierenden Menge enthalten sein. Enthalte
höchste Index in
Cz
von Kreisen gäbe, die unter XOR-
resultiert. Da die Menge schwach fundamental geordnet werden
diejenige Kante, die in Kreis
gibt, eine davon.) Wenn nun
C0
C0
i
enthält, dann kann die Kante
nun auch Kreise mit höherem Index als
der einzige Kreis, der Kante
ez
i,
ei
nicht in
und sei
z
der
enthält, und damit wird auch die
enthalten. Es folgt daraus, dass die resultierende Menge nicht
Ci
sein kann, unabhängig
Kreisbasen minimalen Gewichts
Um Biomoleküle in Datenbanken abzuspeichern und Anfragen der Art 'Sieht dieses Molekül so ähnlich aus wie
eins, das schon in der Datenbank ist?' können Kreisbasen verwendet werden. Um die Anfrage zu beantworten
wird dann die Kreisbasis benutzt, um alle im Molekül vorhandenen (einfachen) Kreise aufzuzählen. Die Laufzeit
des Algorithmus ist abhängig von der Länge der Kreisbasis, also der Summe der Kreislängen. Wir verallgemeinern diese Denition für gewichtete Graphen, und bezeichnen den Wert dann als
Definition:
Gewicht einer Kreisbasis
Sei zu einem Graphen
B
von
G
deniert als
G eine Gewichtsfunktion w : E → RT gegeben. Dann sei das Gewicht einer Kreisbasis
X
XX
w(B) =
w(C) =
w(e).
C∈B
Denition:
Gewicht der Kreisbasis:
C∈B e∈C
Minimale Kreisbasis
Dann ist eine minimale Kreisbasis (MCB) eine Kreisbasis mit minimalem Gewicht.
Bemerkungen:
1. Jeder Kreis in einer MCB ist einfach.
2. Für jede Kante
e ∈ E , die in einem Kreis enthalten ist, gilt: Es gibt in jeder Kreisbasis B mindestens einen
e enthält. Insbesondere enthält jede MCB von G zu jedem e ∈ E einen kürzesten
Kreis, der diese Kante
Kreis, der
e
3. Die Menge
enthält. Wobei kürzester Kreis einen Kreis minimalen Gewichts beschreibt.
K := {Cmin (ei ) : Cmin (ei )
kürzester Kreis der
e
enthält,
e ∈ E}
ist im Allgemeinen keine CB.
Extra-Aufgabe 52:
Zeigen Sie, dass die zuletzt getroene Aussage stimmt.
28
www.bioinfoblog.de
2
Ausgewählte Graphenalgorithmen
MINIMALE KREISBASEN
Naiver Algorithmus zum Berechnen einer MCB
Eingabe: Graph G = (V, E)
Ausgabe: MCB zu G
1 Berechne Menge C aller Kreise
2 Ordne Menge C := {c1 , c2 , ...ck } aller Kreise in G aufsteigend nach Gewicht
3 Init. B ← ∅
4 for i = 1 to K do
5
if B ∪ {ci } linear unabhängig
6
B ← B ∪ {ci }
7
endif
8 endfor
Extra-Aufgabe 53:
Warum berechnen wir nicht die Menge aller
einfachen
Kreise?
Antwort: Der Hamilton-Kreis ist auch ein einfacher Kreis und ihn zu nden, ist NP-hart, somit kann es nicht
leichter sein, die Menge aller einfachen Kreise zu berechnen.
Anmerkung:
w(MCB) ≤ w(wFMCB) ≤ w(sFMCB)
Wir zeigen nun einen fundamentalen Zusammenhang zwischen der stark fundamentalen, minimalen Kreisbasis
(
strictly fundamental minimum cycle base
T Q(T) minimiert: Sei
(sFMCB)) und einem Spannbaum T eines Graphen G=(V,E), wobei
w : E → R+ : e 7−→ 1 und sei B eine
X
XX
w(B) =
dT (u, v) + 1 =
w(e)
G = (V, E)
und
sFMCB von
G,
dann
C∈B e∈C
e∈E\ET
e=(u,v)
Spannbäume mit niedrigem durchschnittlichem Stretch:
Q(T ) =
X
dT (u, v)
e∈E
e=(u,v)
!
X
dT (u, v) + 1 = (m − n + 1) +
e∈E\ET
B
X
dT (u, v) = (m − n + 1) +
dT (u, v)
− (n − 1)
e∈E
e∈E\ET
ist SFCB, gegeben durch
X
T.
w(B) = Q(T ) + (m − 2(n − 1))
Extra-Aufgabe 54:
Warum gilt:
w(MCB) ≤ w(WFMCB) ≤ w(SFMCB)?
2.2.1 Der Algorithmus von Horton
Die Frage, ob eine minimale Kreisbasis ezient berechnet werden kann, war lange unklar. 1987 veröentlichte
Horton einen ersten Algorithmus mit polynomieller Laufzeit [5], den wir hier vorstellen.
Satz[5]:
Für jeden Kreis
C,
C
einer MCB eines Graphen
G
existiert zu jedem Knoten
V
auf
C
eine Kante
{u, w}
aus
so dass gilt:
C = SP(u, v) + SP(w, v) + {u, w}
29
www.bioinfoblog.de
2
Ausgewählte Graphenalgorithmen
wobei SP(u, v) den kürzesten Pfad von
u
nach
v
in
G
MINIMALE KREISBASEN
beschreibt.
Aus diesem Satz lässt sich der folgende Algorithmus ableiten:
Algorithmus von Horton
Eingabe: G = (V, E)
Ausgabe: MCB von G
1 Initialisiere: Menge H ← ∅
2 for v ∈ V und {u, w} ∈ E do
3
Berechne CV (u, w) = SP(u, v) + SP(w, v) + {u, w}
4
if CV (u, w) einfacher Kreis
5
H ← H ∪ {CV (u, w)}
6
endif
7 endfor
8 Sortiere H aufsteigend nach Gewicht (H = {c1 , c2 , ...ck })
9 Wende naiven Algorithmus (Schritt 3 bis 8) auf H an
Korrektheit des Algorithmus':
Folgt direkt aus dem Satz von Horton.
Laufzeit:
1.
|H| ≤ n · m
H:
O(n · m · L(kürzester
2. Berechnung von
6
Weg))
H:
O((n · m) · log(n · m))
3. Sortiere
4. Laufzeit naiver Algorithmus:
Test auf lineare Unabhängigkeit:
O(n · m) (= |H|)
m − n + K(G)
2
Einzelner Test: O m
⇒ insgesamt O m3 · n
#Tests:
gegen max.
viele Elemente:
O(m)
Für den Beweis des Satzes von Horton brauchen wir noch einige weitere Eigenschaften von Kreisbasen. Besonders
interessiert uns das Austauschen von Basiselementen.
Lemma 1:
Falls
B
Austausch von Kreisen in einer Kreisbasis
eine Kreisbasis ist,
c∈B
und
c = c1 ⊕ c2 ,
dann ist etweder
B\{c} ∪ {c1 }
oder
B\{c} ∪ {c2 }
wieder
eine Kreisbasis.
Beweis
c1 nicht als Linearkombination
B\{c} ∪ {c1 } eine Basis.
1. Wenn Kreis
2. Wenn
von Kreisen aus
c1 als Linearkombination von Kreisen aus B\{c}
B\{c} und damit B\{c} ∪ {c2 } eine Basis.
sein zu
6 L()
B\{c}
darstellbar ist, dann ist oensichtlich
darstellbar ist, dann muss
c2
linear unabhängig
heiÿt Laufzeit von
30
www.bioinfoblog.de
2
Ausgewählte Graphenalgorithmen
Lemma 2:
Sei
B
MINIMALE KREISBASEN
Austausch durch Kreis mit spezischem Pfad
eine Kreisbasis von
jeder Kreis
c ∈ B,
der
x
G.
und
Für zwei Knoten
y
x, y ∈ V
und für einen Weg
enthält, ersetzt werden durch einen Kreis
c0
P
der
von
P
x
nach
y
(in
G),
kann
enthält.
Beweis:
c
Enthält
bereits den Pfad
c
können wir
schreiben als
Lemma 1 ist nun entweder
P , sind wir fertig. Ansonsten enthalte c die
c = c1 ⊕ c2 , wobei c1 gegeben ist duch P
B\{c} ∪ {c1 } oder B\{c} ∪ {c2 } eine Basis.
zwei Pfade
und
P1
P1 , P2 von x
c2 durch P
und
nach
und
y . Damit
P2 . Nach
Bemerkung:
Angenommen in der Situation von Lemma 2 ist weder
P
Sei aber
x
ein kürzester Pfad zwischen
mit Lemma 2 jede Basis die
c
und
B
und
y
noch
P2
x nach y .
w(c2 ) < w(c). Somit kann
statt c entweder c1 oder c2
ein kürzester Pfad (SP) von
w(c1 ) < w(c)
B 0 umgewandelt
und
werden, die
besitzt.
Damit haben wir gezeigt, dass in einer MCB
x
P1
Dann ist oenbar
enthält in eine Basis
enthält und ein geringeres Gewicht als
Pfad zwischen
y.
B
jeder Kreis, der die Knoten
x, y
enthält, auch einen kürzesten
enthält.
Beweis des Satzes von Horton
Betrachte einen beliebigen Kreis c der MCB B , sowie einen beliebigen
c. Seien die Knoten auf c indiziert mit v0 , v1 , ..., vk mit v0 = vk = v . Zum Knoten vi auf c sei
Qi der Weg von v nach vi auf c, in Richtung der Indizierung. Analog sei Pi der Weg von vi nach v . Somit teilen
Qi und Pi den Kreis c in zwei Hälften. Nach unserer Anmerkung muss nun entweder Qi oder Pi ein kürzester
Pfad zwischen v und vi sein.
Knoten
v
Sei nun
i der gröÿte Index, so dass Qi
auf
der kürzeste Weg zwischen
v
und
vi
ist. Dann ist
die gesuchte Darstellung aus dem Satz.
2.3
c = Qi ⊕{vi , vi+1 }⊕Pi+1
Obere Schranke für minimale Kreisbasen
w(MCB) ≤ w(wFMCB)7 ≤ w(sFMCB)8
Damit gilt für obere Schranken:
S ≥ w(B)
⇒ S ≥ w(B 0 )
Sei
2.4
B
B 0 , ⇒ S ≥ w(B 00 ) ∀
für alle sFMCB
für wFMCB
MCB
B 00
Obere Grenze für die Länge einer MCB
Theorem [5]:
Die Länge einer MCB in einem ungerichteten, ungewichteten und einfachen Graphen
G
mit
n
Knoten ist
O(n2 ).
Beweis:
Klar für
per Induktion
n = 1, 2, 3.
Induktionsschritt:
Sei nun
Falls
G
n≥3
und sei
G
ein Graph mit
n+1
Knoten.
nicht zweifach knotenzusammenhängend ist: Sei
v
ein Schnittknoten, so dass
G \ {v}
nicht zusammen-
hängend ist.
7 seit
8 seit
2007:
2005:
w(wF M CB) ∈ O(m log n) nach Rizzi [12]
w(sF M CB) ∈ O(m log2 n · log log n) nach Elkin,
Emek, Spielman und Teng [4]
31
www.bioinfoblog.de
2
Ausgewählte Graphenalgorithmen
MINIMALE KREISBASEN
H'
H
G\H
v
Sei
H
eine Zusammenhangskomponente in
Knoten in
Sei nun
H
H0
G \ H eine
und G \ H
und
n+1−k
die in
G \ {v}
und
G\H
der Restgraph (inkl.
v ).
Sei
k
die Anzahl der
G \ H.
H plus v samt Kanten. Aus der Induktionsvorraussetzung folgt, dass es für H 0 und
2
2
0
Länge ≤ (k + 1) bzw. ≤ (n + 1 − k) gibt. Eine CB für G kann aus den beiden CBs für H
deniert als
CB mit
durch Vereinigung gebildet werden.
G zweifach zusammenhängend ist. Sei x ein Knoten in G und T ein beliebiger
G. Wir bilden jetzt für Knoten x deg(x)−1 linear unabhängige Kreise (B 0 ) mit einer Gesamtlänge
≤ 2(n + 1) und fügen sie zu einer CB von G \ {x} mit Länge ≤ n2 hinzu.
2
Damit entsteht CB für G mit Gesamtlänge ≤ (n + 1) . Sei m die Anzahl der Kanten in G ohne x und ndie
Anzahl der Knoten in G ohne x, dann gilt:
Wir nehmen daher nun an, dass
Spannbaum in
ν 0 für G \ {x} = m + 1 − n
ν für G = m + deg(x) − n
2.4.1 Eine obere Grenze für die Länge von schwach fundamentalen Kreisbasen
Zu diesem Beweis nden Sie im Internet auch Vortragsfolien auf unserer Webseite für die Übungen verlinkt.
Theorem (Zweig,Geyer,Kaufmann):
Das Gewicht einer schwach fundamentalen, minimalen Kreisbasis eines ungewichteten Graphen liegt in
O(m log n + n log2 n).
Beweis:
Für diesen Beweis greifen wir zurück auf die im Kapitel 1 vorgestellten Spanner. Wir brauchen die
folgenden Beobachtungen:
Beobachtung 1:
Für einen gegebenen Graphen
G mit n Knoten und m Kanten, bildet jede Menge mit ν = m−n+1, die schwach
fundamental ist, eine Kreisbasis (s. dazu Extra-Aufgabe in 2.1.1).
Beobachtung 2:
T ⊆ · · · ⊆ G2 ⊆ G1 ⊆ G0 ⊆ G−1 = G eine Folge von ineinander verschachtelten Teilgraphen und sei Ei
Gi−1 noch enthalten sind, in Gi aber nicht mehr. Wir denieren für jede dieser
Kanten e = (x, y) einen Kreis C(e), der durch i und einen kürzesten Pfad PGi (x, y) in Gi gegeben ist. Sei Ci die
Menge aller Kreise, die durch die Kanten in Ei induziert werden. Wir denieren die Menge C als Vereinigung
aller Mengen Ci .
Sei
die Menge an Kanten, die in
Extra-Aufgaben 55:
Wieviele Kreise enthält
C?
Extra-Aufgabe 56:
Beweisen Sie, dass die Menge
C eine
fundamentale Ordnung besitzt.
32
www.bioinfoblog.de
2
Ausgewählte Graphenalgorithmen
MINIMALE KREISBASEN
Beobachtung 3:
Die Länge eines Kreises
Stretch von
C(e),
der durch eine Kante in Teilmenge
Wir bilden daher nun die Teilgraphen
Gi
induziert wurde, ist nicht gröÿer als der
aus dem jeweils vorhergehenden Graphen
k = 2i log n.
mus Basic_Part und mit dem Eingabeparameter
der Kanten
Ei
Gi +1.
mi
Gi−1
mit Hilfe des Algorith-
Nach dem Theorem in 1.2.1 gilt für die Anzahl
eines solchen Graphens:
1
−i
n ≤ mi ≤ n · n 2i log n = n · 22 .
O(k) = O(2i log n) liegt. Es ist klar, dass nicht mehr Kanten in Phase i
entfernt werden können, als Gi−1 Kanten hatte (−n, da ja der nächste Graph ein spannender Teilgraph
auch der Beitrag W (Ci ) zum Gesamtgewicht von C , der durch die Menge Ci verursacht wird, nicht
Für den Stretch dagegen gilt, dass er in
aus
Gi−1
ist), also
gröÿer sein kann als:
W (Ci ) ≤ (mi−1 − n) · stretch(Gi )
⇒ W (C0 ) ≤ O(m) · log n
⇒ W (Ci ) ≤ n(22
−(i−1)
Damit ergibt sich für das Gewicht
für
G0
− 1) · 2i log n = 2 · n log n · 2(i−1) (22
W (C)
der gesamten Kreisbasis
C
−(i−1)
− 1)
für
Gi , i > 0.
folgende Abschätzung nach oben:
x
W (C) ≤ O(m log n) + 2n log n
X
2i (22
−i
− 1).
i=0
Jetzt sind nur noch zwei Sachen zu klären: über wieviele Indices müssen wir summieren (d.h., wie groÿ ist x)
und können wir den Term in der Summe nach oben abschätzen?
Extra-Aufgabe 57 (war Teil des Übungsblattes):
Zeigen Sie per Induktion, dass
22
−i
− 1 ≤ 2−i gilt
für alle
i ≥ 0.
Damit gilt für den Term innerhalb der Summe, dass er immer kleiner ist als 1. Die Frage ist nun, ob es irgendein
gibt, so dass der verbleibende Teilgraph
Gi
hat, dass er quasi ein Baum ist. Wir fordern: wähle
dass
2
2
−i
i
entweder direkt ein Spannbaum ist, oder nur noch so wenige Kanten
2
i
so, dass
−i
n · n1/k = n · 22
−i
−i
− 1 ≤ 2/n sein soll. Da wir wissen, dass 2 − 1 ≤ 2 gilt, können wir
2−i ≤ 2/n. Dies gilt für i ∈ O(log n). Damit gilt also insgesamt:
≤ n(1 + 2/n)
ist. Daraus folgt,
dann auch nach dem
i
suchen,
so dass gilt:
W (C) ≤ O(m log n + n log2 n),
wie gefordert.
33
www.bioinfoblog.de
INHALTSVERZEICHNIS
Ausgewählte Graphenalgorithmen
Inhaltsverzeichnis
1 Teilgraphen mit besonderen Eigenschaften
1.1
Beispiel Formalisierung (3.)
1.2
Clustern von Graphen
2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2.1
Ein erster Ansatz [10]
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2.2
Ein zweiter Ansatz [10]
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.2.3
Ein dritter Ansatz
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.3
Spanner
1.4
Spannbäume mit niedrigem, durchschnittlichem Stretch
. . . . . . . . . . . . . . . . . . . . . . .
13
1.5
Dünne Teilgraphen, die den Zusammenhang erhalten . . . . . . . . . . . . . . . . . . . . . . . . .
21
2 Minimale Kreisbasen
2.1
24
Kreisbasen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
2.1.1
Dierenzierung von Kreisbasen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
Kreisbasen minimalen Gewichts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
2.2.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
2.3
Obere Schranke für minimale Kreisbasen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
2.4
Obere Grenze für die Länge einer MCB
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
Eine obere Grenze für die Länge von schwach fundamentalen Kreisbasen . . . . . . . . . .
32
2.2
2.4.1
Der Algorithmus von Horton
34
www.bioinfoblog.de
Index
Basis, 25
Cluster, 2, 4
Clusteringmaÿ, 4
Connectivity, 21
cycle base, 26
Dimension der Kreisbasis, 27
Dominating Set, 15
Durchmesser, 5
einfacher Kreis, 24
Entscheidungsproblem, 16
Erzeugendensystem, 25
Exact-3-Cover, 16
Exzentrizität, 5
Fundamentalität, 27
Gewicht einer Kreisbasis, 28
Girth, 13, 14
inter-cluster edges, 7
Intraclusterkanten, 7
k-dominating Set, 9
k-Spanner, 12
kantenzusammenhängend, 21
Kreis, 24
Kreisbasen, 24
Kreisbasis, 26
Metagraph, 4
Minimale Kreisbasis, 28
Minimale Spannbäume, 2
Optimierungsproblem, 16
Partition, 4
Partitionierung, 4
Radius, 5
Schubladenprinzips, 10
Schutzkanten, 18
Spanner, 11
Stretch, 11
Taillenweite, 13, 14
Tie-Breaking-Rule, 9
w gewurzelten, distanzerhaltenden Spannbaum, 12
zusammenhängend, 21
Zusammenhang, 21
35
LITERATUR
Ausgewählte Graphenalgorithmen
Literatur
[1] Noga Alon, Richard M. Karp, David Peleg, and Douglas West. A graph-theoretic game and its application
to the
k -servers
problem.
SIAM Journal on Computing, 24(1):78100, 1995.
[2] Peter S. Bearman, James Moody, and Katherine Stovel. Chains of aection: The structure of adolescent
romantic and sexual networks.
American Journal of Sociology, 110:4491, 2004.
[3] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Cliord Stein.
Introduction to Algorithms.
MIT Press, 2003.
[4] Michael Elkin, Yuval Emek, Daniel A. Spielman, and Shang-Hua Teng. Lower-stretch spanning trees. In
Proceedings of STOC'05, 2005.
[5] J.D. Horton. A polynomialtime algorithm to nd the shortest cycle basis of a graph.
SIAM J. Comput.,
16:359366, 1987.
[6] Jon Kleinberg and Éva Tardos.
[7] Shay Kutten and David Peleg.
Algorithm Design.
Addison-Wesley, 2006.
Fast distributed construction of k-dominating sets and applications.
Proceedings of PODC'95, pages 238249, 1995.
In
[8] H. Nagamochi and T. Ibaraki. A linear-time algorithm for nding a sparse k-connected spanning subgraph
of a k-connected graph.
[9] Mark E.J. Newman.
Algorithmica 7, 7:583596, 1992.
Who is the best connected scientist? a study of scientic coauthorship networks.
arXiv: cond-mat/0011144, November 2000.
[10] David Peleg.
Distributed Computing - A Locality Sensitive Approach.
SIAM Monographs on Discrete
Mathematics and Applications, 2000.
[11] Michael R.Garey and David S. Johnson.
Completeness.
[12] Romeo Rizzi.
Computers and Intractability - A Guide to the Theory of NP-
W.H. Freeman and Company, New York, 1979.
Minimum weakly fundamental cycle bases are hard to nd.
Algorithmica,
2007.
DOI
10.1007/s00453-007-9112-8.
[13] Uwe Schöning.
Theoretische Informatik.
[14] Katharina A. Zweig.
Spektrum Akademischer Verlag, 4th ed. edition, 2000.
On Local Behavior and Global Structures in the Evolution of Complex Networks.
PhD
thesis, University of Tübingen, Wilhelm-Schickard-Institut für Informatik, 2007.
36
www.bioinfoblog.de
Herunterladen