Der Huffman-Code für eine Wahrscheinlichkeitsverteilung ist der Präfixcode mit der minimalen gewichteten durchschnittlichen Codewortlänge , wobei die Länge des ten Codeworts ist. Es ist ein bekanntes Theorem, dass die durchschnittliche Länge pro Symbol des Huffman-Codes zwischen und , wobei die Shannon-Entropie ist der Wahrscheinlichkeitsverteilung.
Das kanonisch schlechte Beispiel, bei dem die durchschnittliche Länge die Shannon-Entropie um fast 1 überschreitet, ist eine Wahrscheinlichkeitsverteilung wie , bei der die Entropie nahezu 0 ist und die durchschnittliche Codewortlänge 1 beträgt eine Lücke zwischen der Entropie und der Codewortlänge von fast .
Aber was passiert, wenn die Wahrscheinlichkeitsverteilung an die größte Wahrscheinlichkeit gebunden ist? Angenommen, alle Wahrscheinlichkeiten sind kleiner als . Die größte Lücke, die ich in diesem Fall finden konnte, ist für eine Wahrscheinlichkeitsverteilung wie , bei der die Entropie etwas mehr als 1 und die durchschnittliche Codewortlänge etwas weniger als 1,5 beträgt, was a ergibt Lücke nähert sich . Ist das das Beste, was du tun kannst? Können Sie eine Obergrenze für die Lücke angeben, die in diesem Fall streng unter 1 liegt?
Betrachten wir nun den Fall, in dem alle Wahrscheinlichkeiten sehr klein sind. Angenommen , Sie eine Wahrscheinlichkeitsverteilung über wählen Buchstaben, von denen jede Wahrscheinlichkeit . In diesem Fall tritt die größte Lücke auf, wenn Sie wählen . Hier erhalten Sie eine Lücke von ungefähr Ist dies das Beste, was Sie in einer Situation tun können, in der alle Wahrscheinlichkeiten gering sind?
Diese Frage wurde von dieser TCS Stackexchange-Frage inspiriert .