O código de Huffman para uma distribuição de probabilidade é o código de prefixo com a palavra de código ponderado média comprimento mínimo , onde é o comprimento do th codword. É um teorema bem conhecido que o comprimento médio por símbolo do código de Huffman está entre e , onde é a entropia de Shannon da distribuição de probabilidade.
O mau exemplo canônico, em que o comprimento médio excede a entropia de Shannon em quase 1, é uma distribuição de probabilidade como , onde a entropia é quase 0 e o comprimento médio da palavra de código é 1. Isso cria uma lacuna entre a entropia e o comprimento da palavra-código de quase .
Mas o que acontece quando há um limite para a maior probabilidade na distribuição de probabilidade? Suponha, por exemplo, que todas as probabilidades sejam menores que . A maior lacuna que eu pude encontrar neste caso é para uma distribuição de probabilidade como, em que a entropia é um pouco mais de 1 e o comprimento médio da palavra de código é um pouco menor que 1,5, dando uma lacuna se aproximando. Isso é o melhor que pode fazer? Você pode definir um limite superior para o espaço estritamente menor que 1 neste caso?
Agora, vamos considerar o caso em que todas as probabilidades são muito pequenas. Suponha que você escolher uma distribuição de probabilidade sobre letras, cada um com probabilidade . Nesse caso, a maior lacuna ocorre se você escolher . Aqui, você tem uma diferença de cerca de
Esta pergunta foi inspirada nesta pergunta do TCS Stackexchange .
fonte
A julgar pelo limite de , acredito que você pretendia fazer uma pergunta diferente ... ou simplesmente não especificou como avalia a "média". Então eu vou responder as duas. A resposta é não às duas perguntas.H(p)≤…≤H(p)+1
Primeiro, se você definir o tamanho médio do código usando uma distribuição uniforme sobre as palavras de código e considerar como o limite superior na probabilidade de qualquer elemento, considere o código de comprimento q + k, em que 2 q - 1 as palavras de código têm comprimento q e os restantes 2 q + k - 1 têm comprimento q + k . Para a distribuição perfeitamente codificada por esse código, o comprimento médio se aproxima de q + k , a menos que você também tenha um limite inferior para a probabilidade de um elemento, enquanto a entropia é2−q q+k 2q−1 q 2q+k−1 q+k q+k .q+k2
Agora, vamos considerar o "comprimento médio", que significa o comprimento médio da palavra de código quando o código Huffman é usado para codificar . Aqui, o limite é apertado, e uma distribuição exemplo realizá-lo no limite é aquela em que cada elemento ocorre com probabilidade 2 q ± 1 / 2 para q ∈ Z . (Ao elemento final é atribuída qualquer probabilidade restante, mas não fará diferença assintoticamente).p 2q±1/2 q∈Z.
Por exemplo, considere Entãoq=7.
A=52,B=76522 - 6,5 762 - 7,5A+B=128,A2–√+B/2–√≤128,maxA∈ZA A=52,B=76 52 2−6.5 76 2−7.5
Então , enquanto o código Huffman alcança perda de entropia. (Aliás, a perda de entropia tem um nome, seja você codificação Huffman ou codificação arbitrária para : a divergência Kullback-Liebler . Descobri isso alguns dias atrás, levando a limites Chernoff mais duplos, como você pode ver na Wikipedia para limites 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
fonte