Saya sedang membaca tentang algoritma kompresi data dan batas teoritis untuk kompresi data. Baru-baru ini saya menemukan metode kompresi yang disebut "Combinatorial Entropy Encoding", ide utama dari metode ini adalah untuk menyandikan file sebagai karakter yang disajikan dalam file, frekuensi mereka dan indeks permutasi karakter ini diwakili oleh file.
Dokumen-dokumen ini dapat membantu menjelaskan metode ini:
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
Namun, dalam dokumen pertama saya telah membaca bahwa dengan menggunakan metode ini mereka dapat memampatkan beberapa teks menjadi kurang dari batas Shannon (Mereka tidak mempertimbangkan ruang yang diperlukan untuk menyimpan frekuensi karakter dan ruang yang diperlukan untuk menyimpan meta data file). Saya memikirkannya dan saya menemukan bahwa metode ini tidak akan sangat efisien untuk file yang sangat kecil tetapi di sisi lain itu dapat bekerja dengan baik dengan file besar. Sebenarnya saya tidak sepenuhnya memahami algoritma ini atau batas Shannon sangat baik, saya hanya tahu itu jumlah dari probabilitas masing-masing karakter dikalikan dengan dari timbal balik dari probabilitas.
Jadi saya punya beberapa pertanyaan:
Apakah metode kompresi ini benar-benar memampatkan file menjadi lebih kecil dari batas Shannon?
Apakah ada algoritma kompresi yang memampatkan file hingga kurang dari batas Shannon (jawaban untuk pertanyaan ini sejauh yang saya tahu tidak)?
Bisakah metode kompresi yang mengkompres file menjadi lebih kecil dari batas Shannon pernah ada?
Jika pengkodean kombinatorial benar-benar memampatkan file di luar batas Shannon, apakah tidak mungkin untuk memampatkan file berulang-ulang sampai kita mencapai ukuran file yang kita inginkan?