Одной из самых распространённых задач аналитики является формирование суждений о большой совокупности (например, о миллионах пользователей приложения), опираясь на данные лишь небольшой части этой совокупности - выборке. Можно ли сделать вывод о миллионной аудитории крупного мобильного приложения, собрав данные 100 пользователей? Или стоит собрать данные о 1000 пользователях? Какую вероятность ошибиться при анализе мы можем допустить: 5% или 1%? Относятся ли две выборки к одной совокупности, или между ними есть ощутимая значимая разница и они относятся к разным совокупностям? Точность прогноза и вероятность ошибки при ответе на эти и другие вопросы поддаются вполне конкретным расчётам и могут корректироваться в зависимости от потребностей продукта и бизнеса на этапе планирования и подготовки эксперимента. Рассмотрим подробнее, как параметры эксперимента и статистические критерии оказывают влияние на результаты анализа и выводы обо всей совокупности, а для этого смоделируем тысячу A/A, A/B и A/B/C/D тестов.
Математика *
Царица всех наук
Метрика в машинном обучении сложных систем, алгоритм и программный код
Для решения задач машинного обучения предлагается метрика, основанная на формуле отношения сигнала к шуму, SNR:
C3D Solver: принципы параметрического черчения 2D-паттернов и улучшения для 3D-моделирования сборок
Александр Алахвердянц, ведущий математик-программист, C3D Labs, знакомит с новинками в двухмерных и трехмерных решателях — продуктах, которые разрабатываются в группе C3D Solver.
Что такое решатели? Решатели — это библиотеки, которые позволяют накладывать связи на геометрические объекты. Эти связи мы называем ограничениями. Они бывают двух видов: логические (касания, симметрии, совпадения) и размерные (угловой и линейный размеры, паттерны). Кроме того, мы предоставляем функционал анализа степеней свободы, минималистичного драггинга и логирования вызовов API. Логирование вызовов API значительно помогает при составлении баг-репортов.
Первая и главная новинка группы C3D Solver в этом году — это появление нового типа объектов, а именно двумерных паттернов.
Разбор задач «Квеста на миллион»
Друзья, разбираем задачи прошедшего квеста на миллион. Для простоты, в разборе будем использовать формализованные формулировки задачи. Ознакомиться с исходными формулировками можно в самом квесте. Квест открыт и доступен для прохождения.
Истории
Калибровка магнитометра с помощью обобщённого фильтра Калмана
В настоящее время широко доступны датчики на основе магнитометров. Они позволяют легко получить направление на магнитный север (или истинный, если, конечно, вы учтёте магнитное склонение в вашей местности). Это может быть полезно для определения ориентации оси рысканья/курса беспилотных аппаратов. Одна из проблем магнитометров связана с их калибровкой, поскольку на магнитометр влияют находящиеся рядом с ним магнитотвёрдые (имеют собственное магнитное поле) и магнитомягкие (легко намагничиваются от внешнего магнитного поля, в том числе от поля Земли) материалы. Ниже я расскажу, как избавиться от влияния этих материалов и откалибровать магнитометр.
Про решаемость пятнашек
Привет, я создатель известного в узких кругах приложения 15 Puzzle для Android.
В статье я расскажу, как я генерирую стартовые позиции для своей игры, а также о том, как я добавлял новые конфигурации головоломки.
Решаем дифференциальные уравнения с помощью Python часть 1
Начнем пожалуй с того, что решать дифференциальные уравнения вручную может быть не совсем просто.
На данном ресурсе http://mathprofi.ru/differencialnye_uravnenija_primery_reshenii.html есть шпоры как это делать вручную, там есть множество подсказок по различным разделам высшей математики, например мне это пригодилось, потому что помнить все и вся не всегда представляется возможным.
Конкретно в данном посте я попытаюсь прорешать 10 примеров из первой темы данного предмета.
Дифференциальные уравнения первого порядка. Примеры решений.Дифференциальные уравнения с разделяющимися переменными
Учитывая что на mathprofi уже есть решения и ответы к этим 10 примерам, я предложу дополнить её решениями данных уравнений с помощью персонального компьютера, а конкретно с помощью языка программирования Python и библиотеки символьного вычисления и решения уравнений SymPy.
Пример 1:
Алгоритм ESG (Evolution of Social Groups). C#
Представляю вашему вниманию статью, посвященную авторскому алгоритму «Evolution of Social Groups» (ESG) C#. Этот уникальный метод оптимизации, основанный на взаимодействии социальных групп, открывает новые горизонты в области метаэвристики. В статье подробно рассматриваются основные принципы работы алгоритма, его преимущества и области применения. Присоединяйтесь, чтобы узнать больше о мире оптимизации и возможностях, которые он открывает. Поехали…
Исследователи приблизились к новому пределу скорости решения задачи коммивояжера
Целочисленное линейное программирование может помочь найти ответ на множество реальных проблем. Теперь исследователи нашли гораздо более быстрый способ это сделать.
Задача коммивояжера — одна из старейших известных вычислительных задач. Она заключается в поиске кратчайшего маршрута через определённый список городов. Несмотря на кажущуюся простоту, проблема, как известно, сложна. И хотя вы можете использовать перебор, чтобы проверить все возможные маршруты, пока не найдете кратчайший путь, такая стратегия становится несостоятельной, уже когда в списке всего лишь несколько городов.
Сквозная механика (часть 1)
Примерно пять лет тому назад, по просьбе моего дяди, я разместил его статью в Хабре, которая содержала аргументы, вызывающие вопросы к теории относительности. Его целью было стимулировать критическое мышление в научном сообществе и получить от него конструктивный отклик или поддержку. К сожалению, комментарии заполнились большим количеством негатива, выраженного в детских высказываниях. Однако, стремясь дать второй шанс, по его же просьбе я снова опубликовал переработанную версию статьи.
Современная физика сделала теорию относительности, квантовую механику и ядерную физику уделом избранных людей. Эта область науки стала недосягаемой для умов простых людей из-за сложных формулировок и математического формализма, многократно испещренных штрихами и прочими атрибутами высочайшей математики. Один их вид может напугать простого ученика и студента и заставляет восхищаться величием тех людей, которые их придумали. Начали даже поговаривать, что на свете есть только десяток людей, которые полностью знают и понимают теорию относительности!?
Популярная литература, пытающаяся объяснить широкой публике теорию относительности, ограничивается приведением примеров смехотворной простоты, где роковая прореха закамуфлирована так, что не остается ничего, кроме как верить в правильность их суждений. Так как нет твердой уверенности, что теория относительности верна (не будем их делить ее на ОТО и СТО), релятивисты в каждом удобном случае стараются выдавать малейшие признаки соответствия физических явлений за доказательство этой теории. За прошлый век проделан огромный труд, но вкрадывается сомнение, что все впустую. А ведь «воз и ныне там».
Введение в нейросети: что, зачем и как?
Это модное слово всё чаще используется в разговорной речи: обывателей плотнее окутывают угрозами бунта искусственного интеллекта и войны с роботами — с одной стороны, и рекламой нейросетевых продуктов — с другой. Отдельный котёл в аду — для тех, кто впаривает «курсы дата‑саентистов». А когда бедный юзернейм в поисках истины обращается к Гуглу своему любимому поисковику — то вместо простого ответа на простой вопрос, получает ещё больше вопросов — таких как тензорфлоу, сигмоида и, не дай Бог, линейная алгебра.
Парадоксы в данных, и почему визуализация бывает необходима
В этой заметке я хочу разобрать несколько «парадоксов» в данных, о которых полезно знать как начинающему аналитику данных, так и любому человеку, кто не хочет быть введенным в заблуждение некорректными статистическими выводами.
За рассматриваемыми примерами не кроется сложной математики помимо базовых свойств выборки (таких, как среднее арифметическое и дисперсия), зато такие кейсы могут встретиться и на собеседовании, и в жизни.
Решение cryptopals. Часть 3
Завершаем решение cryptopals. В этой части рассмотрим блоки заданий 5 и 6, которые посвящены криптографии с открытым ключом.
Ближайшие события
Об одной изящной задаче
Хабр, привет! В этой статье хочу поделиться с вами одной изящной задачей из нашего прошедшего квеста, которая мне очень понравилась и, как мне кажется, заслуживает вашего внимания.
Имеется функция magic()
, принимающая три целочисленных аргумента, в теле которой определены константы a, b, c
, являющиеся натуральными числами. Требуется определить значения констант a, b
и c
за минимальное количество вызовов данной функции.
Глубокая Теория Связей 0.0.1
Этому миру требуется новая теория, теория, которая могла бы описать все теории на планете. Теория которая могла бы одинаково легко описывать философию, математику, физику и психологию. Сделать все виды наук вычислимыми.
Именно над этим мы и работаем. Эта теория, если у нас всё получится, станет единой метатеорией всего.
Прошёл год с прошлой публикации, и сейчас наша задача поделиться нашим прогрессом. Это по прежнему не стабильная версия, это черновик. И поэтому мы будем рады любой обратной связи, а так же участию в разработке теории связей.
Как и всё что мы делали до этого, теория связей публикуется и передаётся в общественное достояние и принадлежит человечеству. То есть именно тебе. У этого труда множество авторов, однако сам этот труд намного важнее конкретного авторства. И мы надеемся уже сегодня это сможет быть полезно каждому.
Мы приглашаем тебя стать частью этого увлекательного приключения.
Преобразование Уолша-Адамара
На сайте hackerrank.com есть отличная задача. По заданному массиву short[] A;
найти максимальное количество его подмассивов, xor
элементов которых будет одинаковым. Сам этот xor
тоже нужно найти.
Максимальная длина массива равна 105, так что квадратичный алгоритм не укладывается в лимит по времени исполнения. Я в своё время с этой задачей не справился и сдался, решив подсмотреть авторское решение. И в этот момент я понял почему не справился — автор предлагал решать задачу через дискретное преобразование Фурье.
Зачем Программисту Микроконтроллеров Диофантовы Уравнения
Школьные уроки математика не прошли даром.
Вот, настал день, когда впервые пришлось решить на работе Диофантовое уравнение.
Как собрать компьютер из оригами
Два математика показали, что оригами в принципе можно использовать для выполнения любых возможных вычислений.
В 1936 году британский математик Алан Тьюринг выдвинул идею универсального компьютера. Это было простое устройство: бесконечная полоса ленты, покрытая нулями и единицами, вместе с машиной, которая могла двигаться вперед и назад по ленте, меняя нули на единицы и наоборот в соответствии с некоторым набором правил. Он показал, что такое устройство можно использовать для выполнения любых вычислений.
А в сентябре 2023 года Инна Захаревич из Корнельского университета и Томас Халл из колледжа Франклина и Маршалла показали, что всё вычислимое можно вычислить, сложив бумагу.
Решение cryptopals. Часть 2
Продолжаем решать задания cryptopals. В этой части рассмотрим блоки заданий 3 и 4, которые посвящены блочному шифрованию, хеш-функциям и генераторам псевдослучайных чисел.
C3D Collision Detection: представление детектора столкновений в составе C3D Toolkit
Сергей Белёв, старший математик‑программист, C3D Labs, знакомит с новым компонентом C3D Toolkit — модулем C3D Collision Detection, рассказывает о том, что детектор столкновений представляет собой изнутри, и о том, какие возможности он предоставляет пользователям.
Детектор столкновений — новый компонент инструмента C3D Toolkit. В статье перечислим математические задачи, которые поставлены перед детектором, узнаем его основной функционал, рассмотрим несложный пример, демонстрирующий интерфейс модуля, и обратимся к планам и дорожной карте.
Обнаружение столкновений подразумевает постановку следующих математических задач. Первая — это возможность уметь находить пересечения между собой среди множества объектов и делать это быстро, без поиска самого пересечения. Требуется оперативно отвечать на соответствующий вопрос — «да, пересекаются» / «нет, не пересекаются». Следующая задача состоит в классификации касаний между собой этого множества объектов. Каждое касание является пересечением, но не наоборот, и важно уметь выделять этот частный случай пересечения. Помимо этого, актуальна задача поиска минимального расстояния между сборками тел и телами, а также задача классификации взаимного расположения объектов. Примером служит детектирование «вложения тел» («тело в теле»), недавно внедренное нами в ответ на многочисленные запросы пользователей. Важно отметить, что все эти задачи нужно уметь решать как в статике, так и в динамике.
Модуль C3D Collision Detection, во‑первых, реализует «эффективные» алгоритмы решения всех поставленных задач — как в статических сценах, например контроль зазоров, так и в динамических сценах, в частности контроль соударений между элементами сборки. Во‑вторых, у нас есть возможность тонкой настройки всех формулируемых задач — можно даже создавать их комбинации. В‑третьих, исходя из необходимости быстро детектировать касание/пересечение, применяется принципиально иной подход, чем в булевой операции: мы не строим какие‑либо дополнительные объекты.
Вклад авторов
alizar 1779.0andreybrylb 1536.0haqreu 1513.0samsergey 1497.0varagian 1161.0Sirion 1085.0Tzimie 1078.0Dmytro_Kikot 1047.0mkot 980.0