Тема: Система сжатия информации с выбором оптимального алгоритма
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1 Обзор алгоритмов 7
1.1 LZMA2 7
1.2 BZip2 8
1.3 Deflate 10
1.4 PPMD 10
2 Функционал приложения 12
3 Анализ результатов тестирования по степени сжатия 14
4 Разница между doc и docx 18
5 Сжатие изображений 20
6 Функция принадлежности 21
7 Анализ результатов тестирования по скорости сжатия 23
Заключение 25
Список использованных источников и литературы 26
Приложение А. Код графического интерфейса 28
Приложение Б. Код логики программы 33
📖 Введение
Главный принцип сжатия основывается на том, что в любом файле, который содержит случайные данные, информация частично повторяется. А используя статистико-математические модели, можно выявить вероятность повторного вхождения определённой комбинаций символов.
В настоящее время существует множество алгоритмов сжатия информации, а также множество программ, которые используют данные алгоритмы. Но среднестатистический пользователь не владеет информацией о том, какой алгоритм более других подходит для того или иного файла.
Очевидно, что эффективность алгоритма должна зависеть от типа и объёма файла. Основываясь на результатах тестов, мы разработали приложение, которое, в зависимости от этих двух параметров, рекомендует пользователю оптимальный алгоритм, также предоставляя выбор приоритета по скорости или наилучшей степени сжатия.
В данной работе рассматривается исключительно сжатие без потерь. При таком сжатии закодированные данные восстанавливаются однозначно с точностью до бита. К таким алгоритмам относятся: LZMA2, BZip2, Deflate, PPMd. Именно их мы взяли за основу программы, ввиду их распространённости в наши дни и превосходством над более ранними и менее распространёнными алгоритмами современности.
Создание визуальной и функциональной оболочки программы происходило на языке программирования Python с использованием набора привязок графического фреймворка PyQt в среде программирования PyCharm от компании по производству программного обеспечения JetBrains.
Выбор этого программного обеспечения обусловлен следующими факторами:
1. Python ориентирован на повышение производительности пользователей и читаемость кода: синтаксис ядра минималистичен в то время, как стандартная библиотека содержит огромное количество полезных методов [6];
2. Среда разработки PyCharm обеспечивает простую организацию файлов и быструю скорость работы по сравнению с другими средами для программирования на языке Python [7];
3. PyQt представляет собой смесь языка программирования Python и библиотеки Qt. В то время как Qt - одна из самых мощных библиотек, которая содержит более 300 классов и почти 6000 функций и методов. Также эта библиотека является кроссплатформенной [9].
✅ Заключение
Для архивирования изображений предпочтительнее использовать кодирование без сжатия, то есть такие форматы, как .tar, который содержит в себе общий архив, состоящий чаще всего из нескольких файлов.
Проанализировав все эти данные, было запрограммировано приложение, которое может помочь пользователю оптимально использовать два важных ресурса - дисковое пространство и время, которое тратится не только на ожидание завершения выполнения задачи, но и на понимание того, как работать с данной программой. Интуитивно-понятный интерфейс приложения позволяет любому пользователю легко разобраться в его эксплуатации.





