Невероятные приключения Бориса Трушина: Спасаем заключенных с помощью лампочки! Собираем канистры по трассе! Нумеруем бутылки с помощью дохлых мышей! С нетерпением жду, что же будет дальше 🙂
В моем любимом источнике задач, тут был сеттинг про слуг, но только яд был не летальный, а превращающий людей в абсолютных трезвенников, после чего они отказывались пробовать вино :)
@@trushinbvЯ наверное не поняла условие. Соответственно и решение. Как же мы можем дать мышке разделить на 100 кучек и дать от каждой мышке, если сказано, что можно дать не больше 1й капли 1й мышкеиз-за долгого воздействия? ВЕДЬ ЕСЛИ ТАК, ТО Мы можем дать 10 мышке всего 10 капель из каждой кучки.
@@VeronikaBodnar мы не можем ждать для повторной проверки. Без ограничения времени можно было б поделить на 10 частей по 100 бутылок, потом 20 часов спустя те 100 бутылок от капель из которых мышка умерла поделить на 9 оставшихся мышек, потом 11 (или 12) бутылок поделить на 8 мышей, ну и на этом этапе либо узнаешь, либо еще одна проверка останется. А с ограничением времени мы должны как-то разделить так, чтобы проверить за 1 тест. Нам не нужно ждать, пока умрет первая мышка, вторая итд. Мы нумеруем и бутылки и мышек, и сразу даем каждой из мышек капли из определенной комбинации бутылок, а потом смотрим, какие умерли через 20 часов. И по номерам дохлых определяем точный номер бутылки.
Решал немного по-другому. После различных тупиков заметил, что раз мышей 10, то имеем 2^10=1024 возможных различных помножеств множества мышей (10). Понял, что тут даже смешивать бутылки не нужно. Мы можем просто каждую бутылку (как у вас с двоичным кодом, только не по-вертикали, а по-горизонтали) дать соответствующим мышам. По умершим мышам сможем точно определить бутылку. По сути, просто бинарный код бутылки) Не знаю насколько этично использовать мышей в качестве лампочек, но задачу решает и не придется мешать бутылки)) Вообще, люблю подобные задачи, которые можно решить за 5-10 минут и почувствовать себя умным. Давай побольше такого)
если мыши не умерли, то концентрации одной капли яда в 499 каплях нормального вина недостаточно, чтобы яд кого-то убил. А значит сливаем все вино в одну ванну, перемешиваем и заполняем бутылки смесью. никто не заметит 😁
@@Demka300 задача из комбинаторики, показывает минимальное количество проведения анализов для выявления яда, таким же способом выявляют корону, в лабораториях.
Если известно, что мышь умрёт ровно через 20 часов, то достаточно только 1 мыши. Нумеруем бутылки, включаем секундомер и даем мыши из каждой бутылки по порядку по 1 капле каждые 10 секунд. В момент смерти мыши смотрим на секундомер. Вычитаем из полученного времени 20 часов, оставшееся время переводим в секунды и делим на 10, к результату прибавляем 1: получаем номер бутылки. Например, мышь умерла через 20 часов и 1860 секунд, значит, яд в бутылке с номером 187.
почти любой человек, знакомый с программированием, сразу увидит, что если представить мышей в виде битов, то ими можно закодировать любое точное число от 0 до 1023. Ну а дальше дело техники - разбиваем бутылки на сегменты, равные степени двойки, и спаиваем каждой мышке-биту первую половину каждого сегмента, за который она отвечает. В конце эксперимента "собираем" из мышей точное расположение отравленной бутылки, т.к. теперь последовательность из мертвых мышек (0) и живых (1), будет представлять собой не что иное, как двоичное представление точного порядкового номера отравленной бутылки.
Известные задачи - это тоже неплохо. Они может потому и известные, что решение красивое. К тому же спустя годы, если ты не практикующий математик, решение легко может забыться. К тому же тут в видео целых два варианта решения, ну точнее вариант примерно один, но подходы разные - а это очень здорово, когда на одну задачу смотришь с разных сторон, то понимание ее решения тоже увеличивается кратно
Жена принесла эту задачку с работы где-то полгода назад. Или год. Кто-то из её коллег начал втихаря от руководства ходить на собеседования. В одной из фирм (на позицию аналитика в отдел разработки программного обеспечения вроде как) эту задачку и предложили. Я её до этого не слышал ни разу (и сразу подумал - а задача-то красивая!). И сразу же решил разложением по двоичной системе. Как-то прямо в течение нескольких секунд стало понятно, что мы можем получить номер проблемной бутылки; видимо всё-таки 1024 это 2 в десятой степени это первое, что пришло на ум. А вот как раз "деление пополам" было вторым вариантом, после некоторой задумчивости. Да, та коллега не смогла решить, и потом ей переслали моё решение :)
По-программистски и также из гуманных соображений нумерацию бутылок нужно начинать с нуля. Тогда есть небольшая вероятность, что яд окажется в бутылке №0 и никто не умрет.
Новая задача, за какое минимальное количество времени удастся провернуть эту операцию с мышами? Это нужно 5000 капель распределить в правильном порядке между 10 мышами, для этого нужно: 1) разработать план действий 2) добыть 1000 чистых шприцов так как одним пользоваться нельзя, иначе образцы смешаются 3) взять образцы вина из 1000 бутылок и распределить их согласно составленному плану 4) влить мышам отведённую каждой из них порцию 500 капель вина Если условно накинуть по минуте на каждую бутылку то на это уйдет 41,6 часов Или обратная ситуация, чтобы всё это провернуть хотябы за 2 часа, то на бутылку у тебя есть 7 секунд 😊
Еще я отдельным постом написал, что 500 капель это 25 мл, а мышь весит 20 г, а ее желудок это максимум 0.8 мл. С учетом метаболизма мышей тоже не успеем
Если ты феодал, сгоняешь вассалов и ставишь условие, что если за час не управятся, то пьют сами вместо мышей. Те сгоняют своих вассалов на тех же условиях... В общем важна мотивация чтоб грамотно распараллелить задачу ))
@@gr3951 Вы так дойте до того, что рожать за три месяца заставите, главное ведь мотивация, ага. Ну а че, возтми вместо одной, три женщины, сократи срок в три раза.
оставляю свое решение в комментариях перед тем как досматривать: первая мысль была, что можно довольно очевидно выяснить про 900 бутылок, если дать каждой мыши по 100. но так как я не мог доказать максимальном ь решения, продолжил думать и кажется, что можно пронумеровать бутылки номерами 0-999, перевести номера в двоичную систему и сопоставить мышей разрядам: если в разряде 1, из соответствующей бутылки нужно капнуть соответствующей мыши, иначе нет. тогда по номерам мертвых мышей можно опознать ядовитую бутылку
Поздравляю с замечательным событием! Есть еще более интересная задача на похожую тему. Поначалу кажется невероятным, что ее можно решить, и все-таки решение существует. Патриций решил устроить праздник и для этого приготовил 240 бочек вина. Однако к нему пробрался недоброжелатель, который подсыпал яд в одну из бочек. Недоброжелателя тут же поймали, дальнейшая его судьба неизвестна. Про яд известно, что человек, его выпивший, умирает в течение (не «через»!) 24 часов. До праздника осталось два дня, то есть 48 часов. У патриция есть пять рабов, которыми он готов пожертвовать, чтобы узнать в какой именно бочке яд. Как патрицию вычислить отравленную бочку?
Это похожа на задачу про кодирование. Сколько разрядов ацп нам требуется, чтобы обеспечить точность измерения в 1%? И какую точность измерения дадут 10 разрядов.
Я решил через сумму количеств сочетаний без повторений от 1 до 10 и сначала получил 1023 и минут 5 думал почему, а потом понял что не учитываю часть бутылок что можно не давать никому, спасибо за интересную задачу)
15:03 нет не доказали. доказательство дальше в видео. иначе бы эту часть видео которая дальше можно было бы не делать. Эту задачу (почти) нам дали в школе для подготовки к олимпиадам сразу всей группе 9-го класса на общее обсуждение вслух. К концу часового урока мы так и не пришли к правильному ответу. Мне кажется, всё же формулировка которую нам дали -- найти минимальное количество мышей, более интересно. Но я хочу поделиться ходом нашего обсуждения. Первую хорошую версию предложили использовать 64 мыши: распределить бутылки в прямоугольник 32 строки 32 столбца, и поить мышам целый столбец и целую строку. Потом кто-то предложил сделать так же только рспределить бутылки в куб размера 10х10х10 используя 30 мышей. Обобщить на 4х мерный куб возможно не предложили потому, как это 9-й класс и четырёхмерные кубы представить сложно. Или предложили и я просто уже не помню. В общем, мне этот подход больше нравится. Там тоже если считать 4х мерный куб получается 6*4 = 24 мыши. Пятимерный куб 4*5 = 20 мышей. Шестимерный куб 4*6 = 24 мышей (примерно). Семимерный 21 мышь... Десятимерный = 20 мышей. Нужно потом только догадаться, что в каждой размерности не нужно последний использовать. Так как если никто "по оси" не умер, то это недостающая. То есть, если столбцы и строки, то не нужно никому кормить последний столбец и последнюю строку, и тогда для 10 мерного куба получается 10 мышей, так же как в видео. Но в итоге учителя нам так и объяснили, через двоичную систему. Что намного интереснее, и мне не известно решение, так это: как решать если отравленых бутылок k? Вот тут очень сложно. Ещё одна версия, у которой тоже мне не известно решение: как найти k отравленых бутылок среди 1000 если мышь погибает мгновенно (ну или очень быстро). В этой версии мы в обсуждении с несколькими людьми придумали несколько очень интересных приёмов, но совершенно не ясно как можно найти оптимальный алгоритм, и тем более доказать его оптимальность.
Задача теоретически решена, а вот практически нет. Известно, что взрослая лабораторная мышь весит около 20 граммов, а желудок вместе с содержимым достигает 4% от веса, т.е. максимум 0,8 г, или 0.8 мл. Однако нам надо каждой мышке дать по 500 капель вина, известно, что в 1 мл 20 капель стандартной лабораторной пипетки. Следовательно в каждую мышь мы должны влить по 25 мл вина, что превышает вес самой мышки. Не знаю скорость метаболизма вина у мышки, если вливать порциями и ждать пока она переварит это и пописает. Мы также не можем слить 500 капель, перемешать и дать только допустим 1 мл (1/25 слива), так как дано, что мышка умирает от 1 капли вина, а не от 1/25... Короче, мы явно не успеваем к празднику. Нам нужны 10 кошек. А лучше 10 черных рабов. Но и тут мы не знаем смертельную дозу. Лучший вариант заменить мышек на тестовые полоски, это будет еще и гуманно.
Я не очень понял условие про время. Если мышь умрет через 20 часов, и точно не раньше, то одной мышке можно условно каждый час давать партию бутылок. Если умерла через 20ч, значит отравлена 1-я партия, если через 21 час - значит 2-я партия и так далее. В таком случае максимальное время которое придется ждать - это 40 часов. (Если на 20 час мышь получает последнюю партию). Если поить каждую минуту, то мы можем или сэкономить время проверки , оставив размер партий бутылок прежним (опять же неизвестно через сколько мероприятие начнется). Или же можем выгодать количество отбракованных бутылок, но тогда эксперимент растянуть на те же 40 часов. Бонусом - можно найти оптимальное решение между затраченным временем и количеством бутылок ушедших в утиль
По условию задачи праздник начинается на следующий день. И к этому времени нужно найти отравленную бутылку. У вас нет 40ка часов для экспериментов. В решении которое описал Борис не нужно ждать пока умрет первая мышка, что бы начать поить вторую. Результат будет через 20 часов + время между тем когда вы напоили первую мышку и когда вы напоили последнюю мышку. Или по другому, через 20 часов после того как вы напоили последнюю мышку.
Праздник на носу. Что делать? Самое практичное решение - это разделить 1000 бутылок вина на 10 партий, скормить по капле из 100 бутылок 10 мышкам. 1 мышка умерла. Отлично. 900 бутылок нам для праздника вполне хватит. Когда праздник пройдет для теста оставшиеся 100 бутылок находим еще 10 мышей, каждой вливаем по капле из 10 бутылок. 1 мышка вновь умрет. Получаем 90 бутылок для похмелья. Находим еще 10 мышек для 10 бутылок. 1 мышка умрет, допиваем 9 бутылок. Продаем бутылку с ядом аптекарю. Итого у нас без лишних забот 999 бутылок вина, 27 пьяных мышей, 3 мертвых мышки и деньги от аптекаря с минимумом забот и вероятности ошибиться. Профит.
Ну кстати если было в жизни, то возможно именно это решение самое практичное. Ибо решение из видео всё-таки требует серьёзной работы для нумерации мышек. Но у нас всё-таки математическая задача
@@Menshinin вот здесь я споткнулся, Борис в видео проводит вторую итерацию измерений, то есть, у проводящего праздник есть время на то, чтобы подождать 20 часов, причём 10 раз... у них праздник там через месяц? Тогда почему нельзя выживших мышей использовать повторно? воистину непонятное задание, если бы вместо мышей были одноразовые детекторы, которые приходят в негодность вне зависимости от результата эксперимента (на подобии лакмусовой бумажки), было бы логичнее и понятнее.
Было бы интересно увидеть выпуск, основанный на разборе статьи на похожую тему в Кванте - Шестопал Г. , "Как обнаружить фальшивую монету." Из нее видно, что эта тема гораздо глубже, чем кажется
Если я всё правильно понял, то на каждой ступени нужно ждать 20 часов. Итого, для локализации отравленной бутылки уйдёт 200 часов и до вечеринки мы не успеваем.
Если брать по капле из бутылке, то первой мышке надо выпить из 500 бутылок. Капля воды считается 0,03 мл, этанола - 0,02 мл. То есть минимально мышке надо выпить 10 мл. вина. Даже если получится в нее запихать столько жидкости - при крепости 12% это 1,2 мл чистого этанола. Для крыс полулетальная доза этанола - 7 гр на килограм веса, то есть скорее всего мышь помрет от отравления спиртом, чем от яда!
До просмотра пришло в голову: нумеруем мышек от 1 до 10 и также нам понадобятся какие-нибудь клейкие стикеры, на которых мы будем записывать какие мышки попробовали вино в той или иной бутылке делим 1000 бутылок на 10 групп, даем попробовать каждой мышке свою группу и записываем на бутылках номера мышей затем делим каждую группу из 100 бутылок на еще 10 подгрупп по 10 бутылок каждую подгруппу из каждой группы также даем попробовать определенной мышке и потом из каждой подгруппы выделяем еще 10 подподгрупп по 1 бутылке и тоже распределяем на мышей по идее, должно получиться, что мы сможем однозначно идентифицировать отравленную бутылку по умершим мышкам Догадался, когда вспомнил, что log из 1000 по основанию 2 меньше 10
Получается, что максимум с точностью до бутылки - это 1025 бутылок при 10 мышках, так как можно 1 бутылку не давать пробовать ни одной из мышек и найти ее методом исключения, если бутылка окажется с ядом.
Делим бутылки на две кучи по 500. Назовем их кучка 1 и 2. Из одной кучи берём по капле из каждой бутылки смешиваем и даём мышке. Потом делим каждую группу ещё раз пополам получаем четыре кучи 1.1, 1.2, 2.1, 2.2. Берём по капле и бутылок в двух группах с разными первыми номерами, например 1.1 и 2.1. Даём полученную смесь следующей мышке. Дальше делим каждую из четырех групп снова пополам. Опять собираем общую группу из 500 бутылок, только на этот раз должны быть разными первые две цифры номера. Например 1.1.1. 1.2.1, 2.1.1, 2.2.1. Даём смесь следующей мышке. И так пока не закончатся мышки. Через двадцать часов когда часть мышек сдохнет, по тому какие именно мышки сдохли мы сможем вычислить отравленную бутылку.
Решение убивает 5 мышей, выявляя одну отравленную бутылку. На противоположной стороне решение, которое убивает 1 мышь, отбраковывая 100 бутылок вместе с одной отравленной. Надо продолжить задачку. Пусть это не простые мыши, а какие-то особенные и только они могут ценой своей жизни определить яд. Цена одной мыши= цене 100 бутылок. Найти оптимальное с финасовой точки зрения решение. Следующий этап задачки - зависимость решения от соотношения стоимости мышей и вина. Тогда комплексно получится.
В принципе, если человек додумался до этого бинарного деления бутылок, то информатика уже нужна только тем, что любой программист знает, что 2^10 = 1024.
Можно похожую задачку, все то же самое, но сколько максимально мышек можно потенциально спасти, при этом гарантированно узнав отравленную бутылку. Идея в том, чтобы 1000 бутылок побить на 512 и 488 и тд, если бутылка среди 512, то мышкам не повезло, а если среди 488, то есть шанс спасти чуть-чуть мышек
Спасибо! Мне все понятно, бин поиск и все дела, но! Вы сказали, что мышка умрет только после мероприятия (2:50). Но тогда вся задача теряет смысл, ведь мы не успеем узнать результат вообще никаким способом. Меня это смутило
Уважаемый Борис Я проходил онлайн ЕГЭ в Фоксфорде и меня забраковало на одной задаче Есть система x²+6lxl+a²-8a=0 a=>3-lx-1l Нужно найти такие a, при которых система имеет единственное решение Как решил я: Я рассудил, что х² и lхl всегда =>0 а значит что если есть некое С которое удовл решению то есть и -С Поэтому есть ед решение при котором х ед это х=0 Получется след а²-8а=0 а=>3-1=2 а=0 а=8 0=>2 ∅ 8=>2 это верно Ед решение а=8 Но в задании почему то утверждается, что решения 3 И что а= 1 и 2 тоже явл решениями Хотя если подставить 1 и 2 в систему, у х будут 2 значения Просьба пояснить этот момент
Подставь 1. В первом уравнении получается 1 и -1. Подставляем во второе неравенство первый корень: 1=>3 не подходит. Подставляем второй корень: 1=>1. Подходит! При а=1, есть только один корень х=-1.
Если допустить, что мышь "дает результат" мгновенно (т.е. либо выжила, либо нет), то выжившую мышь можно переиспользовать. При том же алгоритме бинарного поиска, возникает новая задача - оценить математическое ожидание количества выживших мышек.
"наименьшее количество бутылок удалить при наименьшей смертности мышек" - это некорректное условие, ибо это 2 различные функции. Можно минимизировать одну из них, но не обе сразу, или можно уточнить условие, позволяющее преобразовать эти две функции в одну целевую функцию.
Кажется, у Фоменко есть шутка: "Капля никотина убивает лошадь, а хомячка просто разорвет на куски". К чему я это. Где гарантия того, что мышка не умрет от передоза алкоголя? :)
Решал задачу через количество сочетаний и из-за арифметической ошибки получилось большее число чем 1024, досмотрел видео, обрадовался, пересчитал у себя и такой: "ну да, ну да, пошел я на хрен" - ровно 1024 :D
Помню отдаленно похожую задачу на угадывание числа. Нам загадали число X от 1 до 144. Каждый ход мы можем называть произвольное число Y, и спрашивать, правда ли, что X не превосходит Y. Но нам отвечают на этот вопрос с задержкой в 1 ход. То есть на 1й вопрос ответят после того, как мы зададим 2й, на 2й - после 3го и т.д. Когда мы решаем остановиться и не задавать больше вопросов, нам говорят последний ответ. За какое наименьшее число вопросов можно гарантированно угадать загаданное число в такой игре?
Здравствуйте, Борис! Я когда-то придумал задачу, но сам же не смог её решить. Помогите пожалуйста. Представьте пожалуйста, что есть счёты с одной спицей и 10-ю костяшками. Если мы перекидываем костяшки справа налево, то мы посчитали до 10. Таким образом, мы используем 2 "домика" для костяшек. Но если мы предположим, что у них может быть 3 домика: справа, слева и посередине, то тогда к первым 10-ти вариантам сколько добавится? Понимаю, что если домиков 9, то у нас +9 вариантов, в каком из них будет по 2, а в остальных - по одной. И последний вариант - 10 домиков - это +1 последний вариант. Как посчитать все возможные варианты расположения костяшек?
На самом деле гдядя на условия практически сразу возникает желание устроить дихотомию, но т.к. это итерационная процедура, то дальше все о чем нужно подумать это как сделать тоже самое в один проход.
Невероятные приключения Бориса Трушина:
Спасаем заключенных с помощью лампочки!
Собираем канистры по трассе!
Нумеруем бутылки с помощью дохлых мышей!
С нетерпением жду, что же будет дальше 🙂
Невероятные приключения Трушина: золотая монета!
Вы забыли про разукрашивание флагов
Для начала надо округлить количество бутылок до 1024 !
Не обезательно) СОООВСЕМ БЕЗ РАЗНИЦЫ
;)
Поддерживаю, 1024=2^10
фиктивные добавь)))))
Ахах, слишком паливно было бы) Так сразу становится понятно, что задачка о степенях двойки
А какой смысл. Просто пронумеруйте бутылки. Меньше не больше
В моем любимом источнике задач, тут был сеттинг про слуг, но только яд был не летальный, а превращающий людей в абсолютных трезвенников, после чего они отказывались пробовать вино :)
Борис Викторович, Поздравляю Вас и Вашу жену!
Желаю всех благ!
Вітаємо.❤
Хай Ваш малюк росте здоровенький!!!
Велике дякую! )
@@trushinbvЯ наверное не поняла условие. Соответственно и решение. Как же мы можем дать мышке разделить на 100 кучек и дать от каждой мышке, если сказано, что можно дать не больше 1й капли 1й мышкеиз-за долгого воздействия? ВЕДЬ ЕСЛИ ТАК, ТО Мы можем дать 10 мышке всего 10 капель из каждой кучки.
@@VeronikaBodnar мы не можем ждать для повторной проверки.
Без ограничения времени можно было б поделить на 10 частей по 100 бутылок, потом 20 часов спустя те 100 бутылок от капель из которых мышка умерла поделить на 9 оставшихся мышек, потом 11 (или 12) бутылок поделить на 8 мышей, ну и на этом этапе либо узнаешь, либо еще одна проверка останется.
А с ограничением времени мы должны как-то разделить так, чтобы проверить за 1 тест.
Нам не нужно ждать, пока умрет первая мышка, вторая итд. Мы нумеруем и бутылки и мышек, и сразу даем каждой из мышек капли из определенной комбинации бутылок, а потом смотрим, какие умерли через 20 часов.
И по номерам дохлых определяем точный номер бутылки.
@@ДаниилРубинчик-э4д Спасибо.
500 капель - это примерно 25 г вина. Это половина веса мыши. Причина умереть от вина у каждой мыши более чем достаточна.
Борис! Поздравляю с рождением ребёнка! Здоровья маме и ребёнку!
Поздравляю вас с малышом
Счастья вам ;))))
Решал немного по-другому. После различных тупиков заметил, что раз мышей 10, то имеем 2^10=1024 возможных различных помножеств множества мышей (10). Понял, что тут даже смешивать бутылки не нужно. Мы можем просто каждую бутылку (как у вас с двоичным кодом, только не по-вертикали, а по-горизонтали) дать соответствующим мышам. По умершим мышам сможем точно определить бутылку. По сути, просто бинарный код бутылки) Не знаю насколько этично использовать мышей в качестве лампочек, но задачу решает и не придется мешать бутылки))
Вообще, люблю подобные задачи, которые можно решить за 5-10 минут и почувствовать себя умным. Давай побольше такого)
А я не поняла как решили, если сказано было, что одной мышке нельзя дать больше одной капли из одной бутылки из -за долгого эффекта воздействия.?
@@VeronikaBodnar Мне кажется, вы неправильно поняли условие задачи)
Поздравляю с пополнением семьи. И ждем новых задач. Спасибо.
если мыши не умерли, то концентрации одной капли яда в 499 каплях нормального вина недостаточно, чтобы яд кого-то убил. А значит сливаем все вино в одну ванну, перемешиваем и заполняем бутылки смесью. никто не заметит 😁
да? а если яд убивает даже в 1/100000 мл, ну вы головой думайте
@@TurboGamasek228тебе рассказывают про случай, когда все мыши не умерли от капли
Из каждой бутылки отливаем по 500 капель.
@@Demka300 задача из комбинаторики, показывает минимальное количество проведения анализов для выявления яда, таким же способом выявляют корону, в лабораториях.
@@TurboGamasek228 значит будут мыши, которые умрут. Тебе идиоту вообще все надо объяснять?
И вообще, замените мышек на тест-полоски, и всё станет гораздо гуманнее.
Ох!. У вас явно не математическое мышление.
Ораоаорра
@@VeronikaBodnar и во втором комменте я это убедительно продемонстрировал!
Математика это инструмент, а не цель и не смысл, и не образ мышления.
@@Menshininматематика инструмент,но говоря о математическом мышлении люди имеют ввиду дидуктивное мышление.
А если дело в средневековье где такого нет?
Да и к тому же понадобится всего 1 тест полоска
Спасибо! Очень интересная задача. И классно разобраны подходы к решению. Тоже ее не знала, хотя я примерно вашего возраста.
Если известно, что мышь умрёт ровно через 20 часов, то достаточно только 1 мыши. Нумеруем бутылки, включаем секундомер и даем мыши из каждой бутылки по порядку по 1 капле каждые 10 секунд. В момент смерти мыши смотрим на секундомер. Вычитаем из полученного времени 20 часов, оставшееся время переводим в секунды и делим на 10, к результату прибавляем 1: получаем номер бутылки. Например, мышь умерла через 20 часов и 1860 секунд, значит, яд в бутылке с номером 187.
Но этого не известно (
@@trushinbv 2:11
@@evdukov"Где-то там через 15-20 часов" точность явно не секундная
почти любой человек, знакомый с программированием, сразу увидит, что если представить мышей в виде битов, то ими можно закодировать любое точное число от 0 до 1023. Ну а дальше дело техники - разбиваем бутылки на сегменты, равные степени двойки, и спаиваем каждой мышке-биту первую половину каждого сегмента, за который она отвечает. В конце эксперимента "собираем" из мышей точное расположение отравленной бутылки, т.к. теперь последовательность из мертвых мышек (0) и живых (1), будет представлять собой не что иное, как двоичное представление точного порядкового номера отравленной бутылки.
Решил задачу принципиально, не дослушав условия задачи. Решил правильно. Какой я молодец!
Ух какая классная задача, решил довольно быстро, получил удовольствие
Известные задачи - это тоже неплохо. Они может потому и известные, что решение красивое. К тому же спустя годы, если ты не практикующий математик, решение легко может забыться. К тому же тут в видео целых два варианта решения, ну точнее вариант примерно один, но подходы разные - а это очень здорово, когда на одну задачу смотришь с разных сторон, то понимание ее решения тоже увеличивается кратно
Я так рада за вас! Поздравляю 😭💕
Очень симпатично! Жаль, нельзя сразу кучу лайков наставить на один видос, хд. Спасибо вам :)
Метод дихотомии напрашивался еще при формулировке условий. Смутило только отложенность результата и ограничение времени.
Жена принесла эту задачку с работы где-то полгода назад. Или год. Кто-то из её коллег начал втихаря от руководства ходить на собеседования. В одной из фирм (на позицию аналитика в отдел разработки программного обеспечения вроде как) эту задачку и предложили. Я её до этого не слышал ни разу (и сразу подумал - а задача-то красивая!). И сразу же решил разложением по двоичной системе. Как-то прямо в течение нескольких секунд стало понятно, что мы можем получить номер проблемной бутылки; видимо всё-таки 1024 это 2 в десятой степени это первое, что пришло на ум. А вот как раз "деление пополам" было вторым вариантом, после некоторой задумчивости. Да, та коллега не смогла решить, и потом ей переслали моё решение :)
у меня первая идея была по 100 бутылок, потом вторая ровно как сказал Борис Трушин, просто идея похожа на задачу про минимальное кол-во взвешиваний
Супер простая задачка, решил слёту)
А теперь вспомним, как Борис Трушин считал на пальцах до тысячи
Поздравляю с пополнением 🙂
По-программистски и также из гуманных соображений нумерацию бутылок нужно начинать с нуля. Тогда есть небольшая вероятность, что яд окажется в бутылке №0 и никто не умрет.
Поздравляю!!!
Спасибо, го больше задач с собесов)
Новая задача, за какое минимальное количество времени удастся провернуть эту операцию с мышами?
Это нужно 5000 капель распределить в правильном порядке между 10 мышами, для этого нужно:
1) разработать план действий
2) добыть 1000 чистых шприцов так как одним пользоваться нельзя, иначе образцы смешаются
3) взять образцы вина из 1000 бутылок и распределить их согласно составленному плану
4) влить мышам отведённую каждой из них порцию 500 капель вина
Если условно накинуть по минуте на каждую бутылку то на это уйдет 41,6 часов
Или обратная ситуация, чтобы всё это провернуть хотябы за 2 часа, то на бутылку у тебя есть 7 секунд 😊
Вы себя отличным практиком выставили! Респект.
Еще я отдельным постом написал, что 500 капель это 25 мл, а мышь весит 20 г, а ее желудок это максимум 0.8 мл. С учетом метаболизма мышей тоже не успеем
Если ты феодал, сгоняешь вассалов и ставишь условие, что если за час не управятся, то пьют сами вместо мышей. Те сгоняют своих вассалов на тех же условиях... В общем важна мотивация чтоб грамотно распараллелить задачу ))
@@gr3951 Вы так дойте до того, что рожать за три месяца заставите, главное ведь мотивация, ага. Ну а че, возтми вместо одной, три женщины, сократи срок в три раза.
И зная всю эту схему, садиться пить вино свято веря, что лаборант нигде не напутал! Без меня!
Как раз начал изучать инфу на 1 курсе, хотя сдавал физику и инфу знал на абсолютный 0. Видео укрепляет интерес к инфе. Борис красава ❤
каким математическим действием найдëм результат при решении по цифровой методике?
Ай красава. Молодец. Род великих математиков продолжается!
Поздравляю!
оставляю свое решение в комментариях перед тем как досматривать:
первая мысль была, что можно довольно очевидно выяснить про 900 бутылок, если дать каждой мыши по 100. но так как я не мог доказать максимальном ь решения, продолжил думать и кажется, что можно пронумеровать бутылки номерами 0-999, перевести номера в двоичную систему и сопоставить мышей разрядам: если в разряде 1, из соответствующей бутылки нужно капнуть соответствующей мыши, иначе нет. тогда по номерам мертвых мышей можно опознать ядовитую бутылку
Самое сложное решение простой задачи, но прикольное)
Отлично выглядите!)
Решил на этапе озвучивания условия)
поздравляю с Борисовичем!) или с Борисовной?
2 ^ 10 = 1024. достаточно для 1000 бутылок.
делаем бинарный поиск
Поздравляем, Борис Викторович!!!
Поздравляю с рождением сына!
Так и знал, что это будет бинарный поиск
Поздравляю с замечательным событием!
Есть еще более интересная задача на похожую тему. Поначалу кажется невероятным, что ее можно решить, и все-таки решение существует.
Патриций решил устроить праздник и для этого приготовил 240 бочек вина. Однако к нему пробрался недоброжелатель, который подсыпал яд в одну из бочек. Недоброжелателя тут же поймали, дальнейшая его судьба неизвестна.
Про яд известно, что человек, его выпивший, умирает в течение (не «через»!) 24 часов. До праздника осталось два дня, то есть 48 часов. У патриция есть пять рабов, которыми он готов пожертвовать, чтобы узнать в какой именно бочке яд.
Как патрицию вычислить отравленную бочку?
Это похожа на задачу про кодирование. Сколько разрядов ацп нам требуется, чтобы обеспечить точность измерения в 1%? И какую точность измерения дадут 10 разрядов.
I'm your favourite person, Brother, and I figured out the Physics Question; everyone was asking about over and overly worried again 😊
Я решил через сумму количеств сочетаний без повторений от 1 до 10 и сначала получил 1023 и минут 5 думал почему, а потом понял что не учитываю часть бутылок что можно не давать никому, спасибо за интересную задачу)
Отличное решение)
15:03 нет не доказали. доказательство дальше в видео. иначе бы эту часть видео которая дальше можно было бы не делать.
Эту задачу (почти) нам дали в школе для подготовки к олимпиадам сразу всей группе 9-го класса на общее обсуждение вслух. К концу часового урока мы так и не пришли к правильному ответу. Мне кажется, всё же формулировка которую нам дали -- найти минимальное количество мышей, более интересно. Но я хочу поделиться ходом нашего обсуждения. Первую хорошую версию предложили использовать 64 мыши: распределить бутылки в прямоугольник 32 строки 32 столбца, и поить мышам целый столбец и целую строку. Потом кто-то предложил сделать так же только рспределить бутылки в куб размера 10х10х10 используя 30 мышей. Обобщить на 4х мерный куб возможно не предложили потому, как это 9-й класс и четырёхмерные кубы представить сложно. Или предложили и я просто уже не помню. В общем, мне этот подход больше нравится. Там тоже если считать 4х мерный куб получается 6*4 = 24 мыши. Пятимерный куб 4*5 = 20 мышей. Шестимерный куб 4*6 = 24 мышей (примерно). Семимерный 21 мышь... Десятимерный = 20 мышей. Нужно потом только догадаться, что в каждой размерности не нужно последний использовать. Так как если никто "по оси" не умер, то это недостающая. То есть, если столбцы и строки, то не нужно никому кормить последний столбец и последнюю строку, и тогда для 10 мерного куба получается 10 мышей, так же как в видео. Но в итоге учителя нам так и объяснили, через двоичную систему.
Что намного интереснее, и мне не известно решение, так это: как решать если отравленых бутылок k? Вот тут очень сложно. Ещё одна версия, у которой тоже мне не известно решение: как найти k отравленых бутылок среди 1000 если мышь погибает мгновенно (ну или очень быстро). В этой версии мы в обсуждении с несколькими людьми придумали несколько очень интересных приёмов, но совершенно не ясно как можно найти оптимальный алгоритм, и тем более доказать его оптимальность.
на нанято была задача с той же идеей
Есть прикольное обощение, когда у вас X дней эксперимента, а не 1, а мышек ограниченное число. В этой формулировке надо беречь мышек на следующие дни
11:23 у первой бутылки номер ноль :D
Тогда её лучше называть нулевой )
Поздравляем, чего уж там)
А ссылку на твиттер можно?
Задача теоретически решена, а вот практически нет.
Известно, что взрослая лабораторная мышь весит около 20 граммов, а желудок вместе с содержимым достигает 4% от веса, т.е. максимум 0,8 г, или 0.8 мл.
Однако нам надо каждой мышке дать по 500 капель вина, известно, что в 1 мл 20 капель стандартной лабораторной пипетки. Следовательно в каждую мышь мы должны влить по 25 мл вина, что превышает вес самой мышки. Не знаю скорость метаболизма вина у мышки, если вливать порциями и ждать пока она переварит это и пописает. Мы также не можем слить 500 капель, перемешать и дать только допустим 1 мл (1/25 слива), так как дано, что мышка умирает от 1 капли вина, а не от 1/25... Короче, мы явно не успеваем к празднику.
Нам нужны 10 кошек.
А лучше 10 черных рабов.
Но и тут мы не знаем смертельную дозу.
Лучший вариант заменить мышек на тестовые полоски, это будет еще и гуманно.
А если номер первой бутылки не 1, а 0, то появляется вероятность 0,1%, что ни одна мышка не пострадает 😺
ПОЗДРАВЛЯЮ!!!
Поздравляем! 😂🎉
Я не очень понял условие про время.
Если мышь умрет через 20 часов, и точно не раньше, то одной мышке можно условно каждый час давать партию бутылок. Если умерла через 20ч, значит отравлена 1-я партия, если через 21 час - значит 2-я партия и так далее.
В таком случае максимальное время которое придется ждать - это 40 часов. (Если на 20 час мышь получает последнюю партию).
Если поить каждую минуту, то мы можем или сэкономить время проверки , оставив размер партий бутылок прежним (опять же неизвестно через сколько мероприятие начнется). Или же можем выгодать количество отбракованных бутылок, но тогда эксперимент растянуть на те же 40 часов.
Бонусом - можно найти оптимальное решение между затраченным временем и количеством бутылок ушедших в утиль
Т.е. в принципе, технически можно проверить всю партию бутылок одной мышкой, если учитывать фактор времени смерти. 🤔
По условию задачи праздник начинается на следующий день. И к этому времени нужно найти отравленную бутылку.
У вас нет 40ка часов для экспериментов.
В решении которое описал Борис не нужно ждать пока умрет первая мышка, что бы начать поить вторую. Результат будет через 20 часов + время между тем когда вы напоили первую мышку и когда вы напоили последнюю мышку. Или по другому, через 20 часов после того как вы напоили последнюю мышку.
Это та самая задача, где можно округлить до 1024 для ровного счета 🙂
Вроде выглядит, как стандартная задача по информатике на взвешивание монет с поиском подделки.
Праздник на носу. Что делать? Самое практичное решение - это разделить 1000 бутылок вина на 10 партий, скормить по капле из 100 бутылок 10 мышкам. 1 мышка умерла. Отлично. 900 бутылок нам для праздника вполне хватит. Когда праздник пройдет для теста оставшиеся 100 бутылок находим еще 10 мышей, каждой вливаем по капле из 10 бутылок. 1 мышка вновь умрет. Получаем 90 бутылок для похмелья. Находим еще 10 мышек для 10 бутылок. 1 мышка умрет, допиваем 9 бутылок. Продаем бутылку с ядом аптекарю. Итого у нас без лишних забот 999 бутылок вина, 27 пьяных мышей, 3 мертвых мышки и деньги от аптекаря с минимумом забот и вероятности ошибиться. Профит.
В условии задачи говорится, что мышки мрут не сразу, надо долго ждать. Что как бы намекает на необходимость проведения только одного эксперимента.
😂😂😂 каждый раз нам нужно искать только ещё одну мышку присоединяя её к бухим но живым товаркам.
Ну кстати если было в жизни, то возможно именно это решение самое практичное. Ибо решение из видео всё-таки требует серьёзной работы для нумерации мышек. Но у нас всё-таки математическая задача
@@Menshinin вот здесь я споткнулся, Борис в видео проводит вторую итерацию измерений, то есть, у проводящего праздник есть время на то, чтобы подождать 20 часов, причём 10 раз...
у них праздник там через месяц? Тогда почему нельзя выживших мышей использовать повторно?
воистину непонятное задание, если бы вместо мышей были одноразовые детекторы, которые приходят в негодность вне зависимости от результата эксперимента (на подобии лакмусовой бумажки), было бы логичнее и понятнее.
@@viktorviktor5820 Лучше всех заменить. А то неровен час пьяные мыши помрут от алькогольной интоксикации.
сразу подумал про степень двойки
Интересно, что изменится если известно что отравлены 2 случайные бутылки.
Было бы интересно увидеть выпуск, основанный на разборе статьи на похожую тему в Кванте - Шестопал Г. , "Как обнаружить фальшивую монету." Из нее видно, что эта тема гораздо глубже, чем кажется
Ой задача из детства) в 5 классе решали)
Если я всё правильно понял, то на каждой ступени нужно ждать 20 часов. Итого, для локализации отравленной бутылки уйдёт 200 часов и до вечеринки мы не успеваем.
Мы одновременно все делаем )
Не, там трое суток нужно, чтоб просто перпарату для мышек приготовить, спец лабораторией на 200 сотрудников, а рещультат ждать надо 20 часов.
Сейчас только допер до решения, сначала решил поделив 1000 на 11, так как одну часть можно оставить на случай, если все мыши выжили, то в 11 яд.
Если брать по капле из бутылке, то первой мышке надо выпить из 500 бутылок. Капля воды считается 0,03 мл, этанола - 0,02 мл. То есть минимально мышке надо выпить 10 мл. вина. Даже если получится в нее запихать столько жидкости - при крепости 12% это 1,2 мл чистого этанола. Для крыс полулетальная доза этанола - 7 гр на килограм веса, то есть скорее всего мышь помрет от отравления спиртом, чем от яда!
До просмотра пришло в голову:
нумеруем мышек от 1 до 10
и также нам понадобятся какие-нибудь клейкие стикеры, на которых мы будем записывать какие мышки попробовали вино в той или иной бутылке
делим 1000 бутылок на 10 групп, даем попробовать каждой мышке свою группу и записываем на бутылках номера мышей
затем делим каждую группу из 100 бутылок на еще 10 подгрупп по 10 бутылок
каждую подгруппу из каждой группы также даем попробовать определенной мышке
и потом из каждой подгруппы выделяем еще 10 подподгрупп по 1 бутылке и тоже распределяем на мышей
по идее, должно получиться, что мы сможем однозначно идентифицировать отравленную бутылку по умершим мышкам
Догадался, когда вспомнил, что log из 1000 по основанию 2 меньше 10
Получается, что максимум с точностью до бутылки - это 1025 бутылок при 10 мышках, так как можно 1 бутылку не давать пробовать ни одной из мышек и найти ее методом исключения, если бутылка окажется с ядом.
Делим бутылки на две кучи по 500. Назовем их кучка 1 и 2. Из одной кучи берём по капле из каждой бутылки смешиваем и даём мышке.
Потом делим каждую группу ещё раз пополам получаем четыре кучи 1.1, 1.2, 2.1, 2.2.
Берём по капле и бутылок в двух группах с разными первыми номерами, например 1.1 и 2.1. Даём полученную смесь следующей мышке.
Дальше делим каждую из четырех групп снова пополам. Опять собираем общую группу из 500 бутылок, только на этот раз должны быть разными первые две цифры номера. Например 1.1.1. 1.2.1, 2.1.1, 2.2.1. Даём смесь следующей мышке.
И так пока не закончатся мышки.
Через двадцать часов когда часть мышек сдохнет, по тому какие именно мышки сдохли мы сможем вычислить отравленную бутылку.
Здравствуйте, будет ли в этом году стрим по стереометрии в олимпиаде "Физтех" ?
Решение убивает 5 мышей, выявляя одну отравленную бутылку.
На противоположной стороне решение, которое убивает 1 мышь, отбраковывая 100 бутылок вместе с одной отравленной.
Надо продолжить задачку.
Пусть это не простые мыши, а какие-то особенные и только они могут ценой своей жизни определить яд. Цена одной мыши= цене 100 бутылок. Найти оптимальное с финасовой точки зрения решение.
Следующий этап задачки - зависимость решения от соотношения стоимости мышей и вина. Тогда комплексно получится.
Она была на форд боярде?
В принципе, если человек додумался до этого бинарного деления бутылок, то информатика уже нужна только тем, что любой программист знает, что 2^10 = 1024.
Поздравляем!!!
Можно похожую задачку, все то же самое, но сколько максимально мышек можно потенциально спасти, при этом гарантированно узнав отравленную бутылку. Идея в том, чтобы 1000 бутылок побить на 512 и 488 и тд, если бутылка среди 512, то мышкам не повезло, а если среди 488, то есть шанс спасти чуть-чуть мышек
1 мышь гибнет почти 100%, по логики минимимакса - миниизировать максимальное число погибщих мишей. Все остальные методу будут вероятностными.
Задача похожа на "до скольки можно досчитать с помощью пальцев двух рук?"
А вот интересно, сколько капель мышка может выпить за раз? 500 капель серьезный объем для маленькой особи.
Спасибо! Мне все понятно, бин поиск и все дела, но!
Вы сказали, что мышка умрет только после мероприятия (2:50). Но тогда вся задача теряет смысл, ведь мы не успеем узнать результат вообще никаким способом. Меня это смутило
Там сказано, что второй раз использовать мышку не будет смысла
Здравствуйте, у меня к вам просьба. если снимешь видео про Якобиана
Как тысячу бутылок ни покупай, а всё равно за добавкой бегать придётся!
Уважаемый Борис
Я проходил онлайн ЕГЭ в Фоксфорде и меня забраковало на одной задаче
Есть система
x²+6lxl+a²-8a=0
a=>3-lx-1l
Нужно найти такие a, при которых система имеет единственное решение
Как решил я:
Я рассудил, что х² и lхl всегда =>0 а значит что если есть некое С которое удовл решению то есть и -С
Поэтому есть ед решение при котором х ед это х=0
Получется след
а²-8а=0
а=>3-1=2
а=0 а=8
0=>2 ∅ 8=>2 это верно
Ед решение а=8
Но в задании почему то утверждается, что решения 3
И что а= 1 и 2 тоже явл решениями
Хотя если подставить 1 и 2 в систему, у х будут 2 значения
Просьба пояснить этот момент
У вас есть ограничение, которое может убрать 2 симметричный корень
@@ЛевДубогрызов вы о
а=>3-|х-1|?
Подставь 1. В первом уравнении получается 1 и -1. Подставляем во второе неравенство первый корень: 1=>3 не подходит. Подставляем второй корень: 1=>1. Подходит!
При а=1, есть только один корень х=-1.
@@glebsim а понял
Спасибо
Если два треугольника подобны, и один из них равен какому-то третьему треугольнику, то можно ли утверждать, что третий тоже подобен? Контрпример?
Если допустить, что мышь "дает результат" мгновенно (т.е. либо выжила, либо нет), то выжившую мышь можно переиспользовать. При том же алгоритме бинарного поиска, возникает новая задача - оценить математическое ожидание количества выживших мышек.
Первый раз я слышал аналог больше 55 лет назад ))))))))))
Надо было за 9 вопросов (да-нет) узнать страницу в книге из 500 страниц
Блин, то ли я джиниус, то ли задача легкая, то ли решал когла то подобное, но решение мгновенно пришло в голову
Давайте ту же задачу, где надо наименьшее количество бутылок удалить при наименьшей смертности мышек)
"наименьшее количество бутылок удалить при наименьшей смертности мышек" - это некорректное условие, ибо это 2 различные функции. Можно минимизировать одну из них, но не обе сразу, или можно уточнить условие, позволяющее преобразовать эти две функции в одну целевую функцию.
500 капель вина этой мышке
Кажется, у Фоменко есть шутка: "Капля никотина убивает лошадь, а хомячка просто разорвет на куски". К чему я это. Где гарантия того, что мышка не умрет от передоза алкоголя? :)
В условии про это явно сказано )
По-моему, это не сработает если праздник будет завтра, ибо нужно ждать когда умрет первая мышка, пройдет 20 часов, а потом ждать вторую и т.д.
Что-то мне вспомнился Дюма, Три мушкетера, и Атос, запершийся в погребе...
Решал задачу через количество сочетаний и из-за арифметической ошибки получилось большее число чем 1024, досмотрел видео, обрадовался, пересчитал у себя и такой: "ну да, ну да, пошел я на хрен" - ровно 1024 :D
Помню отдаленно похожую задачу на угадывание числа.
Нам загадали число X от 1 до 144. Каждый ход мы можем называть произвольное число Y, и спрашивать, правда ли, что X не превосходит Y. Но нам отвечают на этот вопрос с задержкой в 1 ход. То есть на 1й вопрос ответят после того, как мы зададим 2й, на 2й - после 3го и т.д. Когда мы решаем остановиться и не задавать больше вопросов, нам говорят последний ответ. За какое наименьшее число вопросов можно гарантированно угадать загаданное число в такой игре?
Всю формулировку задачи представлял мышиную вакханалию! 😀
Здравствуйте, Борис!
Я когда-то придумал задачу, но сам же не смог её решить. Помогите пожалуйста.
Представьте пожалуйста, что есть счёты с одной спицей и 10-ю костяшками. Если мы перекидываем костяшки справа налево, то мы посчитали до 10. Таким образом, мы используем 2 "домика" для костяшек. Но если мы предположим, что у них может быть 3 домика: справа, слева и посередине, то тогда к первым 10-ти вариантам сколько добавится? Понимаю, что если домиков 9, то у нас +9 вариантов, в каком из них будет по 2, а в остальных - по одной. И последний вариант - 10 домиков - это +1 последний вариант. Как посчитать все возможные варианты расположения костяшек?
Красиво
❤❤❤❤👏👏👏👏👏
На самом деле гдядя на условия практически сразу возникает желание устроить дихотомию, но т.к. это итерационная процедура, то дальше все о чем нужно подумать это как сделать тоже самое в один проход.
Я так понимаю, что мы потратим 10000 капель - около 500мл вина. Значит мы теряем почти 2 бутылки!