[Home] [Scode] [Tips] [Beispiele] [Daten] [FAZ-Artikel] [Power-User] [JavaScode] [Karten] [SSS]

Scode ...wir verstehen uns.

Technische Daten zur Codierleistung

Wie gut ist Scode in der Praxis? Dazu wurden in einer sogenannten "Monte-Carlo-Simulation" zufällige deutsche Sätze gebildet. Dann wurden diese Zufallssätze scodiert und die Anzahl der Buchstaben bestimmt, die man noch in einen Funkruf unterbringen konnte. Pro Funkruf kann man maximal 15 Ziffern übertragen: Wenn man davon die ersten beiden für die Absenderkennung verwendet, bleiben noch 13 Ziffern für den eigentlichen Text.

Mit welcher Wahrscheinlichkeit paßt also ein Text gegebener Länge in diese 13 Ziffern?

Satzlänge
in Buchstaben
Wahrscheinlichkeit,
daß der Satz in
13 Ziffern paßt
(mit Abkürzungen)
Wahrscheinlichkeit,
daß der Satz in
13 Ziffern paßt
(ohne Abkürzungen)
6100 %100 %
799,9 %99,8 %
899,7 %99 %
998 %91 %
1091 %66 %
1176 %34 %
1255 %11 %
1333 %2 %
1416 %0,3 %
157 %0 %
162 %0 %

Ein Satz mit 10 Buchstaben paßt also in 66% der Fälle ohne Abkürzungen in 13 Ziffern. Dieser Wert erhöht sich auf sogar 91%, wenn man sich an die Abkürzungsregeln hält.

Mit Scode kann man im Schnitt 11,8 (± 1,8) Buchstaben senden (mit Abkürzungsregeln). Ohne Abkürzungen bringt es Scode auf immerhin 10,0 (± 1,2) Buchstaben je 13 Ziffern.

Vergleich von Scode mit Datenkompressionsprogrammen (z.B. ZIP)

Einen guten Anhaltspunkt für die hohe Leistungsfähigkeit von Scode liefert der Vergleich mit Datenkompressionsprogrammen, wie z.B. LZH und ZIP, die ihre Resultate durch aufwendige Berechnungen erzielen. Es ist daher eigentlich zu erwarten, daß die Computerprogramme besser als Scode abschneiden. Erstaunlicherweise ist Scode jedoch den Programmen ebenbürtig. Zum Vergleich wurde ein nicht alphabetisch geordnetes Wörterbuch der deutschen Sprache mit 30-Zeichen-Alphabet herangezogen ("Sample").

je kleiner die Prozentzahl, desto besser

Sample.....................32 302 Wörter
                          313 873 Buchstaben zu je 4,91 Bit (log230)
                entspr. 1 545 057 Bits =: 100 %

Codierung mit Scode.......330 824 Ziffern zu je 3,32 Bit (log210) entspr. 1 098 974 Bits = 71 %

Codierung mit LHA/LZH.....146 360 Bytes zu je 8,00 Bit (log2256) entspr. 1 170 580 Bits = 76 % also sogar schlechter als Scode

Codierung mit PKZIP/ZIP...135 916 Bytes zu je 8,00 Bit (log2256) entspr. 1 087 328 Bits = 70 % also etwas besser als Scode

Zum Vergleich: Entropie des Samples....1 323 791 Bits = 86 % damit ist Scode besser als einfache Huffmann-Codierung

Mathematische Kenngrößen von Scode

Scode besteht aus zwei Elementen: der eigentlichen Codiertabelle und optionalen Empfehlungen, wie man Nachrichten abkürzen kann.

Entscheidend für die Qualität eines Codes sind:

Scode bietet hier einen sehr guten Kompromiss:
  1. unter Berücksichtigung der Abkürzungsempfehlungen
    Codierverhältnis
    Anzahl der Ziffern, in denen 1 Buchstabe durchschnittlich codiert wird
    q = 1,06
    Standardabweichung von q
    in Einheiten von 1/n1/2
    Sq = 0,55
    Durchschnittlicher Randeffekt
    Anzahl der Ziffern, die der Code am Ende nicht ausnutzt
    r = 0,5
  2. ohne Verwendung der Abkürzungsempfehlungen
    Codierverhältnis
    Anzahl der Ziffern, in denen 1 Buchstabe durchschnittlich codiert wird
    q = 1,25
    Standardabweichung von q
    in Einheiten von 1/n1/2
    Sq = 0,46
    Durchschnittlicher Randeffekt
    Anzahl der Ziffern, die der Code am Ende nicht ausnutzt
    r = 0,4
  3. Zum Vergleich: Primitiv-Code (a=01, b=02, ... z=26)
    Codierverhältnis
    Anzahl der Ziffern, in denen 1 Buchstabe durchschnittlich codiert wird
    q = 2,00
    Standardabweichung von q
    in Einheiten von 1/n1/2
    Sq = 0,00
    Durchschnittlicher Randeffekt
    Anzahl der Ziffern, die der Code am Ende nicht ausnutzt
    (bei ungeradem z)
    r = 1,0

Anwendung:

  1. Gegeben sind z Ziffern, die zur Codierung höchstens zur Verfügung stehen. Dann lassen sich darin maximal n Buchstaben codieren mit der Standardabweichung Sn:
             z - r                   Sq       z - r
        n = -------          Sn = -------- · -------
               q                    n1/2        q2  
    
    Auf die Verhältnisse von Scall (z = 13 + Absendernummer) angewendet heißt dies:
    • n = 11,8 (± 1,8) [mit Abkürzungsregeln]
    • n = 10,0 (± 1,2) [ohne Abkürzungsregeln]
    • n = 6,0 (± 0,0) [Primitiv-Code; zum Vergleich]

  2. Gibt es keine Längenbegrenzung, dann benötigt man für N Buchstaben Z Ziffern:
             Z = q·N         SZ = Sq·N1/2
    
    Wir erwarten also z.B. bei 100 scodierten Buchstaben eine Codelänge von 106 Ziffern (± 5,5). Die Codelänge in diesem Beispiel (112 Ziffern) liegt also noch innerhalb einer Standardabweichung vom theoretischen Wert entfernt (bei anderen 100 Buchstaben langen Sätzen erwarten wir in 95% aller Fälle Codelängen von 95 bis 117 Ziffern = Z ± 2·SZ).

[Home] [Scode] [Tips] [Beispiele] [Daten] [FAZ-Artikel] [Power-User] [JavaScode] [Karten] [SSS]