За даними Вікіпедії :
Ентропія Шеннона вимірює інформацію, що міститься в повідомленні, на відміну від визначеної (або передбачуваної) частини повідомлення. Приклади останнього включають надмірність у мовній структурі або статистичні властивості, що стосуються частоти зустрічань літер або пар слів, триплетів тощо.
Отже, ентропія - це міра кількості інформації, що міститься в повідомленні. Ентропійні кодери використовуються для втрати без втрат компресії такого повідомлення до мінімальної кількості біт, необхідної для його представлення (ентропія). Для мене це виглядає як ідеальний кодер для ентропії - це все, що потрібно, щоб максимально стиснути повідомлення без втрат.
Однак багато алгоритмів стиснення використовують кроки перед ентропійним кодуванням, щоб нібито зменшити ентропію повідомлення.
Згідно з німецькою Вікіпедією
Entropiekodierer werden häufig mit anderen Kodierern kombiniert. Dabei dienen vorgeschaltete Verfahren dazu, die Entropie der Daten zu verringern.
Англійською:
Ентропійні кодери часто поєднуються з іншими кодерами. Попередні кроки служать для зменшення ентропії даних.
тобто bzip2 використовує перетворення Burrow-Wheeler-Transform з подальшим переходом на перехід до фронту перед застосуванням кодування ентропії (в даному випадку кодування Хаффмана).
Чи дійсно ці кроки зменшують ентропію повідомлення, що означатиме зменшення кількості інформації, що міститься в повідомленні? Мені це здається суперечливим, оскільки це означатиме, що інформація була втрачена під час стиснення, запобігаючи декомпресії без втрат. Або вони просто перетворюють повідомлення для підвищення ефективності алгоритму кодування ентропії? Або ентропія не відповідає безпосередньо кількості інформації в повідомленні?