Skip to content

ru-hascon/tritpacker

Repository files navigation

TritPacker v1.0.0

Атомарный модуль троичной упаковки 8 тритов в 13 бит.

Описание

TritPacker — фундамент проекта Topo-Transit Hub v2 (QNEX OS). Преобразует массив из 8 тритов (-1, 0, +1) в 13-битное целое и обратно.

Быстрый старт

make test

Ручная компиляция

gcc -std=c11 -O3 -Wall -Wextra -pedantic
trit_packer.c test_trit_packer.c
-o test_trit -lm ./test_trit

Ожидаемый вывод

=== TritPacker v1.0 — Exhaustive Test Suite ===

[TEST 1/12] Exhaustive round-trip (6561 combinations)... PASS (0 errors) [TEST 2/12] Degenerate codes (6561..8191)... PASS (0 errors) [TEST 3/12] Reserved bits (13-14)... PASS [TEST 4/12] Parity round-trip... PASS (0 errors) [TEST 5/12] Hamming distance... PASS [TEST 6/12] Majority vote... PASS [TEST 7/12] Entropy... PASS (H_all_neg=0.0, H_mixed=12.49) [TEST 8/12] String representation... PASS (+0-+0-+0) [TEST 9/12] Network serialization... PASS (0 errors) [TEST 10/12] Trit compare... PASS [TEST 11/12] Consistency... PASS [TEST 12/12] Transmission size... PASS

=== ALL 12 TESTS PASSED ===

API (ключевые функции)

trit_pack — упаковать 8 тритов в 13 бит trit_unpack — распаковать 13 бит в 8 тритов trit_is_degenerate — проверка на вырожденный код topo_check_parity — проверка целостности protected_mask topo_form_protected_mask — формирование защищённой маски topo_extract_trits_ex — извлечение тритов с диагностикой trit_hamming_distance — троичное расстояние Хэмминга trit_entropy_bits — энтропия Шеннона (биты) trit_entropy_bits_fast — энтропия через LUT (без FPU) trit_majority_vote — мажоритарное голосование trit_mask_to_string — отладочная строка вида +0-+0-+0 trit_mask_to_network — сериализация в Big Endian topo_estimate_transmission_size — оценка размера пакета topo_calculate_compression_ratio — степень сжатия

Статистика

Компиляция: C11, 0 предупреждений (-Wall -Wextra -pedantic) Тесты: 12/12 PASS Покрытие: 100% (exhaustive: 6561 комбинация) Сложность: O(1) для всех операций Память: 0 выделений в куче FPU: не требуется (кроме trit_entropy_bits)

Лицензия

MIT License. Свободное использование, модификация, распространение.

TritPacker

Энтропийно-оптимальная упаковка троичных состояний: 8 тритов в 13 бит.

🎯 Какую проблему мы решаем?

В современных системах передачи данных (IoT, телеметрия, сетевые протоколы, базы данных) часто возникают ситуации, когда параметр имеет не два (0/1), а три состояния. Например:

  • +1 (Активно / Истина / Передавать полностью)
  • 0 (Неизвестно / Суперпозиция / Передавать только знак)
  • -1 (Неактивно / Ложь / Схлопнуть и отбросить)

Наивный подход выделяет на такое состояние 2 бита (00, 01, 10), где одна комбинация (11) простаивает. Это дает 25% потерь на каждом флаге. При передаче миллионов пакетов в секунду это гигабайты "воздуха" в сети, лишнее энергопотребление и нагрев оборудования.

💡 Решение: Математика на страже трафика

TritPacker использует свойства троичной системы счисления и схему Горнера, чтобы упаковать массив из 8 троичных состояний ($3^8 = 6561$ комбинация) в теоретический минимум по Шеннону — 13 бит ($2^{13} = 8192$).

Результат:

  • 📉 Экономия 19% трафика и памяти по сравнению с побитовым кодированием.
  • $O(1)$ по памяти: не требует таблиц степеней, работает только с регистрами CPU.
  • 🚀 Branchless-дизайн: алгоритм не содержит условных переходов (if/else), что исключает промахи конвейера процессора (branch mispredictions) и обеспечивает детерминированное время выполнения (критично для Real-Time систем).

🌍 Где это применяется?

  1. Сети с экстремальными ограничениями: Спутниковая связь, глубоководные дроны, межпланетный интернет (DTN), где каждый бит стоит денег и энергии.
  2. Топологическое сжатие данных: Используется как фундаментальный слой (атомарный кирпич) в алгоритмах адаптивного схлопывания N-мерных пространств признаков (патентные технологии QNEX OS).
  3. Классическая эмуляция квантовых систем: Триты являются прямой классической проекцией кутритов (qutrits — 3-уровневых квантовых систем). Библиотека позволяет моделировать квантовые схемы и топологические инварианты на стандартных CPU/GPU без потери метрики.

🧠 Почему не стандартные методы?

Метод Бит на 8 состояний Избыточность Недостатки
Наивный (2 бита/трит) 16 бит ~25% Тратит трафик, ломает метрику расстояний.
TritPacker (Схема Горнера) 13 бит ~0.4% Достигает энтропийного предела Шеннона. Сохраняет лексикографическую непрерывность.

⚙️ Ключевые особенности архитектуры

  • Сохранение топологической метрики: Разность между упакованными числами коррелирует с "расстоянием" между состояниями. Это позволяет использовать TritPacker в алгоритмах локально-чувствительного хэширования (LSH) для дедупликации данных и поиска аномалий.
  • Масштабируемость: Формула биты = ⌈N × log₂(3)⌉ позволяет легко расширять упаковку на 16, 32 и более состояний с логарифмическим ростом затрат.
  • Готовность к SIMD: Арифметическая природа алгоритма идеально ложится на векторные инструкции (AVX2 / AVX-512 / ARM NEON).

Примечание: TritPacker является классическим алгоритмом теории информации. Эмуляция кутритов и топологическое схлопывание — это математические модели, работающие на стандартном оборудовании (x86/ARM) и не требующие квантовых процессоров (физическая эмуляция, не доказано как аппаратная квантовая телепортация).

About

Atomic ternary packer: 8 trits → 13 bits. Foundation of Topo-Transit Hub based in QNEX OS.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors