Для обеспечения однозначного декодирования по условию Фано необходимо, чтобы кодовое слово для буквы Г не совпадало с никаким префиксом существующих кодовых слов для букв А, Б и В.
На данный момент у нас есть следующие кодовые слова:
- А — 0
- Б — 110
- В — 101
Теперь рассмотрим возможные двоичные коды для буквы Г. Кодовое слово не должно начинаться на 0 (поскольку 0 — код для буквы А), и не должно начинаться на 110 или 101. Но поскольку Г может иметь произвольную длину, мы можем выбирать различные варианты.
Рассмотрим коды минимальной длины:
- 1: "1" (не подходит, так как 0 — код для А)
- 2: "00", "01", "10", "11"
Из них:
- "00" — код не подходит, так как 0 — код для А.
- "01" — подходит.
- "10" — подходит.
- "11" — подходит, но начинает с "11", что не подходит, потому что "110" — это код для Б.
Наименьшие из подходящих кодов: "01", "10".
Теперь выберем код с наибольшим числовым значением:
- "01" = 1
- "10" = 2
Таким образом, кратчайшее кодовое слово для буквы Г, которое допускает однозначное декодирование и имеет наибольшее числовое значение, будет "10".