Vorlesung Theoretische Grundlagen Fehlerkorrigierende Jörn Müller-Quade 29. Januar 2013 I NSTITUT FÜR K RYPTOGRAPHIE UND S ICHERHEIT KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
Neues Übungsblatt Neues Übungsblatt ist am Montag dem 28.01.13 erschienen Abgabe am Freitag dem 01.02.13 Lediglich 2 bewertete Aufgaben (insg. 8 Punkte) Jörn Müller-Quade Vorlesung 29. Januar 2013 2/30
Shannon s Noisy Channel Coding Theorem Theorem (Shannon) Für eine Quelle mit der Rate R und einen verrauschten Kanal der Kapazität C, wobei R C, gibt es für jedes ɛ > 0 eine Kanalcodierung so dass die entstehende Übertragungsfehlerrate < ɛ. Existenzbeweis, keine explizite Konstruktion Jörn Müller-Quade Vorlesung 29. Januar 2013 3/30
Explizite Konstruktionen Block-: Codewörter fester Länge. Aufeinanderfolgende Blöcke unabhängig. Faltungscodes: Codewörter beliebig lang. Zeichen vom Vorgeschehen abhängig. Jörn Müller-Quade Vorlesung 29. Januar 2013 4/30
Block-: Grundbegriffe Q: ein endliches Alphabet, heute nur Q = {0, 1}, immer 0 Q Ein Block-Code ist eine Teilmenge C Q n für n N Falls #C = 1, so heißt C trivial Für #Q = 2 heißt C binär, für #Q = 3 terniär, etc. Definition (Hamming Distanz) Für x, y Q n ist d(x, y) := n (1 δ xi,y i ) = #{i i = 1,..., n, x i y i } i=1 die Hamming-Distanz zwischen x und y Jörn Müller-Quade Vorlesung 29. Januar 2013 5/30
Block-: Grundbegriffe Q: ein endliches Alphabet, heute nur Q = {0, 1}, immer 0 Q Ein Block-Code ist eine Teilmenge C Q n für n N Falls #C = 1, so heißt C trivial Für #Q = 2 heißt C binär, für #Q = 3 terniär, etc. Definition (Hamming Distanz) Für x, y Q n ist d(x, y) := n (1 δ xi,y i ) = #{i i = 1,..., n, x i y i } i=1 die Hamming-Distanz zwischen x und y Jörn Müller-Quade Vorlesung 29. Januar 2013 5/30
Block-: Grundbegriffe Q: ein endliches Alphabet, heute nur Q = {0, 1}, immer 0 Q Ein Block-Code ist eine Teilmenge C Q n für n N Falls #C = 1, so heißt C trivial Für #Q = 2 heißt C binär, für #Q = 3 terniär, etc. Definition (Hamming Distanz) Für x, y Q n ist d(x, y) := n (1 δ xi,y i ) = #{i i = 1,..., n, x i y i } i=1 die Hamming-Distanz zwischen x und y Jörn Müller-Quade Vorlesung 29. Januar 2013 5/30
Block-: Grundbegriffe Q: ein endliches Alphabet, heute nur Q = {0, 1}, immer 0 Q Ein Block-Code ist eine Teilmenge C Q n für n N Falls #C = 1, so heißt C trivial Für #Q = 2 heißt C binär, für #Q = 3 terniär, etc. Definition (Hamming Distanz) Für x, y Q n ist d(x, y) := n (1 δ xi,y i ) = #{i i = 1,..., n, x i y i } i=1 die Hamming-Distanz zwischen x und y Jörn Müller-Quade Vorlesung 29. Januar 2013 5/30
Block-: Grundbegriffe Q: ein endliches Alphabet, heute nur Q = {0, 1}, immer 0 Q Ein Block-Code ist eine Teilmenge C Q n für n N Falls #C = 1, so heißt C trivial Für #Q = 2 heißt C binär, für #Q = 3 terniär, etc. Definition (Hamming Distanz) Für x, y Q n ist d(x, y) := n (1 δ xi,y i ) = #{i i = 1,..., n, x i y i } i=1 die Hamming-Distanz zwischen x und y Jörn Müller-Quade Vorlesung 29. Januar 2013 5/30
Minimaldistanz Definition Die Minimaldistanz eines nichttrivialen Block- C ist m(c) := min c1,c 2 C,c 1 c 2 d(c 1, c 2 ) Definition Für einen Code C Q n heißt R(C) := log(#c) log((#q) n ) = die (Informations-) Rate von C log(#c) n log(#q) Jörn Müller-Quade Vorlesung 29. Januar 2013 6/30
Minimaldistanz Definition Die Minimaldistanz eines nichttrivialen Block- C ist m(c) := min c1,c 2 C,c 1 c 2 d(c 1, c 2 ) Definition Für einen Code C Q n heißt R(C) := log(#c) log((#q) n ) = die (Informations-) Rate von C log(#c) n log(#q) Jörn Müller-Quade Vorlesung 29. Januar 2013 6/30
Perfekte Definition Ein Code C mit ungerader Minimaldistanz m(c) heißt perfekt, falls für jedes x Q n genau ein c C gibt, sodass wgt(x c) m(c) 1 2 Jörn Müller-Quade Vorlesung 29. Januar 2013 7/30
Korrekturleistung eines Block- Lemma Ein Block-Code C mit Minimaldistanz m(c) = d kann entweder bis zu d 1 Fehler erkennen oder bis zu d 1 2 Fehler korrigieren. Beweisskizze: Jörn Müller-Quade Vorlesung 29. Januar 2013 8/30
Entwurfsziele für Block- 1 Möglichst hohe Rate, also möglichst viele Bits pro Symbol bzw. pro Codewort 2 Möglichst hohe Minimaldistanz für hohe Korrekturleistung 3 Effizientes Decodieren 1 und 2 sind konkurrierende Ziele Jörn Müller-Quade Vorlesung 29. Januar 2013 9/30
Entwurfsziele für Block- 1 Möglichst hohe Rate, also möglichst viele Bits pro Symbol bzw. pro Codewort 2 Möglichst hohe Minimaldistanz für hohe Korrekturleistung 3 Effizientes Decodieren 1 und 2 sind konkurrierende Ziele Jörn Müller-Quade Vorlesung 29. Januar 2013 9/30
Entwurfsziele für Block- 1 Möglichst hohe Rate, also möglichst viele Bits pro Symbol bzw. pro Codewort 2 Möglichst hohe Minimaldistanz für hohe Korrekturleistung 3 Effizientes Decodieren 1 und 2 sind konkurrierende Ziele Jörn Müller-Quade Vorlesung 29. Januar 2013 9/30
Entwurfsziele für Block- 1 Möglichst hohe Rate, also möglichst viele Bits pro Symbol bzw. pro Codewort 2 Möglichst hohe Minimaldistanz für hohe Korrekturleistung 3 Effizientes Decodieren 1 und 2 sind konkurrierende Ziele Jörn Müller-Quade Vorlesung 29. Januar 2013 9/30
Lineare Block- F q : endlicher Körper mit q = p n Elementen (eindeutig) Definition Ein linearer [n, k]-block Code C ist ein Untervektorraum von F n q der Dimension k Definition Für x F n q definieren wir die Hamming-Metrik (Hamming Gewicht, L 0 -Norm) wgt(x) := d(x, 0) = n (1 δ xi,0) = #{i i = 1,..., n, x i 0} i=1 Heute nur F q = F 2 = {0, 1}. Sei also F = F 2. Jörn Müller-Quade Vorlesung 29. Januar 2013 10/30
Lineare Block- F q : endlicher Körper mit q = p n Elementen (eindeutig) Definition Ein linearer [n, k]-block Code C ist ein Untervektorraum von F n q der Dimension k Definition Für x F n q definieren wir die Hamming-Metrik (Hamming Gewicht, L 0 -Norm) wgt(x) := d(x, 0) = n (1 δ xi,0) = #{i i = 1,..., n, x i 0} i=1 Heute nur F q = F 2 = {0, 1}. Sei also F = F 2. Jörn Müller-Quade Vorlesung 29. Januar 2013 10/30
Lineare Block- Für lineare [n, k]- C gilt R(C) = k n. Lemma Für Block- gilt d(x, y) = wgt(x y) Beweis: d(x, y) = #{i i = 1,..., n, x i y i } = #{i i = 1,..., n, x i y i 0} = wgt(x y) In linearen Block- C entspricht die Minimaldistanz also dem kürzesten Vektor c C Jörn Müller-Quade Vorlesung 29. Januar 2013 11/30
Lineare Block- Für lineare [n, k]- C gilt R(C) = k n. Lemma Für Block- gilt d(x, y) = wgt(x y) Beweis: d(x, y) = #{i i = 1,..., n, x i y i } = #{i i = 1,..., n, x i y i 0} = wgt(x y) In linearen Block- C entspricht die Minimaldistanz also dem kürzesten Vektor c C Jörn Müller-Quade Vorlesung 29. Januar 2013 11/30
Lineare Block- Wie können wir lineare Block- beschreiben? Ist C eine linearer [n, k]-code, so können wir C als Kern einer F (n k) n -Matrix H angeben. C = Ker(H) = {x F n H x = 0} H heißt Prüfmatrix oder Parity-Check-Matrix. Beschreibung über Codierungsabbildung: Für [n, k]-code C können wir F n k -Matrix G angeben sodass C = Bild(G) = {y F n x F k : y = G x} G bildet Informationsworte auf Codeworte ab. Parity-Check-Matrix ist die wichtigere Beschreibungsart, vor allem hinsichtlich Fehlererkennung und Fehlerkorrektur. Jörn Müller-Quade Vorlesung 29. Januar 2013 12/30
Lineare Block- Wie können wir lineare Block- beschreiben? Ist C eine linearer [n, k]-code, so können wir C als Kern einer F (n k) n -Matrix H angeben. C = Ker(H) = {x F n H x = 0} H heißt Prüfmatrix oder Parity-Check-Matrix. Beschreibung über Codierungsabbildung: Für [n, k]-code C können wir F n k -Matrix G angeben sodass C = Bild(G) = {y F n x F k : y = G x} G bildet Informationsworte auf Codeworte ab. Parity-Check-Matrix ist die wichtigere Beschreibungsart, vor allem hinsichtlich Fehlererkennung und Fehlerkorrektur. Jörn Müller-Quade Vorlesung 29. Januar 2013 12/30
Lineare Block- Für gegebene G, H gilt H G = 0. Für x F n heißt s = H x das Fehlersyndrom von x. s hängt nur von einem additiven Fehler, nicht aber vom Codewort selber ab. Ist x = c + e, so ist H x = H (c + e) = H c + H e = H e = s Für gegebenes s heißt (falls eindeutig) das e F n mit wgt(e) = min{wgt(x) x F n, x 0} der Coset-Leader von s. Jörn Müller-Quade Vorlesung 29. Januar 2013 13/30
Lineare Block- Für gegebene G, H gilt H G = 0. Für x F n heißt s = H x das Fehlersyndrom von x. s hängt nur von einem additiven Fehler, nicht aber vom Codewort selber ab. Ist x = c + e, so ist H x = H (c + e) = H c + H e = H e = s Für gegebenes s heißt (falls eindeutig) das e F n mit wgt(e) = min{wgt(x) x F n, x 0} der Coset-Leader von s. Jörn Müller-Quade Vorlesung 29. Januar 2013 13/30
Lineare Block- Für gegebene G, H gilt H G = 0. Für x F n heißt s = H x das Fehlersyndrom von x. s hängt nur von einem additiven Fehler, nicht aber vom Codewort selber ab. Ist x = c + e, so ist H x = H (c + e) = H c + H e = H e = s Für gegebenes s heißt (falls eindeutig) das e F n mit wgt(e) = min{wgt(x) x F n, x 0} der Coset-Leader von s. Jörn Müller-Quade Vorlesung 29. Januar 2013 13/30
Lineare Block- Für gegebene G, H gilt H G = 0. Für x F n heißt s = H x das Fehlersyndrom von x. s hängt nur von einem additiven Fehler, nicht aber vom Codewort selber ab. Ist x = c + e, so ist H x = H (c + e) = H c + H e = H e = s Für gegebenes s heißt (falls eindeutig) das e F n mit wgt(e) = min{wgt(x) x F n, x 0} der Coset-Leader von s. Jörn Müller-Quade Vorlesung 29. Januar 2013 13/30
Parity Parity-Code Idee: Füge einem Informationswort ein Bit hinzu das beschreibt ob die Quersumme des Informationswortes gerade oder ungerade ist 1 1 G = 1 1 H = ( 1 1 1 1 1 ) 1 1 1 1 Parity- sind [n, n 1]-. Jörn Müller-Quade Vorlesung 29. Januar 2013 14/30
Rate und Minimaldistanz? Rate: R(C) = n 1 n = 1 1 n d.h. R(C) 1 für n. Minimaldistanz: Je zwei Spalten der Parity-Check Matrix sind linear abhängig (trivial) m(c) = 2 Parity können einen Bitfehler erkennen, aber keine Fehler korrigieren Jörn Müller-Quade Vorlesung 29. Januar 2013 15/30
Rate und Minimaldistanz? Rate: R(C) = n 1 n = 1 1 n d.h. R(C) 1 für n. Minimaldistanz: Je zwei Spalten der Parity-Check Matrix sind linear abhängig (trivial) m(c) = 2 Parity können einen Bitfehler erkennen, aber keine Fehler korrigieren Jörn Müller-Quade Vorlesung 29. Januar 2013 15/30
Allgemeine Konstruktion Ist C ein [n, k] Code mit ungerader Minimaldistanz d und Prüfmatrix H, so können wir den parity-erweiterten Code C definierent durch die Prüfmatrix H H = 1 1... 1 0 H C hat Minimaldistanz d + 1, da alle Gewichte in C gerade sind.. 0 Jörn Müller-Quade Vorlesung 29. Januar 2013 16/30
Hamming- Definition Hamming sind [2 k 1, 2 k k 1]-, für die je zwei Spalten der Prüfmatrix linear unabhängig sind Beispiel Der [7, 4]-Hamming Code hat folgende Matrizen H = 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 G = 1 1 0 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 Jörn Müller-Quade Vorlesung 29. Januar 2013 17/30
Rate und Minimaldistanz Welche Rate haben Hamming? R(C) = 2k k 1 2 k 1 = 1 k 2 k 1 Welche Minimaldistanz haben Hamming? Je zwei Spalten der Parity-Check Matrix sind linear unabahängig, aber es gibt Tripel von Spalten die linear abhängig sind m(c) = 3 Jörn Müller-Quade Vorlesung 29. Januar 2013 18/30
Rate und Minimaldistanz Welche Rate haben Hamming? R(C) = 2k k 1 2 k 1 = 1 k 2 k 1 Welche Minimaldistanz haben Hamming? Je zwei Spalten der Parity-Check Matrix sind linear unabahängig, aber es gibt Tripel von Spalten die linear abhängig sind m(c) = 3 Jörn Müller-Quade Vorlesung 29. Januar 2013 18/30
Wie decodiert man Hamming? Man sieht am Aufbau der Parity-Check Matrix des Hamming dass im Falle eines 1-Bit Fehler das Syndrom eine Binärdarstellung der Fehlerposition ist Example Gegeben ist das Wort w = (0 1 1 1 1 1 0) T. Das Syndrom berechnet sich zu 1 s = H w = 1 0 Der Fehler ist also an Position 6 aufgetreten, das regenerierte Codewort ist ĉ = (0 1 1 1 1 0 0) T. Das decodierte Informationswort ist i = (1 1 0 0) T. Jörn Müller-Quade Vorlesung 29. Januar 2013 19/30
Perfektheit Theorem Hamming sind perfekt Beweis: Sei C ein [2 k 1, 2 k k 1] Hamming Code. Betrachte Kugeln B(c) mit Radius 1 um einzelne Codewörter c C. Dann #B(c) = 1 + 2 k 1 = 2 k = B Der Code C hat Dimension 2 k k 1, also gibt es #C = 2 2k k 1 Codewörter. Für c 1 c 2 sind B(c 1 ) und B(c 2 ) disjunkt. Die Kugelpackung hat B #C Elemente B #C = 2 k 2 2k k 1 = 2 2k 1 = #F 2k 1 2 Alle 1-Kugeln zusammen füllen also den ganzen Raum aus Jörn Müller-Quade Vorlesung 29. Januar 2013 20/30
Allgemeines Decodierproblem Bei Hamming ist effizientes decodieren von 1-Bit fehlerbehafteten Wörtern möglich. Wie steht es darum allgemein? Jörn Müller-Quade Vorlesung 29. Januar 2013 21/30
Wie effizient kann man decodieren? Problem: COSET-WEIGHTS Gegeben: Prüfmatrix H F m n 2, ein Syndrom s F m 2 und Zahl k Frage: Gibt es ein e mit wgt(e) k sodass H e = s? Das zugehörige Suchproblem ist COSET-LEADER Jörn Müller-Quade Vorlesung 29. Januar 2013 22/30
Decodieren ist NP-vollständig Theorem (Berlekamp, McEliece, van Tilborg) COSET-WEIGHTS ist N P-vollständig in [BMT78] Berlekamp, McEliece, van Tilborg: On the Inherent Intractability of Certain Coding Problems Jörn Müller-Quade Vorlesung 29. Januar 2013 23/30
Decodieren ist NP-vollständig Beweis: Zunächst ist klar dass COSET-WEIGHTS NP: Wir raten einen Vektor e F n 2, prüfen ob H e = s und ob wgt(e) w. Dies geht in O(m m) (wird dominiert von Matrix-Multiplikation) Wir zeigen dass COSET-WEIGHTS NP-hart ist durch Reduktion von 3DM auf COSET-WEIGHTS Erinnerung: 3DM ist folgendermaßen definiert Problem: 3DM Gegeben: B, G, U mit #B = #G = #U = n und T B G U Frage: Gibt es ein Matching (perfekte Überdeckung) M T Jörn Müller-Quade Vorlesung 29. Januar 2013 24/30
Decodieren ist NP-vollständig Beweis: Zunächst ist klar dass COSET-WEIGHTS NP: Wir raten einen Vektor e F n 2, prüfen ob H e = s und ob wgt(e) w. Dies geht in O(m m) (wird dominiert von Matrix-Multiplikation) Wir zeigen dass COSET-WEIGHTS NP-hart ist durch Reduktion von 3DM auf COSET-WEIGHTS Erinnerung: 3DM ist folgendermaßen definiert Problem: 3DM Gegeben: B, G, U mit #B = #G = #U = n und T B G U Frage: Gibt es ein Matching (perfekte Überdeckung) M T Jörn Müller-Quade Vorlesung 29. Januar 2013 24/30
Decodieren ist NP-vollständig Beweis: Zunächst ist klar dass COSET-WEIGHTS NP: Wir raten einen Vektor e F n 2, prüfen ob H e = s und ob wgt(e) w. Dies geht in O(m m) (wird dominiert von Matrix-Multiplikation) Wir zeigen dass COSET-WEIGHTS NP-hart ist durch Reduktion von 3DM auf COSET-WEIGHTS Erinnerung: 3DM ist folgendermaßen definiert Problem: 3DM Gegeben: B, G, U mit #B = #G = #U = n und T B G U Frage: Gibt es ein Matching (perfekte Überdeckung) M T Jörn Müller-Quade Vorlesung 29. Januar 2013 24/30
Decodieren ist NP-vollständig Sei (B, G, U, T ) mit #B = #G = #U = n eine Instanz von 3DM. Wir definieren H F 3n T 2 folgendermaßen: Wir identifizieren die Zeilenindizes von H mit Elementen der Mengen B, G und U Für jedes Tripel (b, g, u) T führen wir einen Spalte c in H ein, die jeweils genau an den Stellen b, g und u eine 1, sonst überall 0 stehen hat. Wir können deshalb Spaltenindizes von H mit Tripeln (b, g, u) T identifizieren. Jörn Müller-Quade Vorlesung 29. Januar 2013 25/30
Decodieren ist NP-vollständig Sei (B, G, U, T ) mit #B = #G = #U = n eine Instanz von 3DM. Wir definieren H F 3n T 2 folgendermaßen: Wir identifizieren die Zeilenindizes von H mit Elementen der Mengen B, G und U Für jedes Tripel (b, g, u) T führen wir einen Spalte c in H ein, die jeweils genau an den Stellen b, g und u eine 1, sonst überall 0 stehen hat. Wir können deshalb Spaltenindizes von H mit Tripeln (b, g, u) T identifizieren. Jörn Müller-Quade Vorlesung 29. Januar 2013 25/30
Decodieren ist NP-vollständig Sei (B, G, U, T ) mit #B = #G = #U = n eine Instanz von 3DM. Wir definieren H F 3n T 2 folgendermaßen: Wir identifizieren die Zeilenindizes von H mit Elementen der Mengen B, G und U Für jedes Tripel (b, g, u) T führen wir einen Spalte c in H ein, die jeweils genau an den Stellen b, g und u eine 1, sonst überall 0 stehen hat. Wir können deshalb Spaltenindizes von H mit Tripeln (b, g, u) T identifizieren. Jörn Müller-Quade Vorlesung 29. Januar 2013 25/30
Decodieren ist NP-vollständig Sei (B, G, U, T ) mit #B = #G = #U = n eine Instanz von 3DM. Wir definieren H F 3n T 2 folgendermaßen: Wir identifizieren die Zeilenindizes von H mit Elementen der Mengen B, G und U Für jedes Tripel (b, g, u) T führen wir einen Spalte c in H ein, die jeweils genau an den Stellen b, g und u eine 1, sonst überall 0 stehen hat. Wir können deshalb Spaltenindizes von H mit Tripeln (b, g, u) T identifizieren. Jörn Müller-Quade Vorlesung 29. Januar 2013 25/30
Decodieren ist NP-vollständig Wir setzen nun: w = n und s = (1 1... 1) T F 3n 2 Es ist klar: Eine Lösung e F T 2 muss Gewicht n haben, da eine Spalte je Hamming-Gewicht 3 hat und das Syndrom s Gewicht 3n. Wir suchen also nach einem e mit Gewicht genau n. Jörn Müller-Quade Vorlesung 29. Januar 2013 26/30
Decodieren ist NP-vollständig Wir setzen nun: w = n und s = (1 1... 1) T F 3n 2 Es ist klar: Eine Lösung e F T 2 muss Gewicht n haben, da eine Spalte je Hamming-Gewicht 3 hat und das Syndrom s Gewicht 3n. Wir suchen also nach einem e mit Gewicht genau n. Jörn Müller-Quade Vorlesung 29. Januar 2013 26/30
Decodieren ist NP-vollständig Wir setzen nun: w = n und s = (1 1... 1) T F 3n 2 Es ist klar: Eine Lösung e F T 2 muss Gewicht n haben, da eine Spalte je Hamming-Gewicht 3 hat und das Syndrom s Gewicht 3n. Wir suchen also nach einem e mit Gewicht genau n. Jörn Müller-Quade Vorlesung 29. Januar 2013 26/30
Decodieren ist NP-vollständig Beispiel: Sei #B = #G = #U = 2. Wir geben uns die Menge T = {(1, 1, 2), (2, 1, 2), (2, 2, 1)} vor. Es ist also n = 2. Die Matrix H und das Syndrom s sehen folgendermaßen aus H = B G U 1 0 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 0, s = Eine Lösung dieser Instanz ist e = (1 0 1) T, sie hat Gewicht 2. 1 1 1 1 1 1 Jörn Müller-Quade Vorlesung 29. Januar 2013 27/30
Decodieren ist NP-vollständig Wir erhalten damit: Die 3DM Instanz (B, G, U, T ) ist genau dann erfüllbar wenn die COSET-WEIGHTS Instanz (H, s, w) erfüllbar ist. Da Spalten von H und Elemente von T sich gegenseitig entsprechen, können wir aus einem Vektor e F T 2 mit Gewicht n dadurch ein Matching M konstruieren, indem wir die Spalten genau die Tripel (b, g, u) T in das Matching M aufnehmen, wenn in e an der Stelle (b, g, u) eine 1 steht. Umgekehrt können wir aus einem Matching M einen erfüllenden Vektor e konstruieren indem wir für jedes (b, g, u) M in den Vektor e an Position (b, g, u) eine 1 schreiben und überall sonst Nullen. Damit ist die Reduktion fertig. Jörn Müller-Quade Vorlesung 29. Januar 2013 28/30
Kann man gute systematisch finden? Noch schlimmer: Sogar das Finden guter ist N P-vollständig Problem: SUBSPACE-WEIGHTS Gegeben: Prüfmatrix H und Zahl k Frage: Gibt es ein c mit wgt(c) = k sodass H c = 0? Auch [BMT78]: SUBSPACE-WEIGHTS ist N P-vollständig Jörn Müller-Quade Vorlesung 29. Januar 2013 29/30
Familien von guten Viele weitere Block-Codierungsverfahren die effizientes Decodieren ermöglichen: Repetition-; Decodieren mit Majority Logic Fourier und Polynom-: Reed-Solomon, BCH; Algebraisches Decodieren Algebraische Geometrie : Goppa ; Algebraisches Decodieren Expander-Graphen: LDPC ; Decodieren durch lineare Optimierung Jörn Müller-Quade Vorlesung 29. Januar 2013 30/30