Huffmann Codierung

Hallo,

ich habe folgende Werte:
p0=0,57
p1=0,16
p2=0,14
usw.

Wie kommen ich auf die Ideale Stellenzahlen für eine Huffmann Codierung? Ich habe hierzu zwar eine Formel, aber ich komm einfach nicht auf den korrekten Wert. p(xi)ld(1/p(xi)).

Vielleicht gebe ich das gesamte auch nur falsch in den Taschenrechner ein?

Kann jemand helfen? für s0 für (p0) sollte 0,81 mit der Formel rauskommen.

Hallo,

ich habe folgende Werte:
p0=0,57
p1=0,16
p2=0,14
usw.

Wie kommen ich auf die Ideale Stellenzahlen für eine Huffmann
Codierung?

Du baust einen Huffman-Baum: http://www.inf.fh-flensburg.de/lang/algorithmen/code…

Ich habe hierzu zwar eine Formel, aber ich komm
einfach nicht auf den korrekten Wert. p(xi)ld(1/p(xi)).

Was genau sagt dir denn diese Formel?

Grüße,
Moritz

Nun ich würde mit der Formel so einsetzen: s0 = 0,57*ld 1/0.57… Nur entweder setze ich die Formel falsch, oder ich mach etwas falsch mit dem Taschenrechner, da ich nicht auf den richtigen Ergebniswert komme.

Hallo,

Nun ich würde mit der Formel so einsetzen: s0 = 0,57*ld
1/0.57.

Was ist denn das s0? Was sagt es dir, und brauchst du das, um die eigentliche Kodierung zu finden? Hast du dir die Seite durchgelesen, deren Link ich dir gegeben habe?

Nur entweder setze ich die Formel falsch, oder ich
mach etwas falsch mit dem Taschenrechner, da ich nicht auf den
richtigen Ergebniswert komme.

Wieso? Was kommt raus, und wieso denkst du, dass es falsch ist?

Gruesse,
Moritz

Ich brauche diese Formel für die Berechnung von IG (Ideale Stellzahlen für eine Huffmann Codierung). Einen Baum brauch ich nicht, haben das Thema nur ein bisschen angeschnitten. Wir machen nur Elementarrvorrat, Entscheidungsgehalten, Mindeststellenzahl, ideale Stellenzahl, idealen Informationsgehalt usw.

Laut Lösung muss bei s0 = ld 1/0,57 = 0,81 rauskommen. Ich bekomme 0,53 raus.

Die 1 ist gegeben in der Formel, das 0,57 ist p, Wahrscheinlichkeit.

1 Like

Oder ist gar die Formel falsch? kann mir bitte jemand möglichst schnell helfen? Die Klausur ist in wenigen Tagen und ich muss das noch richtig verstehen.

Also ich weiß echt nicht, wie du auf 0.53 kommen kannst. Auf Taschenrechnern ist meistens nur der natürliche (ln) und dekadische (log) Logarithmus drauf. Du brauchst aber den dualen. Das heißt, du müsstest deinen Wert nochmal durch den entsprechenden Logarithmus von 2 Teilen:
ld \frac{1}{0.57} = \frac{ln \frac{1}{0.57}}{ln 2} = \frac{log \frac{1}{0.57}}{log 2}
Übrigens ist es für das Eingeben in den Taschenrechner meistens komfortabler, wenn man ein paar Logarithmengesetze kennt:
ld \frac{1}{0.57} = ld 1 - ld 0.57 = 0 - ld 0.57
Damit kannst du dir die Brüche sparen, zumindest einen.

Nico

Habs hinbekommen… Trotzdem danke…