Метод Фано в современных системах передачи данных работает на основе алгоритма Шеннона — Фано. 23 Он использует коды переменной длины: часто встречающийся символ кодируется кодом меньшей длины, редко встречающийся — кодом большей длины. 2
Основные этапы алгоритма: 2
- Символы первичного алфавита выписывают по убыванию вероятностей. 2
- Символы полученного алфавита делят на две части, суммарные вероятности символов которых максимально близки друг другу. 2
- В префиксном коде для первой части алфавита присваивается двоичная цифра «0», второй части — «1». 2
- Полученные части рекурсивно делятся, и их частям назначаются соответствующие двоичные цифры в префиксном коде. 2
- Когда размер подалфавита становится равен нулю или единице, то дальнейшего удлинения префиксного кода для соответствующих ему символов первичного алфавита не происходит, таким образом, алгоритм присваивает различным символам префиксные коды разной длины. 2
Коды Шеннона — Фано — префиксные, то есть никакое кодовое слово не является префиксом любого другого. 2 Это свойство позволяет однозначно декодировать любую последовательность кодовых слов. 2