Решил не мелочиться, и продолжить парад хороших идей. В этот раз мы разбираем модель передачи данных позволяющую их сжимать. Суть метода в заглавии: нам интересны не только сами данные но и время их прибытия, и в зависимости от времени их кодирование будет меняться. Для лучшего понимания смотрим на пример с картиночки:
Рассмотрена простейшая модель сети. Есть сервер, к серверу подключены два клиента, клиенты не сообщаются друг с другом. В некий момент времени сервер начинает передавать одинаковые данные своим клиентам. Ширина канала по сути 2бита в сек. Как бы сервер передавал без схемы сжатия? Просто бы поделил канал на количество клиентов и подал все как есть. Конкретно для этой последовательности 16 бит: каждый клиент получает 16 бит за 16 секунд, общее количество переданных данных 32 бита. А теперь представим что у клиентов есть таблица перевода, допустим её когда-то передали им отдельно. Тогда, смотрим на картиночку, получается что используя подобную схему кодирования каждый клиент получает 8 бит за 9 секунд, а общее количество переданных данных будет 16 бита. Данная схема не самая оптимальная, самая передала бы за 8 сек. Оптимальность таблицы зависит от самих данных, строятся оптимальные таблицы обратным образом, просто прикидываешь что в какую секунду и кому должно было передаться. Ну это по времени оптимальное, если оптимизировать по общему количеству переданных бит для данной последовательности то получиться: передано 2 бита, по биту на каждого, за где-то в районе 2^16 секунд. Почему это работает: мы передаем одни и те же данные в одно и то же время, а это избыточно, и её можно сократить
Ну что, как идея? Не у кого нет желания разработать теорию полностью, для любой ширины канала и любого количества клиентов? Я этого делать не буду, ибо мне не платят и Phd защищать мне тоже не нужно.
Кстати, факт из разряда очевидного-невероятного: для передачи\обработки высокого сигнала «1» нужно больше энергии чем для низкого «0». Буквально можно проверить, взять и забить всю оперативку в одном случае нулями а в другом единицами и сравнить энергопотребление.