Как стать автором
Поиск
Написать публикацию
Обновить
188.96

Математика *

Царица всех наук

Сначала показывать
Порог рейтинга
Уровень сложности

Математика для Data Science. Новый курс от OTUS

Время на прочтение3 мин
Количество просмотров10K
Всем привет, сегодня хотим поговорить о запуске нового курса «Математика для Data Science», а точнее целой серии курсов, подробнее об этом в нашей публикации.



Не все, учась в школе, понимают, как в жизни им пригодится математика. Самый распространенный ответ – считать деньги, но не все рождаются крутыми финансистами. Это понимают и учителя математики, поэтому часто преподают через пень-колоду. И вот человек школу закончил, зачем нужна математика, так и не понял, но деньги считать (и свои, и чужие) научился, посчитал и захотел работать в IT, например, в сфере машинного обучения, чтобы зарабатывать немало. Тут-то и стало ясно, для чего нужна математика! Но школа, как и институт, уже давно прошли…
Читать дальше →

Интеграл Эйлера — Пуассона. Подробно о способах вычисления

Время на прочтение4 мин
Количество просмотров62K


В статье подробно, вплоть до самых мелочей, рассмотрены три способа взятия интеграла Эйлера-Пуассона. В одном из способов выводится вспомогательная формула редукции. Для нахождения некоторых сложных интегралов можно использовать формулы редукции, которые позволяют понизить степень подынтегрального выражения и вычислить соответствующие интегралы за конечное число шагов.
Читать дальше →

Технологические соревнования Радиофест-2019

Время на прочтение7 мин
Количество просмотров3.2K
Дорогие друзья, мы рады сообщить, что в конце октября состоится Радиофест-2019 — технологические соревнования по радиотехнике. Все официальные нормативные документы, регламент с описанием конкурсных заданий и заявка на участие доступны на сайте тут, здесь же, на просторах Хабра, хочется поговорить о сути соревнований, для чего мы все это затеяли, какие цели мы перед собой ставим и получить первые отзывы сообщества для того, что бы сделать грядущий и последующие Радиофесты лучше.
Читать дальше →

Оптимизация портфеля облигаций с применением библиотеки ALGLIB

Время на прочтение12 мин
Количество просмотров7.1K
В статье пойдет речь об опыте разработки программы для составления эффективного портфеля облигаций с точки зрения минимизации его дюрации. Возможно, я не буду оригинален и для всех, кто инвестирует в облигации вопросы определения оптимальных весов давно решены, но все же, надеюсь, описанный подход и приведенный программный код будут кому-то полезны.

Статья, ввиду наличия в ней не малого объема математики, кому-то может показаться усложненной. Но если уж Вы решили заняться инвестициями, то нужно быть готовым к тому, что в финансовой реальности часто встречается математика и еще значительно сложнее.

Исходные коды программы и пример портфеля для оптимизации выложены на GitHub.

UPDATE: Как и обещал, сделал простой веб-сервис, делающий возможности программы доступными всем без копирования и компиляции кода.
ссылка
Инструкция по использованию там же.
Если что-то не будет работать или нужно что-то подправить — пишите в комментарии.

Итак, имеем задачу сформировать эффективный портфель облигаций.
Читать дальше →

Как работает метод Левенберга-Марквардта

Время на прочтение8 мин
Количество просмотров26K
Алгоритм Левенберга-Марквардта прост. Алгоритм Левенберга-Марквардта эффективен.

А еще о нем говорят, что он где-то посередине между градиентным спуском и методом Ньютона, что бы это ни значило. Ну, с методом Ньютона и его связью с градиентным спуском вроде как разобрались. Но что имеют в виду когда произносят эту глубокомысленную фразу? Попробуем слегка подразобраться.
Читать дальше →

Генерация простых чисел

Время на прочтение23 мин
Количество просмотров29K
В продолжение темы, начатой в этой серии статей, сегодня мы поговорим о генерации простых чисел. Генерация бывает вероятностной и бывает гарантированной. Так вот, наш случай — с гарантией, которая позволяет использовать получаемые числа в приложениях, связанных с криптографией, что обеспечивает, например, безопасность распоряжения вашими деньгами через банковские приложения. Далее вы увидите, как гарантированно получать простые числа достаточного для криптографии размера, а так же какими могут быть проблемы, если пренебречь гарантиями.

image
Читать дальше →

Как сервера договариваются друг с другом: алгоритм распределённого консенсуса Raft

Время на прочтение9 мин
Количество просмотров39K
Когда кластеры достигают размеров в сотни, а иногда и тысячи машин, возникает вопрос о согласованности состояний серверов относительно друг друга. Алгоритм распределённого консенсуса Raft даёт самые строгие гарантии консистентности из возможных. В этой статье мы рассмотрим Raft с точки зрения инженера и постараемся ответить на вопросы «Как?» и «Почему?» он работает.



Читать дальше →

Интерактивная лаборатория термодинамики как эффективное средство имитационного обучения

Время на прочтение9 мин
Количество просмотров5.2K

Введение


Имитационное обучение с использованием мультимедийных образовательных ресурсов является одним из перспективных направлений информатизации современного образования. Под имитационным обучением мы будем понимать такую модель обучения, в которой посредством программного обеспечения виртуально воспроизводятся физические процессы и условия, аналогичные реальным, но имеющие ряд идеализированных качеств. Возможность интерактивного взаимодействия с виртуальной моделью того или иного физического процесса позволяет существенно понизить уровень абстракции знаний о данном процессе, в результате чего повышается эффективность получения и усвоения этих знаний человеком [1].

Объект изучения и постановка задачи


В качестве объекта изучения рассмотрим один из наиболее важных разделов общей физики – классическую термодинамику. В контексте образовательной деятельности знания по данной дисциплине преподаются в нескольких формах,
Читать дальше →

Первые три дня жизни поста на Хабре

Время на прочтение3 мин
Количество просмотров5K
Каждый автор переживает за жизнь своей публикации, после опубликования смотрит статистику, ждет и беспокоится за комментарии, желает, чтобы публикация набрала хотя бы среднее число просмотров. У Хабра эти инструменты кумулятивные и поэтому достаточно сложно представить, как публикация автора начинает свою жизнь на фоне других публикаций.

Как известно, основная масса публикаций набирает просмотры в первые три дня. Чтобы представить, как живет публикация, я отследил статистику и представил механизм мониторинга и сравнения. Данный механизм будет применен к этой публикации и все смогут посмотреть, как это работает.

Первым этапом была собрана статистика о динамике публикаций за три первых дня жизни поста. Для этого анализировал потоки читателей, по публикациям за 28 сентября в период их жизни с 28 сентября по 1 октября 2019 г. путем фиксирования количества просмотров через различные промежутки времени в этот период. Первая диаграмма представлена на рисунке ниже, она получена в результате согласования динамики просмотров по времени.

Как можно посчитать из диаграммы, среднее число просмотров публикации через 72 часа при степенной функции аппроксимации составит ориентировочно 8380 просмотров.


Рис. 1. Распределение просмотров по времени, для всех публикаций.
Читать дальше →

Ох уж этот метод Ньютона

Время на прочтение8 мин
Количество просмотров36K
О методах численной оптимизации написано много. Это и понятно, особенно на фоне тех успехов, которые в последнее время демонстрируют глубокие нейронные сети. И очень отрадно, что хотя бы часть энтузиастов интересуется не только тем, как забомбить свою нейросеточку на набравшей в этих ваших интернетах популярность фреймворках, но и тем, как и почему все это вообще работает. Однако мне в последнее время пришлось отметить, что при изложении вопросов, связанных с обучением нейросетей (и не только с обучением, и не только сетей), в том числе на Хабре, все чаще впроброс используется ряд “хорошо известных” утверждений, справедливость которых, мягко говоря, сомнительна. Среди таких сомнительных утверждений:

  1. Методы второго и более порядков плохо работают в задачах обучения нейросетей. Потомучто.
  2. Метод Ньютона требует положительной определенности матрицы Гессе (вторых производных) и поэтому плохо работает.
  3. Метод Левенберга-Марквардта — компромисс между градиентным спуском и методом Ньютона и вообще эвристичекий.

и т.д. Чем продолжать этот список, лучше перейдем к делу. В этом посте рассмотрим второе утверждение, поскольку его я только на Хабре встречал как минимум дважды. Первый вопрос затрону только в той части, что касается метода Ньютона, поскольку он куда более обширен. Третий и остальные оставим до лучших времен.
Читать дальше →

Город без пробок

Время на прочтение58 мин
Количество просмотров31K

Глава вторая.
(ссылка на первую главу)

Искусство проектирования дорожных сетей


Транспортные проблемы города глазами человека из «Computer Science»


Если бы мне порекомендовали статью с названием «Искусство проектирования дорожных сетей», я бы тот час поинтересовался, как много дорожных сетей было построено с участием ее автора. Должен признаться, моя профессиональная деятельность лежала далеко от дорожного строительства и была последнее время связанна с проектированием микропроцессоров, где я, в том числе, занимался ресурсоемкостью коммутации данных. Так получилось, что мой стол тогда стоял как раз напротив панорамного окна, открывавшего прекрасный вид на длинный участок Волгоградского шоссе и части ТТК с их нескончаемыми пробками с утра до вечера, от горизонта до горизонта. И тут, в один из дней меня вдруг осенило:«Черт возьми, ведь сложности процесса коммутации данных, с которыми я борюсь на кристалле, точь в точь должны быть похожи на те трудности, с которыми сталкивается поток автомобилей внутри паутины уличных дорог».
Вероятно, именно взгляд со стороны и применение нетрадиционных для исследуемой области методов дали мне шанс разобраться в причине возникновения пробок и выработать рекомендации, как преодолеть их проблему на практике.
Читать дальше →

Вычисление целочисленного квадратного корня

Время на прочтение2 мин
Количество просмотров14K
Возникла нужда проверить, является ли целое число квадратом, и если да, то вычислить корень. Причем хочется сделать это в целочисленной арифметике. Понятно, что можно реализовать метод Ньютона в целых числах, но он требует деления на каждом шаге. А нельзя ли по другому? Найти квадратный корень по модулю степени двойки, и проверить, а не будет ли он обычным квадратным корнем.
Читать дальше →

«Технология» получения уравнений динамики ТАУ. И почему System Identification is sucks, а рулит «честная физика»

Время на прочтение6 мин
Количество просмотров9.8K
При обсуждении предыдущей статьи про модельно-ориентированное проектирование возник резонный вопрос: если мы используем данные эксперимента, а можно ли поступить еще проще, засунуть данные в System Identification и получить модель объекта, не заморачиваясь с физикой вообще? Не изучая всякие многоэтажные формулы Навье-Стокса, Бернулли и прочих Штангель циркулей с Рабиновичами? Испытали объект – получили результат.

image

Мы же представляли модель ракеты ФАУ2 в виде одной передаточной функции, можно посмотреть здесь… И, вроде, все работало. Зачем же нам нужно сначала изучать математический анализ и дифференциальные исчисления, когда есть волшебная кнопка, получающая модель из испытаний?
Читать дальше →

Ближайшие события

Один способ вычисления логарифма по основанию 2

Время на прочтение5 мин
Количество просмотров28K
Вычисление логарифмов довольно распространённая операция в цифровой обработке сигналов. Чаще пожалуй приходится считать только свёртки (умножение с накоплением) и амплитуды с фазами. Как правило для вычисления логарифмов на FPGA применяется алгоритм CORDIC в гиперболическом варианте, требующий только таблицы и простых арифметических операций. Однако это не всегда бывает удобно, особенно если проект большой, кристалл маленький и начинаются танцы с оптимизацией. Именно с такой ситуацией и пришлось мне однажды столкнуться. Оба порта блока RAM (Cyclone IV) уже плотненько были в работе, не оставляя свободных окон. Использовать ещё один блок под гиперболический CORDIC не хотелось. Зато был умножитель, для которого во временной диаграмме получалось приличное свободное окно. Денёк подумав, я сочинил следующий алгоритм, в котором не используется таблиц, но есть умножение, точнее возведение в квадрат. И поскольку схемотехнически возведение в квадрат проще общего случая умножения, возможно этот алгоритм представляет интерес для специализированных микросхем, хотя для FPGA разницы конечно нет. Подробнее под катом.
Читать дальше →

Дискретная производная или Коротко о том, как суммировать ряды

Время на прочтение3 мин
Количество просмотров20K

Вступление


Бывало когда-нибудь такое, что вы хотите просуммировать какой-то бесконечный ряд, но не можете подобрать частичную сумму ряда? Вы все ещё не пользовались дискретной производной? Тогда мы идём к вам!

Определение


Дискретной производной последовательности $a_n$ назовем такую последовательность $\Delta a_n$, что для любых натуральных $n>1$ выполняется:

$\Delta a_n = a_n - a_{n-1}$



Рассмотрим примеры:

  • $a_n = 1\\ \Delta a_n = a_n - a_{n-1} = 1 - 1 = 0$

  • $a_n = n\\ \Delta a_n = a_n - a_{n-1} = n - (n - 1) = 1$

  • $a_n = n^2\\ a_n = n^2 - (n - 1)^2 = n^2 - (n^2 - 2n + 1) = 2n-1$

  • $a_n = n^3\\ \Delta{a_n} = n^3 - (n - 1)^3 = 3n^2 - 3n + 1$

  • $a_n = k^n\\ \Delta{a_n} = k^n - k^{n-1} = k^{n-1}(k-1)$


Ну, суть вы поняли. Чем-то напоминает производную функции, правда? Мы поняли как вычислять дискретные производные «простейших» последовательностей. Кхм, но что делать с суммой, разностью, произведением и частным последовательностей? У «обычной» производной есть некоторые правила дифференцирования. Давайте-ка придумаем для дискретной!
Читать дальше →

Эволюционирующие клеточные автоматы

Время на прочтение22 мин
Количество просмотров38K


Соединим клеточные автоматы с генетическим алгоритмом и посмотрим, что из этого получится.

В статье присутствуют Gif (трафик!) и контрастные картинки. У эпилептиков может случиться эпилептический припадок.
Читать дальше →

Для доказательства 30-летней гипотезы из области информатики хватило двух страничек

Время на прочтение8 мин
Количество просмотров61K

Гипотеза «чувствительности» ставила в тупик многих выдающихся специалистов по информатике, но её новое доказательство оказалось настолько простым, что один исследователь смог свести его к единственному твиту



Опубликованная этим летом работа ставит точку в почти 30-летней истории гипотезы, касающейся структуры фундаментальных строительных блоков компьютерных схем. Эта гипотеза «чувствительности» годами ставила в тупик многих выдающихся специалистов по информатике, но её новое доказательство оказалось настолько простым, что один исследователь смог свести его к единственному твиту.

«Эта гипотеза была одной из самых раздражающих и позорных открытых задач во всей комбинаторике и теоретической информатике», — писал в своём блоге Скот Ааронсон из Техасского университета в Остине. «Список людей, пытавшихся доказать её, и не сумевших сделать это, представляет собой список самых выдающихся людей в дискретной математике и теоретической информатике», — добавил он в емейле.

Превосходный FAQ о квантовом превосходстве от Скотта Ааронсона

Время на прочтение12 мин
Количество просмотров16K
Пару дней назад в сеть утек черновик статьи от Google о достижения ими квантового превосходства в сверхпроводящем квантовом компьютере. Сам текст быстро убрали, а вокруг него множатся слухи и предположения, в том числе и ошибочные. Автор поста — профессор Скотт Ааронсон — один из главных специалистов по квантовым алгоритмам, и ведет отличный блог. В последнем посте он отвечает на главные вопросы о квантовом превосходстве.


Читать дальше →

Делись, рыбка, быстро и нацело

Время на прочтение4 мин
Количество просмотров14K
image

Деление — одна из самых дорогих операций в современных процессорах. За доказательством далеко ходить не нужно: Agner Fog[1] вещает, что на процессорах Intel / AMD мы легко можем получить Latency в 25-119 clock cycles, а reciprocal throughput — 25-120. В переводе на Русский — МЕДЛЕННО! Тем не менее, возможность избежать инструкции деления в вашем коде — есть. И в этой статье, я расскажу как это работает, в частности в современных компиляторах(они то, умеют так уже лет 20 как), а также, расскажу как полученное знание можно использовать для того чтобы сделать код лучше, быстрее, мощнее.
Читать дальше →

Синтез регулятора методом обратной задачи динамики

Время на прочтение12 мин
Количество просмотров10K
В задачах управления бывают случаи, когда закон движения управляемого объекта известен и необходимо разработать регулятор с определенными характеристиками. Порой задача осложняется тем, что уравнения, описывающие управляемый объект, оказываются нелинейными, что осложняет построение регулятора. В связи с этим были разработаны несколько методов, позволяющих учесть нелинейные особенности строения объекта управления, одним из которых и является метод обратной задачи динамики.

Читать дальше →

Вклад авторов