Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Informatik in der Schule » Huffmanncodierung| Einsparung in % » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Huffmanncodierung| Einsparung in %
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
minf0185
Grünschnabel


Dabei seit: 20.01.2017
Beiträge: 6

Huffmanncodierung| Einsparung in % Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Gegeben: Zeichenfolge: D B A E C D E A B D F A C E A D D E C B E A D F C G D E A D E B C D E

Ermitteln Sie für den aufgeführten Text eine Code-Tabelle nach dem HuffmanVerfahren durch Bestimmung des Code-Baumes. Komprimieren Sie die ersten fünf (5) Zeichen des Textes mit der von Ihnen bestimmten Code-Tabelle.

Sie haben nun die Aufgabe einen Text, bestehend aus 150.000 Zeichen, mit dem von Ihnen ermittelten Code zu kodieren. Wieviel Platz werden Sie in etwa einsparen, wenn Sie das Ergebnis mit einem Fixed Length Code minimaler Länge kodieren?

(ca. Länge Huffmann, Länge Fixed Length, Einsparung in %)

Meine Ideen:
A = 6, B = 4, C=5, D = 9, E = 8, F=2, G=1, Spaces = 34

Baum Siehe Anhang

A = 1111, B = 1001, C=1110, D = 110, E = 101, F=10001, G=10000, Spaces = 0

"Komprimieren Sie die ersten fünf (5) Zeichen des Textes mit der von Ihnen bestimmten Code-Tabelle."

Ist damit "D B A" gemeint?

"D B A" = 1100100101111

Wie berechne ich die Ersparnis? [ 1 - (neue Codelänge) / (alte Codelänge)] ? Doch was ist die Alte Codelänge?

Ist die neue Codelänge die Länge des Zeichens mit der kleinsten Wahrscheinlichkeit?

G kommt einmal dran (G=10000) == Neue Codelänge = 5?

minf0185 hat dieses Bild (verkleinerte Version) angehängt:
Unbenannt-1.png

20.01.2017 16:32 minf0185 ist offline Beiträge von minf0185 suchen Nehmen Sie minf0185 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich habe die Zeichen jetzt nicht nachgezählt, aber dein Baum sieht gut aus.
Bei fixed length ist denke ich gemeint, dass jedes Zeichen die selbe Länge hat (in ASCII wären das 8 Bit).
Hier etwa: A = 000, B=001, C=010, ..., Space=111 (Reihenfolge ist willkürlich). Die Länge eines Zeichens wäre also 3 Bit.
Mit dem Huffman Code hättest du (34*1 (Space) + 6*4(A) + ... + 1*5 (G))/69

__________________
Syntax Highlighting fürs Board (Link)
20.01.2017 17:42 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
minf0185
Grünschnabel


Dabei seit: 20.01.2017
Beiträge: 6

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Sie haben nun die Aufgabe einen Text, bestehend aus 150.000 Zeichen, mit dem von Ihnen ermittelten Code zu kodieren. Wieviel Platz werden Sie in etwa einsparen, wenn Sie das Ergebnis mit einem Fixed Length Code minimaler Länge kodieren?

(ca. Länge Huffmann, Länge Fixed Length, Einsparung in %)

150000 Zeichen
Ich habe 8 Zeichen also müsste ich bei fixed bit ja eine länge von
(8-1 in Bits => 111 => Länge = 3) nehmen

also wäre das ersparnis
1-[150000*3 Bit ]/[150000*8 Bit]
1-[3/8] = 0,625

62,5% Ersparnis

sollte richtig sein oder?
20.01.2017 18:15 minf0185 ist offline Beiträge von minf0185 suchen Nehmen Sie minf0185 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

"mit dem von Ihnen ermittelten Code zu kodieren"
So wie ich das sehe, sollst du einen 3Bit/Zeichen Code mit dem Huffman Code vergleichen.

__________________
Syntax Highlighting fürs Board (Link)
20.01.2017 18:48 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
minf0185
Grünschnabel


Dabei seit: 20.01.2017
Beiträge: 6

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von eulerscheZahl
"mit dem von Ihnen ermittelten Code zu kodieren"
So wie ich das sehe, sollst du einen 3Bit/Zeichen Code mit dem Huffman Code vergleichen.

wie würdest du vorher? meinst du jetzt
01000001 = A
1111 = A

oder meinst du die maximal länge von meinen codebaum ist die länge des seltensten Zeichen = 10000 = G => Länge = 5

Also hätte ich eine minimale Einsparung von 1 - 5/8 = 37,5%
20.01.2017 18:56 minf0185 ist offline Beiträge von minf0185 suchen Nehmen Sie minf0185 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bei fixed length hast du 3Bit/Zeichen, also insgesamt 150000*3Bit = 450000 Bit.

Mit Huffman (unter der Annahme, dass die Buchstabenverteilung im langen Text der aus dem Auszug entspricht):
150000 * 1/69 * (6*4(=A) + 4*4(=B) + 5*4(=C) + 9*3(=D) + 8*3(=E) + 2*5(=F) + 1*5(=G) + 34*1(=Space)) = 347826.0869
Huffman braucht also etwa 7/9 von 3Bit Kodierung.

__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 20.01.2017 19:03.

20.01.2017 19:03 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
minf0185
Grünschnabel


Dabei seit: 20.01.2017
Beiträge: 6

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

danke dir!
20.01.2017 19:07 minf0185 ist offline Beiträge von minf0185 suchen Nehmen Sie minf0185 in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Informatik in der Schule » Huffmanncodierung| Einsparung in %