In der Kodierungstheorie (Informatik) versteht man unter einem Gruppencode eine spezielle Codierung die man zur Fehlererkennung und Fehlerkorrektur verwenden kann. Für die Codierung wird eine Gruppe (algebraische Struktur) verwendet.
Inhaltsverzeichnis
|
Ein Gruppencode ist ein Blockcode, das heißt alle Codewörter haben die gleiche Länge (Im weiteren bezeichnen wir die Länge der Codewörter mit n).
Zu Kodierung verwendet man als Alphabet eine beliebige abelsche Gruppe
, meist
, die zyklische Gruppe der Ordnung zwei, da man deren beiden Elemente mit den Bits 0 und 1 identifizieren kann.
Die quellkodierten Wörter sind die Elemente der Gruppe
. (Alle Wörter mit Symbolen aus A der Länge k)
Um die Gruppe
zu Codieren wählt man einem injektiven Homomorphismus
. Das Bild von f ist eine Untergruppe
von
.
C ist der Gruppencode. f die zugehörige Kodierungsfunktion.
Im Gegensatz zu ?willkürlichen? Codierungen muss f nicht für jedes Codewort extra angegeben (gespeichert) werden sondern es reicht f für ein erzeugendes System der Gruppe
zu definieren. Die Codierung der restlichen Elemente kann dann mittels deren Darstellung als Summe von erzeugenden Elementen berechnet werden.
Gruppe 
Quellcodierung: 
erzeugendes System: e1 = (1,0,0), e2 = (0,1,0), e3 = (0,0,1)
Codierung: f(e1) = (1,1,0,0,0), f(e2) = (0,0,1,1,0), f(e3) = (1,0,1,0,1)
Sei nun c = (1,0,1) ein Wort in Quellcodierung. Um die Codierung f(c) zu berechnen geht man wie folgt vor:
Man stellt c als Summe von erzeugenden Elementen dar: c = (1,0,1) = e1 + e3
und berechnet dann die Summe der Codierungen der selbigen f(c) = f(e1) + f(e3) = (1,1,0,0,0) + (1,0,1,0,1) = (0,1,1,0,1)
Gruppe
, die Kleinsche Vierergruppe
| + | 0 | 1 | x | x+1 |
|---|---|---|---|---|
| 0 | 0 | 1 | x | x+1 |
| 1 | 1 | 0 | x+1 | x |
| x | x | x+1 | 0 | 1 |
| x+1 | x+1 | x | 1 | 0 |
Quellcodierung: 
erzeugendes System: e1 = (1,0), e2 = (x,0), e3 = (0,1), e4 = (0,x)
Codierung: f(e1) = (1,0,0), f(e2) = (1,1,0), f(e3) = (x,1,1) , f(e4) = (0,0,x)
Sei nun c = (1,x + 1) ein Wort in Quellcodierung. c = e1 + e3 + e4,f(c) = f(e1) + f(e3) + f(e4) = (1,0,0) + (x,1,1) + (0,0,x) = (x + 1,1,x + 1),
Gruppencodes erfüllen folgende Eigenschaften: