В данном материале представлены пять практических задач по теории кодирования. Рассматриваются методы построения кодов Шенно-Фано с анализом способов разбиения, построение оптимальных кодов для равновероятных символов, применение метода Хаффмана для блоков различной длины, а также пошаговое циклическое кодирование и декодирование кодовых комбинаций с анализом ошибок в заданных разрядах.
Задача № 1
Построить код Шенно-Фано двумя способами разбиения множества групп на подгруппы для символов источника сообщений, появляющихся с вероятностями, заданными таблицей.
| буква | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 |
|---|---|---|---|---|---|---|---|---|
| вероятность | 0,04 | 0,1 | 0,2 | 0,11 | 0,16 | 0,22 | 0,02 | 0,15 |
1 способ:
- первая группа: p(a6) + p(a3) + p(a5) = 0,58;
- вторая группа: p(a8) + p(a4) + p(a2) + p(a1) + p(a7) = 0,42.
2 способ:
- первая группа: p(a6) + p(a3) = 0,42;
- вторая группа: p(a5) + p(a8) + p(a4) + p(a2) + p(a1) + p(a7) = 0,58.
Провести сравнительный анализ результатов решения двумя способами.
Задача № 2
Построить оптимальный код сообщения, состоящего из:
- a) M равновероятных букв;
- b) K равновероятных букв;
- c) Y равновероятных букв.
| N (номер по журналу) | N < 5 | 5 ≤ N < 10 | 10 ≤ N < 15 | 15 ≤ N < 20 | 25 ≤ N |
|---|---|---|---|---|---|
| M | Пяти | Шести | Пяти | Шести | Семи |
| K | Шести | Семи | Восьми | Девяти | Пяти |
| Y | Десяти | Восьми | Девяти | Семи | Шести |
Дать оценку эффективности построенных кодов. В каких случаях код, построенный для первичного алфавита с равновероятным появлением букв, окажется самым эффективным?
Задача № 3
Первичный алфавит состоит из букв А и В. Построить код по методу Хаффмана для передачи сообщений, если кодировать по одной, две, три буквы в блоке. Сравнить эффективность полученных кодов. Вероятности появления букв первичного алфавита имеют следующие значения: p(А)=0,75, p(В)=0,25.
Задача № 4
Исходные кодовые комбинации приведены в таблице 3. Проведите пошаговое циклическое кодирование всех комбинаций.
| № | Исходный код |
|---|---|
| 1 | 101010 |
| 2 | 10111011 |
| 3 | 10101101 |
Задача № 5
Для результатов из Задачи № 4 (коды 1 и 3) проведите пошаговое декодирование при условии ошибки в третьем разряде.
