Это скорее вопрос теории информатики/теории информации, чем простое программирование, поэтому, если кто-нибудь знает лучший сайт, чтобы опубликовать его, пожалуйста, дайте мне знать.избыточное кодирование?
Предположим, у меня есть N-разрядная часть данных, которая будет отправлена избыточно в сообщениях M, где по крайней мере M-1 этих сообщений будет успешно принят. Меня интересуют различные способы кодирования N-разрядной части данных за меньшее количество бит на сообщение. (Это похоже на RAID но в гораздо меньшем уровне, где N = 8 или 16 или 32)
Пример: предположим, N = 16 и М = 4. Тогда я мог бы использовать следующий алгоритм:
1st and 3rd message: send "0" + bits 0-7
2nd and 4th message: send "1" + bits 8-15
Если я могу гарантировать, что 3 сообщения из 4 пройдут, то по крайней мере одно сообщение от каждой группы пройдет. Таким образом, я могу сделать эту работу с 9 бит или меньше, возможно, есть способ сделать это с меньшим количеством битов, но я не уверен, как это сделать.
Есть ли простые алгоритмы кодирования/декодирования, чтобы делать такие вещи? Имеет ли эта проблема имя? (если я знаю, что это называется, я могу Google это!)
примечание: в моем конкретном случае, сообщения либо прибыть правильно или не приходят вовсе (сообщения не приходят с ошибками).
(редактирование: перемещаемые вторые части в отдельный вопрос)
(это isn ' t домашнее задание, кстати) –
Получают ли сообщения в случайном порядке (сложнее)? Или нам разрешено предполагать, что сообщения, которые поступают правильно, всегда поступают в том порядке, в котором они были отправлены (проще)? –
Это было 2 года назад, я понятия не имею. :-((должна быть кнопка «больше не актуальна» для OP) –