De acordo com a Wikipedia :
A entropia de Shannon mede as informações contidas em uma mensagem em oposição à parte da mensagem que é determinada (ou previsível). Exemplos deste último incluem redundância na estrutura da linguagem ou propriedades estatísticas relacionadas às frequências de ocorrência de pares de letras ou palavras, trigêmeos etc.
Portanto, entropia é uma medida da quantidade de informação contida em uma mensagem. Os codificadores de entropia são usados para compactar sem perda essa mensagem no número mínimo de bits necessário para representá-la (entropia). Para mim, parece que um codificador de entropia perfeito seria tudo o que é necessário para compactar sem perdas uma mensagem o máximo possível.
Muitos algoritmos de compactação, no entanto, usam etapas antes da codificação da entropia para reduzir supostamente a entropia da mensagem.
De acordo com a Wikipedia alemã
Entropiekodierer werden häufig mit anderen Kodierern kombiniert. Dabei dienen vorgeschaltete Verfahren dazu, the Entropie der Daten zu verringern.
Em inglês:
Codificadores de entropia são freqüentemente combinados com outros codificadores. As etapas anteriores servem para reduzir a entropia dos dados.
ou seja, o bzip2 usa a Burrows-Wheeler-Transform seguida de uma Move-To-Front-Transform antes de aplicar a codificação de entropia (codificação de Huffman neste caso).
Essas etapas realmente reduzem a entropia da mensagem, o que implicaria na redução da quantidade de informações contidas na mensagem? Isso me parece contraditório, pois isso significaria que as informações foram perdidas durante a compactação, impedindo a descompressão sem perdas. Ou eles apenas transformam a mensagem para melhorar a eficiência do algoritmo de codificação da entropia? Ou a entropia não corresponde diretamente à quantidade de informações na mensagem?