www.wikidata.de-de.nina.az
Move to front englisch Nach vorne verschieben auch Rotierende Kodierung ist ein Kodierungsverfahren das sich gut eignet um Daten die aus der Burrows Wheeler Transformation stammen weiterzuverarbeiten um sie anschliessend effektiver komprimieren zu konnen Inhaltsverzeichnis 1 Format der Ein und Ausgabedaten 2 Funktionsweise 3 Beispiel 4 LiteraturFormat der Ein und Ausgabedaten BearbeitenDie Eingabedaten fur Move to Front sind ein endliches Alphabet und eine Zeichenkette aus diesem Alphabet Bei dem Alphabet kann es sich zum Beispiel um ASCII oder Unicode handeln aber auch um Bytes Die Ausgabe von Move to Front ist eine Folge naturlicher Zahlen wobei jede der Zahlen kleiner als die Lange des Alphabets ist Funktionsweise BearbeitenMove to Front Kodierung Schreibe das komplette Alphabet in eine Zeichenkette a Fur jedes Zeichen z der Eingabe Gib die Position von z in a aus Entferne z aus a und fuge es vorne wieder an Dieser Ablauf fuhrt dazu dass Zeichen die haufig in der Eingabe vorkommen wahrend der Kodierung relativ weit vorne im Alphabet a stehen Dadurch wiederum enthalt die Ausgabe mehr kleine Zahlen als grosse und das wiederum ist nutzlich um die Zahlenfolge anschliessend zu komprimieren etwa mit der Huffman Kodierung Move to Front Dekodierung Schreibe das komplette Alphabet in eine Zeichenkette a Fur jede Zahl z der Eingabe Gib das Zeichen an der Position z von a aus Entferne dieses Zeichen aus a und fuge es vorne wieder an Die Dekodierung funktioniert fast genauso wie die Kodierung nur dass die Position an der das Alphabet geandert wird schon bekannt ist die Zahl aus der Eingabe wahrend sie bei der Kodierung erst bestimmt werden muss Beispiel BearbeitenDie Zeichenkette Mississippi soll mit dem MTF Algorithmus kodiert werden Das Alphabet das dabei verwendet wird sei der Kurze wegen ABCIMPSabcimps In der folgenden Tabelle ist Zeichen jeweils das Eingabezeichen Alphabet das aktuelle Alphabet Die Ausgabe ist die Position des Zeichens im aktuellen Alphabet beginnend mit 0 und Alphabet ist das neue Alphabet das dadurch entsteht dass das Eingabezeichen an den Anfang verschoben wird Zeichen Alphabet Ausgabe Alphabet M ABCIMPSabcimps 4 MABCIPSabcimpsi MABCIPSabcimps 10 iMABCIPSabcmpss iMABCIPSabcmps 13 siMABCIPSabcmps siMABCIPSabcmp 0 siMABCIPSabcmpi siMABCIPSabcmp 1 isMABCIPSabcmps isMABCIPSabcmp 1 siMABCIPSabcmps siMABCIPSabcmp 0 siMABCIPSabcmpi siMABCIPSabcmp 1 isMABCIPSabcmpp isMABCIPSabcmp 13 pisMABCIPSabcmp pisMABCIPSabcm 0 pisMABCIPSabcmi pisMABCIPSabcm 1 ipsMABCIPSabcmDas Ergebnis der Kodierung ist der Text 4 10 13 0 1 1 0 1 13 0 1 Wenn man die Umsortierung des Alphabets weglasst erhalt man zum Vergleich den Text 4 10 13 13 10 13 13 10 12 12 10 Man kann daran sehen dass nach einer kurzen Einarbeitungsphase hier 3 Zeichen lang 4 10 13 relativ haufig kleine Zahlen ausgegeben werden was gut fur eine anschliessende Komprimierung ist Um MTF wieder zu dekodieren geht man den umgekehrten Weg Die Zahlenfolge 4 10 13 0 1 1 0 1 13 0 1 soll unter Verwendung des Alphabets ABCIMPSabcimps dekodiert werden In der folgenden Tabelle ist Position die Zahl aus der zu dekodierenden Zahlenfolge und Zeichen das dekodierte Zeichen Die Spalten Alphabet und Alphabet sind genau die gleichen wie in der Kodiertabelle oben Position Alphabet Zeichen Alphabet 4 ABCIMPSabcimps M MABCIPSabcimps10 MABCIPSabcimps i iMABCIPSabcmps13 iMABCIPSabcmps s siMABCIPSabcmp0 siMABCIPSabcmp s siMABCIPSabcmp1 siMABCIPSabcmp i isMABCIPSabcmp1 isMABCIPSabcmp s siMABCIPSabcmp0 siMABCIPSabcmp s siMABCIPSabcmp1 siMABCIPSabcmp i isMABCIPSabcmp13 isMABCIPSabcmp p pisMABCIPSabcm0 pisMABCIPSabcm p pisMABCIPSabcm1 pisMABCIPSabcm i ipsMABCIPSabcmDie Ausgabe der Dekodierung ist also wie erwartet Mississippi Literatur BearbeitenPacken wie noch nie In c t Magazin fur Computer Technik Nr 16 Verlag Heinz Heise 2000 ISSN 0724 8679 S 194 Abgerufen von https de wikipedia org w index php title Move to front amp oldid 235533660