Задача про мышь
При найме аналитиков, а иногда и менеджеров встречаются с виду простые задачи из комбинаторики.
В тестовом задании на одну из вакансий Практикума была такая задачка про мышь. Нам она так понравилась, что мы решили добавить её в тренажёр, а теперь хотим поделиться с вами.
Попробуйте свои силы:
Разбор опубликуем завтра.
При найме аналитиков, а иногда и менеджеров встречаются с виду простые задачи из комбинаторики.
В тестовом задании на одну из вакансий Практикума была такая задачка про мышь. Нам она так понравилась, что мы решили добавить её в тренажёр, а теперь хотим поделиться с вами.
Попробуйте свои силы:
Мышь бежит по линиям квадратной сетки 6×9, как показано на рисунке (только вверх или вправо). Сколькими способами она может добраться до сыра?
Ответы и ход решения публикуйте в комментариях за скрытым текстом. Если видели задачу в тренажёре и знаете ответ — не раскрывайте его, пожалуйста. Разбор опубликуем завтра.
👍27
Разбор задачи про мышь
Любой путь мышки можно записать при помощи последовательности букв П (право) и В (верх). Например, один из подходящих путей можно записать при помощи последовательности ППВПППВВВПППВВП.
Каждый путь взаимно однозначно задаётся последовательностью из 15 букв, среди которых 9 букв П и 6 букв В. Значит, различных путей столько же, сколько таких различных последовательностей.
Посчитаем способы выбрать 6 из 15 мест в последовательности для букв В, а на остальные места поставим П. Это сочетания, так как все буквы В идентичны и их перестановка внутри последовательности не влияет на результат.
По формуле для количества сочетаний: 15! / (9! * 6!) = 5005.
А если у вас под рукой есть треугольник Паскаля, то можно посчитать ряды в прямоугольнике и увидеть, что сыр стоит на шестом месте 15-го ряда (ряды и места в каждом ряду нумеруются с нулевого). Поэтому искомый коэффициент равен 2002+3003, то есть всё те же 5005.
Научиться решать подобные задачи можно в модуле «Комбинаторика» бесплатного тренажёра по математике. Задачам на сочетания посвящен специальный урок.
Любой путь мышки можно записать при помощи последовательности букв П (право) и В (верх). Например, один из подходящих путей можно записать при помощи последовательности ППВПППВВВПППВВП.
Каждый путь взаимно однозначно задаётся последовательностью из 15 букв, среди которых 9 букв П и 6 букв В. Значит, различных путей столько же, сколько таких различных последовательностей.
Посчитаем способы выбрать 6 из 15 мест в последовательности для букв В, а на остальные места поставим П. Это сочетания, так как все буквы В идентичны и их перестановка внутри последовательности не влияет на результат.
По формуле для количества сочетаний: 15! / (9! * 6!) = 5005.
А если у вас под рукой есть треугольник Паскаля, то можно посчитать ряды в прямоугольнике и увидеть, что сыр стоит на шестом месте 15-го ряда (ряды и места в каждом ряду нумеруются с нулевого). Поэтому искомый коэффициент равен 2002+3003, то есть всё те же 5005.
Научиться решать подобные задачи можно в модуле «Комбинаторика» бесплатного тренажёра по математике. Задачам на сочетания посвящен специальный урок.
👍29🔥10
Математика и компьютерная графика
Один из подписчиков тренажёра по математике задал вопрос о практическом применении математики в компьютерной графике. Разработчик программы курса «Математика для анализа данных» Георгий Кожевников подробно на него ответил, а мы делимся ответом с вами.
Продолжение ↓↓↓
Один из подписчиков тренажёра по математике задал вопрос о практическом применении математики в компьютерной графике. Разработчик программы курса «Математика для анализа данных» Георгий Кожевников подробно на него ответил, а мы делимся ответом с вами.
Продолжение ↓↓↓
👍10🤯2
2D-графика
В 2D-графике сегодня основные инструменты — это графические редакторы и нейронные сети с текстовым интерфейсом. И там, и там вся математика находится под капотом удобных интерфейсов, и чтобы повернуть картинку, совсем не нужно думать о матрицах, а чтобы сгенерировать концепт-арт, не нужно думать о математике нейронных сетей.
Есть направления creative coding/генеративное искусство/процедурная генерация, в которых графика создаётся через программирование. Вот здесь математика всплывает сразу.
Как правило, в генеративном искусстве работа ведётся с различными примитивами: прямыми, точками, многоугольниками, каждый из которых задаётся наборами координат, которыми нужно манипулировать вручную. Нет кисточки, нельзя разместить объект, просто ткнув на экран — всё происходит через код. Объект создаётся, и ему выставляются просчитанные вами координаты, которые располагают его так, чтобы в итоге возник какой-то красивый арт.
Чтобы рассчитать эти координаты, нужно применять разную математику в зависимости от желаемого расположения объектов. Поэтому, чтобы реализовывать свои идеи, может быть очень полезно понимать операции над векторами, уравнение прямой, полярные координаты, тригонометрию.
Например, для генерации приложенной картинки понадобилось параметрическое уравнение спирали, синусы и косинусы, с помощью которых выставлялись координаты точек, к которым затем прибавлялся определённый уровень шума.
Продолжение ↓↓↓
В 2D-графике сегодня основные инструменты — это графические редакторы и нейронные сети с текстовым интерфейсом. И там, и там вся математика находится под капотом удобных интерфейсов, и чтобы повернуть картинку, совсем не нужно думать о матрицах, а чтобы сгенерировать концепт-арт, не нужно думать о математике нейронных сетей.
Есть направления creative coding/генеративное искусство/процедурная генерация, в которых графика создаётся через программирование. Вот здесь математика всплывает сразу.
Как правило, в генеративном искусстве работа ведётся с различными примитивами: прямыми, точками, многоугольниками, каждый из которых задаётся наборами координат, которыми нужно манипулировать вручную. Нет кисточки, нельзя разместить объект, просто ткнув на экран — всё происходит через код. Объект создаётся, и ему выставляются просчитанные вами координаты, которые располагают его так, чтобы в итоге возник какой-то красивый арт.
Чтобы рассчитать эти координаты, нужно применять разную математику в зависимости от желаемого расположения объектов. Поэтому, чтобы реализовывать свои идеи, может быть очень полезно понимать операции над векторами, уравнение прямой, полярные координаты, тригонометрию.
Например, для генерации приложенной картинки понадобилось параметрическое уравнение спирали, синусы и косинусы, с помощью которых выставлялись координаты точек, к которым затем прибавлялся определённый уровень шума.
Продолжение ↓↓↓
👍15
3D-графика
В 3D всё зависит от используемого инструмента. Для создания 3D-моделей в редакторе вам вряд ли понадобится оперировать матрицами. Однако, если вы делаете какую-то игру, симуляцию или процедурную анимацию, то потребность в математике значительно возрастает.
Из-за третьей координаты мы не можем просто так отобразить 3D-мир на экране, так как экран двумерный. Нужно как-то проецировать 3D в 2D. Для этого, как и в реальном мире, используется камера, только виртуальная — через неё мы «снимаем» виртуальный 3D-мир, и получаем 2D-картинку. Этот процесс называется рендерингом.
Как правило, рендеринг уже реализован в 3D-редакторах, но иногда для создания некоторых эффектов камеры требуется разбираться в его математике, которая построена на матричных операциях.
Из-за появления камеры возникает ещё одна точка отсчёта — теперь 3D-объекты можно рассматривать как от какой-то фиксированной точки в пространстве (начало отсчёта), так и от положения камеры. В результате появляется необходимость говорить о базисе: у каждого объекта несколько наборов координат в зависимости от того, в каком базисе мы его рассматриваем.
В 3D-редакторах базис обозначен осями, вдоль которых можно двигать и масштабировать объект, часто есть функция переключения между базисами. Иногда работать с координатами в одном базисе гораздо удобнее, чем в другом.
В коде с базисами приходится работать исследователям компьютерного зрения, которые создают 3D-модели по фото и видео — например, эта задача возникает при разработке беспилотных автомобилей и роботов, а также оцифровке помещений.
Вращение объектов в 3D и кватернионы, это отдельный большой топик и камень, о который бьются мизинцем многие начинающие артисты.
Вкратце, для описаний вращений в 3D недостаточно трёх углов, как это может показаться (см. gimbal lock), требуется вводить понятие кватерниона, объекта, который задаётся 4-х мерным вектором и очень плохо интерпретируется человеком. Зато это позволяет легко производить любые вращения и повороты. Например, плавный поворот камеры для записи сцены.
В основном необходимость напрямую взаимодействовать с кватернионами возникает при создании игр или какой-то процедурной графики — там, где приходится управлять 3D-объектами с помощью кода.
Конечно, есть ещё много применений математики в 2D и 3D-графике, которые я не описал, но боюсь что попытка это сделать потребует отдельного блога 🙂
Отдельные богатые математикой смежные направления, на которые я могу указать: симуляции (физики, жидкости, плавучести, объёмного тумана, ...), генерация 3D-моделей через код, создание шейдеров, управление персонажем в играх.
В 3D всё зависит от используемого инструмента. Для создания 3D-моделей в редакторе вам вряд ли понадобится оперировать матрицами. Однако, если вы делаете какую-то игру, симуляцию или процедурную анимацию, то потребность в математике значительно возрастает.
Из-за третьей координаты мы не можем просто так отобразить 3D-мир на экране, так как экран двумерный. Нужно как-то проецировать 3D в 2D. Для этого, как и в реальном мире, используется камера, только виртуальная — через неё мы «снимаем» виртуальный 3D-мир, и получаем 2D-картинку. Этот процесс называется рендерингом.
Как правило, рендеринг уже реализован в 3D-редакторах, но иногда для создания некоторых эффектов камеры требуется разбираться в его математике, которая построена на матричных операциях.
Из-за появления камеры возникает ещё одна точка отсчёта — теперь 3D-объекты можно рассматривать как от какой-то фиксированной точки в пространстве (начало отсчёта), так и от положения камеры. В результате появляется необходимость говорить о базисе: у каждого объекта несколько наборов координат в зависимости от того, в каком базисе мы его рассматриваем.
В 3D-редакторах базис обозначен осями, вдоль которых можно двигать и масштабировать объект, часто есть функция переключения между базисами. Иногда работать с координатами в одном базисе гораздо удобнее, чем в другом.
В коде с базисами приходится работать исследователям компьютерного зрения, которые создают 3D-модели по фото и видео — например, эта задача возникает при разработке беспилотных автомобилей и роботов, а также оцифровке помещений.
Вращение объектов в 3D и кватернионы, это отдельный большой топик и камень, о который бьются мизинцем многие начинающие артисты.
Вкратце, для описаний вращений в 3D недостаточно трёх углов, как это может показаться (см. gimbal lock), требуется вводить понятие кватерниона, объекта, который задаётся 4-х мерным вектором и очень плохо интерпретируется человеком. Зато это позволяет легко производить любые вращения и повороты. Например, плавный поворот камеры для записи сцены.
В основном необходимость напрямую взаимодействовать с кватернионами возникает при создании игр или какой-то процедурной графики — там, где приходится управлять 3D-объектами с помощью кода.
Конечно, есть ещё много применений математики в 2D и 3D-графике, которые я не описал, но боюсь что попытка это сделать потребует отдельного блога 🙂
Отдельные богатые математикой смежные направления, на которые я могу указать: симуляции (физики, жидкости, плавучести, объёмного тумана, ...), генерация 3D-моделей через код, создание шейдеров, управление персонажем в играх.
Хабр
Что такое шейдеры, зачем они нужны и как разобраться во всем этом. Краткий экскурс по рендерингу в Unity
Всем привет. Сегодня я хотел бы задеть такую тему, как рендеринг и шейдеры в Unity. Шейдеры - простыми словами это инструкции для наших видео-карт, которые говорят,...
👍18
Прямой эфир: выбираем тему
Anonymous Poll
34%
Как учить математику, если школа осталась далеко позади
9%
Математика в цифровых профессиях: где нужна, а где нет
22%
Что из математики нужно знать аналитику данных, чтобы преуспеть в профессии
31%
Разбор задач с собеседований аналитиков или других специалистов
5%
Просто встреча с командой математики Практикума: вы спрашиваете — мы отвечаем
🔥21👍3
Прямой эфир
Каналу «Практически математически» уже три месяца, а счётчик аудитории перешагнул за 3000. Мы считаем, это хороший повод встретиться, поэтому в феврале проведём небольшой эфир! Предлагаем вам выбрать тему.
Выберите самый интересный для вас вариант в посте выше.
Каналу «Практически математически» уже три месяца, а счётчик аудитории перешагнул за 3000. Мы считаем, это хороший повод встретиться, поэтому в феврале проведём небольшой эфир! Предлагаем вам выбрать тему.
Выберите самый интересный для вас вариант в посте выше.
🔥24❤6👏3👍1
Роботы и масло
Сегодня предлагаем вам классическую задачу с собеседований, но в нашем прочтении. :)
2) Если да, то напишите способ поиска испорченной канистры.
Ваши варианты, как всегда, ждём в комментариях под скрытым текстом. Разбор задачи опубликуем в понедельник.
Сегодня предлагаем вам классическую задачу с собеседований, но в нашем прочтении. :)
Есть 30 000 канистр с маслом и 15 роботов, которые работают на этом масле. Масло можно смешивать. Известно, что в одной из канистр масло испорченное. Если робота заправить испорченным маслом (даже капелькой!), то уже через 10 минут он выйдет из строя.
Масло в роботов заливают одновременно (способ для этого есть). Хватит ли 15 роботов, чтобы найти испорченную канистру ЗА ОДИН РАЗ?
1) Если нет, то укажите минимальное количество роботов, которое позволит её найти. 2) Если да, то напишите способ поиска испорченной канистры.
Ваши варианты, как всегда, ждём в комментариях под скрытым текстом. Разбор задачи опубликуем в понедельник.
🔥10
Разбор задачи про роботов и масло
15 роботов достаточно! И доказать это нам поможет двоичная система.
Переведём номер каждой канистры в двоичное представление. Запишем в виде чисел из 15 разрядов — количество разрядов равно количеству роботов (при необходимости слева допишем нули).
1 ∼ 000000000000001,
2 ∼ 000000000000010,
3 ∼ 000000000000011,
4 ∼ 000000000000100,
5 ∼ 000000000000101
и так далее.
С помощью 15 разрядов в двоичной системе можно пронумеровать 2^{15} = 32 768 канистр. У нас их меньше, значит, каждая канистра получит уникальный номер. Последняя канистра будет иметь номер
30 000 ∼ 111010100110000.
Пронумеруем роботов от первого до пятнадцатого. Поскольку разряды нумеруют справа налево, то и роботов пронумеруем так же.
Продолжение ↓↓↓
15 роботов достаточно! И доказать это нам поможет двоичная система.
Переведём номер каждой канистры в двоичное представление. Запишем в виде чисел из 15 разрядов — количество разрядов равно количеству роботов (при необходимости слева допишем нули).
1 ∼ 000000000000001,
2 ∼ 000000000000010,
3 ∼ 000000000000011,
4 ∼ 000000000000100,
5 ∼ 000000000000101
и так далее.
С помощью 15 разрядов в двоичной системе можно пронумеровать 2^{15} = 32 768 канистр. У нас их меньше, значит, каждая канистра получит уникальный номер. Последняя канистра будет иметь номер
30 000 ∼ 111010100110000.
Пронумеруем роботов от первого до пятнадцатого. Поскольку разряды нумеруют справа налево, то и роботов пронумеруем так же.
Продолжение ↓↓↓
👍9🔥4
[ продолжение разбора задачи про роботов и масло ]
Для каждого робота приготовим уникальную смесь масла. В смесь для N-ного робота добавим масло только из тех канистр, номер которых содержит единицу в N-ном разряде.
Процесс приготовления смесей будет долгим, но зато потом можно одновременно залить масло сразу во всех роботов.
Почти всё! Выжидаем 10 минут и смотрим, кто сломался.
Каждый робот имеет только два состояния: 0 — исправен (если в нём только хорошее масло) или 1 — сломан (если в него попало испорченное масло). Обозначить можно и наоборот, но нам больше понравилось так.
Через 10 минут мы получим номера сломанных роботов, а значит, номера разрядов с единичками. Они однозначно кодируют одну конкретную канистру. Например, если сломались только роботы с номерами 1, 2 и 3, то масло было испорчено в канистре с номером 000000000000111, то есть в седьмой.
Поздравляем решивших правильно, это непростая задача!
Для каждого робота приготовим уникальную смесь масла. В смесь для N-ного робота добавим масло только из тех канистр, номер которых содержит единицу в N-ном разряде.
Процесс приготовления смесей будет долгим, но зато потом можно одновременно залить масло сразу во всех роботов.
Почти всё! Выжидаем 10 минут и смотрим, кто сломался.
Каждый робот имеет только два состояния: 0 — исправен (если в нём только хорошее масло) или 1 — сломан (если в него попало испорченное масло). Обозначить можно и наоборот, но нам больше понравилось так.
Через 10 минут мы получим номера сломанных роботов, а значит, номера разрядов с единичками. Они однозначно кодируют одну конкретную канистру. Например, если сломались только роботы с номерами 1, 2 и 3, то масло было испорчено в канистре с номером 000000000000111, то есть в седьмой.
Поздравляем решивших правильно, это непростая задача!
🔥29🤯12👍3
В комбинаторике есть два похожих термина: размещения и сочетания. Сегодня на конкретном примере разберём разницу между ними.
Представим, что есть 10 напитков, из них нужно выбрать 3 разных для приготовления коктейля. Тут возможны две ситуации: когда порядок выбора важен и когда нет.
Если по рецепту ингредиенты идут слоями — порядок важен. Коктейль со слоями ABC отличается от коктейля со слоями BCA.
Если же ингредиенты просто перемешивают, то из наборов ABC и BCA получатся одинаковые коктейли. Это ситуация, когда порядок выбора не важен.
Рассмотрим вначале ситуацию со слоями.
Продолжение ↓↓↓
Представим, что есть 10 напитков, из них нужно выбрать 3 разных для приготовления коктейля. Тут возможны две ситуации: когда порядок выбора важен и когда нет.
Если по рецепту ингредиенты идут слоями — порядок важен. Коктейль со слоями ABC отличается от коктейля со слоями BCA.
Если же ингредиенты просто перемешивают, то из наборов ABC и BCA получатся одинаковые коктейли. Это ситуация, когда порядок выбора не важен.
Рассмотрим вначале ситуацию со слоями.
Продолжение ↓↓↓
👍28
[ продолжение поста о размещениях и сочетаниях ]
Если порядок важен
Если порядок важен, то вычислить количество возможных коктейлей из трёх ингредиентов поможет правило произведения: существует 10*9*8 = 720 вариантов. Мы только что нашли количество размещений из 10 по 3. Это похоже на «укороченную» перестановку: порядок важен, но количество доступных слотов меньше общего количества элементов.
В общем виде количество размещений из n по k вычисляют как n! ÷ (n-k)! или n*(n-1)*(n-2)*…*(n-k+1).
В записи через произведение будет k множителей.
Размещения применяют:
• Когда нужно выбрать несколько элементов для разных целей, разных дней, разных ролей.
• В задачах на расположение, когда элементы различимы. Например, надо выбрать несколько человек из группы и разместить их на креслах в кинотеатре. Люди разные, поэтому имеет значение, кто где сядет.
Если порядок не важен
Вернёмся в ситуацию выбора 3 ингредиентов из 10. Теперь рассмотрим ситуацию, когда напитки просто перемешивают. Тогда порядок, в котором их выберут, не важен. Значит, набор ABC для нас не отличается от, например, набора BCA.
Сколько наборов «склеятся» в один? Столько, сколько возможно перестановок из 3 элементов, то есть 3!. Значит, чтобы получить количество вариантов выбора 3 из 10 без учёта порядка, нужно предыдущий ответ поделить на 3!:
(10*9*8) ÷ 3! = 720 ÷ 6 = 120.
Число заметно уменьшилось!
Мы нашли количество сочетаний из 10 по 3.
В общем виде количество сочетаний из n по k вычисляют как n! ÷ ((n-k)!*k!).
Cочетания применяют, если:
• Выбирают несколько элементов одновременно. В учебниках по математике самый частый пример — мешок с шариками, из которого вытаскивают несколько шариков за раз, одной горстью.
• Выбирают пару (тройку, группу) для взаимного или равноправного процесса. Например, двух человек для партии в шахматы, две команды для игры в хоккей, три бренда одежды для коллаборации, две точки для соединения отрезком, десять человек для хора.
Задачка для вас
Владелец ресторана составляет график работы официантов. Всего в штате 12 официантов, и каждый день должно работать 5 из них.
1) Сколько разных вариантов смен может составить владелец ресторана, если задачи всех официантов одинаковые?
2) Сколько разных вариантов смен может составить владелец ресторана, если в смене каждому официанту дают свою уникальную задачу?
Ответы традиционно ждём в комментарияхпод скрытым текстом.
Если порядок важен
Если порядок важен, то вычислить количество возможных коктейлей из трёх ингредиентов поможет правило произведения: существует 10*9*8 = 720 вариантов. Мы только что нашли количество размещений из 10 по 3. Это похоже на «укороченную» перестановку: порядок важен, но количество доступных слотов меньше общего количества элементов.
В общем виде количество размещений из n по k вычисляют как n! ÷ (n-k)! или n*(n-1)*(n-2)*…*(n-k+1).
В записи через произведение будет k множителей.
Размещения применяют:
• Когда нужно выбрать несколько элементов для разных целей, разных дней, разных ролей.
• В задачах на расположение, когда элементы различимы. Например, надо выбрать несколько человек из группы и разместить их на креслах в кинотеатре. Люди разные, поэтому имеет значение, кто где сядет.
Если порядок не важен
Вернёмся в ситуацию выбора 3 ингредиентов из 10. Теперь рассмотрим ситуацию, когда напитки просто перемешивают. Тогда порядок, в котором их выберут, не важен. Значит, набор ABC для нас не отличается от, например, набора BCA.
Сколько наборов «склеятся» в один? Столько, сколько возможно перестановок из 3 элементов, то есть 3!. Значит, чтобы получить количество вариантов выбора 3 из 10 без учёта порядка, нужно предыдущий ответ поделить на 3!:
(10*9*8) ÷ 3! = 720 ÷ 6 = 120.
Число заметно уменьшилось!
Мы нашли количество сочетаний из 10 по 3.
В общем виде количество сочетаний из n по k вычисляют как n! ÷ ((n-k)!*k!).
Cочетания применяют, если:
• Выбирают несколько элементов одновременно. В учебниках по математике самый частый пример — мешок с шариками, из которого вытаскивают несколько шариков за раз, одной горстью.
• Выбирают пару (тройку, группу) для взаимного или равноправного процесса. Например, двух человек для партии в шахматы, две команды для игры в хоккей, три бренда одежды для коллаборации, две точки для соединения отрезком, десять человек для хора.
Задачка для вас
Владелец ресторана составляет график работы официантов. Всего в штате 12 официантов, и каждый день должно работать 5 из них.
1) Сколько разных вариантов смен может составить владелец ресторана, если задачи всех официантов одинаковые?
2) Сколько разных вариантов смен может составить владелец ресторана, если в смене каждому официанту дают свою уникальную задачу?
Ответы традиционно ждём в комментариях
👍25❤4
Суперперестановки и любители аниме
Иногда серьёзная математика возникает совершенно неожиданно. Сегодняшняя история этому пример.
В не столь далёком 2011 году на имиджборде 4chan фанат аниме задал вопрос о сериале Меланхолия Харухи Судзумии. В его сюжете есть путешествия во времени, поэтому 14 серий первого сезона можно смотреть в разном порядке. Фанаты спорили, какой порядок серий лучше, а один пользователь спросил: если бы вы захотели посмотреть эти серии во всех возможных порядках, какое количество эпизодов было бы в самом коротком списке?
Можно сформулировать задачу и по-другому. Если серии пронумеровать буквами (14 разных цифр у нас нет, поэтому берём буквы), то какова минимальная длина огромного слова, в котором присутствует любая из возможных перестановок 14 элементов?
И это вопрос про кратчайшую суперперестановку! Разберёмся, что это такое.
Суперперестановкой n символов называется слово, содержащее в качестве подслова каждую из возможных перестановок данных n символов. Тут легче сразу пояснить на примере. 😅
Пусть наш алфавит состоит только из двух символов: 1 и 2. Возможны всего две перестановки из этих элементов: 12 и 21. Кратчайшим словом, содержащим обе эти перестановки, будет 121 — в нём встречается и 12, и 21. Слово 212 тоже подходит. Как видно, в суперперестановке разрешён «нахлёст», то есть любой символ может быть частью разных подслов одновременно. Длина кратчайшей суперперестановки двух символов равна 3.
Для алфавита из трёх символов ситуация поинтереснее. Здесь самая короткая суперперестановка имеет длину 9 — например, 123121321.
Составить корректную суперперестановку несложно — можно просто выписать все перестановки одну за другой в виде длинного слова. Но это неспортивно! Математиков, конечно же, интересует кратчайшая из возможных суперперестановок для каждого n.
При n = 4 она имеет длину 33, а при n = 5 — длину 153.
Доказано, что для 1 ⩽ n ⩽ 5 кратчайшая суперперестановка n символов имеет длину 1! + 2! + … + n! (можете убедиться, что будут получаться именно значения 1, 3, 9, 33 и 153).
Для случаев n > 5 данная формула, увы, не работает, и рассчитать точную длину кратчайшей перестановки сложно. Поэтому оценивают её нижнюю и верхнюю границы. Конечно, можно сказать, что нижняя граница равна 1, а верхняя — какому-нибудь большому числу вроде 10^{100}. Но ценности в таком результате мало. Математики хотят получить такие оценки границ, которые максимально близки к точному значению. Другими словами, важно, чтобы нижняя была как можно выше, а верхняя — как можно ниже.
И лучшая из всех доказанных формул для нижней границы родилась именно на имиджборде!
Буквально через час первому фанату ответил другой — он привёл в общем виде формулу для расчёта нижней границы на любое количество эпизодов: n! + (n − 1)! + (n − 2)! + n − 3.
Из его рассуждения следовало, что для первого сезона этого сериала пришлось бы посмотреть не менее 93 884 313 611 серий подряд.
Несколько лет это событие оставалось незамеченным, а потом копию постов увидели математики. Они всё проверили и написали статью с формально оформленным доказательством.
Первым и главным автором они указали Анонимуса с 4chan, ведь имя этого героя до сих пор неизвестно.
Вот такая великолепная история.
Кстати, чтобы посмотреть те 14 эпизодов во всех возможных порядках, потребуется примерно 4 миллиона лет. Запасаемся попкорном!
Иногда серьёзная математика возникает совершенно неожиданно. Сегодняшняя история этому пример.
В не столь далёком 2011 году на имиджборде 4chan фанат аниме задал вопрос о сериале Меланхолия Харухи Судзумии. В его сюжете есть путешествия во времени, поэтому 14 серий первого сезона можно смотреть в разном порядке. Фанаты спорили, какой порядок серий лучше, а один пользователь спросил: если бы вы захотели посмотреть эти серии во всех возможных порядках, какое количество эпизодов было бы в самом коротком списке?
Можно сформулировать задачу и по-другому. Если серии пронумеровать буквами (14 разных цифр у нас нет, поэтому берём буквы), то какова минимальная длина огромного слова, в котором присутствует любая из возможных перестановок 14 элементов?
И это вопрос про кратчайшую суперперестановку! Разберёмся, что это такое.
Суперперестановкой n символов называется слово, содержащее в качестве подслова каждую из возможных перестановок данных n символов. Тут легче сразу пояснить на примере. 😅
Пусть наш алфавит состоит только из двух символов: 1 и 2. Возможны всего две перестановки из этих элементов: 12 и 21. Кратчайшим словом, содержащим обе эти перестановки, будет 121 — в нём встречается и 12, и 21. Слово 212 тоже подходит. Как видно, в суперперестановке разрешён «нахлёст», то есть любой символ может быть частью разных подслов одновременно. Длина кратчайшей суперперестановки двух символов равна 3.
Для алфавита из трёх символов ситуация поинтереснее. Здесь самая короткая суперперестановка имеет длину 9 — например, 123121321.
Составить корректную суперперестановку несложно — можно просто выписать все перестановки одну за другой в виде длинного слова. Но это неспортивно! Математиков, конечно же, интересует кратчайшая из возможных суперперестановок для каждого n.
При n = 4 она имеет длину 33, а при n = 5 — длину 153.
Доказано, что для 1 ⩽ n ⩽ 5 кратчайшая суперперестановка n символов имеет длину 1! + 2! + … + n! (можете убедиться, что будут получаться именно значения 1, 3, 9, 33 и 153).
Для случаев n > 5 данная формула, увы, не работает, и рассчитать точную длину кратчайшей перестановки сложно. Поэтому оценивают её нижнюю и верхнюю границы. Конечно, можно сказать, что нижняя граница равна 1, а верхняя — какому-нибудь большому числу вроде 10^{100}. Но ценности в таком результате мало. Математики хотят получить такие оценки границ, которые максимально близки к точному значению. Другими словами, важно, чтобы нижняя была как можно выше, а верхняя — как можно ниже.
И лучшая из всех доказанных формул для нижней границы родилась именно на имиджборде!
Буквально через час первому фанату ответил другой — он привёл в общем виде формулу для расчёта нижней границы на любое количество эпизодов: n! + (n − 1)! + (n − 2)! + n − 3.
Из его рассуждения следовало, что для первого сезона этого сериала пришлось бы посмотреть не менее 93 884 313 611 серий подряд.
Несколько лет это событие оставалось незамеченным, а потом копию постов увидели математики. Они всё проверили и написали статью с формально оформленным доказательством.
Первым и главным автором они указали Анонимуса с 4chan, ведь имя этого героя до сих пор неизвестно.
Вот такая великолепная история.
Кстати, чтобы посмотреть те 14 эпизодов во всех возможных порядках, потребуется примерно 4 миллиона лет. Запасаемся попкорном!
👍16🔥9🤣5👏4
Привет!
Обычно перед публикацией задачи мы даём теорию.
Но сегодня будет сразу задача, потому что для её решения никакая специальная теория не нужна. Итак: на какую цифру оканчивается число 2²⁰²³? А число 3²⁰²³?
Ждём ваших решений подскрытым текстом.
Обычно перед публикацией задачи мы даём теорию.
Но сегодня будет сразу задача, потому что для её решения никакая специальная теория не нужна. Итак: на какую цифру оканчивается число 2²⁰²³? А число 3²⁰²³?
Ждём ваших решений под
🔥5👏5
На вчерашнюю задачу было много правильных ответов. Класс! Мы этому очень рады.
Эта задача хороша тем, что результаты возведения в степень слишком большие, тут просто так на калькуляторе не проверишь. :)
Нужно порассуждать — всё, как мы любим!
Степени любого числа имеют любопытное свойство — их последние цифры сменяются по собственному циклу. Некоторые циклы банальные: все степени 5 оканчиваются на 5, все степени 6 — на 6, а все степени 1, 11, 21 и прочих чисел с 1 в правом разряде — оканчиваются единичкой.
Для двойки ситуация интереснее. Выпишем по порядку её первые степени:
2¹=2,
2²=4,
2³=8,
2⁴=16.
Пока ничего необычного. Посмотрим, что происходит дальше:
2⁵=32,
2⁶=64,
2⁷=128,
2⁸=256.
Окончания степеней повторяются, причём в том же порядке! Пойдём ещё дальше:
2⁹=512,
2¹⁰=1024,
2¹¹=2048,
2¹²=4096 и так далее с теми же окончаниями.
Наблюдаем цикл окончаний: 2-4-8-6. Его длина равна 4.
Получается, каждый показатель степени «сцеплен» с определённым окончанием результата. Это связано с остатками от деления на 4.
Сформулируем правило:
— Если показатель степени делится на 4 с остатком 1 (как числа 1, 5, 9, 13 и так далее), то результат оканчивается на 2;
— Если показатель степени делится на 4 с остатком 2 (как числа 2, 6, 10, 14 и так далее), то результат оканчивается на 4;
— Если показатель степени делится на 4 с остатком 3 (как числа 3, 7, 11, 15 и так далее), то результат оканчивается на 8;
— Если показатель степени делится на 4 нацело, то результат оканчивается на 6.
Теперь вернёмся к задаче и посмотрим на 2²⁰²³. Показатель 2023 делится на 4 с остатком 3. Значит, итоговое длинное число оканчивается на 8.
И напоследок разберёмся с 3²⁰²³. Окончания степеней тройки тоже цикличны. Цикл выглядит так: 3-9-7-1, его длина снова равна 4. И так как 2023 всё ещё делится на 4 с остатком 3, то результат 3²⁰²³ оканчивается на третье число из этого цикла, то есть на 7.
Ответ: 8 и 7.
Остатки от деления вообще очень полезные, мы про них ещё поговорим!
Эта задача хороша тем, что результаты возведения в степень слишком большие, тут просто так на калькуляторе не проверишь. :)
Нужно порассуждать — всё, как мы любим!
Степени любого числа имеют любопытное свойство — их последние цифры сменяются по собственному циклу. Некоторые циклы банальные: все степени 5 оканчиваются на 5, все степени 6 — на 6, а все степени 1, 11, 21 и прочих чисел с 1 в правом разряде — оканчиваются единичкой.
Для двойки ситуация интереснее. Выпишем по порядку её первые степени:
2¹=2,
2²=4,
2³=8,
2⁴=16.
Пока ничего необычного. Посмотрим, что происходит дальше:
2⁵=32,
2⁶=64,
2⁷=128,
2⁸=256.
Окончания степеней повторяются, причём в том же порядке! Пойдём ещё дальше:
2⁹=512,
2¹⁰=1024,
2¹¹=2048,
2¹²=4096 и так далее с теми же окончаниями.
Наблюдаем цикл окончаний: 2-4-8-6. Его длина равна 4.
Получается, каждый показатель степени «сцеплен» с определённым окончанием результата. Это связано с остатками от деления на 4.
Сформулируем правило:
— Если показатель степени делится на 4 с остатком 1 (как числа 1, 5, 9, 13 и так далее), то результат оканчивается на 2;
— Если показатель степени делится на 4 с остатком 2 (как числа 2, 6, 10, 14 и так далее), то результат оканчивается на 4;
— Если показатель степени делится на 4 с остатком 3 (как числа 3, 7, 11, 15 и так далее), то результат оканчивается на 8;
— Если показатель степени делится на 4 нацело, то результат оканчивается на 6.
Теперь вернёмся к задаче и посмотрим на 2²⁰²³. Показатель 2023 делится на 4 с остатком 3. Значит, итоговое длинное число оканчивается на 8.
И напоследок разберёмся с 3²⁰²³. Окончания степеней тройки тоже цикличны. Цикл выглядит так: 3-9-7-1, его длина снова равна 4. И так как 2023 всё ещё делится на 4 с остатком 3, то результат 3²⁰²³ оканчивается на третье число из этого цикла, то есть на 7.
Ответ: 8 и 7.
Остатки от деления вообще очень полезные, мы про них ещё поговорим!
👍52👏5
Прямой эфир: тема, дата и время
В голосовании с небольшим отрывом победила тема «Как учить математику, если школа осталась далеко позади». Но дело в том, что ответ на этот вопрос уже есть — в подкасте Багрепорта. Там советами поделилась Елена Оборина, под чьим началом в Практикуме появились тренажёр по базовой и курс по продвинутой математике.
Из подкаста вы узнаете:
— что помогает справиться с математической тревожностью,
— почему не стыдно начинать обучение с подсчёта собачек на картинке,
— как прийти от нулевых знаний к пониманию формулы доверительного интервала.
Слушать: Как математика помогает в анализе данных и как учить математику нематематикам
Ну а эфир мы проведём по теме, которая стала второй по числу голосов: «Разбор задач с собеседований аналитиков данных и других специалистов».
Планируем взять 5-7 наиболее типичных задач и рассказать об их решении. Если вы недавно проходили собеседование и у вас сохранились задачи, присылайте их в форму — самые интересные возьмём на разбор.
Эфир пройдёт в этом телеграм-канале.
Дата эфира: 16 февраля
Время: 16.00
Регистрация не нужна — просто заходите в назначенное время и подключайтесь к трансляции.
В голосовании с небольшим отрывом победила тема «Как учить математику, если школа осталась далеко позади». Но дело в том, что ответ на этот вопрос уже есть — в подкасте Багрепорта. Там советами поделилась Елена Оборина, под чьим началом в Практикуме появились тренажёр по базовой и курс по продвинутой математике.
Из подкаста вы узнаете:
— что помогает справиться с математической тревожностью,
— почему не стыдно начинать обучение с подсчёта собачек на картинке,
— как прийти от нулевых знаний к пониманию формулы доверительного интервала.
Слушать: Как математика помогает в анализе данных и как учить математику нематематикам
Ну а эфир мы проведём по теме, которая стала второй по числу голосов: «Разбор задач с собеседований аналитиков данных и других специалистов».
Планируем взять 5-7 наиболее типичных задач и рассказать об их решении. Если вы недавно проходили собеседование и у вас сохранились задачи, присылайте их в форму — самые интересные возьмём на разбор.
Эфир пройдёт в этом телеграм-канале.
Дата эфира: 16 февраля
Время: 16.00
Регистрация не нужна — просто заходите в назначенное время и подключайтесь к трансляции.
Telegram
Практически математически
Прямой эфир: выбираем тему
Как учить математику, если школа осталась далеко позади / Математика в цифровых профессиях: где нужна, а где нет / Что из математики нужно знать аналитику данных, чтобы преуспеть в профессии / Разбор задач с собеседований аналитиков…
Как учить математику, если школа осталась далеко позади / Математика в цифровых профессиях: где нужна, а где нет / Что из математики нужно знать аналитику данных, чтобы преуспеть в профессии / Разбор задач с собеседований аналитиков…
🔥34👍7
Эклеры, чай и диофантовы уравнения
Сегодняшняя задача прекрасна тем, что в ней сочетаются две восхитительные вещи — эклеры и математика!
Трое друзей приехали в Стамбул и отправились в знаменитую кондитерскую. Они взяли 3 чая и 2 эклера. Общий счёт получился 165 лир. Все цены в меню — целые, а эклер дороже чая. Сколько стоит 1 чай и 1 эклер?
Эту задачу можно решить на глазок, особенно если вы хорошо ориентируетесь в местных ценах. А если нужно расписать всё формально, то на помощь придут диофантовы уравнения, они же уравнения в целых числах. Подробно о них можно почитать в уроке «Уравнения и системы уравнений в целых числах».
Если хотите сначала решить задачу самостоятельно — остановитесь здесь. :)
Решение — в посте ниже, а в конце оставили уравнение для вас. 😉
Сегодняшняя задача прекрасна тем, что в ней сочетаются две восхитительные вещи — эклеры и математика!
Трое друзей приехали в Стамбул и отправились в знаменитую кондитерскую. Они взяли 3 чая и 2 эклера. Общий счёт получился 165 лир. Все цены в меню — целые, а эклер дороже чая. Сколько стоит 1 чай и 1 эклер?
Эту задачу можно решить на глазок, особенно если вы хорошо ориентируетесь в местных ценах. А если нужно расписать всё формально, то на помощь придут диофантовы уравнения, они же уравнения в целых числах. Подробно о них можно почитать в уроке «Уравнения и системы уравнений в целых числах».
Если хотите сначала решить задачу самостоятельно — остановитесь здесь. :)
Решение — в посте ниже, а в конце оставили уравнение для вас. 😉
🔥4👍3
Итак, покажем, как решается наша эклеро-чайная задача.
Обозначим цену эклера за x, а цену чая — за y. Тогда условие задачи перепишем в виде уравнения 2x + 3y = 165.
Чаще всего — сколько переменных, столько и уравнений. Тогда получается система, которую несложно решить. Но бывает, что переменных больше, чем уравнений, как в нашем случае.
В общем случае у уравнения 2x + 3y = 165 бесконечно много решений. Численных данных на второе уравнение у нас, увы, больше нет. Но есть другие! Они и помогут нам найти конечное количество решений.
По условию известно, что решения целые и, более того, речь про цены, так что они даже натуральные! Ещё мы знаем, что одна из переменных больше другой: эклер дороже чая, то есть x > y.
Эти ограничения и помогут нам устроить перебор!
Сначала сузим круг подозреваемых. Для этого используем свойства делимости: 165 делится на 3, слагаемое 3y тоже делится на 3, а поэтому и 2x должно. И это явно случится из-за множителя x.
Начнём перебирать подходящие иксы.
Например, пойдём от наибольшего, это x = 81. Тогда y = (165 - 2*81) ÷ 3 = 1. Решение математически верное, но в жизни маловероятное: чай могли дать в подарок, но вряд ли он стоил 1 лиру.
При x = 78 получим y = (165 - 2*78) ÷ 3 = 3. Тоже вряд ли, хотя по математике всё в порядке, оба значения целые.
При x = 75 имеем y = 5, а потом будут такие пары:
x = 72, y = 7;
x = 69, y = 9;
x = 66, y = 11;
x = 63, y = 13;
x = 60, y = 15;
x = 57, y = 17;
x = 54, y = 19;
x = 51, y = 21;
x = 48, y = 23;
x = 45, y = 25;
x = 42, y = 27;
x = 39, y = 29;
x = 36, y = 31.
Дальше их цены сравниваются, а потом эклер становится дешевле чая. Это не соответсвует условию, поэтому останавливаемся.
Больше всего похожи на правду, конечно же, ответы x = 60, y = 15 и x = 45, y = 25, так как заведения любят ставить круглые цены!
Первый из них ребята и обнаружили в чеке.
Но подчеркнём, что с математической точки зрения решений было 16 штук, они все подходили под условия.
Ваша очередь решать диофантово уравнение!
Сколько натуральных решений будет иметь уравнение
5x + 4y = 70?
Количество решений и сами решения ждём в комментарияхпод скрытым текстом.
Обозначим цену эклера за x, а цену чая — за y. Тогда условие задачи перепишем в виде уравнения 2x + 3y = 165.
Чаще всего — сколько переменных, столько и уравнений. Тогда получается система, которую несложно решить. Но бывает, что переменных больше, чем уравнений, как в нашем случае.
В общем случае у уравнения 2x + 3y = 165 бесконечно много решений. Численных данных на второе уравнение у нас, увы, больше нет. Но есть другие! Они и помогут нам найти конечное количество решений.
По условию известно, что решения целые и, более того, речь про цены, так что они даже натуральные! Ещё мы знаем, что одна из переменных больше другой: эклер дороже чая, то есть x > y.
Эти ограничения и помогут нам устроить перебор!
Сначала сузим круг подозреваемых. Для этого используем свойства делимости: 165 делится на 3, слагаемое 3y тоже делится на 3, а поэтому и 2x должно. И это явно случится из-за множителя x.
Начнём перебирать подходящие иксы.
Например, пойдём от наибольшего, это x = 81. Тогда y = (165 - 2*81) ÷ 3 = 1. Решение математически верное, но в жизни маловероятное: чай могли дать в подарок, но вряд ли он стоил 1 лиру.
При x = 78 получим y = (165 - 2*78) ÷ 3 = 3. Тоже вряд ли, хотя по математике всё в порядке, оба значения целые.
При x = 75 имеем y = 5, а потом будут такие пары:
x = 72, y = 7;
x = 69, y = 9;
x = 66, y = 11;
x = 63, y = 13;
x = 60, y = 15;
x = 57, y = 17;
x = 54, y = 19;
x = 51, y = 21;
x = 48, y = 23;
x = 45, y = 25;
x = 42, y = 27;
x = 39, y = 29;
x = 36, y = 31.
Дальше их цены сравниваются, а потом эклер становится дешевле чая. Это не соответсвует условию, поэтому останавливаемся.
Больше всего похожи на правду, конечно же, ответы x = 60, y = 15 и x = 45, y = 25, так как заведения любят ставить круглые цены!
Первый из них ребята и обнаружили в чеке.
Но подчеркнём, что с математической точки зрения решений было 16 штук, они все подходили под условия.
Ваша очередь решать диофантово уравнение!
Сколько натуральных решений будет иметь уравнение
5x + 4y = 70?
Количество решений и сами решения ждём в комментариях
👍15👏2💋1
Решение диафантового уравнения
Вчера мы разобрали задачу про эклеры, а в конце предложили вам решить другое диафантово уравнение.
Вопрос звучал так:
Ответов было немного, поэтому давайте разберёмся вместе!
4y и 70 — чётные, значит и слагаемое 5x тоже. Такое возможно только при чётных значениях x.
Начинаем с наименьшего чётного среди натуральных: при x = 2 получим y = (70 - 5*2) ÷ 4 = 15 — тут всё хорошо.
Продолжаем:
x = 4, y = (70 - 5*4) ÷ 4 = 12.5 — не целое, так что эта пара не подходит.
x = 6, y = (70 - 5*6) ÷ 4 = 10 — подходит.
x = 8, y = 30 ÷ 4 = 7.5 — не подходит.
x = 10, y = 20 ÷ 4 = 5 — подходит.
x = 12, y = 2.5 — не подходит
x = 14, y = 0 — тоже не подходит, так как 0 не натурален.
Дальше значения y становятся отрицательными, то есть не натуральными. Поэтому можно не продолжать.
Итого есть 3 подходящих решения:
x = 2, y = 15;
x = 6, y = 10;
x = 10, y = 5.
АПД: также можно было перебирать кратные 5 игреки, так как 5x и 70 точно делятся на 5.
Вот такая задача. Напоследок напомним, что научиться решать подобные уравнения можно в уроке «Уравнения и системы уравнений в целых числах».
Хороших выходных!
Вчера мы разобрали задачу про эклеры, а в конце предложили вам решить другое диафантово уравнение.
Вопрос звучал так:
Сколько натуральных решений будет иметь уравнение 5x + 4y = 70?
Ответов было немного, поэтому давайте разберёмся вместе!
4y и 70 — чётные, значит и слагаемое 5x тоже. Такое возможно только при чётных значениях x.
Начинаем с наименьшего чётного среди натуральных: при x = 2 получим y = (70 - 5*2) ÷ 4 = 15 — тут всё хорошо.
Продолжаем:
x = 4, y = (70 - 5*4) ÷ 4 = 12.5 — не целое, так что эта пара не подходит.
x = 6, y = (70 - 5*6) ÷ 4 = 10 — подходит.
x = 8, y = 30 ÷ 4 = 7.5 — не подходит.
x = 10, y = 20 ÷ 4 = 5 — подходит.
x = 12, y = 2.5 — не подходит
x = 14, y = 0 — тоже не подходит, так как 0 не натурален.
Дальше значения y становятся отрицательными, то есть не натуральными. Поэтому можно не продолжать.
Итого есть 3 подходящих решения:
x = 2, y = 15;
x = 6, y = 10;
x = 10, y = 5.
АПД: также можно было перебирать кратные 5 игреки, так как 5x и 70 точно делятся на 5.
Вот такая задача. Напоследок напомним, что научиться решать подобные уравнения можно в уроке «Уравнения и системы уравнений в целых числах».
Хороших выходных!
👍23🔥3
Перемножение матриц
В линейной алгебре часто работают с матрицами. Если коротко, матрица — это таблица с числами. У неё есть много разнообразных свойств, которые вытекают из того, откуда вообще в ней взялись числа… но сегодня не об этом.
К матрицам можно применять некоторые математические операции — например, их можно перемножать! Но не всегда: матрицу, имеющую n столбцов, можно умножить справа только на матрицу, имеющую n строк. Почему справа? Потому что порядок матриц-множителей влияет на результат. 😇
Если не брать во внимание некоторые ограничения, то в ручном умножении небольших матриц нет ничего сложного. Уверены, даже если вы никогда не сталкивались с линейной алгеброй, вам хватит 10 минут, чтобы разобраться.
Убедитесь сами:
1. Посмотрите интерактив из модуля «Линейная алгебра» курса «Математика для анализа данных».
2. Найдите произведение матриц с иллюстрации в начале поста. Ответы публикуйте подскрытым текстом.
В линейной алгебре часто работают с матрицами. Если коротко, матрица — это таблица с числами. У неё есть много разнообразных свойств, которые вытекают из того, откуда вообще в ней взялись числа… но сегодня не об этом.
К матрицам можно применять некоторые математические операции — например, их можно перемножать! Но не всегда: матрицу, имеющую n столбцов, можно умножить справа только на матрицу, имеющую n строк. Почему справа? Потому что порядок матриц-множителей влияет на результат. 😇
Если не брать во внимание некоторые ограничения, то в ручном умножении небольших матриц нет ничего сложного. Уверены, даже если вы никогда не сталкивались с линейной алгеброй, вам хватит 10 минут, чтобы разобраться.
Убедитесь сами:
1. Посмотрите интерактив из модуля «Линейная алгебра» курса «Математика для анализа данных».
2. Найдите произведение матриц с иллюстрации в начале поста. Ответы публикуйте под
👍11
Решение покажем завтра в комментариях.
Если хотите изучить линейную алгебру в целом и матрицы в частности — добро пожаловать в наш курс «Математика для анализа данных».
Ну а если про матрицы вам уже всё известно, то заглядывайте в курс по Data Science: там вашим знаниям точно найдётся применение!
Если хотите изучить линейную алгебру в целом и матрицы в частности — добро пожаловать в наш курс «Математика для анализа данных».
Ну а если про матрицы вам уже всё известно, то заглядывайте в курс по Data Science: там вашим знаниям точно найдётся применение!
🔥2