Ich las über Datenkomprimierungsalgorithmen und die theoretische Grenze für die Datenkomprimierung. Kürzlich bin ich auf eine Komprimierungsmethode mit dem Namen "Combinatorial Entropy Encoding" gestoßen. Die Hauptidee dieser Methode besteht darin, die Datei als die in der Datei dargestellten Zeichen, ihre Häufigkeiten und den Index dieser durch die Datei dargestellten Zeichenpermutation zu codieren.
Diese Dokumente können zur Erläuterung dieser Methode beitragen:
https://arxiv.org/pdf/1703.08127
http://www-video.eecs.berkeley.edu/papers/vdai/dcc2003.pdf
https://www.thinkmind.org/download.php?articleid=ctrq_2014_2_10_70019
Im ersten Dokument habe ich jedoch gelesen, dass sie mit dieser Methode Text unter das Shannon-Limit komprimieren können (sie haben den zum Speichern der Zeichenhäufigkeit erforderlichen Speicherplatz und den zum Speichern des Metas erforderlichen Speicherplatz nicht berücksichtigt) Daten der Datei). Ich habe darüber nachgedacht und festgestellt, dass diese Methode für sehr kleine Dateien nicht sehr effizient ist, aber auf der anderen Seite funktioniert sie möglicherweise gut mit großen Dateien. Eigentlich verstehe ich diesen Algorithmus oder das Shannon-Limit nicht ganz, ich weiß nur, dass es die Summe der Wahrscheinlichkeit jedes Zeichens multipliziert mit des Reziprokwerts der Wahrscheinlichkeit ist.
Ich habe also einige Fragen:
Komprimiert diese Komprimierungsmethode Dateien wirklich auf einen Wert unterhalb der Shannon-Grenze?
Gibt es einen Komprimierungsalgorithmus, der Dateien unter dem Shannon-Grenzwert komprimiert (die Antwort auf diese Frage lautet meines Wissens nein)?
Kann es jemals eine Komprimierungsmethode geben, die Dateien auf einen Wert komprimiert, der unter dem Shannon-Grenzwert liegt?
Wenn die kombinatorische Codierung Dateien wirklich über die Shannon-Grenze hinaus komprimiert, ist es dann nicht möglich, die Datei immer wieder zu komprimieren, bis die gewünschte Dateigröße erreicht ist?