Взвешивания и количество информации
Ошибка.
Попробуйте повторить позже
Неизвестный 100-значный код составлен из цифр 1 и 2. Характеристикой произвольного 100-значного числа
, также составленного из
единиц и двоек, назовём количество разрядов, в которых цифры числа
совпадают с цифрами кода. Докажите, что, узнав
характеристики некоторых фиксированных 80 чисел
, можно определить
.
Подсказка 1
Давайте для начала подумаем, как найти количество единиц и двоек в Х? Характеристику какого числа Y нужно узнать?
Подсказка 2
Верно, если мы подставим число, состоящее из единиц, то его характеристикой будет как раз количество единиц в Х! Но что делать дальше.. В коде аж 100 цифр, сложно анализировать такую длинную последовательность. Может, стоит рассмотреть маленькие кусочки кода?
Подсказка 3
Разбейте все числа на пятёрки, и найдите количество единиц в каждой пятёрке. Как теперь за несколько действий определить, из каких цифр состоит эта пятерка?
Подсказка 4
Пятёрки так же можно поделить на кусочки поменьше! Например, нам может помочь, что если в паре 0 или 2 единицы, то их позиции определяются однозначно!
Сначала подставим число, состоящее из всех единиц, чтобы узнать их количество в
Далее будем рассматривать пятерку чисел, о которой мы будем знать количество единиц в ней, подставив число, состоящее из 5 двоек на позициях рассматриваемой пятерки. Далее в нашей пятерке зафиксируем число на произвольной позиции, относительно которого будем рассматривать пары чисел, подставляя на их позиции число 2. Таким образом, проведя 3 таких операции, мы определим число единиц в каждой такой паре. Значит, если в какой-то паре мы получили ответ, что в ней 0 или 2 единицы, то их позиции определяются однозначно. Зная, какая цифра находится на фиксированной позиции, мы однозначно определяем позиции остальных чисел. Если на все три пары мы получили ответ, что в них находится одна единица, то у нас возможны 2 варианта: либо на фиксированной позиции стоит цифра 2, а в остальных 1, либо наоборот, на фиксированной позиции стоит цифра 1. Зная количество единиц в этой пятерке, мы можем однозначно определить, какой из этих случаев выполняется.
Разбив число на 20 таких пятерок, получим, что мы определяем его за
ход, но зная общее количество единиц в числе
и число единиц в каждой из 19 пятерок, мы можем определить количество единиц в последней пятерке, не тратя на это ход.
Следовательно, узнав характеристики 80 чисел
можно однозначно определить число
Ошибка.
Попробуйте повторить позже
Имеется лента длины миллион с записанной на ней последовательностью нулей и единиц. Паре игроков предложено сыграть против казино
в следующую игру: каждый из них говорит или
после чего вскрывается очередное число с ленты. Если оказывается, что оба его
угадали, то казино выплачивает им
в противном случае берет с них
Один из игроков заранее знает всю последовательность
чисел на ленте. Увы, ему запрещено как-либо передавать эту информацию своему партнеру — он может только делать
ходы в игре. При этом они могут договориться о стратегии до начала игры. Как должны действовать партнеры, чтобы не
проиграть?
Подсказка 1
Попробуем устроить стратегию так, что знающий всю ленту, будет определять достаточно много ходов своего партнера наперед. Например, можно ли договориться о такой стратегии, чтобы своими десятью ходами знающий ленту определял следующие десять ходов партнера?
Подсказка 2
Заранее можно договориться о том, что означают десять ответов первого для ответов следующего. Пусть они построят стратегию так, что будет ровно 3 ошибки и 7 правильных ответ, всего есть 3240 способов договориться об этом! А можно ли за первые 20 ходов закодировать еще какую-нибудь информацию о следующих ходах?
Подсказка 3
Рассмотрим следующие 11 ходов. Последовательностей из нулей и единиц всего 2048, что меньше 3240, а потому за первые 20 ходов можно построить информацию о следующих 11 символах и наверняка их угадать! Как теперь полностью выглядит стратегия?
Подсказка 4
Верно! Нужно разбить ленту на участки по 31 и 2 последние клетки, и повторять действия циклично. Остается проверить, что в этом случае партнеры не проиграют!
Разобьем ленту на участков из
числа и останется
последние клетки. Стратегия будет повторяться отдельно для каждого
участка.
Провидец (тот, кто знает всю ленту заранее) может первыми ходами задать следующие
ходов своего партнера. И пускай он это
сделает так, что среди них будет
поражения и
побед, теперь посчитаем, сколькими способами он может это сделать.
— способов
выбрать позиции на ленте для поражения и
способа выбрать вариант поражения(оба не угадали цифру, ошибся только партнер, ошибся
только провидец), всего
Рассмотрим оставшиеся позиций. Количество возможных последовательностей из
и
будет
что меньше чем
Тогда каждой последовательности можно сопоставить некоторую комбинацию из ошибок, то есть в первые
ходов передать информацию
о последующих
символах и гарантированно угадать их.
Теперь посчитаем, сколько денег они получат с такой стратегией за ход. За первые
ходов проиграли не более
монет. За
последующие
проиграли в точности
выиграли
И в последующие
ходов забирают
монеты. По итогу игроки в плюсе
хотя бы на
монеты.
Повторив данную стратегию на всех участках будет заработано хотя бы а на последних двух клетках можно
проиграть не более
монет.
Ошибка.
Попробуйте повторить позже
Есть семь внешне неотличимых монет, массы которых соответственно равны и
грамма. Покажите, как сделать три
взвешивания на чашечных весах и после этого разложить все монеты на две чаши, чтобы установилось равновесие.
Подсказка 1
Заметим, что мы ищем монеты с суммой 5. Выделим 5 монет А, Б, В, Г, Д. Первыми двумя взвешиваниями возьмём пары А и Б, В и Г. Если оба раза получились неравенства, то мы победили.
Подсказка 2
Допустим, мы получили оба раза равенство. Тогда уже есть 4 монетки веса 1, и мы почти победили. Если равенство было один раз, то мы точно нашли две единички, стоит найти массу тяжелой монеты.
Заметим, что достаточно найти несколько монет общей массой г, так как они уравновесят оставшиеся монеты. Возьмем любые пять
монет и обозначим их буквами А, Б, В, Г, Д. Первыми двумя действиями взвесим пары А и Б, В и Г.
Если в обоих взвешиваниях весы показали неравенство, то монеты г и
г найдены, их сумма составляет
г.
Если в обоих взвешиваниях весы показали равенство, то монеты А, Б, В, Г все весят по г. Третьим действием поставим А и Б на
одну чашу, а Д — на другую. Так мы поймем массу монеты Д и при любой её массе среди известных масс набирается
г.
Если в одном взвешивании было равенство, а в другом — неравенство, пусть А = Б и В > Г. Тогда монеты А и Б весят по г, а В —
или
г. Взвесив В с А и Б вместе, определим массу монеты В. Если В весит
г, то Г весит
г. Тогда монеты А, Б, В, Г имеют общую
массу
г. Если В весит
г, то монеты А, Б и В имеют общую массу
г.
Ошибка.
Попробуйте повторить позже
На игрушечной кольцевой автостраде в некоторых местах стоят одинаковые машинки. В какой-то момент времени они все начинают ехать с одинаковой скоростью, часть — по часовой стрелке, часть — против. Если две машинки оказываются в одной точке, то каждая из них резко разворачивается и начинает ехать с той же скоростью, но в противоположном направлении. Ни в какой момент времени не встречаются более двух машинок. Докажите, что через некоторое время все машинки одновременно окажутся на местах, откуда они начинали свое движение.
Подсказка 1
Пусть у каждой машинки будет свой номер. Представим, что машинки не разворачиваются при столкновении, а проходят друг через друга без изменения направления. Но тогда мы не будем учитывать, что какие-то две машинки должны были развернуться. А что можно сделать вместо разворота, чтобы это учесть?
Подсказка 2
Верно! Достаточно поменять номера машинок местами! Теперь наши машинки никуда не разворачиваются, а просто едут по автостраде. Ясно, что достаточно сделать так, чтобы машинки оказались с исходными номерами. А как можно этого добиться?
Подсказка 3
Конечно! За k!+1 прохождение автострады найдутся две одинаковых перестановки номеров машинок, если изначально машинок было k. Однако эта перестановка номеров могла быть не изначальной. Что тогда нужно сделать, чтобы какая-то перестановка номеров встретилась дважды, при этом первый раз в начале?
При столкновении двух машинок их разворот эквивалентен тому, что они проходят друг через друга без изменения направления. Таким образом, столкновения не изменяют общую динамику системы, а лишь меняют “метки” машинок. Будем считать, что у машинок есть номера, а при столкновении происходит перестановка номеров двух машинок.
За время прохождения автострады машинки вернутся в начальные позиции, но с другими номерами. Заметим, что если у нас
машинок, то всего
перестановок, тогда за
прохождение автострады найдутся две одинаковые перестановки
Заметим, что все столкновения на каждом прохождении трассы происходят одинаково с точностью до номеров машинок,
то есть зависят только от номеров, которыми машинки меняются. Тогда просто заменим изначальные номера машинок
на перестановку
тогда в какой-то момент машинки вернутся с такой же перестановкой номеров, что и требовалось
показать.
Ошибка.
Попробуйте повторить позже
Есть камней, выложенных в порядке возрастания весов. За какое наименьшее число взвешиваний на чашечных весах без гирь можно
проверить или опровергнуть утверждение: “Любые пять камней вместе тяжелее любых трех”?
Подсказка 1
Было бы логично проводить взвешивания, при которых на одной из чаш весов пять камней, на другой - три камня. Давайте подумаем, какой результат может дать такое взвешивание и что оно будет значить?
Подсказка 2
Ага, если в какой-то момент получим, что пятёрка камней легче тройки, сразу понимаем, что утверждение неверно. А вот если не так, то можно сделать вывод о том, что пятёрки камней, с суммарным весом хотя бы как у взвешенной пятёрки будет хотя бы такой, как суммарный вес любой тройки, весом не превосходящей взвешенную. Тогда давайте придумаем взвешивание, дающее как можно больше информации.
Подсказка 3
Действительно, сравнив веса пятёрки самых лёгких камней с тройкой самых тяжёлых, можно доказать или опровергнуть утверждение.
Предъявим конкретное взвешивание: на первую чашу весов кладём пять самых лёгких гирь, на вторую три самые тяжёлые. Действительно, если утверждение “любые пять камней вместе тяжелее любых трех” верно, то весы очевидно покажут перевес на первой чаше. Если же утверждение неверно, то есть можно выбрать пятёрку камней и тройку камней, что суммарный вес пятёрки не больше веса тройки. А поскольку суммарный вес любых пяти камней как минимум вес пяти самых лёгких, а суммарный вес любых трёх камней не больше веса трёх самых лёгких, весы гарантированно покажут не перевес первой чаши. Соответственно мы различим исходы и сделаем верный вывод.
одно взвешивание
Ошибка.
Попробуйте повторить позже
В одиннадцатом классе учится школьников. В их учебный план включены
дисциплин. Для каждой дисциплины можно
выбрать
сильнейших школьников — тех, которые наиболее хорошо разбираются в ней. Всегда ли можно рассадить
всех школьников по двум аудиториям так, чтобы в каждой аудитории сидел хотя бы один школьник из каждой пятёрки
сильнейших?
Подсказка 1
Предположим, что не существует способа рассадить всех школьников по двум аудиториям так, чтобы в каждой аудитории сидел хотя бы один школьник из каждой пятёрки сильнейших. Что в этом случае можно сказать про любой из способов?
Подсказка 2
В каждом способе найдется по крайней мере одна дисциплина, пятерка сильнейших по которой находится полностью в одном из кабинетов. Сколько всего существует способов рассадить школьников по двум аудиториям так, чтобы пятерка сильнейших по одному выбранному предмету сидела в одной из аудиторий?
Подсказка 3
Всего 2*2²⁵ способов. Сколько способов рассадить школьников по двум аудиториям так, чтобы существовала дисциплина пятерка сильнейших по одному которому сидела в одной из аудиторий?
Подсказка
Всего 15*2²⁶. Покажите, что это число меньше, чем общее количество способов рассадки школьников по двум аудиториям и завершите доказательство.
Всего способов рассадить школьников по двум разным аудиториям (каждого из
школьников можно посадить в одну из двух
аудиторий). Способов рассадить школьников по аудиториям, при которых по конкретному предмету в какой-то из аудиторий нет
сильнейших
ведь можно двумя способами выбрать аудиторию, в которой не будет сильнейших по предмету, а остальных в
любую из двух. Тогда способов рассадки, при которых в одной из аудиторий нет сильнейших хотя бы по одному из предметов не более
Отметим, что
а значит, в каком-то из способов не нашлось аудитории, в которой нет сильнейших ни по
одному предмету.
Да, всегда
Ошибка.
Попробуйте повторить позже
Есть несколько карт. Зритель загадывает одну из них. Фокусник раскладывает все карты на стопки и узнает у зрителя, в какой стопке
оказалась задуманная карта. При каком наибольшем количестве карт можно наверняка определить задуманную карту за
вопроса?
Каждый раз нам указывают на одну из четырёх стопок, значит, за три вопроса мы получим максимум различных
последовательностей ответов. Если карт больше
то не получится однозначного соответствия возможных загаданных карт и
последовательностей ответов, значит, гарантированно отгадать задуманную карту не получится.
Приведём также пример, что одну из карт угадать всегда получится. Разобьем первым действием карты на стопки по
Нам
укажут на одну из этих стопок.
карт выбранной стопки разобьем на стопки по
остальные — как угодно. Нам снова укажут на одну
из стопок, значит, загаданная карта — одна из четырёх. Эти карты снова разбиваем на четыре стопки, теперь по одной, остальные как
угодно. Нам укажут на одну из стопок, а значит и на одну из этих четырёх карт, и мы однозначно определим, какая карта
загадана.
карты
Ошибка.
Попробуйте повторить позже
Имеется с виду одинаковых шаров, два из которых радиоактивны. Дозиметром можно проверить, есть ли хотя бы один
радиоактивный шар в произвольной группе. За какое наименьшее число проверок можно выявить оба радиоактивных
шара?
Каждый раз дозиметр либо пищит, либо нет, а значит за три проверки мы получим максимум различных последовательностей
ответов. Возможных вариантов, когда два шара из пяти радиоактивны, —
Если мы сделали всего три проверки, то не получится
однозначного соответствия возможных исходов и последовательностей ответов, значит, за
проверки гарантированно определить
радиоактивные шары не получится.
За четыре — возможно. Например, каждым действием проверяем ровно один еще не использовавшийся шар. Таким способом про каждый проверенный шар мы узнаем: радиоактивный он или нет, тогда и пятый шар определиться однозначно.
проверки
Ошибка.
Попробуйте повторить позже
По кругу лежат монет, из которых ровно три — фальшивые, которые лежат рядом и весят одинаково, причем тяжелее, чем настоящие.
За какое наименьшее количество взвешиваний можно найти все три фальшивые монеты?
Каждый раз весы показывают либо равенство, либо что первая чаша легче, либо что вторая чаша легче, а значит за два взвешивания мы
получим максимум различных последовательностей ответов. Возможных вариантов, когда три рядом лежащие монеты
фальшивые, — 20. Если мы сделали всего два взвешивания, то не получится однозначного соответствия возможных исходов и
последовательностей ответов, значит, за 2 гарантированно определить фальшивые монеты не получится.
За три взвешивания— возможно.
Лемма: За взвешивание можно найти три фальшивые среди пяти подряд идущих монет. Доказательство: Пусть монеты
Взвесим
и
Если весы показали равенство, то фальшивые
Если
тяжелее (
тяжелее аналогично), то фальшивые
Таким образом, лемма доказана.
Пронумеруем монеты от до
Первое взвешивание:
монеты на первой чаше, а
на второй.
Если весы показали равенство, то значит среди и
монет нет фальшивых. Вторым действием:
на
первой чаше, а
на второй. Равенства в таком случае быть не может. Одна чаша тяжелее, там и находятся все три
фальшивые монеты. Наша задача за
действие найти среди пяти подряд идущих монет три фальшивые, мы это умеем по
лемме.
Если весы показали, что тяжелее (
тяжелее аналогично), то значит среди
находятся все три фальшивые монеты.
Вторым действием: взвесим
и
Если весы показали равенство — фальшивая тройка полностью содержится среди
умеем
находить за 1 действие по лемме. Если
тяжелее, то все три фальшивые монеты находятся среди
умеем находить за
действие
по лемме. Если
тяжелее, то все три фальшивые монеты находятся среди
умеем находить за
действие по
лемме.
взвешивания
Ошибка.
Попробуйте повторить позже
Каким наименьшим числом гирь можно набрать все веса г,
г,
г,
г?
Каждую гирю мы можем либо взять, либо нет.
Используя гирь, мы можем различить максимум
весов, что меньше чем
Теперь возьмём гири Любое число можно единственным образом разложить в сумму различных степеней
двоек (двоичная система счисления). А значит, любое число граммов от
до
можно получить с помощью данных
гирь.
Ошибка.
Попробуйте повторить позже
Имеется с виду одинаковых шаров, два из которых радиоактивны. Дозиметром можно проверить на радиоактивность любую группу
шаров. За какое наименьшее число проверок можно выявить оба радиоактивных шара?
Пусть возможно определить радиоактивные шары за проверки. Тогда рассмотрим каким может быть первое взвешивание: Если мы взяли
один шар и дозиметр не пропищал, то осталось
возможных исходов (
радиоактивных среди
). Если мы
взяли два шара и дозиметр пропищал, то осталось
возможных исходов (
если оба выбранных радиоактивны;
если
один из них). Если мы взяли три шара или больше и дозиметр пропищал, то возможных исходов еще больше чем
Таким образом за
оставшихся проверки мы можем получить максимум
различных последовательностей ответов.
Если мы сделали всего четыре проверки, то после первого хода (на наше взвешивание дозиметр может пропищать или нет,
но в любом случае есть результат, который не запрещает хотя бы
исходов) не получится однозначного соответствия
возможных исходов и последовательностей ответов, значит, за
проверки гарантированно определить радиоактивные шары не
получится.
За пять — возможно. Например, каждым действием проверяем ровно один еще не использовавшийся шар. Таким способом про каждый проверенный шар мы узнаем: радиоактивный он или нет, тогда и шестой шар определиться однозначно.
проверок
Ошибка.
Попробуйте повторить позже
За какое минимальное число взвешиваний на чашечных весах можно упорядочить пять гирь с попарно различными массами по возрастанию масс? За одно взвешивание можно сравнивать только две гири.
Каждый раз весы в этой задаче показывают,что либо первая чаша легче, либо вторая чаша легче, а значит за шесть взвешиваний мы
получим максимум различных последовательностей ответов. Возможных вариантов, когда
гирь как-то упорядочены, —
Если мы сделали всего шесть взвешиваний, то не получится однозначного соответствия возможных исходов и
последовательностей ответов, значит, за
упорядочить не получится.
За семь взвешиваний — возможно. Пусть у нас есть гири Первым действием сравниваем
и
можем считать
что
Вторым действием сравниваем
и
можем считать что
Третьим действием сравниваем
и
можем считать что
Тогда мы поняли, что
давайте еще за два действия упорядочим гири
сначала сравним
и
а потом
и
(если
) или
и
(если
). Допустим гири как-то упорядочились
где
— это в некотором порядке
Заметим, что мы знаем что
и
тогда
Давайте за два действия определим место
сначала сравним
и
а потом
и
(если
) или
и
(если
).
взвешиваний
Ошибка.
Попробуйте повторить позже
В городе есть -этажное здание. Петя хочет узнать, начиная с какого этажа, если бросить оттуда кокосовый орех, он непременно
разобьется (считается, что если орех разбивается при падении с какого-то этажа, то он разбивается и при падении с более высоких). У Пети
есть два кокосовых ореха, которыми он готов пожертвовать. Какое минимальное количество бросков нужно совершить Пете, чтобы
гарантированно узнать ответ на свой вопрос?
Каждый раз у Пети орех либо бьется, либо нет, но среди всех наших бросков не может быть больше двух разбившихся
орехов, значит, за бросков мы получим максимум
различных последовательностей ответов.
Возможных вариантов этажа, начиная с которого бьется орех —
Если мы сделали всего
бросков, то не получится
однозначного соответствия возможных исходов и последовательностей ответов, значит, гарантированно определить этаж не
получится.
За — возможно.
Сбросим с этажа: если разбился ,то поочередно проверяем с
до
— на это нам хватит одного ореха и
бросков.
Если не разбился на этаже, то бросаем с
этажа: если разбился ,то поочередно проверяем с
до
— на это нам
хватит одного ореха и
бросков;
Если не разбился на этаже, то бросаем с
этажа: если разбился ,то поочередно проверяем с
до
— на это нам хватит одного ореха и
бросков;
Если не разбился на этаже, то бросаем с
этажа: если разбился ,то поочередно проверяем с
до
— на это нам хватит одного ореха и
бросков;
Если же орех не разбился с этажа, то значит он бьется при больших высотах, чем нам дано.
бросков
Ошибка.
Попробуйте повторить позже
При каком наименьшем среди
весов, из которых ровно
сломанных, можно из
монет определить одну фальшивую (количество
взвешиваний не ограничено)?
Покажем, что весов хватит. На каждых весах сравним первую монету с остальными девятью. Мы точно знаем, что хотя бы
рабочих весов покажут идентичные результаты на всех взвешиваниях (первая монета будет либо легче всех и окажется фальшивой, либо
она будет равна по массе всем, кроме одной, которая окажется фальшивой).
Пусть у нас не более весов. Попросим все сломанные весы действовать так, как будто вторая монета фальшивая, а остальные равны,
тогда как на самом деле фальшивой является первая. Тогда никогда не удастся выяснить, то ли все сломанные — сломаны (и фальшивая —
первая), то ли наоборот (и фальшивая — вторая).
Ошибка.
Попробуйте повторить позже
Докажите, что любым числом весов, среди которых есть двое сломанных, нельзя найти фальшивую монету (более легкую) из монет
за
взвешиваний.
Предположим противное — пусть существует алгоритм, позволяющий найти фальшивую монету из монет за
ходов.
Любой алгоритм можно закодировать в виде дерева, которое строится следующим образом. На первом уровне находится одна
вершина-корень, соответствующая первому взвешиванию. Из нее исходит три ребра на второй уровень, соответствующие различным
результатам этого взвешивания: и
Аналогично выстраиваются и последующие уровни: на уровне с номером
находится
вершин. На каждой указано, какое взвешивание в ней совершается, и из каждой вершины исходит по
ребра на уровень
соответствующие всевозможным результатам этого взвешивания.
Легко заметить, что в любом таком дереве листьев, и каждый лист соответствует некоторой последовательности из
взвешиваний. После
взвешиваний мы обязаны определить, какая из монет является фальшивой. Занумеруем монеты и запишем на
каждом листе номер монеты, на которую он указывает.
Выберем произвольную монету с номером и предположим, что она фальшивая. Тогда в дереве алгоритма обязательно должны
присутствовать листья:
Которые соответствуют случаю, когда все
взвешиваний были сделаны правильно. Ясно, что такой лист только
один;
Которые соответствуют случаю, когда одно из взвешиваний было выполнено неверно. Таких листьев ровно
Они могут быть
получены из пути к листу в пункте
если с него свернуть в произвольной вершине, а все остальные взвешивания выполнить
правильно;
Которые соответствуют случаю, когда два взвешивания были выполнены неверно. Аналогично, такие листья могут быть получены из
пути к листу в пункте
если с него свернуть в произвольной вершине, и далее все, кроме одного, взвешивания провести верно. Любой
такой лист характеризуется выбором двух позиций, на которых взвешивание произведено неверно, а также выбором одного из двух
неверных результатов, поэтому их количество равно
Итак, если монета фальшивая, то в дереве алгоритма должно быть хотя бы
листьев, которые на нее указывают.
Перестановкой монет можно добиться, чтобы фальшивая монета имела любой номер от
до
поэтому листьев должно быть
хотя бы
С другой стороны, известно, что листьев ровно
откуда следует неравенство
и
Это противоречит условию задачи, по которому
значит предположение о противном в начале решения было не
верным.
Ошибка.
Попробуйте повторить позже
Фокусник и его Ассистент готовятся показать следующий фокус. Фокуснику завяжут глаза, после чего один из зрителей напишет на доске
60-битное слово (последовательность из 60 нулей и единиц). Ассистент уверен, что сможет незаметно сообщить фокуснику 44 бита (не
обязательно написанные в слове, можно вычислять любые функции). После чего Фокусник должен будет назвать слово. Для какого
наибольшего числа Фокусник и Ассистент могут придумать стратегию, позволяющую всегда назвать слово, совпавшее хотя бы в
битах с написанным зрителем?
Источники:
Подсказка 1
Давайте начнём решать эту задачу с оценки. Причём мы будем рассуждать так, что фокусник при выписывании последовательности ошибся максимум в k символах, то есть C = 60 - k. Пусть мы знаем последовательность, написанную фокусником. Тогда с помощью какой информации на основе введённых данных мы сможем определить исходную последовательность?
Подсказка 2
Верно, нам нужно знать, в каких символах он ошибся. Тогда мы сможем однозначно определить последовательность. Но как нам это поможет в задаче? Давайте представим немного нашу задачу через множество и его покрытие. Всего возможных последовательностей, которые может написать зритель это 2^60. Давайте подумаем, как мы можем посчитать, сколько покроет одна последовательность, учитывая, что фокусник может ошибиться максимум в k знаках?
Подсказка 3
Верно, это считается с помощью числа сочетаний. Может быть такое, что он вовсе не ошибся, ошибся один раз и т.д. до максимум в k знаках. И того, для одной последовательности мы получаем сумму числа сочетаний. Но всего фокусник может получить 2^44 различных последовательностей, имея информацию от ассистента. Тогда учитывая мысль про покрытия множества размером 2^60, какую оценку мы получаем?
Подсказка 4
Да, сумма, умноженная на 2^44, должна быть больше 2^60. Но зачем? Чтобы даже, если мы ошибёмся максимум в k знаках, то мы всё равно победим, так как затронем все последовательности. Таким образом, несложной прикидкой получим оценку для k=4, откуда C=56. Теперь в следующей подсказке разберёмся с примером.
Подсказка 5
Суть нашего примера будет заключаться в том, как же действовать ассистенту, то есть какую последовательность передавать, и, что с ней делать фокуснику. Заметим, что фокусник в итоге ошибается только в 4 позициях. Давайте тогда для удобства, пока магически разобьём то, что будет передавать ассистент на блоки по 11 цифр. Тогда в каждом блоке фокусник будет что-то досчитывать, записывать и, в итоге, ошибаться максимум 1 раз в блоке. Попробуйте поугадывать, какая информация ему может понадобиться из этих 11 цифр? Стоит подумать в сторону информатики, последовательности 0 и 1 из 4 знаков и чётности, нечётности.
Подсказка 6
Давайте составим табличку из последовательностей с четырьмя символами, в которых есть хотя бы две единицы, и пронумеруем. Их будет как раз 11 штук. В последние 4 позиции блока запишем следующие "контрольные" суммы. Сначала запишем сумму по модулю два тех из первых 11 позиций, записанное 4-значное число которых имеет 1 в первом разряде. Потом аналогичное сделаем для 1 во втором разряде и т.д. до 4 разряда. Попробуем взять произвольную последовательность из 15 символов, а записать только 11. Посчитаем для них самостоятельно контрольные суммы. Теперь поизучайте эту конструкцию, например, что будет если контрольные суммы не совпадут? В скольких разрядах у них будет расхождение и где может быть ошибка – в четырех контрольных суммах или в первых 11 цифрах? А сколько в принципе может случится ошибок в такой строке, если не совпали контрольные суммы?
Подсказка 7
Ага, несложным перебором, где и сколько штук можно было допустить ошибок, понимаем, что она возможна только одна(либо в 11 цифрах, либо в контрольных суммах). Но для чего это всё таки было? Попробуйте прокрутить теперь эту конструкцию в обратном порядке. Пусть мы получили "кодовое слово" длины 15. Дальше считаем контрольные суммы по первым 11 цифрам и дописываем их. Таким образом, 15 цифр будут расходится максимум в 1 позиции. Как тогда отсюда получается окончательный пример?
Подсказка 8
Да, получается, что ассистент бьёт 60 цифр на группы по 15 и делает для них "кодовые слова" длинной 11, убирая контрольные суммы. Так и получается всего передача 44 знаков. Фокусник же далее восстанавливает контрольные суммы, как и само слово, ошибившись максимум 4 раза. Но всё таки осталось ещё понять, почему же вообще любое из слов длины 15 получается искажением какого-то из кодовых слов не более чем в одной позиции. И после этого будет победа!
Докажем оценку
______________________________________________________________________________________________________________________________________________________
Пусть существует стратегия, позволяющая ошибаться не более чем в битах
т.е.
Тогда заметим, что
Наблюдатель, знающий стратегию Фокусника, сообщенное Ассистентом слово, и набор бит, в которых ошибся Фокусник,
может восстановить написанное Зрителем слово. В самом деле, Наблюдатель берет слово, которое должен был написать
Фокусник, и меняет его в тех местах, где Фокусник ошибся. Значит, количество различных пар вида "слово сообщенное
Ассистентом и набор мест, в которых фокусник ошибся"не меньше, чем различных слов, которые мог написать зритель. То
есть
Перепишем в виде
Заметим, что при неравенство неверно:
_________________________________________________________________________________________________________________________________________________________________________________
Теперь попробуем показать, из каких соображений строится пример. Для начала напомним конструкцию, известную как математикам так и программистам: двоичный код длины 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. Его он и передает Фокуснику. Фокусник восстанавливает контрольные суммы, получает слово
отличающееся от исходного максимум в четырех битах — победа.
Ошибка.
Попробуйте повторить позже
У геолога есть чашечные весы без гирь и камней. Он хочет знать, верно ли, что два камня всегда тяжелее одного. Как ему
гарантированно проверить это за
взвешиваний?
Пусть масса -го камня равна
Разобьём камни на пары и в каждой паре сравним их:
Далее за
взвешивания среди камней
находим самый тяжёлый (пусть это
) по схеме: взвешиваем два из них, легкий заменяем на ещё
не взвешенный камень. Аналогичным образом, за
взвешивания среди камней
найдём самый лёгкий (пусть это
).
Нетрудно понять, что — самый тяжёлый среди всех камней, а
— самый лёгкий. Не умаляя общности, при нахождении самого
легкого камня из
мы получили что
поэтому достаточно сравнить
и
чтобы найти самый лёгкий камень из
(пусть это
).
Ясно, что легче всех камней от
до
и тяжелее
Сравним
с
Если
То
— второй самый лёгкий камень
после
В противном случае таким камнем является
(пусть
). Осталось убедиться в том, что
Из этого
неравенства следуют все другие неравенства между одним и двумя камнями, так как
при любых
Ошибка.
Попробуйте повторить позже
У царя Гиерона есть металлических слитков, неразличимых на вид; царь знает, что их веса (в некотором порядке)
равны
кг. Ещё у него есть прибор, в который можно положить один или несколько из имеющихся
слитков,
и он просигналит, если их суммарный вес равен ровно
кг. Архимед, знающий веса всех слитков, хочет написать на
двух слитках их веса и за два использования прибора доказать Гиерону, что обе надписи правильны. Как действовать
Архимеду?
Источники:
Подсказка 1
Заметим, что 4 самых тяжёлых слитка имеют массу как раз 46 килограмм. Также есть только один набор из 9 слитков, суммарная масса которых 46 килограмм.
Подсказка 2
Теперь остаётся заметить, что в этих наборах как раз найдутся 2 слитка, массы которых мы сможем определить!
Пусть Архимед сначала положит в прибор четыре самых тяжёлых слитка. Их суммарный вес — кг, и
прибор сработает. Других четвёрок слитков общим весом
кг у Архимеда нет. Значит, он показал Гиерону, какие четыре
слитка — самые тяжёлые. Затем он положит в прибор
слитков весами
кг и
кг. Прибор снова сработает.
Поскольку, как легко видеть, других девяток слитков общим весом
кг у Архимеда нет, он показал Гиерону, каков набор из
восьми самых лёгких слитков и слитка весом
кг. При этом оба раза в прибор клали ровно один слиток в
кг, а
ни разу не клали ровно один слиток в
кг. Поэтому Архимеду достаточно было написать веса на слитках в
и
кг.
Ошибка.
Попробуйте повторить позже
Найдите максимальное целое число для которого верно следующее утверждение: «Существует способ найти (определить)
единственную фальшивую монету среди
внешне одинаковых монет, взвешивая монеты на чашечных весах (без числовых делений) не
более трех раз и одновременно определить ее относительный вес (то есть легче она или тяжелее настоящих)». (Замечание:
предполагается, что все настоящие монеты имеют одинаковый вес, а фальшивая — другой вес, отличный от веса настоящих
монет).
Источники:
Подсказка 1
Сколько результатов можно получить за 3 взвешивания?
Подсказка 2
За одно взвешивание можно получить 3 результата, поэтому за 3 взвешивания получим 27. Теперь оцените n.
Подсказка 3
Количество вариантов фальшивой монеты и её относительного веса равно 2n, поэтому 2n ≤ 27 ⇒ n ≤ 13.
Подсказка 4
Будем перебирать n сверху. Пусть n = 13. Давайте предположим, что способ определить фальшивую монету существует, тогда либо приведем его, либо получим противоречие.
Подсказка 5
Заметим, что за 2 взвешивание можно получить только 9 результатов. Докажите, что в каждом взвешивании должно участвовать не менее 10 монет.
Подсказка 6
Докажите, что иначе в первом взвешивании участвует не более 8 монет.
Подсказка 7
Рассмотрите ситуации, когда в первом взвешивании участвует 10 монет, и сравните количества результатов с количествами вариантов.
Подсказка 8
Доказали, что n ≠ 13. Пусть n = 12. Попробуйте придумать алгоритм поиска фальшивой монеты. Сколько монет должно участвовать в первом взвешивании?
Подсказка 9
В первом взвешивании должно участвовать 8 монет, разберите ситуации, когда левая чаша тяжелее; правая чаша тяжелее; чаши уравновешены.
Сначала заметим, что за три взвешивания на чашечных весах можно получить только 27 результатов за каждое взвешивание на
чашечных весах можно получить только 3 результата — левая чашка легче правой, чашки уравновешены, правая чашка
Но
так как количество вариантов фальшивой монеты
и ее относительного веса
равно
то должно выполняться
неравенство
Следовательно,
Пусть
Докажем методом от противного, что определить фальшивую монету и одновременно её относительный вес требуемым способом невозможно. Для этого предположим противное, то есть то, что есть такой способ.
Заметим, что так как за одно взвешивание на чашечных весах можно получить только 3 результата легче правой,
чашки уравновешены, правая чашка
то за два взвешивания на чашечных весах можно получить только 9
результатов.
Теперь покажем, что в первом взвешивании должно участвовать не менее 10 монет . Действительно, в противном случае в первом
взвешивании участвует не более 8 монет
быть чётным, так как взвешивание происходит на чашечных весах, а на чашки
весов надо класть равные
Значит, если в результате первого взвешивания чашки весов уравновесятся, то фальшивая монета — одна из не менее, чем 5 монет, не
участвовавших в первом взвешивании, она может быть как легче, так и тяжелее настоящих, и, следовательно, у нас возможно не менее 10
вариантов и её
А так как число результатов, которые можно получить за два взвешивания, меньше числа вариантов, то определение фальшивой монеты и её относительного веса невозможно.
В первом взвешивании участвует не менее 10 монет — не менее 5 на каждой чаше весов. Если в результате первого взвешивания одна
чашка
чем 5
оказалась легче, а другая
не менее, чем 5
— тяжелее, то у нас возможно не
менее 10 вариантов
и ее
Вновь число результатов за 2 взвешивания будет меньше числа
вариантов.
Таким образом, предположив существование способа с помощью чашечных весов определить фальшивую монету и одновременно её относительный вес, мы пришли к заключению, что способ не существует, то есть — к противоречию с предположением.
Пусть
В описании способа определения фальшивой монеты будем использовать следующие обозначения:
- 1.
-
Монеты будем обозначать
а
—
- 2.
-
Выражения вида
для взвешивания, в котором, в данном случае, пара монет
и
помещены на левую чашку весов, а пара других монет
и
(тоже из монет и гирьки) — на правую.
- 3.
-
У взвешивания
может быть три исхода: <
левая чашка
=
чашки
и >
правая чашка
- 4.
-
означает «для такого выражения возможны следующие случаи» (и далее — случаи для =, > и <).
Теперь мы можем дать описание алгоритма, который получает 12 монет , среди которых ровно одна фальшивая имеет вес,
отличный от веса других настоящих монет равного веса, и определяет фальшивую монету и ее относительный вес за три взвешивания на
чашечных весах. В круглых скобках находятся пояснения к каждому шагу.
(сначала мы кладем на левую чашу монеты с 1 по 4, а на вторую — с 5 по 8, остальные подобные выражения читаются
аналогично)
(получили равенство, тогда фальшивая среди
, а все
— настоящие):
-
(то есть фальшивая (12)):
: фальшивая монета (12) и тяжелее;
: фальшивая монета (12) и легче;
-
(то есть фальшивая среди (9) и легче или среди (10) и (11) и тяжелее):
(возможно только если (9) фальшивая и легче): фальшивая монета (9) и легче;
(возможно только если (11) фальшивая и тяжелее): фальшивая монета (11) и тяжелее;
(возможно только если (10) фальшивая и тяжелее): фальшивая монета (10) и тяжелее;
-
(то есть фальшивая среди (9) и тяжелее или среди (10) и (11) и легче):
(возможно только если (9) фальшивая и тяжелее): фальшивая монета (9) и тяжелее;
(возможно только если (10) фальшивая и легче): фальшивая монета (10) и легче;
(возможно только если (11) фальшивая и легче): фальшивая монета (11) и легче;
(то есть фальшивая среди
и легче, или среди
и тяжелее, а все
— настоящие):
-
(то есть фальшивая среди (4) и легче, или (7) и (8) и тяжелее, а все остальные монеты — настоящие):
(возможно только если фальшивая (4) и легче): фальшивая монета (4) и легче;
(возможна только если фальшивая (8) и тяжелее): фальшивая монета (8) и тяжелее;
(возможна только если фальшивая (7) и тяжелее): фальшивая монета (7) и тяжелее;
-
(возможно только если фальшивая среди (1) и (2) и легче):
(возможна только если фальшивая (1) и легче): фальшивая монета (1) и легче;
(возможна только если фальшивая (2) и легче): фальшивая монета (2) и легче;
-
(возможно только если фальшивая среди (5) и (6) и тяжелее):
(возможна только если фальшивая (6) и тяжелее): фальшивая монета (6) и тяжелее;
(возможна только если фальшивая (5) и тяжелее): фальшивая монета (5) и тяжелее;
(то есть фальшивая среди
и тяжелее, или среди
и легче, а все
— настоящие):
-
(то есть фальшивая среди (4) и тяжелее, или (7) и (8) и легче, а все остальные монеты — настоящие):
(возможно только если фальшивая (4) и тяжелее): фальшивая монета (4) и тяжелее;
(возможна только если фальшивая (7) и легче): фальшивая монета (7) и легче;
(возможна только если фальшивая (8) и легче): фальшивая монета (8) и легче;
-
(возможно только если фальшивая среди (3) и тяжелее или (5) и (6) и легче):
(возможно только если фальшивая (3) и тяжелее): фальшивая монета (3) и тяжелее;
(возможна только если фальшивая (5) и легче): фальшивая монета (5) и легче;
(возможна только если фальшивая (6) и легче): фальшивая монета (6) и легче;
-
(возможно только если фальшивая среди (1) и (2) и тяжелее):
(возможна только если фальшивая (2) и тяжелее): фальшивая монета (2) и тяжелее;
(возможна только если фальшивая (1) и тяжелее): фальшивая монета (1) и тяжелее.
Итак, искомое
Ошибка.
Попробуйте повторить позже
(a) Даны монет попарно различных масс и
чашечных весов,
При каждом взвешивании разрешается выбрать какие-то одни
весы, положить на их чаши по одной монете, посмотреть на показания весов и затем снять монеты обратно. Какие-то одни из весов
(неизвестно, какие) испорчены и могут выдавать случайным образом как правильный, так и неправильный результат. За какое наименьшее
количество взвешиваний можно заведомо найти самую тяжелую монету?
(a) Докажем сначала, что за взвешивание можно найти самую тяжёлую монету. Более точно, мы докажем по индукции по
что
самую тяжёлую из
данных монет можно определить за
взвешивание, имея трое весов, одни из которых, возможно,
испорчены.
Если то взвесим данные две монеты по очереди на трёх разных весах. Если при одном из взвешиваний весы оказались в
равновесии, то эти весы испорчены, значит, мы можем определить более тяжёлую монету по показаниям любых из остальных весов. Если
равновесия ни разу не было, то какая-то из монет перевесит хотя бы два раза — она и есть более тяжёлая, так как неверный результат могут
давать только одни весы. Это даёт базу индукции.
Пусть теперь Выберем две монеты и двое весов и сравним за первые два взвешивания эти монеты друг с другом на первых и на
вторых весах. Возможны два случая:
Оба раза перевешивала одна и та же из двух монет; назовём её монетой
а вторую из них — монетой
Так как хотя бы одни из
двух весов правильные, то монета
действительно тяжелее монеты
Значит,
не самая тяжёлая. Задача сводится к тому, чтобы
определить самую тяжёлую из
монеты: монеты
и
монет, не участвовавших в первых двух взвешиваниях. По
предположению индукции мы можем сделать это за
взвешивания. Вместе с первыми двумя взвешиваниями получаем
взвешивания.
Либо одно из первых двух взвешиваний дало равновесия, либо результаты первых двух взвешиваний противоречат друг другу: один
раз перевесила одна монета, а другой — другая. Значит, одни из двух использованных весов точно испорчены. Возьмём
третьи весы. Тогда они обязательно правильные. Используя из, мы легко можем определить самую тяжёлую монету за
взвешивание: сравниваем первую монету со второй, более тяжёлую из них — с третьей, более тяжёлую из них с
четвёртой и так далее до последней. Вместе с первыми двумя взвешиваниями получаем
(так как
)
взвешивание.
Покажем теперь, что менее, чем за взвешивание, заведомо определить самую тяжёлую монету нельзя. Достаточно показать, что
её нельзя определить ровно за
взвешивания, так как можно добавить произвольные взвешивания и игнорировать их
результаты. Предположим противное: имеется алгоритм действий, позволяющий определить самую тяжёлую монету за
взвешивания.
Пронумеруем монеты числами Сделаем первые
взвешивания согласно алгоритму. Предположим, что в каждом из них
перевешивала монета с большим номером. Согласно принципу Дирихле, среди монет с номерами
найдётся такая, которая за
произведённые
взвешиваний "проигрывала"(оказалась более лёгкой) не более одного раза; обозначим номер этой монеты через
Конечно же, монета с номером
ни разу не "проигрывала". Покажем, что такие результаты взвешиваний возможны. Действительно, такое
могло произойти по крайней мере в следующих ситуациях.
(A) Монеты упорядочены по возрастанию масс и все весы (в том числе, испорченные) показывали правильные результаты во всех взвешиваниях.
(Б) Монеты упорядочены по возрастанию масс, за исключением монеты номер которая самая тяжёлая. При этом те весы, на которых
монета номер
"проиграла испорчены, и в этом взвешивании показали неверный результат, а в остальных взвешиваниях все весы
показывали верные результаты.
Рассмотрим два случая:
В последнем,
м взвешивании, не участвует монета с номером
Предположим, что опять перевесила монета с большим
номером. Тогда каждая из ситуаций (А) и (Б) по-прежнему возможна.
В последнем взвешивании участвует монета с номером
Предположим, что она перевесила. Тогда, с одной стороны, возможно, что
имеет место ситуация (А), и последнее взвешивание выполнялось на испорченных весах. С другой стороны, возможно, что имеет место
ситуация (Б), и в последнем взвешивании весы показали правильный результат.
Итак, каким бы ни было одно оставшееся взвешивание, его результат может быть таков, что после него каждая из ситуаций (А) и (Б)
будет по-прежнему возможной. Тогда каждая из монет и
может быть самой тяжёлой, то есть нам не удалось определить самую
тяжёлую монету.
_________________________________________________________________________________________________________________________________________________________________________________
(b) Очевидно, что точно хватит, поскольку мы можем провести алгоритм из предыдущего пункта. В качестве оценки
рассмотрим конкретный набор монет с массами
Очевидно, что чаша с самой тяжёлой монетой в этом случае всегда будет
перевешивать (
). В таком случае, можно сделать такую же оценку, как в предыдущем пункте,
если понимать слово “проигрывала” как “не была самой тяжёлой” (потому что если монета оказалось на чаше, которая не
перевесила, то она точно не самая тяжёлая). То есть чтобы точно определить самую тяжёлую, нам понадобится хотя бы
взвешивание.