Форум HeroesWorld-а - Показать сообщение отдельно - [Игра]Викторина
Показать сообщение отдельно
#1025
Старый 14.10.2016, 02:10
  #1025
^
Uranium235
 
Аватар для Uranium235
📖
Регистрация: 23.05.2015
Сообщения: 679
1487
Отправить сообщение для  Uranium235 с помощью ICQ
Регистрация: 23.05.2015
Сообщения: 679
1487
Отправить сообщение для  Uranium235 с помощью ICQ
По умолчанию
Re: [Игра]Викторина

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

Добавлено через 1 час 2 минуты
Функция Ф - это хог, он же четность (0 - одинаковые символы, 1 - разные символы). Само сообщение - АБВГ, цифры - номера битов.
Бит 1: Ф(А, Б)
Бит 2: Ф(В, Г)
Бит 3: Ф(1, 2)
Видно наличие/отсутствие ошибки среди первых трех битов
Бит 4: Ф (А, Г)
Бит 5: Ф (Б, В)
Бит 6: А
Бит 7: В
Если ошибка в трех первых битах успешно читаем сообщение. Пусть там нет ошибки.
Можно проверить наличие ошибки в битах 4 и 5:
Мы точно знаем из 1го и 2го, одинаковые или разные А с Б и В с Г.
То есть 00, 01, 10 или 11.
Если 1й и 2й биты имеют значения 00 или 11, то 4 и 5 тоже должны быть либо 00, либо 11 (допустимы обе комбинации одинаковых значений).
Для 01 и 10 известных неизвестные без ошибки тоже должны быть 01 и 00.
Если ошибка среди 4 и 5 есть, мы по прежнему строим сообщение через биты 1,2,6,7. Пусть ее нету. Ошибка в А, в В либо ее вообще нету.
Если ошибки вообще нету, то подставив А и В в функции 1,2 и 3,4, получим исходное сообщение в обоих случаях, причем одинаковое. Если разное, то инвертировав либо А, либо В, можем назвать абсолютно точно Ф(А, В). Я не знаю почему, но кажется, что решив систему уравнений с этой функцией и функциями из битов 1-2, 4-5, можно найти, в А или В косяк. Но видимо нет, но думать мне уже лень. Но предыдущий результат я несколько улучшил. Я читаю сообщение в 5 случаях испорченного бита и в случае отсутствия ошибки, и только в случае порчи двух конкретных битов имею 2 варианта сообщения, причем знаю об этом.
Можно попробовать также, но контрольный (3й бит) взять как Ф (2, 6).
Uranium235 вне форума
Ответить с цитированием