Шешімі: Минимальная сумма длин кодов
Для кодирования некоторой последовательности, состоящей из букв A, B, C, D, E, F, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы A использовали кодовое слово 00; для буквы B — кодовое слово 01. Какова наименьшая возможная сумма длин кодовых слов для букв C, D, E, F?
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
Шешім по шагам
3 қадамКодовые слова 00 и 01 уже использованы для букв A и B. Оставшиеся кодовые слова должны удовлетворять условию Фано и не пересекаться с ними по началу.
Распределяя оставшиеся ветви двоичного дерева наиболее экономно, можно получить для букв C, D, E, F длины 2, 3, 3 и 4 соответственно.
$$l_C + l_D + l_E + l_F = 2 + 3 + 3 + 4$$Следовательно, наименьшая возможная сумма длин кодовых слов равна 12.
$$2 + 3 + 3 + 4 = 12$$Где здесь ошибаются
Учитывают длины кодовых слов A и B, хотя требуется сумма только для C, D, E, F.
Допускают ситуацию, при которой одно кодовое слово является началом другого.
Используют неравномерность кода как основание для нарушения условия Фано.