Netzwerkkodierung in Theorie und Praxis Praktische Anwendungen der Netzwerkkodierung Netzwerkkodierungstheorie Prof. Dr.-Ing. Frank Fitzek M.Sc. Juan Cabrera Communication Networks Group Prof. Dr.-Ing. Eduard Jorswieck Dipl.-Ing. Johannes Richter Communications Theory Group Netzwerkkodierungstheorie 2. Vorlesung „Hauptsatz der Netzwerkcodierung“ Sommersemester 2016 Eduard Jorswieck Johannes Richter Theoretische Nachrichtentechnik Hauptsatz der Netzwerkcodierung I Wir betrachten ein „multicast“-Szenario auf einem Netzwerk, das als Graph G = (V , E) dargestellt wird, mit h Quellen s1 , . . . , sh , die mit Rate Eins zu N Empfängern R1 , . . . , RN senden wollen. Satz (Hauptsatz der Netzwerkcodierung) Betrachte einen gerichteten azyklischen Graph G(V , E) mit normierten Kanten c(e) = 1, h Quellen mit normierten Raten und N Empfängern. Angenommen der „min-cut“ zu allen Empfängern ist h. Dann existiert ein Multicast-Übertragungsverfahren über ein hinreichend großes Alphabet Fq , in dem die Netzwerkknoten die Eingangsdaten linear über Fq kombinieren, so daß zu jedem Empfänger gleichzeitig eine Rate von h realisiert wird. 36 Hauptsatz der Netzwerkcodierung II σ1 σ2 c` σ1 α1 σ2 × × α2 α1 σ1 α2 σ2 + α1 σ1 + α2 σ2 α1 σ1 + α2 σ2 Abbildung: Lineare Netzwerkcodierung an einem Knoten ` 37 Hauptsatz der Netzwerkcodierung III • In einem komplexen Netzwerk wird eine solche lokale Linearkombination mehrmals hintereinander angewendet. • Die h Symbole σ1 , . . . , σh werden also beim Durchfließen des Graphens mit einem globalen Codierungsvektor c(e) = [c1 (e), . . . , ch (e)] multipliziert, d.h. σ1 .. T c(e)σ = [c1 (e), . . . , ch (e)] · . . σh • Der Codierungsvektor einer Kante e ist also der Vektor mit Koeffizienten der Quellensymbole, die als Linearkombination durch e fließen. • Die Dimension ist immer 1 × h. 38 Hauptsatz der Netzwerkcodierung IV • Wichtig ist der Fluß durch die letzte Kante vor dem Empfänger Rj . I I Angenommen ρji sei das Symbol auf der letzten Kante des Pfads (si , Rj ) und Aj die Matrix, deren i-te Zeile der Codierungsvektor der letzten Kante des Pfads (si , Rj ) ist. Dann muß der Empfänger Rj das folgende lineare System lösen: [ρj1 , ..., ρjh ]T = Aj [σ1 , ..., σh ]T I I um die Orginialinformationssymbole σ1 , ..., σh zu empfangen. Um das lineare Gleichungssystem eindeutig lösen zu können, müssen alle Aj für alle 1 ≤ j ≤ N vollen Rang besitzen. Außerdem muß jeder Codierungsvektor des Ausgangs eines Knoten in der linearen Hülle der Codierungsvektoren des Eingangs des Knotens liegen. 39 Hauptsatz der Netzwerkcodierung V Satz (Algebraische Formulierung) In der linearen Netzwerkcodierung existieren Koeffizienten αk in einem genügend großen Körper Fq der lokalen Codierungsvektoren, so daß alle Matrizen A1 , ..., AN die die Information an den Empfängern beschreiben, vollen Rang haben. Lemma (Sparse Zeros Lemma) Es sei f (α1 , ..., αη ) ein multivariates Polynom in den Variablen α1 , ..., αη mit maximalem Grad in jeder Variable von maximal d. Dann existieren Werte p1 , ..., pη in jedem endlichen Körper der Größe q > d, so daß f (α1 = p1 , ..., αη = pη ) 6= 0 und f nicht identisch Null ist. • Dieser Hilfssatz wird manchmal “sparse zeros lemma” oder auch Schwartz-Zippel Lemma genannt, da es aus diesem folgt. • Wir geben einen separaten einfachen induktiven Beweis an =⇒ Tafel 40 Hauptsatz der Netzwerkcodierung VI A B C D E F 41 Hauptsatz der Netzwerkcodierung VII • Viele offene Fragen entstehen durch den Hauptsatz: I I I I Können wir einen linearen Netzwerkcode effizient konstruieren? Wir groß muß der Körper sein? Wie groß ist der Aufwand für die Netzwerkcodierung? Was sind die Gewinne? • Eine andere Frage ist bezüglich der Annahmen: Welche Annahmen aus dem Hauptsatz können fallengelassen werden? 1. Normierte Kapazität an den Kanten: nicht restriktiv, beliebige rationale Zahlen und parallele Kanten sind erlaubt. 2. Gewichteter Graph: restriktiv, man kann ein Gegenbeispiel konstruieren, in dem der Hauptsatz dann nicht mehr stimmt. 3. Keine Verzögerung beim Übertragen: nicht restriktiv. Es wird ein Zusammenhang zu Faltungscodes hergestellt. 4. Azyklischer Graph: nicht restriktiv. Durch geeignete Maßnahmen können zyklische Graphen entschärft werden. 42 Hauptsatz der Netzwerkcodierung VIII 5. Dieselben min-cut Werte: restriktiv. Wenn die Empfänger unterschiedliche min-cut Werte haben, kann nur mit einer Rate, die gleich dem Minimum über alle min-cuts ist, übertragen werden, da ja alle Empfänger alle Linearkombinationen decodieren können müssen (das Butterfly-Netzwerk ist ein Gegenbeispiel). • Zwischen Netzwerk-codes und linearen Fehlerschutzcodes gibt es einen Zusammenhang: Die globalen Codierfunktionen in einem linearen Netzwerkcode entsprechen den Spalten der Generatormatrix eines linearen Fehlerschutzcodes. • Allerdings muß jede Codierfunction das Gesetz der Informationserhaltung befolgen (linear span). Die Wahl der Generatormatrix beim linearen Fehlerschutzcode ist frei. 43 Hauptsatz der Netzwerkcodierung IX • Es gibt eine weitere Taxonomie bei linearen Netzwerkcodes: Es sei h beliebig und fe die globale Codierfunktion. VT =< {fe : e ∈ In(T )} >, mit < . > als lineare Hülle einer Menge von Vektoren. a) Wenn dim(VT ) = h für alle Knoten T und maxflow(T ) ≥ h dann heißt der Code linearer multicast-Netzwerkcode. b) Wenn dim(VT ) = min(h, maxflow(T )) für alle Knoten T , dann heißt der Code linearer broadcast-Netzwerkcode. c) Wenn dim(< ∪T ∈T VT >) = min(h, maxflow(T )) für alle Mengen von Knoten T , dann heißt der Code linearer dispersion-Netzwerkcode. • Offenbar gilt: c) → b) → a), d.h. jeder lineare dispersion-Netzwerkcode ist ein broadcast ist ein multicast Netzwerkcode. 44 Hauptsatz der Netzwerkcodierung X • Taxonomie Beispiel: [1 0] s [0 1] [1 0] s [0 0] [1 0] [0 1] T U T U [0 1] [1 0] [1 0] [1 0] [1 0] W s [1 0] [0 0] W s [1 0] [0 1] [0 1] T U T U [0 0] [0 0] [1 0] W [0 0] W 45 Hauptsatz der Netzwerkcodierung XI • Unicast / Multicast I I Ein multicast Szenario wird beschrieben durch einen gerichteten Graph G = (V , E), einen Quellenknoten s ∈ V (an dem h normierte Quellen si anliegen) und eine Menge von Empfängern R = {R1 , ..., RN }. Eine Multicast-Instanz wird also durch das Tripel (G, S, R) beschriben. Eine Instanz (G, S, R) erfüllt die multicast-Eigenschaft für Rate h falls der min-cut Wert von s zu jedem Empfänger größer gleich h ist. • Eine Zuordnung von Codiervektoren zu einem Graphen heißt möglich oder erreichbar, wenn der Codiervektor an der Kante e in der linearen Hülle der Codierungsvektoren der Elternkanten In(e) liegt. • Ein gültiger Netzwerkcode ist jede erreichbare Zuordnung von Codevektoren, so dass die Matrix Aj für alle Empfänger Rj und 1 ≤ j ≤ N , vollen Rang hat. 46 Hauptsatz der Netzwerkcodierung XII • Ein Netzwerk ist linear lösbar falls lineare Operationen existieren, so dass jeder Empfänger dieselbe maximale Rate erhält, als wenn er alle Netzwerkresourcen exklusiv benutzen würde. • Codierungspunkte sind die Kanten des Graphen an denen Netzwerkcodierung durchgeführt wird. • Ein Graph heisst minimal mit der multicast Eigenschaft falls das Entfernen irgendeiner Kante die Eigenschaft verletzen würde. 47 Hauptsatz der Netzwerkcodierung XIII S1 S2 S1 S2 S1 S2 C C C D D D E F E F E F G H G H G H R1 I I I K K K R2 R1 R2 R1 R2 48 Hauptsatz der Netzwerkcodierung XIV Nächste Vorlesung • Algorithmus zur Konstruktion von Netzwerkcodes • Systematischer Entwurf: I I Liniengraph Teilbaumzerlegung ... • Zufällige Netzwerkcodierung ... 49