Текстовые задачи на конструктивы в комбе → .06 Взвешивания и количество информации
Готовиться с нами - ЛЕГКО!
Ошибка.
Попробуйте повторить позже
Неизвестный 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²⁶. Покажите, что это число меньше, чем общее количество способов рассадки школьников по двум аудиториям и завершите доказательство.
Всего способов рассадить школьников по двум разным аудиториям (каждого из
школьников можно посадить в одну из двух
аудиторий). Способов рассадить школьников по аудиториям, при которых по конкретному предмету в какой-то из аудиторий нет
сильнейших
ведь можно двумя способами выбрать аудиторию, в которой не будет сильнейших по предмету, а остальных в
любую из двух. Тогда способов рассадки, при которых в одной из аудиторий нет сильнейших хотя бы по одному из предметов не более
Отметим, что
а значит, в каком-то из способов не нашлось аудитории, в которой нет сильнейших ни по
одному предмету.
Да, всегда
Ошибка.
Попробуйте повторить позже
Даны одинаковые на вид 32 настоящие и 32 фальшивые монеты. Все фальшивые монеты весят поровну и меньше настоящих, которые тоже все весят одинаково. Как за шесть взвешиваний на весах с двумя чашами определить тип хотя бы семи монет?
Источники:
Если за 6 ходов мы сможем определить тип хотя бы
монет, то можно сравнивать монеты с известными, и за
взвешиваний
узнаем тип
монет. Такую ситуацию назовём победой.
Сначала сравним две монеты, если они разные, то мы знаем тип монет и это победа. Если они одинаковые, сравним эту пару с любой
парой оставшихся монет. Если они одинаковые, то мы знаем тип первых двух монет, поменяем пару монет при взвешивании и тогда узнаем,
по результату взвешивания мы узнаём тип четырёх монет, это победа. Если весы показали равенство, то мы знаем что у
монет
одинаковый тип.
Потом взвесим эту четверку с другой четвёркой, если неравенство, то за три взвешивания опередили тип четырёх монет, это победа. Если
равенство, то знаем что у монет одинаковый тип. Действуя таким образом еще три раза, мы либо победим, либо найдём
одинаковых
монет, но это противоречит условию.
Ошибка.
Попробуйте повторить позже
Есть несколько карт. Зритель загадывает одну из них. Фокусник раскладывает все карты на стопки и узнает у зрителя, в какой стопке
оказалась задуманная карта. При каком наибольшем количестве карт можно наверняка определить задуманную карту за
вопроса?
Каждый раз нам указывают на одну из четырёх стопок, значит, за три вопроса мы получим максимум различных
последовательностей ответов. Если карт больше
то не получится однозначного соответствия возможных загаданных карт и
последовательностей ответов, значит, гарантированно отгадать задуманную карту не получится.
Приведём также пример, что одну из карт угадать всегда получится. Разобьем первым действием карты на стопки по
Нам
укажут на одну из этих стопок.
карт выбранной стопки разобьем на стопки по
остальные — как угодно. Нам снова укажут на одну
из стопок, значит, загаданная карта — одна из четырёх. Эти карты снова разбиваем на четыре стопки, теперь по одной, остальные как
угодно. Нам укажут на одну из стопок, а значит и на одну из этих четырёх карт, и мы однозначно определим, какая карта
загадана.
карты
Ошибка.
Попробуйте повторить позже
Имеется с виду одинаковых шаров, два из которых радиоактивны. Дозиметром можно проверить, есть ли хотя бы один
радиоактивный шар в произвольной группе. За какое наименьшее число проверок можно выявить оба радиоактивных
шара?
Каждый раз дозиметр либо пищит, либо нет, а значит за три проверки мы получим максимум различных последовательностей
ответов. Возможных вариантов, когда два шара из пяти радиоактивны, —
Если мы сделали всего три проверки, то не получится
однозначного соответствия возможных исходов и последовательностей ответов, значит, за
проверки гарантированно определить
радиоактивные шары не получится.
За четыре — возможно. Например, каждым действием проверяем ровно один еще не использовавшийся шар. Таким способом про каждый проверенный шар мы узнаем: радиоактивный он или нет, тогда и пятый шар определиться однозначно.
проверки
Ошибка.
Попробуйте повторить позже
По кругу лежат монет, из которых ровно три — фальшивые, которые лежат рядом и весят одинаково, причем тяжелее, чем настоящие.
За какое наименьшее количество взвешиваний можно найти все три фальшивые монеты?
Каждый раз весы показывают либо равенство, либо что первая чаша легче, либо что вторая чаша легче, а значит за два взвешивания мы
получим максимум различных последовательностей ответов. Возможных вариантов, когда три рядом лежащие монеты
фальшивые, — 20. Если мы сделали всего два взвешивания, то не получится однозначного соответствия возможных исходов и
последовательностей ответов, значит, за 2 гарантированно определить фальшивые монеты не получится.
За три взвешивания— возможно.
Лемма: За взвешивание можно найти три фальшивые среди пяти подряд идущих монет. Доказательство: Пусть монеты
Взвесим
и
Если весы показали равенство, то фальшивые
Если
тяжелее (
тяжелее аналогично), то фальшивые
Таким образом, лемма доказана.
Пронумеруем монеты от до
Первое взвешивание:
монеты на первой чаше, а
на второй.
Если весы показали равенство, то значит среди и
монет нет фальшивых. Вторым действием:
на
первой чаше, а
на второй. Равенства в таком случае быть не может. Одна чаша тяжелее, там и находятся все три
фальшивые монеты. Наша задача за
действие найти среди пяти подряд идущих монет три фальшивые, мы это умеем по
лемме.
Если весы показали, что тяжелее (
тяжелее аналогично), то значит среди
находятся все три фальшивые монеты.
Вторым действием: взвесим
и
Если весы показали равенство — фальшивая тройка полностью содержится среди
умеем
находить за 1 действие по лемме. Если
тяжелее, то все три фальшивые монеты находятся среди
умеем находить за
действие
по лемме. Если
тяжелее, то все три фальшивые монеты находятся среди
умеем находить за
действие по
лемме.
взвешивания
Ошибка.
Попробуйте повторить позже
Каким наименьшим числом гирь можно набрать все веса г,
г,
г,
г?
Каждую гирю мы можем либо взять, либо нет.
Используя гирь, мы можем различить максимум
весов, что меньше чем
Теперь возьмём гири Любое число можно единственным образом разложить в сумму различных степеней
двоек (двоичная система счисления). А значит, любое число граммов от
до
можно получить с помощью данных
гирь.
Ошибка.
Попробуйте повторить позже
Имеется с виду одинаковых шаров, два из которых радиоактивны. Дозиметром можно проверить на радиоактивность любую группу
шаров. За какое наименьшее число проверок можно выявить оба радиоактивных шара?
Пусть возможно определить радиоактивные шары за проверки. Тогда рассмотрим каким может быть первое взвешивание: Если мы взяли
один шар и дозиметр не пропищал, то осталось
возможных исходов (
радиоактивных среди
). Если мы
взяли два шара и дозиметр пропищал, то осталось
возможных исходов (
если оба выбранных радиоактивны;
если
один из них). Если мы взяли три шара или больше и дозиметр пропищал, то возможных исходов еще больше чем
Таким образом за
оставшихся проверки мы можем получить максимум
различных последовательностей ответов.
Если мы сделали всего четыре проверки, то после первого хода (на наше взвешивание дозиметр может пропищать или нет,
но в любом случае есть результат, который не запрещает хотя бы
исходов) не получится однозначного соответствия
возможных исходов и последовательностей ответов, значит, за
проверки гарантированно определить радиоактивные шары не
получится.
За пять — возможно. Например, каждым действием проверяем ровно один еще не использовавшийся шар. Таким способом про каждый проверенный шар мы узнаем: радиоактивный он или нет, тогда и шестой шар определиться однозначно.
проверок
Ошибка.
Попробуйте повторить позже
За какое минимальное число взвешиваний на чашечных весах можно упорядочить пять гирь с попарно различными массами по возрастанию масс? За одно взвешивание можно сравнивать только две гири.
Каждый раз весы в этой задаче показывают,что либо первая чаша легче, либо вторая чаша легче, а значит за шесть взвешиваний мы
получим максимум различных последовательностей ответов. Возможных вариантов, когда
гирь как-то упорядочены, —
Если мы сделали всего шесть взвешиваний, то не получится однозначного соответствия возможных исходов и
последовательностей ответов, значит, за
упорядочить не получится.
За семь взвешиваний — возможно. Пусть у нас есть гири Первым действием сравниваем
и
можем считать
что
Вторым действием сравниваем
и
можем считать что
Третьим действием сравниваем
и
можем считать что
Тогда мы поняли, что
давайте еще за два действия упорядочим гири
сначала сравним
и
а потом
и
(если
) или
и
(если
). Допустим гири как-то упорядочились
где
— это в некотором порядке
Заметим, что мы знаем что
и
тогда
Давайте за два действия определим место
сначала сравним
и
а потом
и
(если
) или
и
(если
).
взвешиваний
Ошибка.
Попробуйте повторить позже
В городе есть -этажное здание. Петя хочет узнать, начиная с какого этажа, если бросить оттуда кокосовый орех, он непременно
разобьется (считается, что если орех разбивается при падении с какого-то этажа, то он разбивается и при падении с более высоких). У Пети
есть два кокосовых ореха, которыми он готов пожертвовать. Какое минимальное количество бросков нужно совершить Пете, чтобы
гарантированно узнать ответ на свой вопрос?
Каждый раз у Пети орех либо бьется, либо нет, но среди всех наших бросков не может быть больше двух разбившихся
орехов, значит, за бросков мы получим максимум
различных последовательностей ответов.
Возможных вариантов этажа, начиная с которого бьется орех —
Если мы сделали всего
бросков, то не получится
однозначного соответствия возможных исходов и последовательностей ответов, значит, гарантированно определить этаж не
получится.
За — возможно.
Сбросим с этажа: если разбился ,то поочередно проверяем с
до
— на это нам хватит одного ореха и
бросков.
Если не разбился на этаже, то бросаем с
этажа: если разбился ,то поочередно проверяем с
до
— на это нам
хватит одного ореха и
бросков;
Если не разбился на этаже, то бросаем с
этажа: если разбился ,то поочередно проверяем с
до
— на это нам хватит одного ореха и
бросков;
Если не разбился на этаже, то бросаем с
этажа: если разбился ,то поочередно проверяем с
до
— на это нам хватит одного ореха и
бросков;
Если же орех не разбился с этажа, то значит он бьется при больших высотах, чем нам дано.
бросков
Ошибка.
Попробуйте повторить позже
При каком наименьшем среди
весов, из которых ровно
сломанных, можно из
монет определить одну фальшивую (количество
взвешиваний не ограничено)?
Покажем, что весов хватит. На каждых весах сравним первую монету с остальными девятью. Мы точно знаем, что хотя бы
рабочих весов покажут идентичные результаты на всех взвешиваниях (первая монета будет либо легче всех и окажется фальшивой, либо
она будет равна по массе всем, кроме одной, которая окажется фальшивой).
Пусть у нас не более весов. Попросим все сломанные весы действовать так, как будто вторая монета фальшивая, а остальные равны,
тогда как на самом деле фальшивой является первая. Тогда никогда не удастся выяснить, то ли все сломанные — сломаны (и фальшивая —
первая), то ли наоборот (и фальшивая — вторая).
Ошибка.
Попробуйте повторить позже
Докажите, что любым числом весов, среди которых есть двое сломанных, нельзя найти фальшивую монету (более легкую) из монет
за
взвешиваний.
Предположим противное — пусть существует алгоритм, позволяющий найти фальшивую монету из монет за
ходов.
Любой алгоритм можно закодировать в виде дерева, которое строится следующим образом. На первом уровне находится одна
вершина-корень, соответствующая первому взвешиванию. Из нее исходит три ребра на второй уровень, соответствующие различным
результатам этого взвешивания: и
Аналогично выстраиваются и последующие уровни: на уровне с номером
находится
вершин. На каждой указано, какое взвешивание в ней совершается, и из каждой вершины исходит по
ребра на уровень
соответствующие всевозможным результатам этого взвешивания.
Легко заметить, что в любом таком дереве листьев, и каждый лист соответствует некоторой последовательности из
взвешиваний. После
взвешиваний мы обязаны определить, какая из монет является фальшивой. Занумеруем монеты и запишем на
каждом листе номер монеты, на которую он указывает.
Выберем произвольную монету с номером и предположим, что она фальшивая. Тогда в дереве алгоритма обязательно должны
присутствовать листья:
Которые соответствуют случаю, когда все
взвешиваний были сделаны правильно. Ясно, что такой лист только
один;
Которые соответствуют случаю, когда одно из взвешиваний было выполнено неверно. Таких листьев ровно
Они могут быть
получены из пути к листу в пункте
если с него свернуть в произвольной вершине, а все остальные взвешивания выполнить
правильно;
Которые соответствуют случаю, когда два взвешивания были выполнены неверно. Аналогично, такие листья могут быть получены из
пути к листу в пункте
если с него свернуть в произвольной вершине, и далее все, кроме одного, взвешивания провести верно. Любой
такой лист характеризуется выбором двух позиций, на которых взвешивание произведено неверно, а также выбором одного из двух
неверных результатов, поэтому их количество равно
Итак, если монета фальшивая, то в дереве алгоритма должно быть хотя бы
листьев, которые на нее указывают.
Перестановкой монет можно добиться, чтобы фальшивая монета имела любой номер от
до
поэтому листьев должно быть
хотя бы
С другой стороны, известно, что листьев ровно
откуда следует неравенство
и
Это противоречит условию задачи, по которому
значит предположение о противном в начале решения было не
верным.
Ошибка.
Попробуйте повторить позже
У Пети есть 10 000 гирь, среди них нет двух гирь равного веса. Также у него есть чудо-прибор: если положить в него 10 гирь, он сообщит сумму весов каких-то двух из них (при этом неизвестно, каких именно). Докажите, что Петя может использовать чудо-прибор так, чтобы через некоторое время указать на одну из гирь и точно назвать её вес. (В чудо-прибор нельзя класть другое количество гирь.)
Источники:
Покажем, что Петя сможет определить вес одной гири, даже если у него 8000 гирь. Положим
______________________________________________________________________________________________________________________________________________________
Лемма. Для любых гирь Петя может найти две гири, для которых он знает их суммарный вес.
Доказательство. Пусть Петя положит в прибор по очереди все возможные наборы из 10 гирь из наших Заметим, что каждое
показание прибора — это вес какой-то из
пар гирь (будем говорить, что это показание использует эту пару). В то же время, Петя
получит
показаний. Значит, одна из пар будет использована хотя бы
раз.
Иначе говоря, найдутся измерений таких, что (1) в них прибор показывает один и тот же вес
и (2) во всех десятках,
использованных в этих испытаниях, есть две общих гири
и
Мы покажем, что при выполнении условий (1) и (2) суммарный вес
и
обязательно равен
то есть вес этой пары Петя и сможет определить по показаниям прибора. Назовём десятки, использованные в этих
измерениях, нужными.
Предположим противное: сумма весов и
не равна
Рассмотрим все пары из
гирь, суммы весов в которых равны
(назовём
эти пары хорошими). Поскольку веса всех гирь различны, хорошие пары не пересекаются; в частности, их не больше, чем
При этом в
каждой нужной десятке есть не только гири
и
но и хотя бы одна хорошая пара. Оценим теперь общее количество нужных
десяток.
Пусть в нужной десятке хорошая пара не содержит ни ни
Любую такую десятку можно получить, добавив к гирей
и
хорошую пару (не более чем
способами), а затем дополнив шестью из оставшихся
гирь. Итого, количество таких десятков
не больше, чем
Во всех остальных нужных десятках хорошая пара содержит либо либо
Если есть хорошая пара, содержащая
то для
получения нужной десятки, содержащей эту пару, её надо дополнить гирей
и ещё семью гирами из оставшихся
Итого, таких
нужных десяток не больше
Аналогично, нужных десяток, содержащих хорошую пару с гирей
тоже не больше
Итого, получаем
Противоречие.
_________________________________________________________________________________________________________________________________________________________________________________
Завершим решение задачи. Построим следующий граф. Сопоставим каждой гире вершину. Среди каждых гирь найдём одну пару с
известной суммой; две соответствующих вершины соединим ребром. Если в этом графе нет нечётных циклов, то, как известно, его вершины
можно раскрасить в два цвета так, чтобы каждое ребро соединяло вершины разных цветов. Но тогда вершины одного цвета не меньше
и
потому среди них мы провели ребро; противоречие.
Значит, в полученном графе есть цикл …,
и Петя знает суммарные веса всех пар соседних гирь в этом цикле. Взяв
полусумму всех этих весов, Петя узнает суммарный вес всех гирь цикла. Вычтя из него
он узнает вес гири
Ошибка.
Попробуйте повторить позже
Фокусник и его Ассистент готовятся показать следующий фокус. Фокуснику завяжут глаза, после чего один из зрителей напишет на доске
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 слитка, массы которых мы сможем определить!
Пусть Архимед сначала положит в прибор четыре самых тяжёлых слитка. Их суммарный вес — кг, и
прибор сработает. Других четвёрок слитков общим весом
кг у Архимеда нет. Значит, он показал Гиерону, какие четыре
слитка — самые тяжёлые. Затем он положит в прибор
слитков весами
кг и
кг. Прибор снова сработает.
Поскольку, как легко видеть, других девяток слитков общим весом
кг у Архимеда нет, он показал Гиерону, каков набор из
восьми самых лёгких слитков и слитка весом
кг. При этом оба раза в прибор клали ровно один слиток в
кг, а
ни разу не клали ровно один слиток в
кг. Поэтому Архимеду достаточно было написать веса на слитках в
и
кг.