El código de Huffman para una distribución de probabilidad es el código de prefijo con la longitud de palabra de código promedio ponderada mínima , donde es la longitud de la ésima palabra de código. Es un teorema bien conocido que la longitud promedio por símbolo del código Huffman está entre y , donde es la entropía de Shannon de la distribución de probabilidad.
El mal ejemplo canónico, donde la longitud promedio excede la entropía de Shannon en casi 1, es una distribución de probabilidad como , donde la entropía es casi 0, y la longitud promedio de la palabra de código es 1. Esto da una brecha entre la entropía y la longitud de la palabra de código de casi .
Pero, ¿qué sucede cuando hay un límite en la mayor probabilidad en la distribución de probabilidad? Supongamos, por ejemplo, que todas las probabilidades son menores que . La brecha más grande que pude encontrar en este caso es para una distribución de probabilidad como, donde la entropía es levemente mayor que 1 y la longitud promedio de la palabra de código es levemente menor que 1.5, dando una brecha cercana. ¿Es esto lo mejor que puedes hacer? ¿Puede dar un límite superior en el espacio que sea estrictamente menor que 1 para este caso?
Ahora, consideremos el caso donde todas las probabilidades son muy pequeñas. Supongamos que elige una distribución de probabilidad sobre letras, cada una con probabilidad . En este caso, la brecha más grande se produce si elige . Aquí, obtienes una brecha de alrededor de
Esta pregunta fue inspirada por esta pregunta de TCS Stackexchange .
fuente
A juzgar por el límite , creo que tenía la intención de hacer una pregunta diferente ... o simplemente no especificó cómo toma el "promedio". Entonces responderé a ambas. La respuesta es no a ambas preguntas.H(p)≤…≤H(p)+1
Entonces , mientras que el código Huffman logra pérdida de entropía. (Por cierto, la pérdida de entropía tiene un nombre, ya sea que realice la codificación Huffman o la codificación arbitraria de : la divergencia Kullback-Liebler . Al , descubrí hace unos días, conduce a límites de Chernoff de doble cara más estrictos, como puede ver en Wikipedia para los límites de Chernoff).H(X)=(52⋅6.5+76⋅7.5)/128=7.09375 (52⋅0.5−76⋅0.5)/128≈0.99436 Q D(P∥Q)=∑pilogpiqi+∑(1−pi)log1−pi1−qi
fuente