Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
357.89 Кб
Скачать
      1. Сравнение алгоритмов сжатия

При выполнении этой работы используются программы RLE (алгоритм сжатия RLE) и Huffman (кодирование Хаффмана и Шеннона-Фано).

  1. Запустите программу Huffman.exe и закодируйте строку «ЕНОТ НЕ ТОНЕТ», используя методы Шеннона-Фано и Хаффмана. Запишите результаты в таблицу:

Шеннон и Фано

Хаффман

Длина основного кода

30

30

Длина кодовой таблицы (дерева)

49

49

Коэффициент сжатия (по основным кодам)

3.47

3.47

Коэффициент сжатия (с учетом дерева кодов)

1.32

1.32

Сделайте выводы.

Ответ:

При кодировании данного предложения все показатели одинаковы.

Как, по вашему мнению, будет изменяться коэффициент сжатия при увеличении длины текста, при условии, что набор символов и частота их встречаемости останутся неизменной? Проверьте ваш вывод с помощью программы (например, можно несколько раз скопировать ту же фразу).

Ответ:

Коэффициент сжатия будет ув.

  1. Повторите эксперимент с фразой «НОВОЕ ЕНОТОВО».

Шеннон и Фано

Хаффман

Длина основного кода

39

31

Длина кодовой таблицы (дерева)

59

59

Коэффициент сжатия (по основным кодам)

2.67

3.35

Коэффициент сжатия (с учетом дерева кодов)

1.06

1.16

Сделайте выводы.

Ответ:

Коэффициент сжатия и длина основного кода зависят от набора символов и частоты встречаемости.

Нарисуйте в тетради кодовые деревья, которые были построены программой при использовании обоих методов.

  1. Используя кнопку Анализ файла в программе Huffman, определите предельный теоретический коэффициент сжатия для файла a.txt1 при побайтном кодировании.

Ответ:

-

  1. С помощью программ RLE и Huffman выполните сжатие файла a.txt разными способами. Запишите результаты в таблицу:

RLE

Шеннон и Фано

Хаффман

Размер сжатого файла

165799

131094

131094

Коэффициент сжатия

1.02

8.0

8.0

Объясните результат, полученный с помощью алгоритма RLE.

Ответ:

Из-за большего коэффициента сжатия размер сжатого файла меньше , чем результаты Шеннон и Фано, Хаффман.

  1. Используя кнопку Анализ файла в программе Huffman, определите предельный теоретический коэффициент сжатия для файла a.txt.huf при побайтном кодировании. Объясните результат.

Ответ:

Предел сжатия и предельный коэффициент сжатия зависят друг от друга.

  1. Примените несколько раз повторное сжатие этого файла с помощью алгоритма Хаффмана (новые файлы получат имена a.txt.huf2, a.txt.huf3 и т.д.) и заполните таблицу, каждый раз выполняя анализ полученного файла.

Размер файла

Предельный коэффициент сжатия

a.txt

1048756

-

a.txt.huf

131094

3885.71

a.txt.huf2

16346

191.12

a.txt.huf3

2160

13.76

a.txt.huf4

485

1.89

a.txt.huf5

467

1.10

a.txt.huf6

713

1.04

Объясните, почему с некоторого момента при повторном сжатии файла его размер увеличивается.

Ответ:

Потому что в определенный момент в алфавите построенного дерева оказывается меньше 3 символов, то есть сам алгоритм кодирования становится неэффективным.

  1. Выполните те же действия, используя метод Шеннона-Фано.

Размер файла

Предельный коэффициент сжатия

a.txt

1048756

-

a.txt.shf

131094

3885.71

a.txt.shf2

3885.71

191.12

a.txt.shf3

2160

13.67

a.txt.shf4

477

1.93

a.txt.shf5

453

1.10

a.txt.shf6

705

1.04

Объясните, почему с некоторого момента при повторном сжатии файла его размер увеличивается.

Ответ:

То же что и в прошлом пункте

  1. Сравните результаты сжатия этого файла с помощью алгоритма RLE, лучшие результаты, полученные методами Шеннона-Фано и Хаффмана, а также результат сжатия этого файла каким-нибудь архиватором.

Размер файла

Предельный коэффициент сжатия

RLE

131094

Хаффман

131094

3855.71

Шеннон и Фано

131094

3855.71

ZIP

131094

120

RAR

131094

174

7Z

131094

-

Объясните результаты и сделайте выводы.

Ответ:

< ( ̄ω ̄;)>