Изменения

Перейти к: навигация, поиск

Кодирование информации

50 байт убрано, 19:14, 4 сентября 2022
м
rollbackEdits.php mass rollback
=== Пример кодирования ===
<tex>U = \mathcal {f} a, b, c \mathcal {g}</tex>
<tex> Z = \mathcal {f} 0, 1 \mathcal {g}</tex>
<tex> c(a) = 00 </tex>
=== Пример неудачного декодирования ===
Предположим, что последовательность <tex>abacaba</tex> из примера передалась неверно и стала:
<tex>c^{**}(abacaba) = 0001001\ 1\ 00100</tex> 
Разобьем ее согласно словарю:
<tex> 00\ 01\ 00\ 1\ 1\ 00\ 1\ 00</tex> <tex>a\quad b\quad a\ c\ c\quad a\ c\ a</tex> 
Полученная строка совпадает только в битах, которые находились до ошибочного, поэтому декодирование неравномерного кода, содержащего ошибки, может дать абсолютно неверные результаты.
=== Не префиксный однозначно декодируемый код ===
Как уже было сказано, префиксный код всегда однозначно декодируем. Обратное в общем случае неверно:
<tex>U = \mathcal {f} a, b, c \mathcal {g}</tex>;  <tex>Z = \mathcal {f} 1, 2, 3 \mathcal {g}</tex>; <tex>c(a) = 1; </tex> <tex> c(b) = 12; </tex> <tex> c(c) = 31;</tex> Закодируем <tex>abbca</tex>, получим кодовую строку : <tex>11212311</tex> 
Мы можем ее однозначно декодировать, так как знаем, что слева от двойки и справа от тройки всегда стоит единица.
После декодирования получаем: <tex>abbca</tex>
== См. также ==
1632
правки

Навигация