- •2. Построение оптимальных кодов. Алгоритмы сжатия данных
- •I. Блок индивидуальных заданий.
- •2.1. Кодирование методом Хаффмана.
- •2.2 Арифметическое кодирование.
- •2.3. Словарный алгоритм lz77.
- •2.4. Словарный алгоритм lzss.
- •2.5. Словарный алгоритмLz78.
- •2.6. Сравнительный анализ словарных алгоритмов.
- •2.7. Анализ влияния параметров словаря на алгоритмы lz77 иLzss.
- •II. Блок общих заданий.
- •График сдачи:
2.6. Сравнительный анализ словарных алгоритмов.
(20 баллов)
Цель: определить различия между различными модификациями словарных алгоритмов путем сравнительного анализа закодированных последовательностей.
Задание: выберите самостоятельно текст для кодирования (не менее 30 символов) и параметры словаря. Закодируйте текст с алгоритмаLZ77, LZSS, LZ78. Определите коэффициент сжатия для каждого алгоритма. Сравните эффективность каждого из алгоритмов. Повторите анализ еще для двух выбранных текстов. Результаты усредните и приведите в сравнительной таблице.
2.7. Анализ влияния параметров словаря на алгоритмы lz77 иLzss.
(20 баллов)
Цель: изучить влияние параметров словаря на эффективность словарных алгоритмов.
Задание: выберите самостоятельно текст для кодирования (не менее 30 символов) и параметры словаря. Закодируйте текст с алгоритмаLZ77 и LZSS. Определите коэффициент сжатия для каждого алгоритма. Увеличьте размер словаря и повторите кодирование. Определите коэффициент сжатия. Еще раз повторите вычисления, но для уменьшенного словаря. Сравните эффективность алгоритма при каждом из параметров словарей. Повторите анализ еще для двух выбранных текстов. Результаты усредните и приведите в сравнительной таблице.
II. Блок общих заданий.
2.8. Создать программу, которая по заданному тексту подсчитывает статистику по каждому символу, определяет вероятности каждого символа, делает оценку сжатия данных согласно теоремы Шеннона
(30 баллов).
2.9. Создать программу, которая для данного текста генерирует коды Хаффмана и делает оценку степени сжатия с использованием кодов Хаффмана
(50 баллов).
2.10. Создать программу, которая дает оценку степени сжатия заданной фразы с помощью одного из словарных алгоритмов (LZ77, LZSSилиLZ78)
(30 баллов)
График сдачи:
№ темы |
Недели | ||||||||||||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
зач. | |
1 |
|
30 |
50 |
60 |
70 |
80 |
90 |
100 |
110 |
120 |
+10 | ||||||||
2 |
|
|
|
|
|
120 |
150 |
170 |
190 |
210 |
230 |
250 |
+10 | ||||||
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+10 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+10 |