Ein polynomialer Algorithmus für minimale Kreisbasen

Werbung
Ein polynomialer
Algorithmus
für minimale Kreisbasen
07.05.07
Karin Kratt
Ein polynomialer Algorithmus für minimale Kreisbasen
Überblick:
Motivation
Definitionen
Algorithmus für eine Kreisbasis minimaler Länge
Länge einer kürzesten Kreisbasis
Algorithmus für eine suboptimale Kreisbasis der
Länge O(n²)
Ein polynomialer Algorithmus für minimale Kreisbasen
- einige Algorithmen benutzen Kreisbasen,
Motivation
Definitionen
z.B. um alle elementaren Kreise aufzulisten oder
um den längsten Kreis zu finden
- Laufzeit abhängig von der gewählten Kreisbasis
Alg. für eine
minimale Kreisbasis
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Elektrotechnik: Tanner-Graph
- LDPC Code wird mit Hilfe der parity check
Matrix H definiert
- x ist ein Codewort, falls H ⋅ x = 0
Ein polynomialer Algorithmus für minimale Kreisbasen
Beispiel:
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
1

1
H =
0

0

Länge einer
kürzesten
Kreisbasis
→
Alg. für eine
suboptimale
Kreisbasis
H⋅x =0
0 1 0 1 1

1 0 1 0 1
1 0 0 1 0

1 1 1 0 1 
x1
x2
= [ 0 0 0 0 0 0 ]
= [ 1 0 1 1 0 0 ]
x3
x4
= [ 0 1 0 0 1 1 ]
= [ 1 1 1 1 1 1 ]
Ein polynomialer Algorithmus für minimale Kreisbasen
Konstruktion des Tanner-Graphs:
Motivation
- Knoten: variable nodes, check nodes
Definitionen
- Anzahl variable nodes ↔ Anzahl Spalten
- Anzahl check nodes↔ Anzahl Zeilen
Alg. für eine
min. Kreisbasis - Kante (i, j) zwischen check node i und variable
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
node j existiert g.d.w. H ij = 1
Ein polynomialer Algorithmus für minimale Kreisbasen
Beispiel:
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
1

0
H =
0

1

0 1 1 0 0

1 0 0 1 1
1 1 0 1 0

0 0 1 0 1 
Ein polynomialer Algorithmus für minimale Kreisbasen
- mit Hilfe von Algorithmen kann man ein
Motivation
fehlerhaftes Codewort in ein gültiges Codewort
umwandeln
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Ziel: minimalen Kreis maximieren
Ein polynomialer Algorithmus für minimale Kreisbasen
- G = (V, E) ungerichteter, endlicher, einfacher
Graph; Anzahl der Knoten n:= |V|; Anzahl der
Kanten: m:= |E|.
Motivation
- Beschränkung auf 2-zusammenhängende G
Definitionen
- G heißt gewichtet, falls eine Gewichtsfkt.
Alg. für eine
w: E →IR existiert. Hier: w: E → IR+.
min. Kreisbasis
- Weg P ist eine Folge von Knoten und Kanten
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
P = (x 0 , e1 , x 1 , e 2 , ..., x n −1 , e n , x n )
- P elementarer Weg, wenn P jeden Knoten
max. einmal enthält (Ausnahme x 0 = x n )
- Beschränkung auf elementare Wege
- Länge eines kürzesten Weges von x zu y:
d(x, y)
Ein polynomialer Algorithmus für minimale Kreisbasen
Motivation
Definitionen
- Kreis C ist ein Teilgraph von G, in dem jeder
Knoten einen geraden Grad besitzt
- C heißt elementarer Kreis, wenn C zusammenhängend ist und jeder Knoten Grad 2 hat
- Kreisaddition wird definiert durch die
Alg. für eine
min. Kreisbasis symmetrische Differenz: C ∆ D:= (C∪ D) \ (C∩ D)
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
- Kreis C kann durch seinen Kreis-Inzidenzvektor
a C = (a 1 , ..., a m ) dargestellt werden, wobei
1, falls Kante i ∈ C
a := 
i
0, falls Kante i ∉ C
- symmetrische Differenz ↔ Addition der Einträge
der Inzidenzvektoren modulo 2
Ein polynomialer Algorithmus für minimale Kreisbasen
Beispiel:
Wir betrachten den folgenden Graphen:
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Ein polynomialer Algorithmus für minimale Kreisbasen
Beispiel:
Wir betrachten den folgenden Graphen:
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
3 elementare Kreise C, D und E
Es gilt: C ∆ D = E
In der Inzidenzschreibweise:
a C = (1,1,1, 0, 0) a D = (0, 0,1,1,1) a E = (1,1, 0,1,1)
Ein polynomialer Algorithmus für minimale Kreisbasen
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
- Knoten-Kante Inzidenzvektor bzgl. Knoten x
a x = (a 1 , ..., a m ) mit
1, falls x Endpunkt der Kante i
a := 
i
0, sonst
- die n Knoten-Kanten Inzidenzvektoren bilden
die Inzidenzmatrix A ∈(n × m, IF2 ),
- Spalten ↔ Kanten
- Zeilen ↔ Inzidenzvektoren der Knoten
Ein polynomialer Algorithmus für minimale Kreisbasen
Beispiel:
a w = (1, 0,1, 0,1)
a x = (0, 0, 0,1,1)
Motivation
Definitionen
a y = (1,1, 0, 0, 0)
Alg. für eine
min. Kreisbasis
a z = (0,1,1,1, 0)
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
→
1

0
A =
1

0

0 1 0 1

0 0 1 1
1 0 0 0

1 1 1 0 
Ein polynomialer Algorithmus für minimale Kreisbasen
- Kreisraum C(G) wird durch die Inzidenzvektoren
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
der elementaren Kreise erzeugt
- andere Interpretation: Kreisraum ist der Kern der
m
n
f
:
IF
→
IF
linearen Abbildung A
2
2
A ⋅ x = 0, ∀ x ∈ C(G )
- Dimension
ν des Kreisraumes: ν = m – n + 1
Ein polynomialer Algorithmus für minimale Kreisbasen
Motivation
Definitionen
- Menge von Kreisen IB = {C1,…, Cj} definiert
eine Kreisbasis von G, falls die entsprechenden
Inzidenzvektoren dieser Kreise eine Basis des
Kreisraumes von G definieren
Alg. für eine
min. Kreisbasis - Inzidenzvektoren von IB sind linear unabhängig
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
und spannend
d.h. jeder Kreis C von G kann durch diese Basis
dargestellt werden als
C = ε 1C1∆ε 2 C 2 ∆...∆ε j C j ; ε i ∈ {0, 1}
- Gewicht einer Kreisbasis: w(IB) =
∑
Ci∈ IB
w(C i )
Ein polynomialer Algorithmus für minimale Kreisbasen
Elektrotechnik
Motivation
Definitionen
Mathematik
H ⋅ x = 0 , x Codewort A ⋅ x = 0, ∀ x ∈ C(G )
H parity check Matrix
A Inzidenzmatrix
Alg. für eine
min. Kreisbasis - Elektrotechnik: Kreise im Tanner-Graph
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
- in diesem Vortrag: Kreisraum, Kreisbasis
- Aussagen für Kreise, die mit der Inzidenzmatrix
A getroffen werden mögl. hilfreich für Kreise im
Tanner-Graph, da sich die parity check Matrix H
in eine Inzidenzmatrix überführen lässt
Ein polynomialer Algorithmus für minimale Kreisbasen
Beispiel:
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
 1 0 1


H =  0 1 1
 1 1 1


Ein polynomialer Algorithmus für minimale Kreisbasen
Beispiel:
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
 1 0 1


H =  0 1 1
 1 1 1


au

av
a
A = w
ax
a
 y
a
 z
 1
 
 0
 0
=
 1
 
 0
 0
 
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
0
0

0
1

0
0 
1 
Ein polynomialer Algorithmus für minimale Kreisbasen
Motivation
Definitionen
Theorem 1:
Sei IB eine Kreisbasis von G, C ein Kreis in IB
mit C = C1 + C2. Dann ist entweder IB \ {C}∪ {C1}
oder IB \ {C} ∪ {C2} eine Kreisbasis von G.
Theorem 2:
Alg. für eine
min. Kreisbasis Seien x, y Knoten in G, IB Kreisbasis von G, P
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
ein Weg von x zu y.
Dann kann jeder Kreis von IB, der x und y enthält,
ausgetauscht werden gegen
1) einen Kreis der den Weg P enthält
oder
2) gegen einen Kreis der entweder x oder y nicht
enthält.
Ein polynomialer Algorithmus für minimale Kreisbasen
Motivation
Definitionen
Korollar 3:
Sei IB eine minimale Kreisbasis, P der eindeutige,
kürzeste Weg von x zu y. Dann muss jeder Kreis
von IB, der x und y enthält, den Weg P enthalten.
Alg. für eine
min. Kreisbasis Bemerkung:
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Hier: kürzester Weg zwischen x und y eindeutig
I. A.: mehrere kürzeste Wege
in jeder minimalen Kreisbasis ist jedes Paar
von Knoten x, y in einem Kreis durch einen
kürzesten Weg verbunden
Ein polynomialer Algorithmus für minimale Kreisbasen
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Theorem 4:
Sei x ein Knoten in einem Kreis C in einer min.
Kreisbasis. Dann gibt es eine Kante e = (y, z) in C
so dass C aus einem kürzestem Weg von x zu y,
einem kürzestem Weg von x zu z und der Kante e
besteht.
Definition:
Für jedes Knoten-Kanten Paar (x, (y, z)) definiert
man C(x, y, z) := P(x, y) + P(x, z) + (y, z), wobei
P(v, u) der kürzeste Weg von v zu u ist.
es existieren max. nm solcher Kreise
Ein polynomialer Algorithmus für minimale Kreisbasen
Algorithmus für minimale Kreisbasen:
Motivation
Definitionen
(1) Finde einen kürzesten Weg zwischen allen
Knotenpaaren x, y.
(2) Berechne für jeden Knoten v und Kante (x, y)
C(v, x, y) und dessen Länge.
Alg. für eine
(3) Ordne die Kreise nach Gewicht.
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
(4) Benutze den Greedy-Algorithmus um eine
minimale Kreisbasis zu finden.
Theorem 5:
Falls alle Kanten nicht-negatives Gewicht haben,
findet der Algorithmus eine minimale Kreisbasis
und zwar unabhängig davon welcher kürzester
Weg P(x, y) für das Knotenpaar x, y gewählt wird.
Ein polynomialer Algorithmus für minimale Kreisbasen
Warum Greedy?
Motivation
Beispiel
Definitionen
Alg. für eine
min. Kreisbasis
inneren Dreiecke:
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Aber:
äußeres Viereck erfüllt Bed. von Th. 4 ebenfalls
Ein polynomialer Algorithmus für minimale Kreisbasen
Laufzeit des Alg. für min. Kreisbasen: O(nm³)
(1) Kürzester Wege Alg. (Dijkstra, Floyd) O(n³)
(2) höchstens nm Kreise, weiteres n als Zeit Motivation
schranke um den Kreis auszugeben O(mn²)
Definitionen
(3) Umsortierung O (a log (a));
a Anzahl der gefunden Kreise in Schritt (2)
Alg. für eine
min. Kreisbasis (4)- Inzidenzmatrix der Kreise:
Gaußalgorithmus
Länge einer
- Prozesszeit für eine Zeile: O(mr)
kürzesten
m Anzahl der Spalten, r Anzahl bereits
Kreisbasis
gefundenen unabhängigen Zeilen
Alg. für eine
- r durch ν beschränkt, ν = m – n + 1,
suboptimale
O(mr) = O(mν ) = O(m²).
Kreisbasis
- mit Anzahl der Kreise O(nm):
O(nm³)
Ein polynomialer Algorithmus für minimale Kreisbasen
Problem:
Wie findet man einen spannenden Baum, dessen
Motivation
Fundamentalkreise kürzeste Länge haben?
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Beispiel:
Ein polynomialer Algorithmus für minimale Kreisbasen
Problem:
Wie findet man einen spannenden Baum, dessen
Motivation
Fundamentalkreise kürzeste Länge haben?
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Beispiel:
Ein polynomialer Algorithmus für minimale Kreisbasen
Problem:
Wie findet man einen spannenden Baum, dessen
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Fundamentalkreise kürzeste Länge haben?
NP-complete
Beispiel:
Ein polynomialer Algorithmus für minimale Kreisbasen
Motivation
Definitionen
Theorem 6:
Die Länge einer min. Kreisbasis eines
ungewichteten Graphen mit n Knoten beträgt
höchstens 3(n-1)(n-2)/2.
Ausschnitt aus dem Beweis: (Induktion über n)
Alg. für eine
Für n = 1, 2 klar.
min. Kreisbasis
Sei nun n ≥ 3, G ein Graph mit n + 1 Knoten.
Länge einer
Sei x ein Knoten mit minimalem Grad in G.
kürzesten
Per IV erfülle G – x das obige Theorem, d.h. falls
Kreisbasis
IB eine min. Kreisbasis von G – x ist, dann gilt für
Alg. für eine
die Länge w(IB) ≤ 3(n-1)(n-2)/2.
suboptimale
Jetzt werden solange elementare Kreise, die x
Kreisbasis
enthalten, zu IB addiert, bis eine Kreisbasis für G
gefunden wird.
Ein polynomialer Algorithmus für minimale Kreisbasen
Motivation
Definitionen
x-Netzwerk:
- Knoten heißen x-Knoten, Kanten x-Kanten
- x-Knoten: mit x verbundenen Kanten in G
- zwei x-Knoten sind genau dann durch eine
x-Kante verbunden, falls ein gewählter Kreis
beide Kanten benutzt
Alg. für eine
min. Kreisbasis Menge der gewählten Kreise bilden zusammen
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
mit IB eine unabhängige Menge g.d.w.
x-Netzwerk keine Kreise enthält
Ein polynomialer Algorithmus für minimale Kreisbasen
Sei k der Grad von x
Motivation
Definitionen
x-Netzwerk enthält k x-Knoten
k – 1 Kreise, die x enthalten, werden zu IB
addiert, um eine Kreisbasis für G zu erhalten
Alg. für eine
k – 1 x-Kanten im Netzwerk
min. Kreisbasis
x-Netzwerk ist ein spannender Baum
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Umgekehrt: x-Netzwerk spannender Baum
Menge der gewählten Kreise zusammen mit
IB Kreisbasis
Ein polynomialer Algorithmus für minimale Kreisbasen
Seien x 1 , x 2 , ..., x k die anderen Endpunkte der mit
Motivation
x verbundenen Kanten.
Definitionen
gewählter Kreis besteht aus einem Weg in
G – x von einem x i zu einem anderen x j und zwei
Alg. für eine
min. Kreisbasis Kanten
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
( x , x i ); ( x , x j )
k – 1 Wege werden durch einen spannenden
Baum T in G – x gefunden
Ein polynomialer Algorithmus für minimale Kreisbasen
Fall: k = n
Bildung der Wege:
Knoten des spannenden Baumes T mit Grad
Motivation
eins werden mit ihrem einzigen Nachbarn
verbunden
Definitionen
Knoten mit Grad eins von T entfernen
Alg. für eine
min. Kreisbasis ...
n – 1 Wege
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
alle Wege besitzen Länge 1
n – 1 Kreise sind Dreiecke mit jeweils Länge 3
zu der Länge w(IB) wird 3n – 3 addiert:
3/2(n-1)(n-2) + 3n – 3 = 3/2[n² - 3n + 2 + 2n – 2]
= 3/2[n² - n] = 3/2n(n-1)
Ein polynomialer Algorithmus für minimale Kreisbasen
Definition:
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Eine Menge von elementaren Kreisen durch einen
Knoten x heißt lokal-unabhängig-in-x, falls das
x-Netzwerk keine Kreise enthält.
Ein polynomialer Algorithmus für minimale Kreisbasen
Bemerkung:
- eine maximal lokal-unabhängig-in-x Menge
Motivation
Definitionen
besteht aus Grad(x) – 1 Kreisen
- diese Menge entspricht einem spannenden
Baum im x-Netzwerk
Alg. für eine
min. Kreisbasis - jeder Kreis in einer minimal-gewichteten,
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
maximal lokal-unabhängig-in-x Menge besteht
aus zwei Kanten (x, y), (x, z) und dem kürzesten
Weg zwischen y und z in G – x
Ein polynomialer Algorithmus für minimale Kreisbasen
x-Kanten werden mit der Länge des
Motivation
Definitionen
entsprechenden Kreises gewichtet
minimal-gewichtete, maximal lokal-unabhängig Alg. für eine
min. Kreisbasis in-x Menge ↔ minimal spannenden Baum im
x-Netzwerk (bei gleich bleibendem Gewicht)
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Ein polynomialer Algorithmus für minimale Kreisbasen
Theorem 7:
Motivation
Definitionen
Sei x ein Knoten in G. Eine minimal-gewichtete,
maximal lokal-unabhängig-in-x Menge von
elementaren Kreisen ist eine Teilmenge einer
Alg. für eine
min. Kreisbasis minimalen Kreisbasis.
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Ein polynomialer Algorithmus für minimale Kreisbasen
Beispiel:
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
minimal-gewichtete, maximal-unabhängig-in-x
Menge v. elementaren Kreisen für jeden Knoten x:
3 Trapeze
Ein polynomialer Algorithmus für minimale Kreisbasen
Beispiel:
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
minimal-gewichtete, maximal-unabhängig-in-x
Menge v. elementaren Kreisen für jeden Knoten x:
3 Trapeze
Alg. für eine
suboptimale
Kreisbasis
für minimal-gewichtete Kreisbasis zusätzlich
eines der Dreiecke
minimal-gewichtete, maximal-unabhängig-in-x
Menge echte Teilmenge der min. Kreisbasis
Ein polynomialer Algorithmus für minimale Kreisbasen
Algorithmus für eine sub-optimale Kreisbasis:
Motivation
(1) Wähle einen Knoten x mit minimalem Grad
Definitionen
(2) Berechne alle kürzesten Wege in G – x
zwischen den Nachbarn von x
Alg. für eine
min. Kreisbasis
(3) Berechne einen minimalen spannenden Baum
im gewichteten x-Netzwerk
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
(4) Konstruiere die kürzesten Kreise im Graphen
entsprechend zu den x-Kanten im Baum
(5) Addiere zu der Menge der Kreise von
Schritt (4) eine Kreisbasis für G – x
(erhält man durch Rekursion)
liefert für einen ungewichteten Graphen eine
Kreisbasis mit höchstens 3(n-1)(n-2)/2 Kanten
Ein polynomialer Algorithmus für minimale Kreisbasen
Laufzeit:
(1) O(1)
Motivation
(2) O(dn²) mit d := Grad von x
Definitionen
(3) O(n²)
(4) O(dn)
Alg. für eine
min. Kreisbasis (5) mit O(n) multiplizieren
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Schritt (2) dominiert die anderen Schritte
Zusammen mit Schritt (5) beträgt die Laufzeit:
O(n²(Summe der Grade) = O(n²m)
Ein polynomialer Algorithmus für minimale Kreisbasen
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Zusammenfassung:
- Algorithmus für eine Kreisbasis minimaler Länge;
Laufzeit O(m³n)
- Länge einer kürzesten Kreisbasis ≤ 3(n-1)(n-2)/2
- Algorithmus für eine suboptimale Kreisbasis der
Länge O(n²); Laufzeit O(mn²)
Ein polynomialer Algorithmus für minimale Kreisbasen
Motivation
Definitionen
Alg. für eine
min. Kreisbasis
Länge einer
kürzesten
Kreisbasis
Alg. für eine
suboptimale
Kreisbasis
Vielen Dank für Ihre Aufmerksamkeit!
Herunterladen