Oto konkretne kodowanie, które może reprezentować każdy symbol średnio w mniej niż 1 bit:
Najpierw podziel ciąg wejściowy na pary kolejnych znaków (np. AAAAAAAABC staje się AA | AA | AA | AA | BC). Następnie zakoduj AA jako 0, AB jako 100, AC jako 101, BA jako 110, CA jako 1110, BB jako 111100, BC jako 111101, CB jako 111110, CC jako 111111.
Nie powiedziałem, co się stanie, jeśli wystąpi nieparzysta liczbę symboli, ale można po prostu zakodować ostatni symbol za pomocą dowolnego dowolnego kodowania, tak naprawdę nie ma znaczenia, kiedy wejście jest długie.
Jest to kod Huffmana do dystrybucji niezależnych par symboli i odpowiada wybraniu n=2 w odpowiedzi Yuvala. Większe n prowadziłoby do jeszcze lepszych kodów (zbliżając się do entropii Shannona w limicie, jak wspomniał).
Średnia liczba bitów na parę symboli dla powyższego kodowania wynosi
810⋅810⋅1+3⋅810⋅110⋅3+110⋅810⋅4+4⋅110⋅110⋅6=1.92
tj.1.92/2=0.96bitów na symbol, nie tak daleko od entropii Shannona w rzeczywistości dla takiego prostego kodowania.