Возможно, имелось в виду эффективное кодирование, при котором обеспечивается минимальная средняя длина кодовых слов. 3
Принцип создания эффективных кодовых слов заключается в том, что символу, встречающемуся чаще всего, присваивается наиболее короткая кодовая комбинация. 3 Менее вероятным буквам, наоборот, присваивают более длинные комбинации. 4
Эффективное кодирование базируется на теореме Шеннона о кодировании при отсутствии помех. 3
Некоторые методы построения эффективных кодов:
- Метод Шеннона–Фано. 3 Буквы алфавита располагаются в порядке убывания вероятностей. 3 Затем алфавит разбивают на две группы так, чтобы суммарные вероятности букв обеих групп были по возможности равны. 3 Первой группе присваивают символ 1, второй — 0. 3 Далее каждую из образованных групп делят на две части с приблизительно равными суммарными вероятностями и присваивают им 1 и 0. 3 Процесс повторяют до тех пор, пока в каждой подгруппе не останется по одной букве. 3
- Метод Хаффмана. 3 Буквы алфавита выписываются в столбец в порядке убывания вероятностей. 3 Две последние буквы объединяют в одну вспомогательную букву, которой присваивают суммарную вероятность. 3 Затем вероятности букв, участвующих в объединении, и полученная суммарная вероятность вновь располагаются в порядке убывания вероятностей в дополнительном столбце, а две последние буквы объединяют. 3 Процесс продолжается до тех пор, пока не будет получена единственная вспомогательная буква с суммарной вероятностью, равной 1. 3