SpaceCompress

Миссия: Спасение станции "Мяуринер"

Центр управления
RLE-компрессор
Кодер Хаффмана
LZW-архиватор
Оптимизатор изображений
Операция "Спасение"

Экстренная ситуация

Критическое сообщение:

Космическая станция "Мяуринер", дрейфующая на границе Солнечной системы, попала в смертельное гравитационное поле чёрной дыры. Последнее закодированное сообщение от экипажа:

"СИСТЕМЫ... СБОЙ... ДАННЫЕ... ПЕРЕГРУЗ... НУЖНЫ АЛГОРИТМЫ... СЖАТИЯ... СПАСТИ..."

👨‍🚀
Капитан Мурков:

"Основной двигатель повреждён, а резервный не справится без точных расчётов с Земли. Без точных координат буксировочный манёвр невозможен. У нас есть всего 47 минут до того, как станцию поглотит горизонт событий. Канал связи из-за гравитационных помех работает всего на 5% мощности. Без сжатия данных передача координат и инструкций займёт 3 часа — слишком долго, нас уже не спасут. Ваша помощь — единственный шанс спасти экипаж!"

Брифинг миссии:

Космическая станция "Мяуринер" с экипажем из 12 человек оказалась в ловушке чёрной дыры. Системы станции перегружены, а каналы связи работают с минимальной пропускной способностью.

Ваша задача: Освоить ключевые технологии сжатия данных, чтобы спасти экипаж и передать критически важную информацию для расчёта спасательной траектории.

Цели миссии:

🔍
Проанализировать повреждённые логи станции (RLE-компрессор)
📡
Оптимизировать передачу координат (Кодер Хаффмана)
🖼️
Сжать изображения чёрной дыры (Оптимизатор изображений)
🚀
Подготовить данные для спасательной операции (LZW-архиватор)
47:00
До критического сближения с чёрной дырой

Совет инженера:

Начните с RLE-компрессора для восстановления повреждённых логов. Это позволит идентифицировать основные неисправности и подготовить систему для последующих операций.

RLE-компрессор

👩‍🔬
Инженер Петрова:

"Тревога! Двигатель №3 перегревается, система охлаждения на пределе! Последние данные по температуре: 2222222222555555553333. Нам срочно нужно сжать эту информацию, чтобы успеть обработать её и запустить аварийное охлаждение. Если мы не восстановим последовательности прямо сейчас, мы потеряем управление!"

Принцип работы RLE:

  1. Анализирует повторяющиеся показания датчиков (например, 00000)
  2. Заменяет их на пару "количество-значение" (50)
  3. Восстанавливает повреждённые участки логов

Пример из бортового журнала:

Исходные данные: Температура: 2222222222555555553333

После сжатия: Температура: 92 85 43

Экономия: 24 символа → 14 символов (экономия 42%)

Восстановление логов:

Кодер Хаффмана

👨‍💻
Специалист по связи Иванов:

"Координаты чёрной дыры критически важны для спасательной операции. Канал связи перегружен — каждое слово, каждый бит на вес золота! Используйте самое эффективное кодирование, чтобы информация дошла без задержек. Судьба всей миссии зависит от этого!"

Как строится дерево Хаффмана:

  1. Анализируется частота символов в сообщении
  2. Каждый символ становится листом дерева с его частотой
  3. Соединяются два узла с наименьшими частотами
  4. Процесс повторяется до образования единого дерева
  5. Левым ветвям присваивается 0, правым — 1
  6. Код символа — это путь от корня к листу

Постройте дерево кодирования:

Закодируйте координаты:

LZW-архиватор

👩‍🚀
Бортинженер Соколова:

"Технические мануалы — это жизненно важные инструкции, но они занимают слишком много памяти. Нам срочно нужно сжать эти данные, чтобы освободить место для расчётов траектории спасения. Без этого операция обречена на провал!"

Как работает LZW — пример для "ТОТ_ТАК_ТОТ_ТАК":

  1. Начальный словарь: Т=275, О=271, _=95, А=256, К=267
  2. Шаг 1: "Т" есть → "ТО" добавляем (322=ТО), выводим 275.
  3. Шаг 2: "О" есть → "ОТ" добавляем (323=ОТ), выводим 271.
  4. Шаг 3: "Т" есть → "Т_" добавляем (324=Т_), выводим 275.
  5. Шаг 4: "_" есть → "_Т" добавляем (325=_Т), выводим 95.
  6. Шаг 5: "Т" есть → "ТА" добавляем (326=ТА), выводим 275.
  7. Шаг 6: "А" есть → "АК" добавляем (327=АК), выводим 256.
  8. Шаг 7: "К" есть → "К_" добавляем (328=К_), выводим 267.
  9. Шаг 8: "_Т" есть → "_ТО" добавляем (329=_ТО), выводим 325.
  10. Шаг 9: "ОТ" есть → "ОТ_" добавляем (330=ОТ_), выводим 323.
  11. Шаг 10: "_Т" есть → "_ТА" добавляем (331=_ТА), выводим 325.
  12. Шаг 11: "АК" есть, выводим 327.
  13. Результат: 275 271 275 95 275 256 267 325 323 325 327

Архивация данных:

Динамический словарь:

Оптимизатор изображений

👨‍🔧
Техник Волков:

"Фотографии чёрной дыры критически важны, но занимают слишком много места. Нам надо найти идеальный баланс между качеством и размером, чтобы не потерять ни одной детали!"

Технологии сжатия изображений:

  1. PNG (без потерь):
    • Используется для схем и чертежей космических аппаратов
    • Применяет алгоритмы LZW и DEFLATE
    • Гарантирует точное сохранение всех деталей
  2. JPEG (с потерями):
    • Оптимален для фотографий планет и звёзд
    • Использует дискретное косинусное преобразование
    • Допускает потерю незначительных деталей
  3. WebP (современный формат):
    • Стандарт для веб-интерфейсов космических станций
    • На 30% эффективнее JPEG при том же качестве
    • Поддерживает прозрачность и анимацию

Оптимизация изображения:

Операция "Спасение"

Финальная подготовка:

Все данные собраны. Ваша задача — грамотно оптимизировать их для передачи в Центр управления полётами. От ваших решений зависит судьба станции и экипажа!

15:00
До потери связи со станцией
Готовность передачи: 10%

Критически важные данные:

Логи двигателя (повторы) 12MB
Координаты чёрной дыры 8MB
Фото чёрной дыры 25MB
Технические мануалы 30MB
⚠️ Внимание! Выберите подходящие алгоритмы сжатия для каждого типа данных. Ошибка может привести к потере жизненно важной информации и сорвать операцию спасения!