+3 Daumen
1,1k Aufrufe

Aufgabe:

a)

Sei k ∈ ℕ. Zeigen Sie, dass es für fast alle n ∈ ℕ und 2 ≤  k ≤ n keinen [n; k]-Code über einem endlichen Körper Fq gibt, der in allen k-Tupeln von Stellen systematisch ist

b)

Zeigen Sie, dass es Parameter (Blocklänge und Dimension) gibt, so dass es einen binären linearen Code
gibt, der 2-fehlerkorrigierend ist und dessen Anzahl von Codewörtern der Hamming-Schranke entspricht.

Avatar von

1 Antwort

0 Daumen

Antwort mit KI erzeugt

Teil a)

Ein systematischer [n; k]-Code ist ein Code, bei dem jede k-Tupel von Stellen in einer Codierung eines k-dimensionalen Vektors über einem Körper \(F_q\) auftritt. Dabei bezeichnet [n; k] die Dimension des Codes, wobei \(n\) die Länge jedes Codeworts und \(k\) die Dimension des zugrundeliegenden Vektorraums ist. Ein endlicher Körper \(F_q\) hat genau \(q\) Elemente.

Um zu zeigen, dass es für fast alle \(n \in \mathbb{N}\) und \(2 \leq k \leq n\) keinen solchen Code gibt, betrachten wir die Anzahl der möglichen Codewörter und die Anforderung an einen systematischen Code.

Ein systematischer Code muss, um in allen k-Tupeln von Stellen systematisch zu sein, ein k-Tupel mit jeder möglichen Kombination der Elemente aus \(F_q\) in diesen Positionen enthalten. Die Anzahl der möglichen k-Tupel aus einem Körper \(F_q\) ist \(q^k\), da es für jede der \(k\) Stellen \(q\) mögliche Werte gibt.

Schlüsselpunkt: Wenn ein Code in allen k-Tupeln von Stellen systematisch ist, muss jede Kombination der \(q^k\) möglichen k-Tupel innerhalb der Codewörter vorkommen. Jedoch muss die Gesamtzahl der Codewörter diese Kombinationen unterstützen.

Die Gesamtanzahl der Codewörter in einem [n; k]-Code ist \(q^k\). Für den Code, um in allen k-Tupeln von Stellen systematisch zu sein, würde dies bedeuten, dass jedes der \(q^k\) möglichen k-Tupel in eindeutiger Weise in Codewörtern auftreten muss. Dies ist jedoch für große \(n\) nicht praktikabel, da die Anzahl der möglichen Positionen für k-Tupel innerhalb eines Codeworts von der Länge \(n\) langsam über die Grenze dessen wächst, was mit \(q^k\) eindeutigen Codewörtern darstellbar ist, insbesondere wenn \(k\) nahe an \(n\) liegt.

Das Problem liegt also nicht nur in der Unmöglichkeit, genügend einzigartige Codewörter zu generieren, um jede mögliche Kombination von Positionen abzudecken, sondern auch darin, dass die Anzahl der erforderlichen k-Tupel Kombinationen für lange Codes exponentiell wächst und daher nicht durch eine feste Anzahl von Codewörtern \(q^k\) unterstützt werden kann.

Teil b)

Um zu zeigen, dass es binäre lineare Codes gibt, die 2-fehlerkorrigierend sind und deren Anzahl von Codewörtern der Hamming-Schranke entspricht, betrachten wir die Hamming-Schranke für binäre Codes.

Die Hamming-Schranke (oder Hamming-Grenze) gibt die obere Grenze für die Anzahl der Codewörter \(M\) eines Code der Länge \(n\) an, der \(t\) Fehler korrigieren kann, und ist gegeben durch:
\( M \leq \frac{2^n}{\sum_{i=0}^{t} \binom{n}{i}} \)
Für \(t = 2\) (2-fehlerkorrigierend) vereinfacht sich dieser Ausdruck zu:
\( M \leq \frac{2^n}{1 + n + \frac{n(n-1)}{2}} \)

Wir müssen zeigen, dass es Parameter \(n\) und \(k\) gibt, für die ein Code existiert, der genau dieser Schranke entspricht.

Als Beispiel nehmen wir den perfekten Hamming-Code, der ein binärer linearer [7; 4]-Code ist, der 1-Fehler korrigieren kann, aber auch nahe an der Idee für die 2-Fehlerkorrektur veranschaulicht. Für die 2-Fehlerkorrektur kann als Beispiel ein verlängerter Hamming-Code dienen, der ein [8; 4]-Code ist.

Aber für die direkte Berechnung mit 2-Fehlerkorrektur, nehmen wir einen hypothetischen Code, wobei \(n\) und \(k\) so gewählt werden müssen, dass sie der Gleichung für \(M\) entsprechen. Für binäre Codes (\(q = 2\)), wo \(M = 2^k\), setzen wir dies in die Hamming-Schranke ein:

Für ein praktisches Beispiel müssten wir einen spezifischeren Code identifizieren, aber theoretisch zeigt dies, dass für eine bestimmte Blocklänge \(n\) und Dimension \(k\) die Anzahl der Codewörter die Hamming-Schranke erreichen kann, was implizit zeigt, dass die Schranke erreichbar ist, wenn \(n\), \(k\), und \(t\) richtig gewählt werden.
Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community