Взвешивания и количество информации
Ошибка.
Попробуйте повторить позже
Фокусник и его Ассистент готовятся показать следующий фокус. Фокуснику завяжут глаза, после чего один из зрителей напишет на доске
60-битное слово (последовательность из 60 нулей и единиц). Ассистент уверен, что сможет незаметно сообщить фокуснику 44 бита (не
обязательно написанные в слове, можно вычислять любые функции). После чего Фокусник должен будет назвать слово. Для какого
наибольшего числа Фокусник и Ассистент могут придумать стратегию, позволяющую всегда назвать слово, совпавшее хотя бы в
битах с написанным зрителем?
Источники:
Докажем оценку
______________________________________________________________________________________________________________________________________________________
Пусть существует стратегия, позволяющая ошибаться не более чем в битах
т.е.
Тогда заметим, что
Наблюдатель, знающий стратегию Фокусника, сообщенное Ассистентом слово, и набор бит, в которых ошибся Фокусник,
может восстановить написанное Зрителем слово. В самом деле, Наблюдатель берет слово, которое должен был написать
Фокусник, и меняет его в тех местах, где Фокусник ошибся. Значит, количество различных пар вида "слово сообщенное
Ассистентом и набор мест, в которых фокусник ошибся"не меньше, чем различных слов, которые мог написать зритель. То
есть
Перепишем в виде
Заметим, что при неравенство неверно:
_________________________________________________________________________________________________________________________________________________________________________________
Теперь попробуем показать, из каких соображений строится пример. Для начала напомним конструкцию, известную как математикам так и программистам: двоичный код длины 15, позволяющий передать 11 бит полезной информации и исправить ошибку не более чем в одном бите (также известен как 15-битный код Хэмминга). Построим его.
Для начала заметим, что есть ровно 11 слов длины 4 из нулей и единиц, содержащих хотя бы две единицы (всего слов минус
одно из одних нулей, минус четыре с одной единицей). Припишем такие слова номерам от 1 до 11 как угодно, например как в таблице:
Теперь построим код таким образом: в первые 11 бит запишем те биты, которые хотим передать (первые 11 позиций будем называть информационными). В последние 4 бита запишем следующие контрольные суммы. В 12-й запишем сумму по модулю два тех из первых 11 бит, приписанное 4-значное число которых имеет 1 в первом разряде, то есть биты № 3,5,6,8,9,10,11. В 13-й — сумму тех из первых 11 бит, приписанное 4-значное число которых имеет 1 во втором разряде, в 14-й сумму бит, имеющих 1 в третьем разряде приписанного слова, в 15-й — в четвертом. Покажем, почему этот код позволяет исправить одну ошибку при передаче.
_________________________________________________________________________________________________________________________________________________________________________________
Пусть Получатель получил кодовое слово, возможно искаженное в одном бите. Получатель точно так же по первым 11 битам посчитает 4 контрольные суммы, и сравнит их с четырьмя полученными. Если совпали все четыре — то слово дошло без искажений. В самом деле, если бы исказился контрольный бит — в нем было бы расхождение, а если информационный — то расхождения были бы во всех контрольных, в которые он входит. Аналогично, если расхождение есть ровно в одном контрольном бите, то исказился именно он. В самом деле, если исказился другой контрольный — то все информационные дошли правильно, тогда в этом контрольном расхождения бы не было; а если исказился информационный, то все контрольные дошли правильно, и тогда расхождения были бы во всех контрольных, в которые входит искаженный информационный, а таких контрольных хотя бы два (именно за этим мы приписывали комбинации нулей и единиц, содержащие хотя бы две единицы). По аналогичным соображениям если получатель видит не менее двух расхождений с контрольными битами, то искажен точно информационный. Тогда достаточно из 11 информационных позиций выбрать ту, в приписанном 4-битном слове которой единицы стоят ровно на тех местах, на которых есть расхождения с контрольными суммами — это и есть искаженная позиция.
_________________________________________________________________________________________________________________________________________________________________________________
Теперь подумаем в других терминах, что же мы построили. У нас есть код из кодовых слов. Каждое из этих слов можно исказить
16 способами (ничего не менять, или изменить один из 15 бит). Все
полученных в результате слов будут разными. В самом
деле, если бы какое-то слово
получалось двумя разными способами: искажением кодового слова
и искажением
кодового слова
(в обоих случаях — не более чем в одном бите), то код бы не исправлял одну ошибку — Получатель может
получить слово
но в этом случае не может понять, посылали ему
или
Итак, все
слов разные, но это
означает что вообще любое из слов длины 15 получается искажением какого-то из кодовых слов не более чем в одном
бите.
На этом и построим стратегию Фокусника и Ассистента. Ассистент видит написанное зрителем 60-битное слово, режет его на четыре
15-битных слова Как доказано выше, для них найдутся кодовые слова
такие что
отличается от
не
более чем в одном символе. Тогда Ассистент выбрасывает из каждого кодового слова контрольные символы, получает четыре слова длины
11, то есть одно слово длины 44. Его он и передает Фокуснику. Фокусник восстанавливает контрольные суммы, получает слово
отличающееся от исходного максимум в четырех битах — победа.
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!