Экстренная ситуация
Критическое сообщение:
Космическая станция "Мяуринер", дрейфующая на границе Солнечной системы, попала в смертельное гравитационное поле чёрной дыры. Последнее закодированное сообщение от экипажа:
"СИСТЕМЫ... СБОЙ... ДАННЫЕ... ПЕРЕГРУЗ... НУЖНЫ АЛГОРИТМЫ... СЖАТИЯ... СПАСТИ..."
Брифинг миссии:
Космическая станция "Мяуринер" с экипажем из 12 человек оказалась в ловушке чёрной дыры. Системы станции перегружены, а каналы связи работают с минимальной пропускной способностью.
Ваша задача: Освоить ключевые технологии сжатия данных, чтобы спасти экипаж и передать критически важную информацию для расчёта спасательной траектории.
Цели миссии:
Совет инженера:
Начните с RLE-компрессора для восстановления повреждённых логов. Это позволит идентифицировать основные неисправности и подготовить систему для последующих операций.
RLE-компрессор
Принцип работы RLE:
- Анализирует повторяющиеся показания датчиков (например, 00000)
- Заменяет их на пару "количество-значение" (50)
- Восстанавливает повреждённые участки логов
Пример из бортового журнала:
Исходные данные: Температура: 2222222222555555553333
После сжатия: Температура: 92 85 43
Экономия: 24 символа → 14 символов (экономия 42%)
Восстановление логов:
Кодер Хаффмана
Как строится дерево Хаффмана:
- Анализируется частота символов в сообщении
- Каждый символ становится листом дерева с его частотой
- Соединяются два узла с наименьшими частотами
- Процесс повторяется до образования единого дерева
- Левым ветвям присваивается 0, правым — 1
- Код символа — это путь от корня к листу
Постройте дерево кодирования:
Закодируйте координаты:
LZW-архиватор
Как работает LZW — пример для "ТОТ_ТАК_ТОТ_ТАК":
- Начальный словарь: Т=275, О=271, _=95, А=256, К=267
- Шаг 1: "Т" есть → "ТО" добавляем (322=ТО), выводим 275.
- Шаг 2: "О" есть → "ОТ" добавляем (323=ОТ), выводим 271.
- Шаг 3: "Т" есть → "Т_" добавляем (324=Т_), выводим 275.
- Шаг 4: "_" есть → "_Т" добавляем (325=_Т), выводим 95.
- Шаг 5: "Т" есть → "ТА" добавляем (326=ТА), выводим 275.
- Шаг 6: "А" есть → "АК" добавляем (327=АК), выводим 256.
- Шаг 7: "К" есть → "К_" добавляем (328=К_), выводим 267.
- Шаг 8: "_Т" есть → "_ТО" добавляем (329=_ТО), выводим 325.
- Шаг 9: "ОТ" есть → "ОТ_" добавляем (330=ОТ_), выводим 323.
- Шаг 10: "_Т" есть → "_ТА" добавляем (331=_ТА), выводим 325.
- Шаг 11: "АК" есть, выводим 327.
- Результат: 275 271 275 95 275 256 267 325 323 325 327
Архивация данных:
Динамический словарь:
Оптимизатор изображений
Технологии сжатия изображений:
- PNG (без потерь):
- Используется для схем и чертежей космических аппаратов
- Применяет алгоритмы LZW и DEFLATE
- Гарантирует точное сохранение всех деталей
- JPEG (с потерями):
- Оптимален для фотографий планет и звёзд
- Использует дискретное косинусное преобразование
- Допускает потерю незначительных деталей
- WebP (современный формат):
- Стандарт для веб-интерфейсов космических станций
- На 30% эффективнее JPEG при том же качестве
- Поддерживает прозрачность и анимацию
Оптимизация изображения:
Операция "Спасение"
Финальная подготовка:
Все данные собраны. Ваша задача — грамотно оптимизировать их для передачи в Центр управления полётами. От ваших решений зависит судьба станции и экипажа!