Der Huffmann-Algorithmus

Dieses Verfahren beruht darauf, häufig vorkommende Zeichen in einem kürzeren und selten vorkommende Symbole in einem längeren Code zu verschlüsseln.
 
Schritt Beispiel: KERNENERGIE
Die Häufigkeit jedes vorkommenden Zeichen wird ermittelt.
E: 4 Buchstaben K: 1 Buchstabe
R: 2 Buchstaben G: 1 Buchstabe
N: 2 Buchstaben I:  1 Buchstabe
Dem häufigsten Zeichen wird der kürzest mögliche Code, dem seltensten der optimal längste Code zugeordnet.

Zeichen, die nicht vorkommen werden nicht verändert.

E = 0 K = 1110
R = 10 G = 11110
N = 110 I  = 11111
Ein binärer Baum wird erzeugt, aus dem sich der Huffmann-Code jedes einzelnen Zeichens ableiten läßt, wird erzeugt.

Wenn man den Baum von der Wurzel zu jedem einzelnen Zeichen verfolgt und dabei an einer Verzweigung nach links eine 0 und an einer Verzweigung nach rechts eine 1 zuordnet, ergibt sich ein optimaler und eindeutiger Code für jedes einzelne Zeichen.

In der Ursprungsdatei wird jedes Zeichen durch seinen neuen Code ersetzt. K E R N E N E R G I E =
1110 0 10 110 0 110 0 10 11110 11111 0
Die Information, welcher Code welchem Zeichen entspricht wird an die Datei angehängt.

Meist werden dort noch weitere diverse statistische und technische Parameter gespeichert. Dadurch vergrößert sich die Datei wieder geringfügig.

Vergleich:

KERNENERGIE (ASCII-verschlüsselt): 11 BYTE = 88 Bit
KERNENERGIE (Huffmann-verschlüsselt): 28 Bit

Einsparung bei diesem Wort:  60 Bit = 68 %


 

Es läßt sich mit mathematischen Mitteln beweisen, dass keine einfach durchgeführte Kodierungsstrategie zu einem besseren Ergebnis führen kann.
 

H@Heerdegen.we.uunet.de

 
Startseite
Entwicklungstendenzen
Darstellung von Informationen
Struktur von Rechnernetzen
Datenschutz
Datensicherheit