Kodowanie arytmetyczne: Różnice pomiędzy wersjami

Dodane 36 bajtów ,  14 lat temu
→‎Algorytm kodowania: Poprawiłem zły wzór na przedziały prawdopodobieństwa
m (robot dodaje: fr:Codage arithmétique)
(→‎Algorytm kodowania: Poprawiłem zły wzór na przedziały prawdopodobieństwa)
Dany jest zbiór symboli <math>S = \{x_1, x_2, \ldots\}</math> oraz stowarzyszony z nim zbiór prawdopodobieństw <math>p = \{p_1, p_2, \ldots\}</math>. Jeden z symboli jest wyróżniony - jego wystąpienie oznacza koniec komunikatu, zapobiegając wystąpieniu niejednoznaczności; ewentualnie zamiast wprowadzenia dodatkowego symbolu można przesyłać długość kodowanego ciągu.
 
Na początku dany jest przedział <math>P = [0, 1)</math>, który dzielony jest na podprzedziały o szerokościach równych kolejnym prawdopodobieństwom <math>p_i</math>, czyli otrzymywany jest ciąg podprzedziałów <math>[0, p_1), [p_1, p_1 + p_2), [p_1 + p_2, p_1 + p_2 + p_3), [p_1 + p_2 + p_3, p_1 + p_2 + p_3 + p_4), \ldots</math>. Kolejnym podprzedziałom (ozn. <math>R_i</math>) odpowiadają symbole ze zbioru <math>S</math>.
 
Algorytm kodowania:
Anonimowy użytkownik