Результаты расчетов.
Кодирование (сжатие) данных
Имеется файл с таблицей кодов table. txt, в котором приведены коды всех символов русского языка в алфавитном порядке Имеется файл с исходным текстом source. txt, содержание которого приведено в кавычках ниже: Среднее число символов кода на один символ алфавита ИИ Среднее число символов кода, необходимых для кодирования одного сообщения. Оно равно математическому ожиданию длины кодового слова. Для… Читать ещё >
Результаты расчетов. Кодирование (сжатие) данных (реферат, курсовая, диплом, контрольная)
Энтропия и избыточность ИИ Пусть мы имеем источник информации Х с алфавитом:
Сообщения источника независимы, и появляются с вероятностями.
Энтропия H (x) равна:
Максимальная энтропия равна:
Избыточность источника информации R:
Среднее число символов кода на один символ алфавита ИИ Среднее число символов кода, необходимых для кодирования одного сообщения. Оно равно математическому ожиданию длины кодового слова.
.
где — длина кодового слова для сообщения.
Избыточность кода.
Ожидаемый коэффициент сжатия данных
Для записи одного символа ИИ используется nи=8 двоичных — при кодировке ASCII. Тогда количество информации на один двоичный символ ИИ:
а количество информации на один двоичный символ кода:
Тогда коэффициент сжатия будет равен.
Итак, мы получили теоретический коэффициент сжатия.
Тестовый пример кодирования и декодирования короткого сообщения
Имеется файл с таблицей кодов table. txt, в котором приведены коды всех символов русского языка в алфавитном порядке Имеется файл с исходным текстом source. txt, содержание которого приведено в кавычках ниже:
«„Look at me, up in the tree“, said Tom».
В результате кодирования данного файла, мы получаем следующую последовательность нулей и единиц, разбитую по байтам:
- 10 100
- 10 100 101
- 1 001 000
- 1 000 011
- 11 011
- 100 000
- 110 001
- 10 010 000
- 11 001 011
- 110
- 11 110 010
- 100 000
- 11
- 10 010 001
- 10 101 100
- 1 101
- 1 011 011
Закодированный файл result. txt будет иметь следующий вид:
«hsиAЧА"ЏЧxЋЦ …В3;». Здесь каждой восьмерке нулей и единиц соответствует один символ ASCII.
Декодер, использующий закодированный файл, восстанавливает информацию и создает файл restored. txt следующего содержания:
«look at me up in the tree said tom».
Как мы видим, большие буквы были заменены на маленькие, знаки препинания — на знак пробела.
Оценим результаты сжатия файла.
Исходный файл source. txt: 37 байт.
Закодированный файл result. txt 20 байт.
Восстановленный файл restored. txt 39 байт (два лишних пробела).
Итак, реальный коэффициент сжатия.
Таким образом, данный пример демонстрирует правильность наших расчетов.