Shannon–Fano–Elias coding - na czym polega?

0

Próbuję zrozumieć na czym polega Shannon–Fano–Elias coding i arithemtic coding. Pierwszy raz spotykam się z algorytmami kompresji danych i mam pytanie o podstawy.

Mówimy tam o prawdopodobieństwach. Co to są właściwie za prawdopodobieństwa? Wystąpienia jakichś liter, ciągów, znaków? Skąd znamy te prawdopodobieństwa? Częstość występowania liter w danym języku, rozkład Benforda? Czy w praktyce bierzemy ciągi binarne odpowiadające literom alfabetu i próbujemy je skompresować - zamienić na krótsze? A może określa się prawdopodobieństwo dla dłuższych ciągów, dla całych słów?

2

Najczęściej to statystyka, czyli to co wskazałeś. Co do kodowania to zobacz https://pl.wikipedia.org/wiki/Kodowanie_Huffmana, jest nawet przykład jak można kodować dla par

1

Aby skompresować kodowaniem Shannona Fano musisz znać dystrybucję znaków w alfabecie. To oczywiście nie jest takie proste jeśli nie znasz bardzo dobrze zakresu treści które kompresujesz. Np. jak dopasujesz prawdopodobieństwa do zdań polskich, może się zdarzyć że kompresujesz tylko treści nastolatków, którzy mówią trochę inaczej, i to przeszkodzi ci osiągnąć "optymalny" współczynnik kompresji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1