Выяснить, является ли код С с кодирующим алфавитом {0,1,2} однозначно декодируемым: С={01,201,112,122,0112}
быть может кто-то подскажет алгоритм решения (или само решение) данного задания?
мда... теорию вам правильно написали о том, что такое условие Фано... а решение с точностью до наоборот.
Если бы условие Фано (или обратное ему) выполнялось, то этого было бы достаточно, чтобы сказать, что декодирование будет однозначно. НО. этого не происходит, т. к 01 является началом 0112 и концом 201. Доказать однозначность не получится.. значит наверняка она будет нарушена и вам нужно просто придумать пример некого кода, который можно прочитать двояко.
Условие Фано: для того, чтобы сообщение, записанное с помощью неравномерного по длине кода,
однозначно раскодировалось,
достаточно, чтобы никакой код не был началом другого (более длинного) кода.
Обратное условие Фано также является достаточным условием однозначного декодирования неравномерного кода. В нём требуется, чтобы никакой код не был окончанием другого (более длинного) кода.
Для возможности однозначного декодирования досточно выполнения одного из условий — или прямого, или обратного.
01 и 0112
обратное
112 и 0112