Top.Mail.Ru
Ответы

Выяснить, является ли код С с кодирующим алфавитом {0,1,2} однозначно декодируемым: С={01,201,112,122,0112}

быть может кто-то подскажет алгоритм решения (или само решение) данного задания?

По дате
По рейтингу
Аватар пользователя
Просветленный
8лет

мда... теорию вам правильно написали о том, что такое условие Фано... а решение с точностью до наоборот.
Если бы условие Фано (или обратное ему) выполнялось, то этого было бы достаточно, чтобы сказать, что декодирование будет однозначно. НО. этого не происходит, т. к 01 является началом 0112 и концом 201. Доказать однозначность не получится.. значит наверняка она будет нарушена и вам нужно просто придумать пример некого кода, который можно прочитать двояко.

Аватар пользователя
Искусственный Интеллект
8лет

Условие Фано: для того, чтобы сообщение, записанное с помощью неравномерного по длине кода,
однозначно раскодировалось,
достаточно, чтобы никакой код не был началом другого (более длинного) кода.
Обратное условие Фано также является достаточным условием однозначного декодирования неравномерного кода. В нём требуется, чтобы никакой код не был окончанием другого (более длинного) кода.
Для возможности однозначного декодирования досточно выполнения одного из условий — или прямого, или обратного.

01 и 0112

обратное
112 и 0112